GPS USB Device Not Being Recognized on Boot

Hi,

I’m having a strange problem with a GPS USB Device.

In the Angstrom LXDE 2.8b5 image, if I connect the device after the system is booted, I can use it normally without problems. But if I reboot the module or even boot the module with the device plugged, the kernel don’t list it in the lsusb.

The issue also happen in the mainline image.

The GPS USB device listed in lsusb:

Bus 001 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

It seems to be specific to this GPS device, I did some tests with a PL2303 USB-Serial converter I have here and the issue doesn’t happen.

I did some tests with different images/modules too, the issue doesn’t happen with the TK1 running L4T image or with an Apalis iMX6 running Angstrom LXDE 2.8b5.

I’m sending attached the datasheet of this GPS device, but I just have it in portuguese, I don’t know if it can help.

Does anyone have an idea how to solve this issue?

I thought in power-cycle the USB, but every workaround I found needs the device listed in Linux first.

Some information that can help:

dmesg | grep usb after boot with the device plugged:

root@apalis-tk1:~# dmesg | grep usb
[    0.000000] Kernel command line: lp0_vec=2064@0xf46ff000 core_edp_mv=1150 core_edp_ma=4000 usb_port_owner_info=2 lane_owner_info=6 emc_max_dvfs=0 pcie_aspm=off user_debug=30 ip=off root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait igb_mac=00:14:2d:2f:93:e2 consoleblank=0 no_console_suspend=1 console=tty1 console=ttyS0,115200n8 debug_uartport=lsport,0 fbcon=map:1
[    0.503901] usbcore: registered new interface driver usbfs
[    0.503967] usbcore: registered new interface driver hub
[    0.504094] usbcore: registered new device driver usb
[    4.543403] usbcore: registered new interface driver asix
[    4.550954] usbcore: registered new interface driver ax88179_178a
[    4.559230] usbcore: registered new interface driver cdc_ether
[    4.567202] usbcore: registered new interface driver cdc_subset
[    4.682982] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    4.691608] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.702399] usb usb1: Product: Tegra EHCI Host Controller
[    4.716930] usb usb1: Manufacturer: Linux 3.10.40-2.8.5+gccecdb3d6b3b ehci_hcd
[    4.727993] usb usb1: SerialNumber: tegra-ehci.1
[    4.753615] tegra_xusb_read_usb_calib: usb_calib0 = 0x0285838c
[    4.761874] usbcore: registered new interface driver usb-storage
[    4.769995] usbcore: registered new interface driver usbserial
[    4.777971] usbcore: registered new interface driver usbserial_generic
[    4.786435] usbserial: USB Serial support registered for generic
[    4.794444] usbcore: registered new interface driver pl2303
[    4.802031] usbserial: USB Serial support registered for pl2303
[    4.878001] tegra-udc tegra-udc.0: usb_bat_chg regulator not registered: USB charging will not be enabled
[    4.972486] usbcore: registered new interface driver uvcvideo
[    5.447447] usbcore: registered new interface driver usbhid
[    5.455332] usbhid: USB HID core driver
[    5.548840] usbcore: registered new interface driver snd-usb-audio
[    6.324555] android_usb gadget: Mass Storage Function, version: 2009/09/11
[    6.333273] android_usb gadget: Number of LUNs=1
[    6.355364] android_usb gadget: android_usb ready
[    6.362070] tegra-udc: bind to driver android_usb
[    8.181711] tegra-xhci tegra-xhci: Firmware File: tegra_xusb_firmware (124416 Bytes)
[    8.350053] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    8.350069] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    8.350082] usb usb2: Product: Nvidia xHCI Host Controller
[    8.350096] usb usb2: Manufacturer: Linux 3.10.40-2.8.5+gccecdb3d6b3b tegra-xhci
[    8.350104] usb usb2: SerialNumber: tegra-xhci
[    8.476503] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003
[    8.476521] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    8.476535] usb usb3: Product: Nvidia xHCI Host Controller
[    8.476542] usb usb3: Manufacturer: Linux 3.10.40-2.8.5+gccecdb3d6b3b tegra-xhci
[    8.476548] usb usb3: SerialNumber: tegra-xhci
[    9.019102] android_usb: already disabled
[    9.028254] android_usb gadget: using random self ethernet address
[    9.028268] android_usb gadget: u[link text][1]sing random host ethernet address
[    9.665333] android_usb gadget: high-speed config #1: android

dmesg | grep usb after replug the device:

[    9.665333] android_usb gadget: high-speed config #1: android
[  118.745876] usb 2-3: new full-speed USB device number 73 using tegra-xhci
[  118.787384] usb 2-3: New USB device found, idVendor=067b, idProduct=2303
[  118.801956] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  118.809428] usb 2-3: Product: USB-Serial Controller D
[  118.814799] usb 2-3: Manufacturer: Prolific Technology Inc. 
[  118.838612] usb 2-3: pl2303 converter now attached to ttyUSB0

Thanks in advance.

Please try running:

env default -a
setenv
restart

in u-boot shell

Hi Dominik,

I tried this but it didn’t work.

Any other idea?

Thanks in advance.

Can you try with 2.8b5-170 from Toradex Easy installer Continuous integration Feed ?

Hi Dominik,

I tried with the 2.8b6-170 LXDE and console, but the issue remains.

On the 2.8b6-170 Mainline, the device isn’t being recognized even if I replug it.

Any other idea?

Thanks in advance.