Hi, I’m now using a carrier board as a platform to validate some hardware functions. When using 2 thin cables to pin out USB2 D+/D- from M.2 slot, and powering using USB3.0(VBUS, GND), nothing shows up(tried mouse and USB thumb drive). Is there anything else should be connected?
I don’t know which changes to make, but it is very likely a device tree edit would do the job. This might depend on which L4T version you use, you might mention if R21.5, so on (see “head -n 1 /etc/nv_tegra_release” to check).
EDIT: Oops…R21.5 is TK1, I meant whether R28.1 or an earlier release, but this is answered as R28.1 in the next post. It’s just that I mistook M.2 on the TX1 for the mini-PCIe on TK1 (mini-PCIe also has a D+/D- line).
I am also facing the same problem and tried the above shared patch. Now it could able to recognise the device on the USB2. I connected sierra modem as a device. I have one problem that, eventhough device detected i observed some crash. Please see the below prints.
[ 18.136668] usb 1-4: new high-speed USB device number 2 using xhci-tegra
[ 18.167610] usb 1-4: config 1 has an invalid interface number: 8 but max is 7
[ 18.174962] usb 1-4: config 1 has an invalid interface number: 19 but max is 7
[ 18.182512] usb 1-4: config 1 has an invalid interface number: 20 but max is 7
[ 18.190568] usb 1-4: config 1 has an invalid interface number: 20 but max is 7
[ 18.198064] usb 1-4: config 1 has no interface number 1
[ 18.203919] usb 1-4: config 1 has no interface number 6
[ 18.209211] usb 1-4: config 1 has no interface number 7
[ 18.215513] usb 1-4: New USB device found, idVendor=1199, idProduct=68c0
[ 18.222326] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 18.229544] usb 1-4: Product: WP7504
[ 18.233635] usb 1-4: Manufacturer: Sierra Wireless, Incorporated
[ 18.239658] usb 1-4: SerialNumber: 0123456789ABCDEF
[ 18.258052] Calling GobiUSBNetProbe@2275
[ 18.262371] Calling GobiProbe@593
[ 18.267682] GobiSerial 1-4:1.0: GobiSerial converter detected
[ 18.274187] usb 1-4: GobiSerial converter now attached to ttyUSB0
[ 18.280575] Calling GobiUSBNetProbe@2275
[ 18.284876] Calling GobiProbe@593
[ 18.289725] GobiSerial 1-4:1.2: GobiSerial converter detected
[ 18.295987] usb 1-4: GobiSerial converter now attached to ttyUSB1
[ 18.302285] Calling GobiUSBNetProbe@2275
[ 18.306468] Calling GobiProbe@593
[ 18.311439] GobiSerial 1-4:1.3: GobiSerial converter detected
[ 18.317565] usb 1-4: GobiSerial converter now attached to ttyUSB2
[ 18.323933] Calling GobiUSBNetProbe@2275
[ 18.329401] Calling GobiProbe@593
[ 18.336846] GobiSerial 1-4:1.4: GobiSerial converter detected
[ 18.349173] usb 1-4: GobiSerial converter now attached to ttyUSB3
[ 18.355675] Calling GobiUSBNetProbe@2275
[ 18.359686] Calling GobiProbe@593
[ 18.363280] Calling GobiUSBNetProbe@2275
[ 18.369122] GobiNet 1-4:1.8 eth1: register ‘GobiNet’ at usb-70090000.xusb-4, GobiNet Ethernet Device, fe:6a:e9:f6:e0:95
[ 18.380907] USB Speed : USB 2.0
[ 18.384110] do not call blocking ops when !TASK_RUNNING; state=1 set at [] QMIReady+0x114/0x514
[ 18.386337] cdc_ether 1-4:1.19 usb0: register ‘cdc_ether’ at usb-70090000.xusb-4, CDC Ethernet Device, e2:76:d0:76:de:00
[ 18.405900] ------------[ cut here ]------------
[ 18.410514] WARNING: at …/kernel/sched/core.c:7614
[ 18.415382] Modules linked in: ads7924 bcmdhd bluedroid_pm
[ 18.420888]
[ 18.422376] CPU: 3 PID: 1403 Comm: GobiNetThread:0 Not tainted 4.4.38+ #12
[ 18.429232] Hardware name: jetson_tx1 (DT)
[ 18.433317] task: ffffffc0e3a34b00 ti: ffffffc0e66f8000 task.ti: ffffffc0e66f8000
[ 18.440786] PC is at __might_sleep+0x50/0x94
[ 18.445045] LR is at __might_sleep+0x50/0x94
[ 18.449302] pc : [] lr : [] pstate: 80000145
[ 18.456679] sp : ffffffc0e66fbbb0
[ 18.459981] x29: ffffffc0e66fbbb0 x28: 0000000000000000
[ 18.465293] x27: 0000000000000000 x26: 0000000000000000
[ 18.470603] x25: 000000000000000c [ 18.471810] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 18.472348] GobiNet 1-4:1.8 eth1: kevent 12 may have been dropped
[ 18.472357] GobiNet 1-4:1.8 eth1: kevent 12 may have been dropped
[ 18.472816] GobiNet 1-4:1.8 eth1: kevent 12 may have been dropped
Just FYI, “enx00044b65d5e6” is a naming convention which implies udev renamed the device, whereas the “eth0” or “eth1” naming is the original device name without a udev rename. Both are valid, but if a program hard coded the naming convention instead of detecting the correct port name there would be a problem. Mostly it isn’t a problem.
The fact that the devices show up under ifconfig means mostly things are working as expected, though the kernel register dump says not everything is correct. It is possible the GobiNet driver only functions correctly after a firmware load custom to the device is complete, but I’m just speculating. If you research the requirements for this device there may be an indication of requirements other than just the driver.
Is this driver something you compiled, or perhaps which was provided by a manufacturer?
Note:
1. Common mode filters on USB[2:0]_DP/DN (USB 2.0 interfaces) are optional. Place only as needed if EMI is an issue. Common mode filters on USB3_TX/RX_P/N signals are not recommended. If common mode devices are placed, they must be selected to minimize the impact to signal quality, which must meet the USB spec. signal requirements. See the Common Mode Choke requirements in the USB 3.0 Interface Signal Routing Requirements table.
2. If USB 3.0 is routed to a connector, only AC caps on Jetson TX2 TX lines are required. If routed directly to a peripheral, AC caps are needed for both Jetson TX2 TX lines (connected to device RX) & Device TX lines (connected to Jetson TX2 RX).
3. USB0 must be available to use as USB Device for USB Recovery Mode.
4. Connector used must be USB-IF certified if USB 3.0 implemented.
Thanks for the detailed answer. We got the driver from the manufacturer. I will try to connect to the LTE network and share my observations.
@DaneLLL - We are using the R28.1 for TX1, not for TX2. In TX1 for R24.2.1 “all USB2 devices worked directly with the base software”, whereas for R28.1 USB2 devices not able to detect.
After applying the patch file, then only It could able to detect the device. I am not sure why kernel panic happening, even though the driver is working one without any issues (verified in R24.2.1).
Is it something related to DT patch that I applied? Anyway I will check the driver related to this crash.
You will probably want to start a new thread. Add any information you can on your device, your current L4T version (“head -n 1 /etc/nv_tegra_release”), the output of “lsusb”, “lsusb -t”, and just for the one specific device “sudo lsusb -vvv” (the “-d ID” can be used to limit to just one ID…the regular lsusb shows ID in the format of “1234:4321”…if this happened to be your device ID you could run “sudo lsusb -d 1234:4321 -vvv”).
There’s a lot of difference between pre-R28.1 and R28.1+. There’s also some significant improvements on releases newer than R28.1. Any patch for a kernel earlier than R28.1 is pretty much guaranteed to be invalid on R28.1 (you’d be applying a 3.x kernel series patch to the entirely newer 4.x generation of kernel).