We are using the BG95-M2 module in ecm mode (AT+QCFGEXT=“usbnet”,“ecm”) from Linux with hologram SIM cards.
The ECM interface always shows up, and I am able to get an IP address (192.168.225.20) after running DHCP. I can ping the modem at 192.168.225.1.
After enabling the modem, I can ping using AT commands
AT+QPING=1,"8.8.8.8"
OK
+QPING: 0,"8.8.8.8",32,888,255
+QPING: 0,"8.8.8.8",32,210,255
+QPING: 0,"8.8.8.8",32,240,255
+QPING: 0,"8.8.8.8",32,240,255
+QPING: 0,4,4,0,210,888,394
I can also resolve hostnames using DNS over AT:
AT+QIDNSGIP=1,"example.com"
OK
+QIURC: "dnsgip",0,2,255
+QIURC: "dnsgip","172.66.147.243"
+QIURC: "dnsgip","104.20.23.154"
However, I can only transfer data from ECM for around 10 seconds after bringing the interface up:
# ip link set eth1 down
# ip link set eth1 up
# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=110 time=217.995 ms
64 bytes from 8.8.8.8: seq=1 ttl=110 time=265.204 ms
64 bytes from 8.8.8.8: seq=2 ttl=110 time=219.979 ms
64 bytes from 8.8.8.8: seq=3 ttl=110 time=256.043 ms
64 bytes from 8.8.8.8: seq=4 ttl=110 time=458.826 ms
64 bytes from 8.8.8.8: seq=5 ttl=110 time=255.924 ms
64 bytes from 8.8.8.8: seq=6 ttl=110 time=220.781 ms
64 bytes from 8.8.8.8: seq=7 ttl=110 time=255.679 ms
64 bytes from 8.8.8.8: seq=8 ttl=110 time=215.047 ms
64 bytes from 8.8.8.8: seq=9 ttl=110 time=255.143 ms
64 bytes from 8.8.8.8: seq=10 ttl=110 time=214.861 ms
^C
--- 8.8.8.8 ping statistics ---
18 packets transmitted, 11 packets received, 38% packet loss
If I then bring the interface down and back up I am able to ping for another 10 seconds. This issue persists across full power cycles of the board (modem and processor).
I have gotten the ECM interface to work for longer periods of time in the past. During that time I noticed that the DNS from the modem was extremely slow (upwards of 15 seconds). Unfortunately, something I did caused the modem to return to the intermittent functionality described above.
I am using QPY_OCPU_V0001_BG95M2_FW. On a previous revision of this board I was able to use BG95M2LAR02A04_A0.206.A0.206, but that firmware no longer works on this revision.
Here are some informational AT commands:
ATI
Quectel
BG95-M2
Revision: BG95M2LAR02A04
OK
AT+GMR
BG95M2LAR02A04
OK
AT+QCFGEXT="ap_os_version"
ThreadX Cortex-A7/ARM Version G5.7.5.2
OK
AT+CCID
+CCID: 8944500711213880915F
OK
AT+CGDCONT?
+CGDCONT: 1,"IP","hologram","0.0.0.0",0,0,0
+CGDCONT: 3,"IPV6","hologram","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0
OK
AT+CGACT?
+CGACT: 1,1
+CGACT: 3,0
OK
AT+CRSM=176,28539,0,0,12
+CRSM: 144,0,"FFFFFFFFFFFFFFFFFFFFFFFF"
OK
What could be causing this? Is there a newer firmware that addresses these issues? Why would this be different between board revisions?