8 years, 10 months ago.

USBSerial using FRDM-K64F on Windows 10

Does the USBSerial API support the FRDM-K64F board? The handbook page only mentions a few devices (LPC1768, LPC11U24 & FRDM-KL25Z). Assuming it is supported, I've downloaded the first example program:

https://developer.mbed.org/handbook/USBSerial

When I power cycled the device I didn't get a new device found prompt in Windows, and I can't find any unknown devices in Device Manager. So I'm unable to install the drivers because it appears the device doesn't show up at all.

The standard 'mbed Serial Port' shows up fine and the mbed USB mass storage device also appears. As far as I can see nothing else shows up.

2 Answers

8 years, 10 months ago.

https://developer.mbed.org/questions/60944/unable-to-get-Mbed-Virtual-Serial-Port-o/

Update #2

Hi Mike. For the imported project, please select the USBDevice inside your project tree -> on the right side of your screen you will see Library Details be sure to select Update to stay current to the latest code releases. Then do the same for the MBED library -> compile and test again. Does this help ? If not, do you have other USB ports on your computer you can test ? At this time of writing not aware of any issues of USB3.0 vs. USB2.0 port uses but it is known to happen on other targets using other tool chains. Do you have any yellow marked devices inside your Device Manager after you compile and save this binary image ? Is your USB cable short / long ? Quality cable ? From a quick review of the source code, the USB serial is of a CDC class which is supported by most current operating systems. For Windows, you will need to use the supplied INF file but will work only for 32 bit operating systems. Is your Windows OS 32 or 64 bit ? Post back if you are using 64 bit for a work around. For 64 bit, you need DTM tested and Microsoft signed device drivers to install.

Update #3

Mike, I do believe that the following article is relevant to your case:

https://developer.mbed.org/questions/60944/unable-to-get-Mbed-Virtual-Serial-Port-o/

Have you followed the instructions posted on this webpage ?

Beyond the above, also believe that the requirement of signed device drivers is mandatory for your 64 bit OS. The issue (we saw and still believe to be active) is that the supplied INF file does not offer the signed CAT file for 64 bit OS use.

For this reason, review the USBSerial.h file and note the Vendor and Device IDs that are emitted by the USB CDC Serial code:

/media/uploads/juthi/usb_ids.png

then proceed to download another INF + CAT file package from here:

http://www.microchip.com/forums/download.axd?file=0;796940

Can confirm that this solution works for another target micro for some lab tests conducted last year. Should be also fine for this exercise as the serial port is an industry standard CDC model.

Moving forward, for production, you are required to use unique registered IDs. In the meantime, share the love and support the respective silicon vendor with future purchases :)

Hoping that MBED will support the same driver package with signed drivers (with MBED IDs) in the near future.

Please post back with your results but do review the first article which is specific to your issue. However, believe that you will then be faced with the 64 bit issue which can be resolved by the above information. We have successfully ported a CDC device using this method on a 64 bit OS while waiting on the silicon vendor to do the same.

-

Your latest test using the work machine is interesting. Wondering if some other driver is installing in its place. Read about the USB port being enumerated as a composite device. That is, if a driver associates with the function then the same device will not be yellow marked. Certainly try to use the home board at work to see if that is the issue. Also noting that Realterm is not as stable as Teraterm but you are not at that stage yet :) Keep testing as I too am very interested to know of the final root cause.

Yes I did search for other questions relating to this. Unfortunately this one didn't help, since the device doesn't actually appear and so I can't install the drivers for it.

posted by Mike Gray 26 Jan 2016

Hi, thanks for the response. Yes when I imported the program I selected to update the libraries. I have since manually updated the mbed library and the USBDevice library, recompiled and downloaded. Unfortunately this hasn't helped. The device still doesn't show up (there are no unrecognised devices in Device Manager). A device does appear (fully working) as mbed Composite Device under USB Controllers. Not sure what this is, but I'm expecting it to appear under Ports (COM & LPT).

I've tried all USB ports (2.0 and 3.0), same result. USB cable is less than a meter.

I'm on a 64-bit installation - please share the workaround you mention?

Edit: I've also tried plugging it into a Windows 7 machine and I don't get any unrecognised devices either.

posted by Mike Gray 26 Jan 2016

Hi, thanks for getting back to me. With regard to the page you linked to, I've installed the drivers for the default serial port (not USBSerial) and that part all works fine. Further to that the linked web page only says to install the drivers for USBSerial. But this is exactly the problem - I can't install these drivers because the device doesn't appear in my Device Manager!

posted by Mike Gray 27 Jan 2016

I've just tried this on another machine (and a different FRDM-K64F actually) at work which is Windows 7 64-bit, and it appeared as expected in Device Manager as an unknown CDC device. I installed the drivers linked to on the USBSerial handbook page and they installed fine, and I can open a serial session with the board. So that's great, it's working. I doubt it, but it could be the FRDM-K64F I have at home, since I tried this on both my Windows 10 machine and my Windows 7 machine. Exactly the same binary file. I'll continue to investigate.

posted by Mike Gray 27 Jan 2016
8 years, 10 months ago.

Edited - wrong account.