currently wrestling with a LTE modem, that used to work under Ubuntu, but refuses to work under Debian 11.

while true; do echo "=== show modem status:"; mmcli -m 1|grep -e model -e primary -e state -e signal; echo -e "\n=== show routing table:"; route -n; echo -e "\n=== show arp table:"; arp -an; echo -e "\n=== ping a host 3x times:"; ip -c a; ping -c3; sleep 1; clear; done

# info about the system
lsb_release -d
Description:	Debian GNU/Linux 11 (bullseye)

uname -a
Linux tuxedo 5.10.0-16-amd64 #1 SMP Debian 5.10.127-1 (2022-06-30) x86_64 GNU/Linux

lsusb |grep modem
Bus 003 Device 002: ID 12d1:15bb Huawei Technologies Co., Ltd. ME936 LTE/HSDPA+ 4G modem

# sample output

=== show modem status:
           |                model: ME936
           |         primary port: ttyUSB0
           |                state: connected
           |          power state: on
           |       signal quality: 22% (recent)

=== show routing table:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface         UG    700    0        0 wwx022c80139263       U     700    0        0 wwx022c80139263     U     1000   0        0 wwx022c80139263

=== show arp table:
? ( at  on wwx022c80139263

=== ping a host 3x times:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wwx022c80139263: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:2c:80:13:92:63 brd ff:ff:ff:ff:ff:ff
    inet brd scope global noprefixroute wwx022c80139263
       valid_lft forever preferred_lft forever
3: wlp52s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 36:20:ec:72:3f:66 brd ff:ff:ff:ff:ff:ff permaddr 70:9c:d1:62:10:9c
5: enxa0cec851d79b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether a0:ce:c8:51:d7:9b brd ff:ff:ff:ff:ff:ff
PING ( 56(84) bytes of data.
From icmp_seq=1 Destination Host Unreachable
From icmp_seq=2 Destination Host Unreachable
From icmp_seq=3 Destination Host Unreachable

--- ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2046ms

the missing piece:

# add this file & reboot
vim /etc/udev/rules.d/77-mm-huawei-configuration.rules 
ACTION=="add|change", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="12d1", ATTR{idProduct}=="15bb", ATTR{bNumConfigurations}=="3", ATTR{bConfigurationValue}!="3" ATTR{bConfigurationValue}="3"

then go to:

  1. (in this case MATE Desktop) “Advanced Network Configuration” gui program
  2. add a new broadband connection
  3. keep the defaults
  4. when connection setup is finished, go into upper right corner
    • click on network symbol and select the just created connection
    • it should start connecting (run the while-one-liner as root)
      • should show: state: connected
      • ping; # should work
  5. run a benchmark 🙂
    • Telekom LTE speeds are “okayish” but no where from perfect


liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!