querdenker engineering
Schnittstellen und Services

LTE-Modem

Betrieb des LTE-Modems und Auswahl der SIM-Karte.

Als LTE-Modem ist ein Quectel EG916Q-GL-M.2 vorgesehen. Das Modem wird über QMI gesteuert. Über einen SIM-Multiplexer wird jeweils eine von zwei SIM-Karten mit dem Modem verbunden.

GPIO-Signale

Die GPIOs werden über ihre im Device Tree hinterlegten Namen angesprochen.

GPIO-NameFunktionSignalbedeutung
lte_sim1_cdCard Detect von SIM-Steckplatz 1Low: SIM-Karte vorhanden
lte_sim2_cdCard Detect von SIM-Steckplatz 2Low: SIM-Karte vorhanden
lte_sim_selectAuswahl des SIM-MultiplexersLow: SIM 1, High: SIM 2
lte_modem_sim_cdSIM-Detect-Signal des ModemsHigh: ausgewählte SIM-Karte vorhanden
lte_powerModemversorgungHigh: Modem eingeschaltet
lte_resetModem-ResetLow: Reset, High: Normalbetrieb

Die Card-Detect-Signale lte_sim1_cd und lte_sim2_cd sind Eingänge. Die Signale lte_sim_select, lte_modem_sim_cd, lte_power und lte_reset werden vom Prozessor gesteuert.

Auswahl der SIM-Karte

Die Auswahl der SIM-Karte über den SIM-Multiplexers erfolgt über lte_sim_select:

  • Low verbindet SIM 1 mit dem Modem.
  • High verbindet SIM 2 mit dem Modem.

Modembetrieb

Zum Einschalten wird lte_power auf High gesetzt. Das Modem befindet sich im Normalbetrieb, wenn lte_reset auf High steht. Für einen Reset wird lte_reset auf Low und anschließend wieder auf High gesetzt.

Nach der Auswahl der SIM-Karte und dem Setzen des zugehörigen lte_modem_sim_cd-Signals kann der SIM-Status des Modems über QMI geprüft werden. Anschließend kann die LTE-Datenverbindung aufgebaut werden.

Das Modem unterstützt SIM-Hot-Swap. Das Einlegen und Entfernen einer SIM-Karte wird über das jeweilige Card-Detect-Signal erkannt und über lte_modem_sim_cd an das Modem weitergegeben. Das Hot-Swap-Verhalten kann über AT-Befehle des Modems konfiguriert werden.

Beispiel mit den GPIO-Werkzeugen

Das folgende Beispiel liest die Card-Detect-Signale. Die Beispielausgabe zeigt eine vorhandene SIM 2 (0) und eine nicht vorhandene SIM 1 (1). Anschließend wird SIM 2 ausgewählt, das Modem-SIM-Detect- Signal auf „Karte vorhanden“ gesetzt und das Modem eingeschaltet.

# Card-Detect-Signale lesen: 0 = SIM-Karte vorhanden, 1 = keine SIM-Karte vorhanden
gpioget --numeric --by-name lte_sim1_cd lte_sim2_cd
# Beispielausgabe: 1 0

# SIM 2 auswählen, SIM-Karte an das Modem melden und Modem einschalten
gpioset --daemonize --by-name \
    lte_sim_select=1 \
    lte_modem_sim_cd=1 \
    lte_reset=1 \
    lte_power=1

gpioset --daemonize hält die gesetzten Ausgangssignale nach dem Ende der Shell-Sitzung auf ihren Werten.