5 Replies Latest reply on Dec 7, 2017 10:09 AM by FerryT

    Intel Edison + Ubilinux + USB to UART = USB Device not created

    Hector.K

      Dear community members,

       

      We are working in the development of a robot autonomous control system running inside an Intel Edison, which -in turn- runs in a PixHawk automatic pilot module . This system uses ROS (Robot Operating System) and therefore we had to install Ubilinux. Our system requires being connected with a 360-degree laser (RPLIDAR-360) that sends data through a serial channel, so we are trying to get laser's data through USB-to-UART adapter (Silicon lab's CP2102) (the PixHawk only has a USB available for data transfer).

       

      In summary, the laser is connected to the USB2UART adapter, and the adapter is connected to Edison's serial port.

       

      However, we are stuck with some kind of driver issue. When tracing 'dmesg' the device is detected (idVendor=10c4, idProduct=ea60):

       

      [  917.812195] usb usb2: Product: xHCI Host Controller

      [  917.812214] usb usb2: Manufacturer: Linux 3.10.17-yocto-standard-r2 dwc-xhci

      [  917.812232] usb usb2: SerialNumber: dwc3-host.2

      [  917.812858] xHCI xhci_add_endpoint called for root hub

      [  917.812878] xHCI xhci_check_bandwidth called for root hub

      [  917.813141] hub 2-0:1.0: USB hub found

      [  917.813185] hub 2-0:1.0: 1 port detected

      [  918.128982] usb 1-1: new full-speed USB device number 2 using dwc3-host

      [  918.151786] usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60

      [  918.151818] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

      [  918.151839] usb 1-1: Product: CP2102 USB to UART Bridge Controller

      [  918.151857] usb 1-1: Manufacturer: Silicon Labs

      [  918.151875] usb 1-1: SerialNumber: 0001

       

      With the following details:

       

      T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0

      D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

      P:  Vendor=10c4 ProdID=ea60 Rev= 1.00

      S:  Manufacturer=Silicon Labs

      S:  Product=CP2102 USB to UART Bridge Controller

      S:  SerialNumber=0001

      C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA

      I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

      E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

      E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

       

       

      But no /dev/ttyUSBX device is created, and there are no error messages about missing Drivers or configuration failures.

       

      We are using Ubilinux 3, which reports the following with the 'uname' command:

       

           **  3.10.17-yocto-standard-r2

       

       

      And the following is the listing of the installed drivers:

       

      usb

      /lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb:

      /lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb/gspca:

      /lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb/uvc:

      /lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb:

      /lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb/gadget:

      usb_f_acm.ko

      /lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb/serial:

      usb_wwan.ko

       

       

      Does anyone has had a similar configuration and managed to make work a CP2102 adapter?

       

      As a last resort, we are trying to compile and install the driver by ourselves, using this reference: Installing CP210x Driver? - Ask Ubuntu

       

      Unfortunately, the 'make' process crashes due to a lack of headers, but at this point, we are a little afraid of messing with the kernel. Any advice about this approach is also really welcome!

       

      Thanks in advance,

       

      Héctor