Multiple LTE modems support?

Hi,

I am currently facing an issue using multiple modems with 22.03.3 on mt7621 with a USB hub.
Two modems can be detected via lsusb:

Bus 001 Device 003: ID 2c7c:0306 Quectel EP06-E
Bus 001 Device 004: ID 2c7c:0306 Quectel EP06-E
Bus 001 Device 002: ID 0424:2134 SMSC USB2134B
Bus 001 Device 001: ID 1d6b:0002 Linux 5.10.161 xhci-hcd xHCI Host Controller
Bus 002 Device 002: ID 0424:5534 SMSC USB5534B
Bus 002 Device 001: ID 1d6b:0003 Linux 5.10.161 xhci-hcd xHCI Host Controller

But only one can get its serial interface:

ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2  /dev/ttyUSB3

How can I enable the serial and wdm interface for both modems?

Thanks

Are you sure all four ports are from just one modem? Can you post the output from the logread -f when you plug out and plugin both modules again?

EDIT: Forget about logread for now and issue the command @AndrewZ mentioned in the following post - easier.

Please show the output of cat /sys/kernel/debug/usb/devices

That's the easier way to get the information I was requesting for in my previous post :wink:

1 Like

This is the log from the working one when plug it out and in:

[  177.145395] usb 1-1.2: USB disconnect, device number 3
[  177.156037] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[  177.172452] option 1-1.2:1.0: device disconnected
[  177.182549] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[  177.198851] option 1-1.2:1.1: device disconnected
[  177.209119] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[  177.225573] option 1-1.2:1.2: device disconnected
[  177.235653] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[  177.251964] option 1-1.2:1.3: device disconnected
[  177.261949] qmi_wwan 1-1.2:1.4 wwan0: unregister 'qmi_wwan' usb-1e1c0000.xhci-1.2, WWAN/QMI device
[  195.356646] usb 1-1.2: new high-speed USB device number 6 using xhci-mtk
[  195.502141] option 1-1.2:1.0: GSM modem (1-port) converter detected
[  195.515192] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[  195.530183] option 1-1.2:1.1: GSM modem (1-port) converter detected
[  195.543258] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[  195.558177] option 1-1.2:1.2: GSM modem (1-port) converter detected
[  195.571195] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[  195.586054] option 1-1.2:1.3: GSM modem (1-port) converter detected
[  195.599008] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB3
[  195.621493] qmi_wwan 1-1.2:1.4: cdc-wdm0: USB WDM device
[  195.634003] qmi_wwan 1-1.2:1.4 wwan0: register 'qmi_wwan' at usb-1e1c0000.xhci-1.2, WWAN/QMI device, 8a:88:59:a9:20:d3

And for the one that was not working:

[  276.985346] usb 1-1.4: USB disconnect, device number 5

[  288.286267] usb 1-1.4: new high-speed USB device number 7 using xhci-mtk
[  288.428217] usb 1-1.4: Not enough host controller resources for new device state.
[  288.443349] usb 1-1.4: can't set config #1, error -12
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 5.10
S:  Manufacturer=Linux 5.10.161 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 4
D:  Ver= 2.10 Cls=09(hub  ) Sub=00 Prot=02 MxPS=64 #Cfgs=  1
P:  Vendor=0424 ProdID=2134 Rev=60.80
S:  Manufacturer=SMSC
S:  Product=USB2134B
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=01 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms
I:* If#= 0 Alt= 1 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=02 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  6 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0306 Rev= 3.10
S:  Manufacturer=Quectel
S:  Product=EP06-E
S:  SerialNumber=0123456789ABCDEF
C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
E:  Ad=89(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  7 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0306 Rev= 3.10
S:  Manufacturer=Quectel
S:  Product=EP06-E
S:  SerialNumber=0123456789ABCDEF
C:  #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=
E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=
E:  Ad=89(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 5.10
S:  Manufacturer=Linux 5.10.161 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=5000 MxCh= 4
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=0424 ProdID=5534 Rev=60.80
S:  Manufacturer=SMSC
S:  Product=USB5534B
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=13(Int.) MxPS=   2 Ivl=16ms

And that's your problem. I had this once, also on a MT7621 chipset. I was able to work around it by changing the modem configuration to only expose 2 serial ports. You will probably have to limit yours to just one to support the second WDM interface.

There are several reports on this issue here in the forum and in the bug tracker. It seems like a hardware limit of the xHCI controller in the MT7621 SoC. You might also be successful by disabling all devices you do not need, for example the USB3 hub and the complete second USB bus, by calling (ref)

echo 1 > /sys/bus/usb/devices/<path to device>/remove
2 Likes

Thanks mate,

Let me try, and will let you know how it goes.

You can try disabling unneeded interfaces on the modem(s).
Currently you have
<diag>,<nmea>,<at_port>,<modem>,<rmnet>
I would try disabling everything except <at_port> and <rmnet>, however I remember seeing a report that said that not all interfaces can be enabled/disabled individually.
I suggest you asking about the port combos in Quectel forum.

1 Like

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