0

Metro Mini USB serial upload broken on Mac
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Metro Mini USB serial upload broken on Mac

by relaxing on Tue Aug 08, 2017 11:27 am

Bottom line: Something is broken with the latest (v5) SiLabs VCP drivers on Mac OSX. To get boards with SiLabs drivers to work at all, you have to use the older v4 driver from the "Legacy MacVCP Driver" folder in the same download. Windows seems to be unaffected.

Symptoms are: SiLabs port appears in Arduino menu and when upload is pressed, serial communications start, but avrdude errors out with messages about incorrect responses and the upload does not finish.

Fix: roll back to SiLabs 4.x series drivers.

Side note: I'm sorry to say for Adafruit's part in this, the board documentation is not up to your usual high standards. I couldn't find a single page that listed the steps to get the board working in the Arduino IDE, just some vague notes on the product page about maybe needing FTDI and/or SiLabs drivers (Which ones?) The lack of clarity here seriously hampered the troubleshooting process and led us to question things we could have safely ruled out. (Is selecting "Metro" from the board menu the right choice for the Metro Mini?)
I hope you'll consider paying someone to write up a nice HOWTO page for the Metro Mini like we've come to appreciate for other Adafruit products. Because as it is now, for this amount of trouble and misleading documentation I might as well buy TI dev boards and get the same amount of torture but for less money.

relaxing
 
Posts: 48
Joined: Thu Mar 24, 2005 11:22 am

Re: Metro Mini USB serial upload broken on Mac

by tastein on Tue Aug 08, 2017 9:44 pm

Seeing the exact same issues. Any chance you could help with the steps to uninstall v5? I believe I installed v4 from the Legacy folder, but I don't see anything in the Port menu from Arduino. Also, as you mentioned it's confusing to me if I use 'Metro' from the board drop down or 'Uno' like it mentions on the Metro Mini Adafruit page.

tastein
 
Posts: 4
Joined: Tue Aug 08, 2017 3:53 pm

Re: Metro Mini USB serial upload broken on Mac

by relaxing on Wed Aug 09, 2017 11:52 am

tastein wrote:Seeing the exact same issues. Any chance you could help with the steps to uninstall v5? I believe I installed v4 from the Legacy folder, but I don't see anything in the Port menu from Arduino. Also, as you mentioned it's confusing to me if I use 'Metro' from the board drop down or 'Uno' like it mentions on the Metro Mini Adafruit page.


Try running the Legacy installer a second time. I think we found that the first run only uninstalled the current driver, and it took another pass to actually reinstall. (Thanks, SiLabs...)

You may also need to reboot, not positive though. Can't hurt.

We are using "Metro" as the board type.

Note that the serial port won't show up under the usual "tty.usbmodem" nomenclature, it will be something with "Slab" in the name.

relaxing
 
Posts: 48
Joined: Thu Mar 24, 2005 11:22 am

Re: Metro Mini USB serial upload broken on Mac

by adafruit2 on Sat Aug 12, 2017 7:31 pm

thats quite bizarre. it worked fine until about this week. what version of mac os x are you running? we'll bug silabs about the broken drivers!

adafruit2
Site Admin
 
Posts: 15247
Joined: Fri Mar 11, 2005 7:36 pm

Re: Metro Mini USB serial upload broken on Mac

by adafruit2 on Sun Aug 13, 2017 11:52 pm

we made up a metro mini guide! https://learn.adafruit.com/adafruit-metro-mini

adafruit2
Site Admin
 
Posts: 15247
Joined: Fri Mar 11, 2005 7:36 pm

Re: Metro Mini USB serial upload broken on Mac

by david_rysk on Mon Aug 14, 2017 10:02 am

All,

I was also involved with troubleshooting this. It appears to be a problem with the SiLabs 5.0 driver that was released on August 3, 2017 (only a few days before this initial report). This driver added GPIO support, but looks like it broke regular serial operation as people on the SiLabs forums have reported problems with other devices. Do note that the SiLabs driver page claims the v4 driver is the latest, and the release notes linked from the page are out of date. The correct release notes are included with the driver download.

This affects *all* versions of macOS (we were running a class and some people had macOS 10.11, and I'm running macOS 10.13 Beta), as long as the 5.0 driver is used. It likely affects everything that uses the CP210x, not just the Metro Mini.

Thanks for putting together the tutorial! Any chance you could update the product pages to indicate this driver issue? These kinds of issues are quite frustrating since troubleshooting them is less than obvious.

(Barely relevant side note: personally I prefer boards that use a programmed Atmega16u2 for USB-UART conversion, like the current Uno R3, mainly because this allows use of the OS-provided USB-serial driver, and writing a good USB-serial driver for Mac is extremely difficult -- see http://landonf.org/code/macosx/Silicon_ ... 21118.html [the write-up is still relatively accurate, even if that particular CP210x driver is no longer relevant]. This also allows doing fun stuff like flashing the Atmega16u2 with USB-MIDI firmware: http://morecatlab.akiba.coocan.jp/lab/i ... o/?lang=en . I am aware that increases BOM cost though.)

Relevant SiLabs threads:
http://community.silabs.com/t5/Interfac ... d-p/206234
http://community.silabs.com/t5/Interfac ... d-p/206781

david_rysk
 
Posts: 2
Joined: Fri Jan 01, 2016 8:25 pm

Re: Metro Mini USB serial upload broken on Mac

by adafruit2 on Mon Aug 14, 2017 11:35 am

hiya, the driver issue was written in the pinouts page - and moved here https://learn.adafruit.com/adafruit-met ... -ide-usage

we prefer USB CDC but dont use a USB CDC chip because atmega16u2's are much more expensive and take up way more space (especially when a crystal is added) than the cp210x's and also add an extra step in production that can go wrong. there are some arduinos that show up as 16u2 DFU devices sometimes, so its not foolproof.

despite this week's CP2104 driver sadness, overall the CP2104 has been an excellent chip with good driver support for many years. if there was a price-match and size-match to the CP210x but USB CDC we'd probably go that way, but it does not exist at this time :)

adafruit2
Site Admin
 
Posts: 15247
Joined: Fri Mar 11, 2005 7:36 pm

Re: Metro Mini USB serial upload broken on Mac

by david_rysk on Thu Aug 17, 2017 1:33 pm

adafruit2 wrote:we prefer USB CDC but dont use a USB CDC chip because atmega16u2's are much more expensive and take up way more space (especially when a crystal is added) than the cp210x's and also add an extra step in production that can go wrong. there are some arduinos that show up as 16u2 DFU devices sometimes, so its not foolproof.


Yeah that's understandable. Though I do wish someone made a full Arduino Uno clone (with both AVRs) in a compact package :)

On the SiLabs side, looks like they finally acknowledged the problem and rolled back the Mac driver (the download page claims v5 but the downloaded file is v4). See http://community.silabs.com/t5/Interfac ... true#M4416

david_rysk
 
Posts: 2
Joined: Fri Jan 01, 2016 8:25 pm

Re: Metro Mini USB serial upload broken on Mac

by mcclure27 on Sun Oct 15, 2017 9:46 pm

I am currently having this issue. It was helpful to look at the full write-up on the Metro Mini to be sure that I am following the instructions correctly, but I still cannot get my macbook pro to recognize the metro mini.

I have downloaded and installed the FTDI VCP drivers and the SiLabs v4 drivers. I have also tried what I have seen on some other forums about installing the drivers twice in a row to no avail. I have restarted my computer and have searched for the serial device through terminal.

The green LED (ON) is on and the red LED (L) is blinking while plugged in.

I am still able to connect my Arduino Uno without any problems. Any help or advice would be appreciated.

mcclure27
 
Posts: 4
Joined: Sun Oct 15, 2017 9:19 pm

Re: Metro Mini USB serial upload broken on Mac

by adafruit2 on Mon Oct 16, 2017 10:30 am

hmm whats the error you get? can you post a pic of your metro mini? you *probably* have a cp2104 board

adafruit2
Site Admin
 
Posts: 15247
Joined: Fri Mar 11, 2005 7:36 pm

Re: Metro Mini USB serial upload broken on Mac

by mcclure27 on Mon Oct 16, 2017 12:17 pm

"Problem uploading to board. See http://www.arduino.cc ...."
"avrdude: ser_open(): can't open device "/dev/cu.usbmodem621": no such file or directory"
Attachments
IMG_0688.JPG
IMG_0688.JPG (708.93 KiB) Viewed 89 times
IMG_0689.JPG
IMG_0689.JPG (713.82 KiB) Viewed 89 times

mcclure27
 
Posts: 4
Joined: Sun Oct 15, 2017 9:19 pm

Re: Metro Mini USB serial upload broken on Mac

by adafruit2 on Mon Oct 16, 2017 1:59 pm

huh! if you plug it in and type 'sudo lsusb' into a terminal what comes up?

adafruit2
Site Admin
 
Posts: 15247
Joined: Fri Mar 11, 2005 7:36 pm

Re: Metro Mini USB serial upload broken on Mac

by mcclure27 on Mon Oct 16, 2017 4:59 pm

I tried a few variations of this:

"sudo lsusb" >>> "sudo: lsusb: command not found"
"lsusb" >>> "-bash: lsusb: command not found"
"ls usb" >>> "ls: usb: no such file or directory"

I looked up an alternative to this... "system_profiler SPUSBDataType". This will display my USB flash drive, but nothing that I would correlate to the Micro Mini.

Just in case some more info would be helpful, the main computer I am trying this on is a MacBook Pro (13-inch, Mid 2009) running OS X 10.10.5

Everything I have tried so far I have also done on a MacBook Pro (15-inch, early 2011) running OS X 10.12.6, with the same results.

mcclure27
 
Posts: 4
Joined: Sun Oct 15, 2017 9:19 pm

Re: Metro Mini USB serial upload broken on Mac

by adafruit2 on Mon Oct 16, 2017 5:21 pm

blah sorry about that i am not a huge mac expert. ok try this after plugging in the board: "sudo dmesg"
of course, also, try a new USB cable

adafruit2
Site Admin
 
Posts: 15247
Joined: Fri Mar 11, 2005 7:36 pm

Re: Metro Mini USB serial upload broken on Mac

by mcclure27 on Mon Oct 16, 2017 6:41 pm

here is the block of text that seems relevant:

com_silabs_driver_CP210xVCPDriver: init
com_silabs_driver_CP210xVCPDriver(<ptr>)::attach
com_silabs_driver_CP210xVCPDriver(<ptr>)::probe
com_silabs_driver_CP210xVCPDriver(<ptr>)::detach
com_silabs_driver_CP210xVCPDriver(<ptr>)::attach
com_silabs_driver_CP210xVCPDriver(<ptr>)::start - Registered for Power Management
com_silabs_driver_CP210xVCPDriver(<ptr>)::start!
com_silabs_driver_CP210xVCPDriver(<ptr>)::start - Found device at interface 0
com_silabs_driver_CP210xVCPDriver(<ptr>)::SelectInterfaces - BulkOutput Pipe is <ptr> on EP1
com_silabs_driver_CP210xVCPDriver(<ptr>)::SelectInterfaces - BulkInput Pipe is <ptr> on EP2
com_silabs_driver_CP210xVCPDriver(<ptr>)::message
com_silabs_driver_CP210xVCPDriver(<ptr>)::setPowerState - Waking up
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo - Part Number Found: 0x04
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo - UsbConfigurationDescriptor -
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo .bLength = 9
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo .bDescriptorType = 0x02
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo .wTotalLength = 32
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo .bNumInterfaces = 1
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo .bConfigurationValue = 1
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo .iConfiguration = 0
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo .bmAttributes = 0x80
com_silabs_driver_CP210xVCPDriver(<ptr>)::GetCP210xInfo .MaxPower = 50
com_silabs_driver_CP210xVCPDriver(<ptr>)::start - Sucessfully loaded the driver
[Terminal pid:1375 mux-aware] starting, non-mux-aware app count 1, switch-state 0 IG FBs 0 EG FBs 1:7 power-state 0 3D busy HDA idle
com_silabs_driver_CP210xVCPDriver::setPowerState(0x99fea2183efe5bbb, 0 -> 1) timed out after 10154 ms
com_silabs_driver_CP210xVCPDriver::setPowerState(0x99fea2183efe5bbb, 0 -> 1) timed out after 10154 ms


Afterward I was able to see the dev/cu.SLAB_USBtoUART port and upload a sketch. I then tried plugging the Metro Mini/ USB into the other MBP. It was not seen in Arduino IDE, but after running the "sudo dmesg" and restarting the IDE it was listed in the port options. Thanks for your time!

mcclure27
 
Posts: 4
Joined: Sun Oct 15, 2017 9:19 pm

Please be positive and constructive with your questions and comments.