5G module didn't work on USB port

Hello there,

We are trying to bring up the 5G module (Quectel AG570) on our custom board with AGX Orin 32GB module and JetPack 5.0.2. The 5G module was connected to Orin through USB3 port 2 (UPHY_T/RX20_N/P) and USB2 port 1(USB1_N/P). The 5G USB device can be detected, but some errors were reported during configuring the device. Below is the configuration:

  • UPHY Configuration

ODMDATA=“gbe-uphy-config-22,hsstp-lane-map-3,nvhs-uphy-config-0,hsio-uphy-config-0,gbe0-enable-10g”

  • Board DTS file
    5g.dts (455.7 KB)

  • Linux dmesg file
    5g.dmesg (66.2 KB)

[    8.399540] hub 1-0:1.0: USB hub found
[    8.407797] tegra-xusb 3610000.xhci: xHCI Host Controller
[    8.413365] tegra-xusb 3610000.xhci: new USB bus registered, assigned bus number 2
[    8.421167] tegra-xusb 3610000.xhci: Host supports USB 3.1 Enhanced SuperSpeed
[    8.428670] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
[    8.437196] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    8.444641] usb usb2: Product: xHCI Host Controller
[    8.449664] usb usb2: Manufacturer: Linux 5.10.104-tegra xhci-hcd
[    8.455939] usb usb2: SerialNumber: 3610000.xhci
[    8.460848] hub 2-0:1.0: USB hub found
[    8.807453] usb 2-3: new SuperSpeedPlus Gen 2 USB device number 2 using tegra-xusb
[    8.839811] usb 2-3: config 1 has an invalid interface number: 7 but max is 6
[    8.847177] usb 2-3: config 1 has an invalid interface number: 8 but max is 6
[    8.854540] usb 2-3: config 1 has an invalid interface number: 15 but max is 6
[    8.861987] usb 2-3: config 1 has no interface number 1
[    8.867375] usb 2-3: config 1 has no interface number 2
[    8.872746] usb 2-3: config 1 has no interface number 3
[    8.880347] usb 2-3: New USB device found, idVendor=2c7c, idProduct=0455, bcdDevice= 4.14
[    8.888790] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    8.896141] usb 2-3: Product: LTE-A Module
[    8.900354] usb 2-3: Manufacturer: Quectel
[    8.904567] usb 2-3: SerialNumber: 7675f5a8
[    8.915480] usb 2-3: can't set config #1, error -32
[  164.316509] usb_wwan: module verification failed: signature and/or required key missing - tainting kernel
[  164.332355] usbcore: registered new interface driver option
[  164.332375] usbserial: USB Serial support registered for GSM modem (1-port)
pads {

			usb2 {
				clocks = <0x04 0xa5>;
				clock-names = "trk";

				lanes {

					usb2-0 {
						status = "disabled";
						#phy-cells = <0x00>;
						nvidia,function = "xusb";
						phandle = <0x2be>;
					};

					usb2-1 {
						status = "okay";
						#phy-cells = <0x00>;
						nvidia,function = "xusb";
						phandle = <0x2c1>;
					};

					usb2-2 {
						status = "disabled";
						#phy-cells = <0x00>;
						nvidia,function = "xusb";
					};

					usb2-3 {
						status = "disabled";
						#phy-cells = <0x00>;
						nvidia,function = "xusb";
					};
				};
			};

			usb3 {

				lanes {

					usb3-0 {
						status = "disabled";
						#phy-cells = <0x00>;
						nvidia,function = "xusb";
					};

					usb3-1 {
						status = "disabled";
						#phy-cells = <0x00>;
						nvidia,function = "xusb";
						phandle = <0x2c0>;
					};

					usb3-2 {
						status = "okay";
						#phy-cells = <0x00>;
						nvidia,function = "xusb";
						phandle = <0x2c2>;
					};

					usb3-3 {
						status = "disabled";
						#phy-cells = <0x00>;
					};
				};
			};
		};

		ports {

			usb2-0 {
				status = "disabled";
				vbus-supply = <0x2e>;
				mode = "host";
			};

			usb2-1 {
				status = "okay";
				vbus-supply = <0x2e>;
				mode = "host";
			};

			usb2-2 {
				status = "disabled";
				vbus-supply = <0x2e>;
				mode = "host";
			};

			usb2-3 {
				status = "disabled";
				vbus-supply = <0x2e>;
				mode = "host";
			};

			usb3-0 {
				status = "disabled";
				nvidia,usb2-companion = <0x02>;
			};

			usb3-1 {
				status = "disabled";
				nvidia,usb2-companion = <0x00>;
			};

			usb3-2 {
				status = "okay";
				nvidia,usb2-companion = <0x01>;
			};

			usb3-3 {
				status = "disabled";
			};
		};

Could you please help have a look?

Thanks!

Here is some debug info for your reference:

:~$ lsusb
Bus 002 Device 002: ID 2c7c:0455 Quectel Wireless Solutions Co., Ltd. LTE-A Module
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ubuntu:~$ lsusb -s 2:2 -vvv

Bus 002 Device 002: ID 2c7c:0455 Quectel Wireless Solutions Co., Ltd. LTE-A Module
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.20
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0         9
  idVendor           0x2c7c Quectel Wireless Solutions Co., Ltd.
  idProduct          0x0455
  bcdDevice            4.14
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0179
    bNumInterfaces          7
    bConfigurationValue     1
    iConfiguration          4
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              896mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol     48
      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     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         4
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       6 Ethernet Networking
      bFunctionProtocol       0
      iFunction               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0
      iInterface              5
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        4
        bSlaveInterface         5
      CDC Ethernet:
        iMacAddress                      7 (??)
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               9
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        5
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        5
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              6
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8d  EP 13 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               6
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0e  EP 14 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               2
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        6
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol     64
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        7
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol     64
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        8
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol     64
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber       15
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     66
      bInterfaceProtocol      1
      iInterface              9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x89  EP 9 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0

Hi,

Do you guys have a chance to look at this issue?

Thanks!

Could you move to use JetPack 5.1.1 as there are more fixes to improve the USB behavior? Thanks

I had success with an Quectel RM500Q on an Xavier AGX Devkit with Jetpack 5.1.1.

However, there were some modules missing (e.g. qmi-wwan, cdc-mbim, cdc-ecm, …), so I needed to grab the kernel and recompiled and reconfigured it with all modules needed.

Why, NVidia, don’t you ship the Jetpack with modules for 4G/5G and raid modules for mdadm or for example Wireguard? A complete set of modules as delivered with a amd64 version of Ubuntu (minus the pc specific modules) does not require that much more space.

Hi @fchkjwlsq,

How did you enable the QMI driver in Orin Linux kernel? Did you use the default kernel qmi_wwan.c driver? or use corresponding driver from Quectel(qmi_wwan_q.c)?

Thanks!

I used the standard Linux driver. I plugged the modem into a PC running the same Ubuntu version, issued an lsmod and searched for modules missing on the Nvidia platform.

fchk

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.