Rock 3A add wireless mPCIe 2,4G/4G/5G

Hi,
from the latest tests made, I managed to get these two mPCIe cards to work.

I needed to create a device connected remotely via wifi, but where not available use 4G / LTE.
M2 Key A / E wireless cards are not always immediately available, and then the 4G ones are longer and do not fit into the Rock 3A space, and there is no possibility to insert a SIM-Card on the board.

First I got this ADT-Link M2 A / E to mPCIe cable with SIM slot, and the connection was quick.

Then I bought a 2.4 and 5G + Bluethoot mPCIe WIFI with Atheros chip. Even if it’s not one of those tested, it’s fine and cheap. To install the necessary Atk10 drivers, I did like this:
apt-get install -y broadcom-wifibt-firmware intel-wifibt-firmware firmware-atheros

Then I removed my wifi card and installed a MC7700 Sierra 4G / LTE / GPS module, and here it was a bit tough, the QMI drivers are collected in:
sudo apt-get install libqmi-utils


now I am satisfied with the work, but not so much with this module. As once connected I still don’t browse if you don’t assign a dhcp to the module, and I used udhcpc.
sudo udhcpc -i wwan0
after sending this command that resolves the connection, I check if I navigate with:
ping -I wwan0 8.8.8.8
and while I observe the pings, after a few seconds, the connection drops, and if I try again with sudo udhcpc -i wwan0, it gives me an unreachable network.
I re-launch the connection with the qmicli command and after re-established everything returns ok.

Firstly I found the 4G / GPS antenna that I took not reliable, I changed the antennas with others that I had on 2400mhz, I was able to ping for a longer time.

Now what I am wondering is it possible that this disconnection is due to the signal that reaches even 80%, I have my provider notices that the SIM is not in a phone but on a linux device, I do not know how to stabilize this module, to unless the form is of good quality.

I have already updated the firmware,
does anyone have any other method that can recommend me to try a 4G connection on wwan0?

Thank you

We have PCIe and USB on M.2 E key, so actually your 4G module is USB signal?

Yes, USB.

rock@rock-3a:~$ lsusb
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 1199:68a2 Sierra Wireless, Inc.
Bus 001 Device 003: ID 0416:c168 Winbond Electronics Corp.
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

could i initialize it Pcie instead of USB?
what gives me problems is udhcpc, at first it works, and I surf the internet

rock @ rock-3a: ~ $ sudo ifup wwan0
[/ dev / cdc-wdm0] Successfully got signal strength
Current:
Network ‘lte’: ‘-75 dBm’
RSSI:
Network ‘lte’: ‘-75 dBm’
AND THAT:
Network ‘lte’: ‘-31.5 dBm’
IO: ‘-106 dBm’
SINR (8): ‘9.0 dB’
RSRQ:
Network ‘lte’: ‘-8 dB’
SNR:
Network ‘lte’: ‘6.6 dB’
RSRP:
Network ‘lte’: ‘-104 dBm’
Loading profile at /etc/qmi-network.conf …
APN: mobile.vodafone.it
APN user: unset
APN password: unset
qmi-proxy: no
Checking data format with ‘qmicli -d / dev / cdc-wdm0 --wda-get-data-format’ …
Device link layer protocol retrieved: raw-ip
Getting expected data format with ‘qmicli -d / dev / cdc-wdm0 --get-expected-data-format’ …
Expected link layer protocol retrieved: raw-ip
Device and kernel link layer protocol match: raw-ip
Starting network with ‘qmicli -d / dev / cdc-wdm0 --device-open-net = net-raw-ip | net-no-qos-header --wds-start-network = apn =’ mobile.vodafone.it ‘, ip-type = 4 --client-no-release-cid’ …
Saving state at / tmp / qmi-network-state-cdc-wdm0 … (CID: 1)
Saving state at / tmp / qmi-network-state-cdc-wdm0 … (PDH: 41122744)
Network started successfully
udhcpc: started, v1.30.1
udhcpc: sending discover
udhcpc: sending select for 100.105.4.31
udhcpc: lease of 100.105.4.31 obtained, lease time 7200

a few seconds later I thought the connection was down, instead the connection seems active, but if I rerun udhcpc as you see it does not assign me the gateway IP and I first have to disable all the qmi connection and restart.

rock @ rock-3a: ~ $ sudo udhcpc -q -f -n -i wwan0 sudo udhcpc -q -f -n -i wwan0
udhcpc: started, v1.30.1
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, failing

What I notice is that after the connection I perform many pings I always have the line active, then

rock @ rock-3a: ~ $ ping -I wwan0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 100.105.233.229 wwan0: 56 (84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq = 1 ttl = 113 time = 42.5 ms
64 bytes from 8.8.8.8: icmp_seq = 2 ttl = 113 time = 39.7 ms
64 bytes from 8.8.8.8: icmp_seq = 3 ttl = 113 time = 38.1 ms
64 bytes from 8.8.8.8: icmp_seq = 4 ttl = 113 time = 37.2 ms
ping: sendmsg: No such device
ping: sendmsg: No such device
ping: sendmsg: No such device
ping: sendmsg: No such device

Too bad because the connection works, but it is not stable, I do some tests with ModemManager, or other way.

rock@rock-3a:~$ ping -I wwan0 8.8.8.8
connect: Network is unreachable
?

check if there is some kernel dmesg during the testing, if there is something unusual in the driver.

What I get, is that I have first
sudo mmcli -v -m 0
I launch the connection and everything is ok, by changing the antennas I was able to stabilize the signal and navigate for a few more seconds.
But when the connection drops, I no longer have
sudo mmcli -v -m 0
but go to 1
sudo mmcli -v -m 1
if i give it back the connection works, but when it falls back, i have
sudo mmcli -v -m 2
endlessly moves the modem to another slot, how can I keep it locked on 0?

The connection stays up now, even if I restart Rock 3A, I believe the module remains powered and connected, but I know how to disconnect.
the problem is with udhcpc, which at first rotates the IPs and I can ping outwards, but as soon as I open a browser, I can see the page and in 2 seconds, I am no longer connected. That is, the connection is up, but the network created by udhcpc is gone, sometimes I re-issue the command and restart, sometimes udhcpc doesn’t want to know, I have to send down the active connection first.
Anyone know this command?
and how should I do for my navigation to rotate on wwan0?

Solved.
It was an operator problem, with another operator he didn’t, the LTE signal seemed weak.
Everything is OK!