Wwan0 interface unstable

Hi SixFab team!

I am still trying to get my IoT project up and running but am facing new issues with the wwan0 interface.

To make it short, I can’t get it to remain stable and, by stable, I mean that either its IP address (assigned by udhcpc) will get unassigned or the wwan0 interface will not be visible when calling ifconfig.

When I follow the “QMI Interface Internet Connection Setup Using Sixfab Shield/HAT” guide, this is the outcome:

  • Just checking that my EP06 is detected by running lsusb:
lsusb
pi@raspberrypi:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 2c7c:0306 Quectel Wireless Solutions Co., Ltd. EG06/EP06/EM06 LTE-A modem
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  • and ifconfig to see what my interfaces are looking like - as you can see, no wwan0 yet, only eth0 and lo:
ifconfig
pi@raspberrypi:~/files/quectel-CM $ ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.44  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::fbe:5cae:ede7:cae8  prefixlen 64  scopeid 0x20<link>
        ether dc:a6:32:a3:a7:b0  txqueuelen 1000  (Ethernet)
        RX packets 333  bytes 32776 (32.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 215  bytes 27796 (27.1 KiB)
        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 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

  • Now, I run sudo ./quectel-CM -s <APN> - which runs also fine and spawns wwan0 and gives it an IP address (10.17.133.107)…
sudo ./quectel-CM -s <APN>
pi@raspberrypi:~/files/quectel-CM $ sudo ./quectel-CM -s <APN>
[08-24_17:38:32:247] Quectel_QConnectManager_Linux_V1.6.0.12
[08-24_17:38:32:250] Find /sys/bus/usb/devices/1-1.1 idVendor=0x2c7c idProduct=0x306, bus=0x001, dev=0x004
[08-24_17:38:32:250] Auto find qmichannel = /dev/cdc-wdm0
[08-24_17:38:32:250] Auto find usbnet_adapter = wwan0
[08-24_17:38:32:250] netcard driver = qmi_wwan, driver version = 5.10.52-v7l+
[08-24_17:38:32:251] ioctl(0x89f3, qmap_settings) failed: Operation not supported, rc=-1
[08-24_17:38:32:251] Modem works in QMI mode
[08-24_17:38:32:267] cdc_wdm_fd = 7
[08-24_17:38:32:461] Get clientWDS = 20
[08-24_17:38:32:525] Get clientDMS = 1
[08-24_17:38:32:589] Get clientNAS = 2
[08-24_17:38:32:652] Get clientUIM = 2
[08-24_17:38:32:717] Get clientWDA = 1
[08-24_17:38:32:780] requestBaseBandVersion EP06ELAR03A06M4G
[08-24_17:38:33:036] requestGetSIMStatus SIMStatus: SIM_READY
[08-24_17:38:33:036] requestSetProfile[1] <APN>///0
[08-24_17:38:33:164] requestGetProfile[1] <APN>///0
[08-24_17:38:33:228] requestRegistrationState2 MCC: 248, MNC: 1, PS: Attached, DataCap: LTE
[08-24_17:38:33:292] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[08-24_17:38:33:293] ifconfig wwan0 down
[08-24_17:38:33:305] ifconfig wwan0 0.0.0.0
[08-24_17:38:33:356] requestSetupDataCall WdsConnectionIPv4Handle: 0x81afda10
[08-24_17:38:33:613] ifconfig wwan0 up
[08-24_17:38:33:626] busybox udhcpc -f -n -q -t 5 -i wwan0
udhcpc: started, v1.30.1
No resolv.conf for interface wwan0.udhcpc
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, failing
[08-24_17:38:49:251] File:ql_raw_ip_mode_check Line:105 udhcpc fail to get ip address, try next:
[08-24_17:38:49:252] ifconfig wwan0 down
[08-24_17:38:49:268] echo Y > /sys/class/net/wwan0/qmi/raw_ip
[08-24_17:38:49:268] ifconfig wwan0 up
[08-24_17:38:49:281] busybox udhcpc -f -n -q -t 5 -i wwan0
udhcpc: started, v1.30.1
No resolv.conf for interface wwan0.udhcpc
udhcpc: sending discover
udhcpc: sending select for 10.17.133.107
udhcpc: lease of 10.17.133.107 obtained, lease time 7200
Too few arguments.
Too few arguments.
ifconfig wwan0
pi@raspberrypi:~ $ ifconfig wwan0
wwan0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.17.133.107  netmask 255.255.255.248  destination 10.17.133.107
        inet6 fe80::9ade:37e9:fa0e:c8f4  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 2  bytes 612 (612.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29  bytes 4912 (4.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  • So, in parallel, I run a ping test on the newly spawned wwan0 interface with the command below (the && ifconfig wwan0 is just to show wwan0 ifconfig data right after the pinging command ends/exits…):
ping -I wwan0 1.1.1.1 && ifconfig wwan0
pi@raspberrypi:~ $ ping -I wwan0 1.1.1.1 && ifconfig wwan0
PING 1.1.1.1 (1.1.1.1) from 10.17.133.107 wwan0: 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=60 time=175 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=60 time=1463 ms
64 bytes from 1.1.1.1: icmp_seq=5 ttl=60 time=23.6 ms
64 bytes from 1.1.1.1: icmp_seq=6 ttl=60 time=800 ms
64 bytes from 1.1.1.1: icmp_seq=7 ttl=60 time=21.3 ms
64 bytes from 1.1.1.1: icmp_seq=8 ttl=60 time=20.0 ms
64 bytes from 1.1.1.1: icmp_seq=10 ttl=60 time=64.7 ms
64 bytes from 1.1.1.1: icmp_seq=11 ttl=60 time=83.7 ms
64 bytes from 1.1.1.1: icmp_seq=12 ttl=60 time=20.8 ms
64 bytes from 1.1.1.1: icmp_seq=13 ttl=60 time=36.8 ms
64 bytes from 1.1.1.1: icmp_seq=14 ttl=60 time=26.8 ms
  • But after a few seconds of pinging, the quectel-CM outputs the following log before exiting and ifconfig wwan0 shows that wwan0’s IP address is gone:
quectel-CM dies...
[08-24_17:39:56:111] QmiWwanThread poll err/hup/inval
[08-24_17:39:56:111] poll fd = 7, events = 0x0018
[08-24_17:39:56:111] QmiWwanThread exit
[08-24_17:39:56:111] requestQueryDataCall err = 0
[08-24_17:39:56:111] QmiWwanSendQMI cdc_wdm_fd = -1
[08-24_17:39:56:111] requestGetIPAddress err = -19
[08-24_17:39:56:111] requestDeactivateDefaultPDP WdsConnectionIPv4Handle
[08-24_17:39:56:111] QmiWwanSendQMI cdc_wdm_fd = -1
[08-24_17:39:56:111] requestDeactivateDefaultPDP err = -19
[08-24_17:39:56:111] ifconfig wwan0 down
wwan0: ERROR while getting interface flags: No such device
[08-24_17:39:56:142] ifconfig wwan0 0.0.0.0
SIOCSIFADDR: No such device
wwan0: ERROR while getting interface flags: No such device
[08-24_17:39:56:169] QmiWwanSendQMI cdc_wdm_fd = -1
[08-24_17:39:56:169] requestSetupDataCall err = -19
[08-24_17:39:56:169] try to requestSetupDataCall 5 second later
[08-24_17:39:56:169] qmi_main exit
pi@raspberrypi:~/files/quectel-CM $ 

pinging instance also dies and returns ifconfig wwan0...
pi@raspberrypi:~ $ ping -I wwan0 1.1.1.1 && ifconfig wwan0
PING 1.1.1.1 (1.1.1.1) from 10.1.228.63 wwan0: 56(84) bytes of data.
[...]
64 bytes from 1.1.1.1: icmp_seq=100 ttl=60 time=26.0 ms
64 bytes from 1.1.1.1: icmp_seq=101 ttl=60 time=24.5 ms
64 bytes from 1.1.1.1: icmp_seq=102 ttl=60 time=22.8 ms
64 bytes from 1.1.1.1: icmp_seq=103 ttl=60 time=20.8 ms
64 bytes from 1.1.1.1: icmp_seq=104 ttl=60 time=28.8 ms
64 bytes from 1.1.1.1: icmp_seq=105 ttl=60 time=26.9 ms
64 bytes from 1.1.1.1: icmp_seq=106 ttl=60 time=30.5 ms
64 bytes from 1.1.1.1: icmp_seq=107 ttl=60 time=24.1 ms
64 bytes from 1.1.1.1: icmp_seq=108 ttl=60 time=23.0 ms
64 bytes from 1.1.1.1: icmp_seq=109 ttl=60 time=21.6 ms
ping: sendmsg: No such device
ping: sendmsg: No such device
ping: sendmsg: No such device
ping: sendmsg: No such device
ping: sendmsg: No such device
ping: sendmsg: No such device
^C
--- 1.1.1.1 ping statistics ---
116 packets transmitted, 101 received, 12.931% packet loss, time 894ms
rtt min/avg/max/mdev = 15.919/28.327/174.255/16.122 ms

wwan0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 02:68:e8:df:43:8b  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

Any idea as to why this is happening and what to do to fix it?

Thanks in advance.

Hi @j051y ,

Please consult the EP06 module vendor first. You can also catch the module debug log and share it by emailing support@quectel.com or on the forum page to help to analyze it. You can use QLog to catch module debug logs.

QLog: https://sixfab.com/wp-content/uploads/2021/08/QLog_LinuxAndroid_V1.3.zip

Thanks.

I have been seeing this error since the first day i got my hat as well. no idea why or whats causing it to die.

and on times when it is up, after a certain number of packets, the hat just freezes…

Hey thanks for your reply @ensar, I’ve also posted there.

@simpleheartx I’ll let you know if I make any progress with the issue - you do the same :muscle:

1 Like

Also to mention the modem: I’m using the EC25-G.

On an unrelated note, my sixfab power module also no longer seems to be connected to the portal, ie, I can’t install the firmware for the data to show up. It only shows connection status.

They mentioned using another power source? I’ve tried even directly connecting the hat via micro-usb to usb A, to a PC’s usb port and even a usb hub. And although on a PC, it seems to connect well, after a while, or a certain number of actions or packets, the module just stops responding. even using AT commands.

But i will try to record the exact number of packets, or megabytes, or even time, when i can.

Hey @simpleheartx, let me know if you get anywhere with it… I kind of gave up and bought another module because Quectel support is average. I might even sell my EP06, tbh, because I’ll have no use for it, then.

I have a Telit LM960 on the way, hopefully it will be there before end of this week. And I know that Telit’s product quality/reliability is as good as their support so my IoT project will be moving forward with this module.

@j051y - I got a new EP06-E to test, and on windows, the whole system doesnt seem to have any issues. Drivers were from the Quectel LTE&5G Windows USB Driver (sixfab.com) product page.

Returning to my EC25G, it doesnt seem to have any issues either! Im guessing somewhere, the linux drivers arent doing so well, so i’m reinstalling the whole raspberry pi to test on both modules. Initially i thought it might be a 64bit raspbian os problem, but now im not too sure.

Edit:
One thing different this time round, im using a different set of antenna (some cheap knockoff from aliexpress). so maybe even the sticker antenna that was given in the kit, might be interfering?

Will return soon after further testing.

Hey @simpleheartx thanks for following up!

  1. Did you also try the EP06 on your Pi? How did that go? Any issues?

  2. Yeah I think the small antennas that SixFab have for sale are not that great… I wouldn’t compare them to knockoffs from AliExpress but I did get 4x new antennas from LinxTechnlogies (ANT-LTE-MON-SMA-L) to pair with my Telit LM960 to avoid buying 2x new ones from SixFab… Haven’t had the opportunity to try them out yet as that module uses different connectors for the antenna cables (it’s IPEX MHF4 not u.FL) cause I’m having a hard time getting some (Digikey is sold out on a lot of them)…

Looking forward to your reply and in-depth testing report!