Das Problem
Die Karte wird erkannt, die SIM wird gelesen, aber es gibt nie Netz. Dell-Treiber, Firmware-Pakete und das Dell Customer Kit Tool ändern daran nichts. Der Grund: Die Karte steht im Foxconn-Werkstestmodus (Factory Test Mode, FTM). Ein Foxconn-eigener Schalter im Speicher der Karte (NV-Item 2497) erzwingt ihn bei jedem Start und setzt den bekannten Qualcomm-Schalter (NV 453) immer wieder zurück.
mmcli -m 0zeigtstate: disabledundpower state: low.mmcli -m 0 --enablescheitert mitInvalid transition.mbimcli --set-radio-state=onscheitert mitOperationNotAllowed.- Das FCC-Unlock-Skript von ModemManager gibt es für
413c:81d7nicht – es ist hier aber auch nicht das Problem.
Vorbereitung
- BIOS: Connection → WWAN Bus Mode → USB (siehe Windows-Anleitung, Schritt B).
- Pakete:
sudo apt install modemmanager libqmi-utils libmbim-utils. Extra-Treiber braucht Linux nicht. - Der AT-Port ist
/dev/ttyUSB0– ModemManager zeigt ihn alsttyUSB0 (at).
Hilfsskript anlegen
Ein kleines Skript schickt einen AT-Befehl an die Karte und gibt die Antwort aus. Einmalig anlegen:
cat > ~/at.py << 'EOF'
import os, sys, time, tty
cmd = sys.argv[1]
fd = os.open("/dev/ttyUSB0", os.O_RDWR | os.O_NOCTTY); tty.setraw(fd)
os.write(fd, (cmd + "\r").encode()); time.sleep(2)
print(os.read(fd, 4096).decode(errors="ignore").strip())
os.close(fd)
EOFReparatur in fünf Schritten
Diagnose
ModemManager kurz anhalten, sonst belegt er den AT-Port:
lsusb | grep 413c
sudo systemctl stop ModemManager
sudo qmicli -p -d /dev/cdc-wdm0 --device-open-mbim --dms-get-operating-mode
sudo python3 ~/at.py "AT+FTM?"
sudo python3 ~/at.py "AT+CFUN?"
| Prüfung | Testmodus (Problem) | Normalbetrieb (Soll) |
|---|---|---|
--dms-get-operating-mode | Mode: 'factory-test' | Mode: 'online' |
AT+FTM? | Device is in: 1, FTM | Device is in: 0, ONLINE |
AT+CFUN? | +CFUN: 5 | +CFUN: 1 |
mmcli -m any | state: disabled | state: registered |
Testmodus abschalten
Außen einfache Anführungszeichen:
sudo python3 ~/at.py 'AT^NV=2497,1,"01"'
OK
keine Antwort oder „Permission denied“: ModemManager gestoppt? Mit sudo ausgeführt?
Stromzyklus
sudo poweroff, 10 Sekunden warten, einschalten. Ein reboot reicht nicht immer, weil der WWAN-Slot dabei Strom behalten kann.
Kontrolle und Funk einschalten
sudo systemctl stop ModemManager
sudo python3 ~/at.py "AT+FTM?"
sudo python3 ~/at.py "AT+CFUN=1"
sudo python3 ~/at.py "AT+CFUN?"
sudo qmicli -p -d /dev/cdc-wdm0 --device-open-mbim --dms-get-operating-mode
Device is in: 0, ONLINE, +CFUN: 1 und Mode: 'online'.
weiterhin 1, FTM oder phone failure – Schritt 2 wiederholen und wirklich ausschalten.
Netz prüfen und verbinden
sudo systemctl start ModemManager
sleep 15
mmcli -m any | grep -Ei "state|signal|operator|access tech"
Verbindung mit der APN des Anbieters anlegen (hier Vodafone):
sudo nmcli c add type gsm ifname '*' con-name LTE apn web.vodafone.de
sudo nmcli c up LTE
mmcli -m any | grep -Ei "state|signal|operator"
state: connected. Die Reparatur ist in der Karte gespeichert und gilt auch unter Windows.
Stolperfallen
- ModemManager vor AT-Befehlen stoppen, sonst ist
/dev/ttyUSB0belegt. - NV 453 (Qualcomm) allein hilft nicht. Entscheidend ist NV 2497.
- Ein Firmware-Flash mit fwupd behebt den Testmodus nicht; LVFS bietet für die Karte ohnehin nur die ältere 4.2.
AT+FTM=0wird bestätigt, gilt aber nicht dauerhaft.
Quelle des Reparaturbefehls: MikroTik-Forum, DW5821e im Factory Test Mode. Alle Schritte habe ich an drei Karten selbst nachvollzogen. IMEI und QR-Codes sind in Fotos und Screenshots unkenntlich gemacht.