5 years, 7 months ago.

Problem with Nucleo USBSerial on Mac OS X Yosemite

I am using USBSerial with an Nucleo F401RE board. Everything is fine, except that on Mac OS X Yosemite the serial CDC device does not show up. dmesg gives the following error, when device is plugged into USB port:

USBF:    2441.371    The IOUSBFamily is having trouble enumerating a USB device that has been plugged in.  It will keep retrying.  (Port 4 of Hub at 0xfd120000)
USBF:    2441.371    The IOUSBFamily gave up enumerating a USB device after 10 retries.  (Port 4 of Hub at 0xfd120000)
USBF:    2441.371    The IOUSBFamily was not able to enumerate a device.

I tested on several Macs (USB 2.0 and USB 3.0 port, but all with Yosemite) but it does not work on any of them. I also tested on Linux and several Windows versions - everything is fine there (devices recognized and working). I even tested on the same Mac and USB port: on Windows it works, on Yosemite not…

There seems to be another, simular thread (with a solution) here: https://mbed.arm.com/questions/2599/Is-USBSerial-giving-problems-on-new-Hasw/ but the proposed fixes don’t work for the Nucleo F401RE.

It seems there is an issue with a low level USB implementation, where my knowledge ends. Has anyone got a Nucleo board with USBSerial working on OSX Yosemite? Any suggestion how to get it work? Can anyone of the mbed team can have a look at this issue? To reproduce here is an example Application not working on Yosemite (but working on Windows):

#include "mbed.h"
#include "USBSerial.h"
 
USBSerial usb(0x0483,0x5740,0x0200,false);
 
int main() {
    
    while(1) {
        usb._putc('.');
        wait(1);
    };
}
Be the first to answer this question.