Review and Setup of the A7670E LTE Modem on Linux
Features:
Connectivity: GSM/GPRS/EDGE: 900/1800 MHz and LTE-FDD: B1, B3, B5, B7, B8, B20.
Navigation: Includes an input for a GNSS antenna for satellite positioning.
Data Rates: Over LTE — Downlink up to 10 Mbps, Uplink up to 5 Mbps. Over EDGE: up to 236.8 Kbps in both directions.
Power Supply: 3.4 V to 4.2 V — perfectly matching the operating voltage range of Li-Ion batteries.
Interfaces: USB — the module emulates a network card (RNDIS) and UART. There is also a separate, “real” UART. However, it lacks an analog audio interface for sound and a microphone.
Card Slot: A standard, convenient NanoSIM slot is soldered onto the board.
In addition to the micro-USB connector, the board features a standard 7-pin header. Here is their pinout:
| Letter | Function |
|---|---|
| G | Ground (GND) |
| R | UART RX |
| T | UART TX |
| K | Module power control (Power Key) |
| V | Power (VCC) |
| G | Ground (GND) |
| S | Sleep — this pin can be used to put the modem into deep sleep mode for minimal power consumption |
After connecting it, a bunch of new interfaces appeared in
dmesg:
[ 5049.440788] usb 3-1.2: new high-speed USB device number 6 using xhci_hcd
[ 5049.554266] usb 3-1.2: New USB device found, idVendor=2ecc, idProduct=3004, bcdDevice= 0.00
[ 5049.554281] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5049.554287] usb 3-1.2: Product: Arom Usb Boot Port
[ 5049.554293] usb 3-1.2: Manufacturer: ASR Microelectronics
[ 5049.554298] usb 3-1.2: SerialNumber: arom0123456789
[ 5049.658700] cdc_acm 3-1.2:1.0: ttyACM0: USB ACM device
[ 5049.658725] usbcore: registered new interface driver cdc_acm
[ 5049.658727] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 5049.758004] usb 3-1.2: USB disconnect, device number 6
[ 5052.523797] usb 3-1.2: new high-speed USB device number 7 using xhci_hcd
[ 5052.625945] usb 3-1.2: New USB device found, idVendor=1e0e, idProduct=9011, bcdDevice= 1.00
[ 5052.625956] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5052.625959] usb 3-1.2: Product: A76XX Series LTE Module
[ 5052.625963] usb 3-1.2: Manufacturer: SIMCom Wireless Solution
[ 5052.625965] usb 3-1.2: SerialNumber:
[ 5052.839599] rndis_host 3-1.2:1.0 usb0: register 'rndis_host' at usb-0000:04:00.4-1.2, RNDIS device, ae:0c:29:a3:9b:6d
[ 5052.839647] usbcore: registered new interface driver rndis_host
[ 5052.839989] usbcore: registered new interface driver option
[ 5052.840009] usbserial: USB Serial support registered for GSM modem (1-port)
[ 5052.840304] option 3-1.2:1.2: GSM modem (1-port) converter detected
[ 5052.840376] usb 3-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 5052.840430] option 3-1.2:1.4: GSM modem (1-port) converter detected
[ 5052.840495] usb 3-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 5052.840561] option 3-1.2:1.5: GSM modem (1-port) converter detected
[ 5052.840864] usb 3-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[ 5052.840961] option 3-1.2:1.3: GSM modem (1-port) converter detected
[ 5052.841061] usb 3-1.2: GSM modem (1-port) converter now attached to ttyUSB3
[ 5052.892029] rndis_host 3-1.2:1.0 enp4s0f4u1u2: renamed from usb0
A new network interface also appeared in the system:
$ip a
...
12: enp4s0f4u1u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether ae:0c:29:a3:9b:6d brd ff:ff:ff:ff:ff:ff
altname enxae0c29a39b6d
inet 192.168.0.100/24 brd 192.168.0.255 scope global dynamic noprefixroute enp4s0f4u1u2
valid_lft 86114sec preferred_lft 86114sec
inet6 fe80::342f:34cc:ea27:3082/64 scope link noprefixroute
valid_lft forever preferred_lft forever
To test it, I ran ping 192.168.0.1 — I got a reply,
which means IP communication with the modem is established. However,
ping 8.8.8.8 returned nothing.
I tried opening the web interface in a browser at http://192.168.0.1/, hoping to see a control panel, but no luck. Judging by the nmap scan results, the only service running on the modem is a DNS resolver:
$ nmap 192.168.0.1
Starting Nmap 7.99 ( https://nmap.org ) at 2026-06-20 14:54 +0300
Nmap scan report for 192.168.0.1
Host is up (0.0072s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT STATE SERVICE
53/tcp filtered domain
Alright, in that case, let’s connect to the UART console and check the device status via AT commands. The modem creates 4 virtual COM ports in the system:
$ ls -l /dev/ttyACM* /dev/ttyUSB*
crw-rw----+ 1 root uucp 188, 0 Jun 20 14:43 /dev/ttyUSB0
crw-rw----+ 1 root uucp 188, 1 Jun 20 14:43 /dev/ttyUSB1
crw-rw----+ 1 root uucp 188, 2 Jun 20 14:43 /dev/ttyUSB2
crw-rw----+ 1 root uucp 188, 3 Jun 20 14:43 /dev/ttyUSB3
Ports /dev/ttyUSB0 and /dev/ttyUSB1 didn’t
respond to AT commands, but I managed to start a dialogue through
/dev/ttyUSB2:
$ screen /dev/ttyUSB2 115200
AT
OK
AT+CPIN?
+CPIN: READY
No PIN code is required for activation, the SIM card is active. Let’s check the network registration status:
AT+COPS?
+COPS: 0,2,"25501",7
Everything is great here: we are on the Vodafone Ukraine network (25501) and connected specifically via LTE (7). Now let’s look at the detailed base station information:
AT+CPSI?
+CPSI: LTE,Online,255-01,0xXXXX,XXXXXXXXX,XX,EUTRAN-BAND8,3676,2,2,11,63,62,3
The modem is working correctly. Since I am deep inside a building, the device is only catching the long-range, penetrating 900 MHz signal (EUTRAN-BAND8).
So, on the physical layer, everything is working — the card is recognized, and the connection to the base station is stable. Yet, there is still no internet access on the Linux. Let’s check the APN settings:
AT+CGDCONT?
+CGDCONT: 1,"IP","internet.MNC001.MCC255.GPRS","10.105.2.225",0,0,,,,
The modem successfully obtained the profile configuration from the carrier automatically. Let’s verify if there is internet access on the module itself by running a ping via an AT command:
AT+CPING="8.8.8.8",1,4
OK
+CPING: 1,8.8.8.8,92,310,114
+CPING: 1,8.8.8.8,92,60,114
+CPING: 1,8.8.8.8,92,60,114
+CPING: 1,8.8.8.8,92,50,114
+CPING: 3,4,4,0,50,310,86
That works too? What a wonderful day! Everything works everywhere, but I’m not getting the internet :) After searching for some information, I found out that I should try switching the modem from router mode to transparent Bridge mode:
AT+DIALMODE=0
OK
AT+RESET
The switch was successful. After this, the module restarts, and all USB devices momentarily disappear from the system. Just in case, I also restarted the system’s NetworkManager:
sudo systemctl restart NetworkManager
After these tweaks, the network interfaces didn’t visually change (it’s still the same 192.168.0.100 subnet), but the result was different:
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=115 time=42.8 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=269 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=115 time=246 ms
Pings finally started going through on the PC. Finally, I checked the data transfer speed this module can provide.
Test 1: Modem on the desk deep inside the room
Speedtest in the browser gives quite unstable results:
Testing via iperf3 showed the following numbers:
$ iperf3 -c red -R
Connecting to host red, port 5201
Reverse mode, remote host red is sending
[ 5] local 192.168.0.100 port 53722 connected to XXX.XX.XXX.XX port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 0.00 Bytes 0.00 bits/sec
[ 5] 1.00-2.00 sec 256 KBytes 2.10 Mbits/sec
[ 5] 2.00-3.00 sec 256 KBytes 2.10 Mbits/sec
[ 5] 3.00-4.00 sec 128 KBytes 1.05 Mbits/sec
[ 5] 4.00-5.00 sec 128 KBytes 1.05 Mbits/sec
[ 5] 5.00-6.00 sec 128 KBytes 1.05 Mbits/sec
[ 5] 6.00-7.00 sec 256 KBytes 2.10 Mbits/sec
[ 5] 7.00-8.00 sec 256 KBytes 2.10 Mbits/sec
[ 5] 8.00-9.00 sec 256 KBytes 2.10 Mbits/sec
[ 5] 9.00-10.00 sec 128 KBytes 1.05 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.04 sec 1.98 MBytes 1.66 Mbits/sec 2 sender
[ 5] 0.00-10.00 sec 1.75 MBytes 1.47 Mbits/sec receiver
Upload test:
$ iperf3 -c red
Connecting to host red, port 5201
[ 5] local 192.168.0.100 port 54704 connected to XXX.XX.XXX.XX port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 128 KBytes 1.05 Mbits/sec 0 40.7 KBytes
[ 5] 1.00-2.00 sec 128 KBytes 1.05 Mbits/sec 0 47.4 KBytes
[ 5] 2.00-3.00 sec 128 KBytes 1.05 Mbits/sec 0 54.2 KBytes
[ 5] 3.00-4.00 sec 256 KBytes 2.10 Mbits/sec 3 42.0 KBytes
[ 5] 4.00-5.00 sec 128 KBytes 1.05 Mbits/sec 0 52.9 KBytes
[ 5] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 2 39.3 KBytes
[ 5] 6.00-7.00 sec 128 KBytes 1.05 Mbits/sec 0 42.0 KBytes
[ 5] 7.00-8.00 sec 128 KBytes 1.05 Mbits/sec 0 44.7 KBytes
[ 5] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 0 46.1 KBytes
[ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 0 47.4 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.00 MBytes 839 Kbits/sec 5 sender
[ 5] 0.00-10.96 sec 1.00 MBytes 765 Kbits/sec receiver
Due to the weak signal level inside the room, the speed is low, with packet loss and retransmissions (Retr).
Test 2: Modem raised higher, antenna pointed towards the window
Speedtest shows a different picture now:
And iperf3 also showed a noticeable improvement in results:
$ iperf3 -c red -R
Connecting to host red, port 5201
Reverse mode, remote host red is sending
[ 5] local 192.168.0.100 port 59852 connected to XXX.XX.XXX.XX port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 512 KBytes 4.19 Mbits/sec
[ 5] 1.00-2.00 sec 384 KBytes 3.15 Mbits/sec
[ 5] 2.00-3.00 sec 384 KBytes 3.15 Mbits/sec
[ 5] 3.00-4.00 sec 384 KBytes 3.15 Mbits/sec
[ 5] 4.00-5.00 sec 640 KBytes 5.25 Mbits/sec
[ 5] 5.00-6.00 sec 640 KBytes 5.24 Mbits/sec
[ 5] 6.00-7.00 sec 768 KBytes 6.30 Mbits/sec
[ 5] 7.00-8.00 sec 640 KBytes 5.24 Mbits/sec
[ 5] 8.00-9.00 sec 640 KBytes 5.24 Mbits/sec
[ 5] 9.00-10.00 sec 512 KBytes 4.20 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.04 sec 5.56 MBytes 4.65 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 5.38 MBytes 4.51 Mbits/sec receiver
Upload test:
$ iperf3 -c red
Connecting to host red, port 5201
[ 5] local 192.168.0.100 port 59606 connected to XXX.XX.XXX.XX port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 512 KBytes 4.19 Mbits/sec 3 35.2 KBytes
[ 5] 1.00-2.00 sec 384 KBytes 3.14 Mbits/sec 0 46.1 KBytes
[ 5] 2.00-3.00 sec 384 KBytes 3.15 Mbits/sec 2 39.3 KBytes
[ 5] 3.00-4.00 sec 512 KBytes 4.20 Mbits/sec 1 31.2 KBytes
[ 5] 4.00-5.00 sec 256 KBytes 2.10 Mbits/sec 0 43.4 KBytes
[ 5] 5.00-6.00 sec 512 KBytes 4.20 Mbits/sec 0 46.1 KBytes
[ 5] 6.00-7.00 sec 384 KBytes 3.14 Mbits/sec 2 40.7 KBytes
[ 5] 7.00-8.00 sec 256 KBytes 2.10 Mbits/sec 0 46.1 KBytes
[ 5] 8.00-9.00 sec 512 KBytes 4.20 Mbits/sec 1 39.3 KBytes
[ 5] 9.00-10.00 sec 384 KBytes 3.14 Mbits/sec 0 44.7 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 4.00 MBytes 3.35 Mbits/sec 9 sender
[ 5] 0.00-10.13 sec 4.00 MBytes 3.31 Mbits/sec receiver
Conclusions
The A7670E is an interesting, stable, and quite affordable LTE Cat 1 module. You shouldn’t expect the maximum speeds of modern mobile internet from it, but for telemetry tasks, M2M, remote control, or collecting data from sensors, its bandwidth is more than enough.





Comments
Post a Comment