Unterschied zwischen PPP-, QMI- und AT-Befehlen

Unterschied zwischen PPP-, QMI- und AT-Befehlen

In den letzten 6 Tagen hatte ich Gelegenheit, mit einem LTE-Modem zu interagieren (https://sixfab.com/product/quectel-ec25-mini-pcle-4glte-module/), habe ich es geschafft, mit „QMI“ einen 4G-Internetzugang auf einem Raspberry Pi einzurichten. Aber ich habe immer noch VIELE Fragen, ich habe viele Tutorials, Artikel und sogar Artikel aus Büchern gelesen, aber ich bin immer noch verwirrt. Ich hoffe, Sie haben Zeit, die Dinge für mich und zukünftige Leser zu klären:

  • Wie interagieren PPP, AT commandsund QMImiteinander und mit LTE?
  • Welche Rolle spielt jeder von ihnen? Brauchen wir sie alle?
  • Können Sie (im Detail) erklären, was passiert, wenn mit diesen Protokollen eine Verbindung hergestellt oder Daten aus dem Internet empfangen/gesendet werden? Schemata wären super.
  • Ich verstehe, dass PPPzum Verbinden des Modems mit dem ISP verwendet wird. Warum sagen die Leute, dass es durch ersetzt werden sollte QMI?
  • In dieser Antworthttps://unix.stackexchange.com/a/168690wir empfehlen, wwan0für mehr Geschwindigkeit die Schnittstelle über TTY zu verwenden, aber alle Daten nutzen dieselbe einzige USB-Verbindung, richtig?
  • Wenn die maximale serielle Geschwindigkeit 115.200 bps beträgt, wie erreichen Modems dann 150 Mbit/s? Haben sie Puffer?
  • Entsprechendhttps://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8.pdf(Seite 8/47) Das Modell bietet viele Schnittstellen und es heißt, dass die WWAN*-Schnittstelle als USB-Netzwerkadapter verwendet werden kann. Was ist der Unterschied zwischen WWAN* und /dev/ttyUSB*?
  • Können Sie einige Artikel oder Bücher dazu empfehlen?

Antwort1

Ein LTE-Modem kann dem Betriebssystem auf verschiedene Arten präsentiert werden. Die traditionelle Methode besteht darin, ein herkömmliches analoges Modem zu emulieren: In diesem Fall stellt das Modem eine serielle (TTY) Schnittstelle ( /dev/ttyUSB0) bereit, die sowohl für Modembefehle und -antworten (AT-Befehle) als auch für Daten (PPP) verwendet wird. In diesem Fall überträgt das TTY-Gerät beim Herstellen einer Netzwerkverbindung einen einzelnen PPP-Datenstrom und die TCP/IP-Protokollpakete werden in PPP verpackt.

Es kann unpraktisch sein, nur einen Kanal für Daten- und Modembefehle zu haben: Es wird sehr schwierig, Befehle an das Modem zu senden (z. B. zur Überwachung der Funksignalstärke), während die Netzwerkverbindung aktiv ist.

Es gibt höhere serielle Portgeschwindigkeiten als 115200 bps, und eine USB-basierte serielle Port-Emulation könnte diese durchaus melden. Wenn die tatsächliche Verbindung jedoch USB-basiert ist, kann die serielle Geräteemulation einige Details der Emulation einfach ignorieren: Beispielsweise können die serielle Portgeschwindigkeit und die Anzahl der Daten- und Stoppbits ignoriert werden, und die Befehle zum Festlegen dieser können zu No-Ops gemacht werden. Bei Bedarf können die Befehle zum Abfragen dieser Einstellungen so gemacht werden, dass sie einige sinnvoll aussehende Antworten liefern ... aber diese Antworten müssen nichts mit den tatsächlichen Übertragungsgeschwindigkeiten zu tun haben. Ein USB-LTE-Modem im Legacy-Modus kann Ihnen also bei einer /dev/ttyUSB0Abfrage mitteilen, dass es auf 115200 bps eingestellt ist, während die tatsächliche Datenübertragungsrate weitaus höher sein kann.

Das LTE-Funkprotokoll bietet native Unterstützung für TCP/IP und IPv6, sodass es nicht notwendig ist, TCP/IP über die Funkschnittstelle in PPP zu packen. Das PPP-Protokoll wird lediglich zwischen dem Computer und dem Modem verwendet, damit die Verbindung wie eine herkömmliche, auf einem DFÜ-Modem basierende Netzwerkverbindung aussieht.

Um den alten Ballast loszuwerden, wurden neuere Möglichkeiten zur Darstellung von USB-verbundenen LTE-Modems wie QMI und MBIM entwickelt. QMI ist ein proprietäres Protokoll von Qualcomm, während die MBIM-Protokollspezifikation meines Erachtens das Ergebnis von Standardisierungsbemühungen mehrerer Anbieter ist. Sie stellen das Modem als echte Netzwerkschnittstelle (typischerweise wwan0oder ähnlich) und als zusätzliches Gerät (z. B. /dev/cdc-wdm0) für den Befehlszugriff dar.

Dadurch wird die PPP-Schicht umgangen, da die TCP/IP-Pakete direkt an das Modem zur Übertragung über die LTE-Funkprotokolle weitergeleitet werden können. Dadurch müssen weder der Computer noch das Modem so tun, als ob zwischen ihnen eine bewährte serielle RS-232-Verbindung besteht, während die tatsächliche Verbindung über USB erfolgt. Außerdem ermöglicht es einen separaten Befehlskanal, der beispielsweise einfach zur Überwachung der LTE-Signalstärke verwendet werden kann, was wichtig sein kann, wenn sich das Client-Gerät bewegt, während die Netzwerkverbindung verwendet wird.

Antwort2

Keine Antwort an sich, aber ich habe nicht genug Reputation, um die Frage zu kommentieren. Ein Teil der Antwort könnte hier zu finden sein, da ich auch neu in diesem Bereich bin und es mir einige grundlegende Antworten zu PPP vs. QMI, Quectel vs. Sierra-Modems, ihren unterschiedlichen Proxys usw. gegeben hat:

https://www.outdoorrouter.com/4g-mobile-interface-protocol-qmi-and-ppp/

Zitat:

Beispielsweise verwenden Sierra-Modems den QMI_WWAN-Proxy und Quectel-Modems den GobiNet-Proxy

Falls es Sie interessiert: Ich habe keinerlei Verbindung zu Outdoorrouter, ich weiß nicht einmal, was sie machen.

verwandte Informationen