I am using Dlink DWP-157 3G usb modem to work on Jetson TK1. The modem normally works with Ubuntu 14 or 16 but not working on Jetson. Running
lsusb
detects the USB device, but not mounts as a cd-rom. However, Disks program shows the device as cd-rom but could not eject.
The device came with x86/64 drivers which is installed but not working. I have used r21.5 and Grinch 21.3.4 but no luck. Connecting the device over USB shows
The title says it is a modem, but the sg0/sr implies mass storage. Some USB devices (in fact many more than people realize) are actually multiple devices using a single USB cable. If this were a modem, then it would be entirely a serial device without mass storage. Can you give more information on the specific model? Also, notice that when you see the device under “lsusb” there will be an “ID” column. The column will be something like “0955:7721” (which is what a recovery mode TK1 shows). If you look at the ID then you can limit lsusb to just that device via “lsusb -d 0955:7721” (adjust for your ID). Would you please paste the full verbose output here of:
sudo lsusb -d 0955:7721 -vvv
(the forum icon in the upper right while posting has a “code” </> icon…paste the log into the middle of this after clicking on it)
In addition, check the last message in dmesg prior to inserting the USB cable. Then insert the USB cable and post the additional output after that line from dmesg.
The board detects it properly but not mounting as a proper media device.
ubuntu@tegra-ubuntu:~$ sudo lsusb -d 2001:7d0e -vvv
Bus 002 Device 011: ID 2001:7d0e D-Link Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x2001 D-Link Corp.
idProduct 0x7d0e
bcdDevice 3.00
iManufacturer 9 D-Link,Inc
iProduct 10 D-Link DWM-157
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 228
bNumInterfaces 7
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 14
bFunctionProtocol 0
iFunction 1 COM(comm_if)
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 14
bInterfaceProtocol 0
iInterface 1 COM(comm_if)
CDC Header:
bcdCDC 1.10
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC MBIM:
bcdMBIMVersion 1.00
wMaxControlMessage 512
bNumberFilters 16
bMaxFilterSize 64
wMaxSegmentSize 1500
bmNetworkCapabilities 0x20
8-byte ntb input size
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2
iInterface 2 COM(data_if)
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 1
iInterface 3 COM(comm_if)
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 04 24 02 0f
** UNRECOGNIZED: 05 24 06 02 03
** UNRECOGNIZED: 05 24 01 03 03
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 5 COM(data_if)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 6 COM(data_if)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 7 COM(data_if)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 8 Mass Storage
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0002
(Bus Powered)
Remote Wakeup Enabled
dmesg log also catches the event in normal ways when disconnected and conected again. What device type tegra should mount it ?
[ 3210.663734] usb 2-1.3: USB disconnect, device number 14
[ 3233.362284] usb 2-1.3: new high-speed USB device number 15 using tegra-ehci
[ 3233.375985] usb 2-1.3: New USB device found, idVendor=2001, idProduct=a407
[ 3233.375995] usb 2-1.3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 3233.376003] usb 2-1.3: Product: D-Link DWM-157
[ 3233.376009] usb 2-1.3: Manufacturer: D-Link,Inc
[ 3233.376012] usb 2-1.3: SerialNumber: 531399702690850
[ 3233.377464] usb-storage 2-1.3:1.0: USB Mass Storage device detected
One thing is clear from the lsusb…this is a composite device which looks like a single device, but it may have multiple drivers involved. The bulk transfer for data does act like a hard drive, but it may not be useful in every way a regular USB mass storage device is. Other functions for control of the device definitely need different drivers.
Perhaps this device requires firmware…I don’t know. Perhaps this interface simply needs a custom driver specific to the hardware. It may be a case of researching the particular device and finding out which drivers it uses, and also whether or not firmware is required.