I tried recently tried using the sixfab modem Sixfab 4G/LTE Cellular Modem Kit for Raspberry Pi with the telit SIM chip (Telit LE910C4-NF) with OpenWRT but was not able to get it working with the QMI cellular connection. I was able to see that I am able to get a connection with the device and send commands to it but for whatever reason I cannot read any data coming through. Does anyone have any ideas what could be going on? Maybe I need to install a dependency that I'm missing?
you've already searched the forum for "sixfab" ?
Please start from rewriting the description with missing details, for example:
"the sixfab adapter {link to the description} with Telit modem {model}"
Assuming this is a USB adapter, show the output of the following command executed on router console:
cat /sys/kernel/debug/usb/devices
That certainly does not support QMI.
Yes and I could not really find much that was recent
I thought it did? I also got the SIERRA WIRELESS module MC7455 LTE 4G module but it seemed to have the same issue. If you have a recommended board I could use with the sixfab model with openwrt that would be awesome
Thank you, I just changed the description. Also here is what I got from the command:
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
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= 6.06
S: Manufacturer=Linux 6.6.31+rpt-rpi-v8 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:01:00.0
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=01 MxPS=64 #Cfgs= 1
P: Vendor=2109 ProdID=3431 Rev= 4.21
S: Product=USB2.0 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1bc7 ProdID=1206 Rev= 3.18
S: Manufacturer=Android
S: Product=LE910C4-NF
S: SerialNumber=0123456789ABCDEF
C:* #Ifs= 8 Cfg#= 1 Atr=a0 MxPwr=500mA
A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
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= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
E: Ad=84(I) Atr=03(Int.) MxPS= 16 Ivl=32ms
I: If#= 3 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:* If#= 3 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=88(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=8a(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 7 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=8c(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 4
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= 6.06
S: Manufacturer=Linux 6.6.31+rpt-rpi-v8 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:01:00.0
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
Old doesn't mean invalid...
It's not like hw evolves much.
That's true. However I could not find much to help me with this situation. Have you been able to do this type of setup? If so what hardware did you use or what did you have to configure? Sorry I am very new to this.
You are running raspbian. Ask over there.
Sorry about that, I was on the wrong system. Here is the openwrt device:
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
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.15
S: Manufacturer=Linux 5.15.150 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:01:00.0
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=01 MxPS=64 #Cfgs= 1
P: Vendor=2109 ProdID=3431 Rev= 4.21
S: Product=USB2.0 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1bc7 ProdID=1206 Rev= 3.18
S: Manufacturer=Android
S: Product=LE910C4-NF
S: SerialNumber=0123456789ABCDEF
C:* #Ifs= 8 Cfg#= 1 Atr=a0 MxPwr=500mA
A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
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= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=(none)
E: Ad=84(I) Atr=03(Int.) MxPS= 16 Ivl=32ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
I: If#= 3 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=88(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=8a(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 7 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=8c(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 4
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.15
S: Manufacturer=Linux 5.15.150 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:01:00.0
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
Does it work under raspbian?
Driver=cdc_ether
Probably the easiest option is to follow this:
https://openwrt.org/docs/guide-user/network/wan/wwan/ethernetoverusb_cdc
But I afraid this modem needs an additional "dial" command in ECM mode.
I would switch it to MBIM mode (AT#USBCFG=2
as I guess) and use another procedure:
https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle
Interesting I will try this. I also tried out this image here but same issues where I had network errors. Here is what I have so far:
- AT+COPS and Network Registration:
- It looks like your modem is running some AT commands, including
AT+COPS
, which queries or sets the operator. The modem is failing to register on the network initially (+COPS: 0
means no network registration). - When you set the operator manually (
AT+COPS=1,2,"310260"
), it registers successfully with operator code 310260 (T-Mobile USA). However, the modem is still encountering an issue registering with the network. - OpenWRT Network Registration Error:
- The OpenWRT interface shows
Error: Unknown error (NETWORK_REGISTRATION_FAILED)
. This suggests that the modem is not able to fully register with the cellular network, even though it detects the SIM and APN. - The APN in your settings is set to
fast.t-mobile.com
, which is correct for T-Mobile's LTE service. However, registration is failing, potentially due to signal issues or SIM authentication. - Signal Quality (uqmi):
- The
uqmi --get-signal-info
command output indicates you have LTE signal with:- RSSI: -82 (signal strength, decent but could be better)
- RSRQ: -12 (quality of signal, somewhat weak)
- RSRP: -104 (reference signal power, also quite weak)
- SNR: 120 (signal-to-noise ratio, seems off; 120 dB is unusually high, might be an issue).
- These values suggest weak signal strength, which could be a reason for the registration failure.
- Possible Solutions:
- Improve Signal Strength: Try improving the antenna placement or use a stronger external antenna. Signal strength may be preventing the modem from registering with the network.
- Check Band Support: Ensure the modem supports the LTE bands used by T-Mobile in your area.
- APN Authentication: Try setting a different
Authentication Type
in OpenWRT (such as PAP or CHAP) instead ofNONE
, as some networks require this for proper registration. - AT+CSQ Output:
- The
AT+CSQ
command output shows a signal quality of19,99
, which indicates reasonable signal strength (the first value is RSSI, with 31 being the max).
I seem to have gotten things to kind of work with the QMI Cellular without having network connection errors but now it only reads 0 for RX and TX and I'm not sure why. I looked more into it and it looks like it says that my PIN has failed but I am sure that my SIMs don't have PINS in them. I tried my t-mobile one and my sixfab one and still has the same error
root@OpenWrt:/etc/config# ifstatus 4G
{
"up": false,
"pending": false,
"available": true,
"autostart": false,
"dynamic": false,
"proto": "mbim",
"data": {
},
"errors": [
{
"subsystem": "mbim",
"code": "PIN_FAILED"
}
]
}
Please run a few commands in the terminal like picocom
and show results:
AT#USBCFG?
AT#FWSWITCH?
AT#FWAUTOSIM?
AT+CPIN?
AT+CGDCONT?
AT+CEREG?
It looks like I put it in MBIM mode so I can't seem to sent commands to it anymore. I've been using umbim commands and it was working and the board was flashing blue but now it no longer flashes. SO I'm trying to figure out why.
Show the current output of cat /sys/kernel/debug/usb/devices
There is no need to manually run umbim
commands or monitor any lights.
So, I got it to work, and I have three SIM cards (Verizon, AT&T, T-Mobile), but the only one that works is the Verizon. I'm not sure why, but the others seem to have Network registration issues. Is there a reason why? I switched to the Quectel EC25C-AFX modem chip, but I seem to have issues with AT&T and T-Mobile chips. Any ideas?
Ask at Quectel forum. Network registration is performed by the modem itself.
If then you will have OpenWrt related questions - please start another topic here.