Hello,
I followed the setup here: Getting Started to get the Sixfab 3G-4G/LTE Base HAT set on my Ubuntu 22.04 system.
After following the setup the usb device shows up and I can communicate with the Quectel module with AT commands as well as ping the internet briefly, however the usb device keeps disconnecting and then reconnecting intermittently, issuing the following on the terminal:
dwc2 fe980000.usb: Not connected
My setup uses the following:
Raspberry Pi CM4
Ubuntu 22.04 LTS
Sixfab 3G-4G/LTE Base HAT
Quectel EG25-G
Sixfab SIM card
Here are some Linux command outputs:
uname -a:
Linux ubuntu 5.15.0-1055-raspi #58-Ubuntu SMP PREEMPT Sat May 4 03:52:40 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
lsusb (when the usb device is recognized):
Bus 001 Device 025: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ifconfig (when the usb device is recognized):
enx56e1d31ee0f2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::54e1:d3ff:fe1e:e0f2 prefixlen 64 scopeid 0x20<link>
ether 56:e1:d3:1e:e0:f2 txqueuelen 1000 (Ethernet)
RX packets 10 bytes 632 (632.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5 bytes 908 (908.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether d8:3a:dd:39:ac:2b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1655 bytes 144929 (144.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1655 bytes 144929 (144.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.18.20 netmask 255.255.255.0 broadcast 192.168.18.255
inet6 fe80::da3a:ddff:fe39:ac2c prefixlen 64 scopeid 0x20<link>
ether d8:3a:dd:39:ac:2c txqueuelen 1000 (Ethernet)
RX packets 1969 bytes 464489 (464.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4082 bytes 395354 (395.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
however when the device is not recognized, the first entry above (enx56e1d31ee0f2) does not appear, and when it reconnects, appears with a different network interface name.
usb-devices (when the usb device is recognized):
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=05.15
S: Manufacturer=Linux 5.15.0-1055-raspi dwc2_hsotg
S: Product=DWC OTG Controller
S: SerialNumber=fe980000.usb
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#= 28 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=2c7c ProdID=0125 Rev=03.18
S: Manufacturer=Quectel
S: Product=EG25-G
C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=81(I) 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=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
E: Ad=89(I) Atr=03(Int.) MxPS= 16 Ivl=32ms
I: If#= 5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
dmesg | grep tty
[ 2301.393628] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[ 2301.395650] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[ 2301.397685] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[ 2301.399831] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[ 2315.092070] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 2315.093101] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 2315.094215] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 2315.095135] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
These lines appear on loop while the device connects and reconnects.
I’ve also followed the instructions posted on Cellular Internet Connection in ECM Mode with no improvement.
Common AT commands to the module return the expected output:
AT
OK
AT+CGMR
EG25GGBR07A08M2G
OK
OK
AT+CPIN?
ATE0
OK
AT+CPIN?
+CPIN: READY
OK
AT+CPAS
+CPAS: 0
OK
+CSQ: 21,99
OK
AT+CFUN?
+CFUN: 1
OK
AT+COPS?
+COPS: 0,0,"Rogers Wireless Twilio",7
OK
+COPS: 0,0,"Rogers Wireless Twilio",7
OK
+COPS: 0,0,"Rogers Wireless Twilio",7
OK
OK
OK
AT+QCFG="usbnet"
+QCFG: "usbnet",1
OK
Thanks in advance for any help