0 Replies Latest reply on Mar 20, 2015 9:31 AM by ForumMigrationAdmin

    Edison Arduino - Windows .inf Vendor Id's don't match kernel USB


      After building and installing Yocto on my Arduino for Edison, the Windows device driver for "CDC Serial" no longer works with the drivers provided by Intel.  I also installed ubilinux and had the same results.  In \Program Files (x86)\Intel Edison Device USB driver\intc_cdcserial.inf, I see USB\VID_8087&PID_0A9E&MI_02 which does not match the hardware ID's in the Windows Device Manager.  Windows Device Manager did show the same hardware ID's, VID/PID 1d6b/0104, as specified in the kernel source, linux/drivers/usb/gadget/multi.c, included in the Intel release, edison-GPL_LGPL-sources-rel1-maint-rel1-ww42-14.zip. The VID/PID 1D6B/0104 from the kernel driver source does correspond with the hardware id's found in the Windows device manager and also in the .  It looks as if some of the Intel binary OS distributions must contain a non-standard version of the gadget USB drivers with the 8087/0A9E hardware ID's.  I don't know how else the Windows .inf files with hardware id's 8087/0A9E would have worked.  I was able to load the linux-cdc-acm.inf from the Linux Documentation by rebooting Windows and turning off the requirement for drivers to be signed.  The device showed up in Device Manager, but I couldn't connect to the Edison Arduino through the serial port after installing it.

      In summary, if I use a Yocto build, the gadget USB drivers wont install because the hardware ids detected by Windows Device Manager don't match the hardware ids specified in the Windows .inf.  I can think of several possible workarounds such as patching the kernel drivers, changing the .inf file and forcing an unsigned driver install, possibly hacking sysfs, but there must be a cleaner solution.  I must be missing something and it's probably very simple.  Anyone?  Am I doing something really dumb and just missing it?