Lenovo ThinkPad X1 Carbon: Inbetriebnahme des LTE-Modems EM7544
1. Juli 2020Das Lenovo ThinkPad X1 Carbon Generation 6 Notebook hat ein eingebautes LTE-Modem EM7544. Der Modemhersteller unterstützt Linux. Doch wie lassen sich dieses und andere moderne Modems unter Linux nutzen? Eine Anleitung, wie Sie das EM7544 unter Linux zum Laufen bringen, finden Sie in diesem Artikel.
Ich habe mir ein Lenovo ThinkPad X1 Carbon. Es funktioniert gut, ohne dass man irgendeine Fehlersuche machen muss, und für einen Laptop hat es eine relativ große Bildschirmauflösung.
Der Laptop hat einen Dual-Core-Prozessor mit Hyperthreading, so dass man von 4 CPUs im System sprechen kann. Der Arbeitsspeicher ist vom Typ DDR3L, mit insgesamt 16GB in meinem Modell. Die Auflösung des LCD-Bildschirms beträgt 2560x1440px.
Der Laptop hat standardmäßig eine integrierte WiFi-Karte. Und es hat kein DVD-Laufwerk, was heutzutage unnötig ist. Das macht den Laptop auch leicht und dünn.
Außerdem hat er: USB3, HDMI-Ausgang, Anschluss für ein handelsübliches Mikrofon mit Kopfhörer (natürlich auch integriertes Mikrofon und Lautsprecher),
Touchpad und Trackpoint.
Ein spezieller Anschluss für den Ethernet-Eingang, aber ich benutze USB-Ethernet, wenn ich es brauche, was schneller ist als USB3.
Der Laptop hat auch eine integrierte Kamera mittlerer Qualität.
Er hat auch einen Micro SD Kartenleser. Man kann also keine Karten in Standard- und Minigröße ohne ein externes Lesegerät lesen. Wie bei Thinkpads üblich, hat es eine Hintergrundbeleuchtung. Genauer gesagt, eine zuschaltbare Tastatur-Hintergrundbeleuchtung. Die CapsLock-Taste und die Funktionstasten: Stummschaltung, Mikrofonstummschaltung und FnLock sind mit einer kleinen LED ausgestattet, die den Status anzeigt.
Sobald das Linux-Betriebssystem installiert ist, kann der Computer sofort genutzt werden.
Mein Modell verfügt auch über ein LTE-Modem, um das es in diesem Artikel gehen wird. Das Modem enthält auch ein GPS-Modul.
Die vollständige HW-Liste finden Sie unter lshw Lenovo ThinkPad X1 Carbon.
Neben den erwarteten Komponenten verfügt das Notebook ab Werk auch über ein LTE-Modem.
Verschiedene Generationen des ThinkPad X1 Carbon haben jedoch einen anderen Modemtyp installiert.
Laut Informationen im Internet wird das ThinkPad X1 Carbon mit den folgenden Modems ausgeliefert:
- Fibocom L850-GL / Intel XMM7360 LTE-Modem
- Sierra Wireless, Inc. Sierra Wireless EM7455
LTE-Modem EM7455
Interessanterweise erlaubt es das Modem, seine USB-ID zu ändern, so dass es sich dann als ein anderes Gerät im System melden kann. Laut Internet ist die Modem-Kennung je nach Notebook-Marke unterschiedlich (wahrscheinlich vom Hersteller voreingestellt), aber es handelt sich immer um dasselbe elektronische Bauteil. Zum Beispiel ist es auch in einem Dell-Laptop eingebaut. Das Modem kann als eines der folgenden drei Geräte identifiziert werden:
- Generic-Laptop
- Dell: Dell Wireless 5811e Gobi(TM)4G LTE Mobile Broadband Card
- Lenovo ThinkPad: Sierra Wireless, Inc. Sierra Wireless EM7455
Das Modem ist intern über USB angeschlossen. Auf dem ThinkPad X1 Carbon meldet die lsusb-Ausgabe:
Bus 001 Gerät 009: ID 1199:9079 Sierra Wireless, Inc. Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-ALaut Dokumentation sollte dieses Modem Geschwindigkeiten von bis zu 480Mbit/s haben, aber das hängt auch von den Parametern des Mobilfunknetzes ab.
Dumping von Informationen beim Booten oder Geräteanschluss (dmesg):
[ 1216.502735] usb 1-2: USB-Verbindung getrennt, Gerät Nummer 2 [ 1216.502950] qcserial ttyUSB0: Qualcomm USB-Modem-Konverter jetzt von ttyUSB0 getrennt [ 1216.502981] qcserial 1-2:1.0: Gerät getrennt [ 1216.503078] qcserial ttyUSB1: Qualcomm USB-Modem-Konverter ist jetzt von ttyUSB1 getrennt [ 1216.503091] qcserial 1-2:1.2: Gerät nicht angeschlossen [ 1216.503582] qcserial ttyUSB2: Qualcomm USB-Modem-Konverter ist jetzt von ttyUSB2 getrennt [ 1216.503592] qcserial 1-2:1.3: Gerät getrennt [ 1216.503675] cdc_mbim 1-2:1.12 wwp0s20f0u2i12: unregister 'cdc_mbim' usb-0000:00:14.0-2, CDC MBIM [ 1224.113147] usb 1-2: neues Hochgeschwindigkeits-USB-Gerät Nummer 6 mit xhci_hcd [ 1224.240134] usb 1-2: config 1 hat eine ungültige Schnittstellennummer: 12 aber max ist 4 [ 1224.240148] usb 1-2: config 1 hat eine ungültige Schnittstellennummer: 13, aber max ist 4 [ 1224.240152] usb 1-2: config 1 hat eine ungültige Schnittstellennummer: 13, aber max ist 4 [ 1224.240156] usb 1-2: config 1 hat keine Schnittstellennummer 1 [ 1224.240158] usb 1-2: config 1 hat keine Schnittstellennummer 4 [ 1224.240739] usb 1-2: Neues USB-Gerät gefunden, idVendor=1199, idProduct=9079, bcdDevice= 0.06 [ 1224.240745] usb 1-2: Neue USB-Gerätestrings: Mfr=1, Product=2, SerialNumber=3 [ 1224.240750] usb 1-2: Produkt: Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A [ 1224.240753] usb 1-2: Hersteller: Sierra Wireless, Incorporated [ 1224.240757] usb 1-2: SerienNummer: LF62957506021014 [ 1224.247935] qcserial 1-2:1.0: Qualcomm USB-Modem-Konverter erkannt [ 1224.248032] usb 1-2: Qualcomm USB-Modem-Konverter jetzt an ttyUSB0 angeschlossen [ 1224.248496] qcserial 1-2:1.2: Qualcomm USB-Modem-Konverter erkannt [ 1224.248597] usb 1-2: Qualcomm USB-Modem-Konverter ist jetzt an ttyUSB1 angeschlossen [ 1224.249076] qcserial 1-2:1.3: Qualcomm USB-Modem-Konverter erkannt [ 1224.249180] usb 1-2: Qualcomm USB-Modem-Konverter ist jetzt an ttyUSB2 angeschlossen [ 1224.271148] cdc_mbim 1-2:1.12: cdc-wdm0: USB WDM Gerät [ 1224.271366] cdc_mbim 1-2:1.12 wwan0: Register 'cdc_mbim' auf usb-0000:00:14.0-2, CDC MBIM, 6a:7d:82:89:28:28 [ 1224.332605] cdc_mbim 1-2:1.12 wwp0s20f0u2i12: umbenannt von wwan0
Außerdem enthält das Modem auch GPS, was ich aber noch nicht ausprobiert habe.
LTE-Modems
Die heutigen Modems sind moderne, fortschrittliche Geräte, die viel mehr und besser können als die alten Geräte. Aber es ist immer noch möglich, mit ihnen über sogenannte AT-Befehle zu kommunizieren. AT-Befehle sind eine Möglichkeit, Modems oder andere Geräte, die über eine serielle Verbindung kommunizieren, zu steuern und zu konfigurieren.
Auch das Modem EM7455 lässt sich über AT-Befehle konfigurieren, so dass es möglich ist, seine Konfiguration zu lesen und zu ändern. Da es sich jedoch um ein modernes Gerät handelt, sind auch andere Methoden möglich, und man muss damit vertraut sein, um zu wissen, was man tut. Und das ist einer der Gründe, warum dieser Artikel mit einer Anleitung zur Verwendung eines modernen LTE-Modems geschrieben wurde.
Moderne Modems, einschließlich des Modems EM7455, ermöglichen die Kommunikation über das QMI-Protokoll oder MBIM Für diese Kommunikation werden unter Linux die mbimcli qmicli Dienstprogramme verwendet, die installiert werden müssen. In der Mageia-Distribution das Paket urpmi libqmi-utils.
Folien des Vortrags QMI, MBIM moderne Modems in Linux - Ich empfehle zu lesen! Es gibt visuelle Darstellungen der verschiedenen Technologien und der Schichten und wie sie miteinander kommunizieren.
Erste Kommunikation mit Modems
Um herauszufinden, in welchem Zustand sich das Modem befindet, verwenden Sie den Befehl:
qmicli -d /dev/cdc-wdm0 --dms-swi-get-usb-composition [/dev/cdc-wdm0] USB-Zusammensetzungen erfolgreich abgerufen: USB-Komposition 6: DM, NMEA, AT, QMI [USB-Zusammensetzung 8: DM, NMEA, AT, MBIM USB-Zusammensetzung 9: MBIMWie Sie sehen, kann sich das Modem auch in einem Zustand befinden, in dem es nur im MBIM-Modus kommuniziert.
Die Optionen mit "DM, NMEA, AT" bedeuten, dass das Modem gleichzeitig drei virtuelle serielle USB-Leitungen für die Kommunikation erstellt: Diagnostik, GPS und AT-Befehle.
/dev/ttyUSB0 - Anschluss für die Diagnoseüberwachung (DM) /dev/ttyUSB1 = GPS-NMEA-Anschluss /dev/ttyUSB2 - AT-Befehle
Das Modemgerät im System wird durch die folgende Datei dargestellt: /dev/cdc-wdm0
Ich konnte die Kommunikation mit QMI nicht zum Laufen bringen, daher verwende ich in Zukunft MBIM. Ich verwende den Status einschließlich
serielle Leitungen für GPS und AT-Befehle.
Die Umschaltung zwischen diesen Zuständen erfolgt per Befehl:
qmicli -d /dev/cdc-wdm0 --dms-swi-set-usb-composition=6 qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=resetUnd nach dem Neustart des Modems kommuniziert es bereits auf eine andere Art und Weise und die oben genannten seriellen Schnittstellen sind (nicht) im System sichtbar.
Für detaillierte Informationen über das Modem verwenden Sie den Befehl:
mbimcli -d /dev/cdc-wdm0 --query-device-caps --verbose
Vor dem Firmware-Upgrade sah die Informationsliste wie folgt aus:
[24 May 2020, 16:58:42] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht (übersetzt)... <<<<<< Header: <<<<<< Länge = 48 <<<<<< Typ = Befehl (0x00000003) <<<<<< Transaktion = 2 <<<<<< Fragment-Kopfzeile: <<<<<< gesamt = 1 <<<<<< aktuell = 0 <<<<<< Inhalt: <<<<<< service = 'basic-connect' (a289cc33-bcb-8b4f-b6b0-133ec2aae6df) <<<<<< cid = 'device-caps' (0x00000001) <<<<<< typ = 'abfrage' (0x00000000) [24 Mai 2020, 16:58:42] [Debug] [/dev/cdc-wdm0] Empfangene Nachricht... >>>>>> RAW: >>>>>> Länge = 196 >>>>>> data = 03:00:00:80:C4:00:00:00:02:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:01:00:00:00:00:00:00:00:94:00:00:00:03:00:00:00:01:00:00:00:01:00:00:00:02:00:00:00:3C:00:00:00:03:00:00:00:01:00:00:00:08:00:00:00:00:00:00:00:00:00:00:00:40:00:00:00:1E:00:00:00:60:00:00:00:28:00:00:00:88:00:00:00:0C:00:00:00:30:00:31:00:34:00:35:00:38:00:32:00:30:00:30:00:31:00:38:00:33:00:39:00:39:00:31:00:30:00:00:00:53:00:57:00:49:00:39:00:58:00:33:00:30:00:43:00:5F:00:30:00:32:00:2E:00:32:00:34:00:2E:00:30:00:35:00:2E:00:30:00:36:00:45:00:4D:00:37:00:34:00:35:00:35:00 [24 May 2020, 16:58:42] [Debug] [/dev/cdc-wdm0] Empfangene Nachricht (übersetzt)... >>>>>> Header: >>>>>> Länge = 196 >>>>>> Typ = Befehl-fertig (0x80000003) >>>>>> Transaktion = 2 >>>>>> Fragment-Kopfzeile: >>>>>> gesamt = 1 >>>>>> aktuell = 0 >>>>>> Inhalt: >>>>>> status error = 'Keine' (0x00000000) >>>>>> dienst = 'basic-connect' (a289cc33-bcb-8b4f-b6b0-133ec2aae6df) >>>>>> cid = 'geräte-kappen' (0x00000001) >>>>>> Felder: >>>>>> DeviceType = 'remote' >>>>>> CellularClass = 'gsm' >>>>>> VoiceClass = 'no-voice' >>>>>> SimClass = 'abnehmbar' >>>>>> DataClass = 'umts, hsdpa, hsupa, lte' >>>>>> SmsCaps = 'pdu-empfangen, pdu-senden' >>>>>> ControlCaps = 'reg-manuell' >>>>>> MaxSessions = '8' >>>>>> CustomDataClass = '(null)' >>>>>> GeräteId = '014582001839910' >>>>>> FirmwareInfo = 'SWI9X30C_02.24.05.06' >>>>>> HardwareInfo = 'EM7455' [/dev/cdc-wdm0] Geräteeigenschaften abgerufen: Gerätetyp: 'remote' Mobilfunkklasse: 'gsm' Sprachklasse: 'no-voice' SIM-Klasse: 'herausnehmbar' Datenklasse: 'umts, hsdpa, hsupa, lte' SMS-Hauben: 'pdu-empfangen, pdu-senden' Strg-Kappen: 'reg-manuell' Maximale Sitzungen: '8 Benutzerdefinierte Datenklasse: 'unbekannt' Geräte-ID: '014582001839910' Firmware-Informationen: 'SWI9X30C_02.24.05.06' Hardware-Infos: 'EM7455' [24 Mai 2020, 16:58:42] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht... <<<<<< RAW: <<<<<< length=12 <<<<<< Daten = 02:00:00:0C:00:00:00:00:00:03:00:00:00 [24 May 2020, 16:58:42] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht (übersetzt)... <<<<<< Header: <<<<<< Länge = 12 <<<<<< Typ = schließen (0x00000002) <<<<<< Transaktion = 3 [24 Mai 2020, 16:58:42] [Debug] [/dev/cdc-wdm0] Empfangene Nachricht... >>>>>> RAW: >>>>>> Länge = 16 >>>>>> Daten = 02:00:00:80:10:00:00:00:00:03:00:00:00:00:00:00:00:00 [24. Mai 2020, 16:58:42] [Debug] [/dev/cdc-wdm0] Kanal zerstört [24. Mai 2020, 16:58:42] [Debug] [Gerät geschlossen
Upgade-Firmware
Laut Internet gab es anfangs Modems mit alter Firmware, die problematisch war, so dass ein Upgrade notwendig war
Firmware-Upgrade.
Ich aktualisiere die Firmware bei allen Geräten sofort, also habe ich auch hier ein Firmware-Update gemacht.
Ich habe mich dabei an hier orientiert:
ThinkPad EM7455 flash firmware guide.
Im Modem können verschiedene Firmware-Versionen geladen sein. Die Auflistung der Informationen, welche Firmware im Modem geladen ist und welche Firmware verwendet wird, kann mit den Befehlen durchgeführt werden:
qmicli -p -d /dev/cdc-wdm0 --dms-get-firmware-preference qmicli -p -d /dev/cdc-wdm0 --dms-list-stored-images
Firmware-Flash
Adresse, unter der Sie die Firmware für das LTE-Modem EM7455 herunterladen können
Wechseln Sie in das Verzeichnis der Firmware-Daten und flashen Sie die Firmware mit folgendem Befehl:
qmi-firmware-update -d 1199 -u *.cwe *.nvu
Auflistung des Fortschritts der Fälschung:
[root@FreeTux SWI9X30C_02.33.03.00_Sierra_001.023_000]# qmi-firmware-update -d 1199 -u *.cwe *.nvu Laden der Geräteinformationen vor dem Update... Einstellen der Firmware-Präferenz: Firmware-Version: '02.33.03.00' Konfigurationsversion: '001.023_000' Träger: 'SIERRA' Neustart im Download-Modus... Download-Modus erkannt Herunterladen des cwe-Images: SWI9X30C_02.33.03.00.cwe (64,4 MB)... Abschluss des Downloads... (kann mehr als eine Minute dauern, haben Sie Geduld) erfolgreich heruntergeladen in 73,60s (875,4 kB/s) cwe-Bild herunterladen: SWI9X30C_02.33.03.00_SIERRA_001.023_000.nvu (3,4 kB)... Abschluss des Downloads... (kann mehr als eine Minute dauern, haben Sie Geduld) erfolgreich heruntergeladen in 0,05s (63,4 kB/s) Neustart im normalen Modus... Normaler Modus erkannt ------------------------------------------------------------------------ HINWEIS: Um zu überprüfen, welche Firmware auf dem Modul läuft Modul läuft, wartet das Programm auf einen vollständigen Bootvorgang; dieser kann einige Zeit dauern und mehrere Wiederholungen erfordern. ------------------------------------------------------------------------ einige Zeit warten, bis das Gerät hochgefahren ist... Laden der Geräteinformationen nach der Aktualisierung (1/12)... ------------------------------------------------------------------------ Die ursprüngliche Firmware-Revision war: SWI9X30C_02.24.05.06 r7040 CARMD-EV-FRMWR2 2017/05/19 06:23:09 Details zur ursprünglichen laufenden Firmware: Modell: EM7455 Boot-Version: SWI9X30C_02.24.05.06 AMSS-Version: SWI9X30C_02.24.05.06 SKU-ID: 1102782 Träger-ID: 1 Konfig-Version: 002.026_000 Einzelheiten zu den ursprünglichen Firmware-Einstellungen: image 'modem': eindeutige ID '002.026_000', Build-ID '02.24.05.06_GENERIC' Bild 'pri': eindeutige Kennung '002.026_000', Build-Nummer '02.24.05.06_GENERIC' Die neue Firmware-Revision lautet: SWI9X30C_02.33.03.00 r8209 CARMD-EV-FRMWR2 2019/08/28 20:59:30 neue laufende Firmware Details: Modell: EM7455 Boot-Version: SWI9X30C_02.33.03.00 AMSS-Version: SWI9X30C_02.33.03.00 SKU-ID: 1102782 Träger-ID: 182 Konfig-Version: 001.023_000 Details zur neuen Firmware-Einstellung: image 'modem': eindeutige ID '001.023_000', Build-ID '02.33.03.00_SIERRA' Bild 'pri': eindeutige Kennung '001.023_000', Build-Nummer '02.33.03.00_SIERRA' HINWEIS: Dieses Gerät unterstützt die Verwaltung gespeicherter Bilder mit qmicli-Operationen: --dms-list-stored-images --dms-select-stored-image --dms-delete-stored-image HINWEIS: Dieses Gerät unterstützt die Verwaltung von Firmware-Einstellungen mit qmicli-Operationen: --dms-get-firmware-preference --dms-set-firmware-preference ------------------------------------------------------------------------ Firmware-Aktualisierungsvorgang erfolgreich abgeschlossen ==========================
Auflistung der Firmware-Informationen nach dem Upgrade:
[13 Jun 2020, 10:19:29] [Debug] opening device... [13 Jun 2020, 10:19:29] [Debug] [/dev/cdc-wdm0] Abgefragte maximale Größe der Steuernachricht: 4096 [13 Jun 2020, 10:19:29] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht... <<<<<< RAW: <<<<<< Länge = 16 <<<<<< Daten = 01:00:00:00:10:00:00:00:01:00:00:00:10:00:00:00:00 [13 Jun 2020, 10:19:29] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht (übersetzt)... <<<<<< Header: <<<<<< Länge = 16 <<<<<< Typ = offen (0x00000001) <<<<<< Transaktion = 1 <<<<<< Inhalt: <<<<<< max control transfer = 4096 [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Empfangene Nachricht... >>>>>> RAW: >>>>>> Länge = 16 >>>>>> Daten = 01:00:00:80:10:00:00:00:00:01:00:00:00:00:00:00:00:00 [13 Jun 2020, 10:19:32] [Debug] MBIM Gerät an '/dev/cdc-wdm0' bereit [13 Jun 2020, 10:19:32] [Debug] Asynchrone Abfrage der Gerätefähigkeiten... [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht... <<<<<< RAW: <<<<<< Länge = 48 <<<<<< data = 03:00:00:00:30:00:00:00:02:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:01:00:00:00:00:00:00:00:00:00:00:00 [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht (übersetzt)... <<<<<< Header: <<<<<< Länge = 48 <<<<<< Typ = Befehl (0x00000003) <<<<<< Transaktion = 2 <<<<<< Fragment-Kopfzeile: <<<<<< gesamt = 1 <<<<<< aktuell = 0 <<<<<< Inhalt: <<<<<< service = 'basic-connect' (a289cc33-bcb-8b4f-b6b0-133ec2aae6df) <<<<<< cid = 'geräte-kappen' (0x00000001) <<<<<< typ = 'abfrage' (0x00000000) [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Empfangene Nachricht... >>>>>> RAW: >>>>>> Länge = 196 >>>>>> data = 03:00:00:80:C4:00:00:00:02:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:01:00:00:00:00:00:00:00:94:00:00:00:03:00:00:00:01:00:00:00:01:00:00:00:02:00:00:00:3C:00:00:00:03:00:00:00:01:00:00:00:08:00:00:00:00:00:00:00:00:00:00:00:40:00:00:00:1E:00:00:00:60:00:00:00:28:00:00:00:88:00:00:00:0C:00:00:00:30:00:31:00:34:00:35:00:38:00:32:00:30:00:30:00:31:00:38:00:33:00:39:00:39:00:31:00:30:00:00:00:53:00:57:00:49:00:39:00:58:00:33:00:30:00:43:00:5F:00:30:00:32:00:2E:00:33:00:33:00:2E:00:30:00:33:00:2E:00:30:00:30:00:45:00:4D:00:37:00:34:00:35:00:35:00 [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Empfangene Nachricht (übersetzt)... >>>>>> Header: >>>>>> Länge = 196 >>>>>> Typ = Befehl-fertig (0x80000003) >>>>>> Transaktion = 2 >>>>>> Fragment-Kopfzeile: >>>>>> gesamt = 1 >>>>>> aktuell = 0 >>>>>> Inhalt: >>>>>> status error = 'Keine' (0x00000000) >>>>>> dienst = 'basic-connect' (a289cc33-bcb-8b4f-b6b0-133ec2aae6df) >>>>>> cid = 'geräte-kappen' (0x00000001) >>>>>> Felder: >>>>>> DeviceType = 'remote' >>>>>> CellularClass = 'gsm' >>>>>> VoiceClass = 'no-voice' >>>>>> SimClass = 'abnehmbar' >>>>>> DataClass = 'umts, hsdpa, hsupa, lte' >>>>>> SmsCaps = 'pdu-empfangen, pdu-senden' >>>>>> ControlCaps = 'reg-manuell' >>>>>> MaxSessions = '8' >>>>>> CustomDataClass = '(null)' >>>>>> GeräteId = '014582001839910' >>>>>> FirmwareInfo = 'SWI9X30C_02.33.03.00' >>>>>> HardwareInfo = 'EM7455' [/dev/cdc-wdm0] Geräteeigenschaften abgerufen: Gerätetyp: 'remote' Mobilfunkklasse: 'gsm' Sprachklasse: 'no-voice' SIM-Klasse: 'herausnehmbar' Datenklasse: 'umts, hsdpa, hsupa, lte' SMS-Hauben: 'pdu-empfangen, pdu-senden' Strg-Kappen: 'reg-manuell' Maximale Sitzungen: '8 Benutzerdefinierte Datenklasse: 'unbekannt' Geräte-ID: '014582001839910' Firmware-Informationen: 'SWI9X30C_02.33.03.00' Hardware-Informationen: 'EM7455' [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht... <<<<<< RAW: <<<<<< length=12 <<<<<< Daten = 02:00:00:0C:00:00:00:00:00:03:00:00:00 [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Gesendete Nachricht (übersetzt)... <<<<<< Header: <<<<<< Länge = 12 <<<<<< Typ = schließen (0x00000002) <<<<<< Transaktion = 3 [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Empfangene Nachricht... >>>>>> RAW: >>>>>> Länge = 16 >>>>>> Daten = 02:00:00:80:10:00:00:00:00:03:00:00:00:00:00:00:00:00 [13 Jun 2020, 10:19:32] [Debug] [/dev/cdc-wdm0] Kanal zerstört [13 Jun 2020, 10:19:32] [Debug] [Gerät geschlossen
Firmware-Auswahl
Die Auswahl der zu verwendenden Firmware kann mit dem Befehl z.B. vorgenommen werden:
qmicli -d /dev/cdc-wdm0 --dms-select-stored-image=modem3,pri1Es kommt darauf an, unter welcher Nummer die Firmware im Modem gespeichert ist. Die Firmware kann auch aus dem Modem gelöscht werden, siehe die Dokumentation in den Links.
PIN
Über die Konsole ist es auch möglich, die PIN der SIM-Karte einzugeben und zu setzen usw. Ich habe es allerdings nicht persönlich ausprobiert. Der Befehl zum Abrufen des PIN-Status:
qmicli -d /dev/cdc-wdm0 --dms-uim-get-pin-status
Systemeinrichtung für ein funktionierendes EM7544-Modem
Da das Gerät in verschiedenen Modi betrieben werden kann und man mit ihm mit verschiedenen Dienstprogrammen kommunizieren kann und es verschiedene Kommunikations
Peripheriegeräte (serielle Leitung und AT-Befehle gegenüber dem Gerät) und verschiedene Kommunikationsprotokolle hat, war ich sehr verwirrt.
Jetzt haben Sie einen Überblick darüber, was das Modem ermöglicht.
Sie brauchen keine AT-Befehle zu verwenden, damit es überhaupt funktioniert. Sie müssen nur das Gerät im MBIM-Modus haben und das gegebene
Dienstprogramm.
Ein weiteres Problem war, dass, obwohl Mageia das Netzwerk-Applet im Hintergrund laufen ließ
Netzwerkmanager lief,
den das Modem benutzte, und so blockierte das Modem die Kommunikation mit mir oder reagierte sehr langsam.
Also deaktivierte ich den Netzwerkmanager und plötzlich reagierte das Modem schnell.
Da ich keinen Proxy zur Kommunikation mit dem Modem verwende, muss ich die Dienstprogramme ohne diesen Parameter aufrufen -p!
EM7544 online
Dieses Handbuch beschreibt die Einstellungen, wenn das Modem mit dem MBIM Protokoll kommuniziert. Daher habe ich das Modem auf diesen Modus (in diesem Fall Modus #8) eingestellt. Und diese Einstellung bleibt auch nach einem Neustart des Modems oder Laptops erhalten.
Um herauszufinden, ob das Modem EIN oder AUS ist, verwenden Sie den Befehl:
qmicli -p -d /dev/cdc-wdm0 --dms-get-operating-modeNachdem Sie die meisten Einstellungen geändert haben, müssen Sie das Modem neu starten (Reset läuft). Befehle zum Ändern des Modemstatus und zum Zurücksetzen:
qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=offline qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=online qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=reset
Das Modem muss in den Onlinemodus geschaltet werden - was das Konfigurations-/Verbindungsskript automatisch tut. Aber es gibt ein Problem, dass nach dem Neustart des Modems/Laptops beim Versuch, in den Online-Status zu wechseln, das Modem eine Fehlermeldung ausgibt:
could't set operating mode: QMI protocol error (60):EM7455 muss einen speziellen Befehl FCC_AUTH senden
Um den Befehl einzugeben:
qmicli -d /dev/cdc-wdm0 --dms-set-fcc-authenticationDies muss nach jedem Neustart des Laptops durchgeführt werden, um das Modem neu zu starten, bevor es sich mit dem Mobilfunknetz verbindet!
Verbindungseinstellungen
Ich habe Vodafone mobiles Internet, also richte ich meine Anmeldedaten ein siehe unten. Ich habe eine Konfigurationsdatei /etc/qmi-network.conf und schrieb dort hinein:
APN=internetNatürlich kann man dort auch andere Konfigurationsoptionen reinschreiben, zum Beispiel user und sein Passwort.
Es gibt viele Optionen, wie man die Verbindung zum LTE-Netz startet und wie man das Gerät und das Netz konfiguriert, und das kann man auch manuell machen. Ich habe jedoch nach vielen Versuchen ein bestehendes Skript verankert, das vorhandene Tools aufruft und die IP Netzwerkkonfiguration aus den empfangenen Daten des Netzbetreibers einrichtet, einschließlich der DNS Einstellungen. Ich verwende einen modifizierten Fork des Skripts, das das EM7455 Modem mit dem LTE verbindet und das Netzwerk konfiguriert.
Das Skript ruft tatsächlich
mbim-network /dev/cdc-wdm0 startMan kann den Verbindungsstatus mit dem Befehl überprüfen:
mbim-network /dev/cdc-wdm0 statusDas Skript erhält dann Informationen über die Verbindung und die Einrichtung des Netzes, einschließlich der IP. Das Modem erhält diese Informationen vom Betreiber, nachdem die Verbindung hergestellt wurde. Sie können diese Informationen manuell mit einem Befehl auslesen, und derselbe Befehl ruft das vorbereitete Skript auf:
mbimcli -d /dev/cdc-wdm0 --query-ip-configuration --no-open=11 --no-closeDas Skript parst diese Netzwerkkonfigurationsdaten und setzt die IP-Adressen der Netzwerkschnittstellen und die DNS-Server. Und Mobiles Internet funktioniert plötzlich. Der Benutzer kann nun alles mit dem Befehl ausführen:
lte_startUm das mobile Internet abzuschalten, lautet der Befehl:
lte_stopDiese Skripte befinden sich im angegebenen Unterverzeichnis des GIT-Repositorys ./usr/local/bin/.
AT-Befehle
Um sich mit der seriellen Konsole des Modems zu verbinden, verwenden Sie den folgenden Befehl:
screen /dev/ttyUSB2 115200
Mit AT-Befehlen können Sie Modemparameter bearbeiten, das Modem zurücksetzen, seine Identifikation als USB
device, etc.
Die Eingabe von Befehlen kann wie folgt aussehen:
ATE1 AT!ENTERCND="A710" AT!CUSTOM? AT!CUSTOM="FASTENUMEN",2 AT!CUSTOM="BEFESTIGENUMEN",0 AT!PCOFFEN? AT!PCOFFEN=2 AT!RESETFür die Konfiguration, die Vernetzung und den mobilen Internetzugang werden AT-Befehle jedoch nicht benötigt, Wie man AT-Befehle verwendet und welche Befehle möglich sind, erfahren Sie unter den Links am Ende dieses Artikels.
QMI
Ich habe diese Mitteilung nicht erfolgreich durchgeführt, daher gehe ich nicht näher darauf ein. Es gibt ähnliche Dienstprogramme für QMI: qmi-network, qmicli usw...
rfkill
Wie jedes Notebook bietet auch das ThinkPad X1 Carbon die Möglichkeit, Peripheriegeräte per Software abzuschalten. Zu diesem Zweck wird das rfkill Dienstprogramm verwendet.
Verwenden Sie den folgenden Befehl, um die verfügbaren Geräte aufzulisten und Gerät 1 zu deaktivieren.
rfkill list all rfkill unblock 1
Netzwerk-Manager
Ich habe auch NetwokManager eine Zeit lang ausprobiert.
Dafür gibt es ein Konsolenprogramm namens mmcli.
Es können zum Beispiel folgende Befehle verwendet werden:
mmcli -L mmcli -m 0 systemctl status ModemManager systemctl status NetzwerkManager mmcli -m 0 --simple-connect="apn=internet" # passt nur nach Ausführung von NetworkManager mmcli -m 0 --create-bearer="apn=internet" mmcli -m 0 --simple-disconnect mmcli -m 0 -b 0 -c Auflistung mmcli -m 0 -b 0Ich werde jedoch nicht auf deren Funktionalität eingehen, siehe Dokumentation.
Nach dem Protokoll usw. scheint es, dass man sich auch damit verbinden kann, aber auch dann muss man die Netzwerkschnittstelle konfigurieren.
View log dump:
journalctl --follow -u ModemManager -u NetworkManagerEs gelang mir, einen Zustand zu erreichen, in dem das Protokoll anzeigte, dass die Verbindung online war und auf welche IP-Werte das Netzwerk manuell eingestellt werden sollte.
May 30 20:01:15 FreeTux ModemManager[6279]: Adresse: 10.183.56.65/30 30. Mai 20:01:15 FreeTux ModemManager[6279]: Gateway: 10.183.56.66 30. Mai 20:01:15 FreeTux ModemManager[6279]: DNS #1: 217.77.165.211 30. Mai 20:01:15 FreeTux ModemManager[6279]: DNS #2: 217.77.165.81 30. Mai 20:01:15 FreeTux ModemManager[6279]: MTU: 1500
NetwokManager unterstützt auch GPS. Siehe die folgenden Befehle:
mmcli -m 1 --location-status mmcli -m 1 --location-enable-gps-nmeaAuch hier gilt, dass weitere Details in der Dokumentation zu finden sind.
Network Manager scheint sowohl QMI als auch MBIM zu unterstützen. Ich habe dies jedoch nicht weiter untersucht und siehe die Dokumentation für weitere Details!
Wie deaktiviert man den NetworkManager in der Mageia-Distribution.
Batterie
Um eine unnötige Abnutzung des Akkus zu vermeiden, unterstützt das Notebook ein intelligentes Akkulademanagement. Weitere Informationen und Links finden Sie unter ThinkPad Wiki Akku.
Ich verwende die Mageia-Distribution, daher wird die Anleitung hauptsächlich für diese gelten. Zuerst kompiliere ich das Modul acpi_call. Nachdem ich es gebootet habe, kann ich die Entladung und Aufladung der Batterie durch das Skript tpbat-utils-acpi steuern.
Das Skript und das Modul werden aber gar nicht benötigt. Installieren Sie einfach das tlp-Dienstprogramm aus dem tlp-Paket.
Damit wird ein Daemon installiert, der es erlaubt, die Energieverwaltung der Peripheriegeräte, einschließlich der Batterie, zu konfigurieren.
Verwenden Sie den folgenden Befehl, um den aktuellen Batteriestatus aufzulisten:
tlp-stat -bDie Ausgabe von pam könnte zum Beispiel so aussehen:
--- TLP 1.2.2 -------------------------------------------- +++ Batteriefunktionen: Schwellenwerte laden und rekalibrieren natacpi = aktiv (Daten, Schwellenwerte) tpacpi-bat = inaktiv (Kernel-Modul 'acpi_call' nicht installiert) tp-smapi = inaktiv (ThinkPad wird nicht unterstützt) +++ ThinkPad Batteriestatus: BAT0 (Haupt / Intern) /sys/class/power_supply/BAT0/Hersteller = SMP /sys/class/power_supply/BAT0/model_name = 00HW029 /sys/class/power_supply/BAT0/cycle_count = (nicht unterstützt) /sys/class/power_supply/BAT0/energy_full_design = 52060 [mWh] /sys/class/power_supply/BAT0/energy_full = 46360 [mWh] /sys/class/power_supply/BAT0/energy_now = 30520 [mWh] /sys/class/power_supply/BAT0/power_now = 0 [mW] /sys/class/power_supply/BAT0/status = Unbekannt (Schwellenwert wirksam) /sys/class/power_supply/BAT0/charge_start_threshold = 60 [%] /sys/class/power_supply/BAT0/charge_stop_threshold = 80 [%] Ladung = 65.8 [%] Kapazität = 89.1 [%] +++ Empfehlungen * Installieren Sie das Kernelmodul acpi_call für die Rekalibrierung des ThinkPad-Akkus.Das Programm tlp hat die Konfiguration in der Datei:
/etc/default/tlp
,
wo man einfach die Zeilen auskommentiert, um die Entladung und Ladung der Batterie einzustellen:
START_CHARGE_THRESH_BAT0=55 STOP_CHARGE_THRESH_BAT0=80und geben Sie ihm optional einen Wert Ihrer Wahl. Sie können den Wert manuell abrufen oder ihn durch Schreiben in Dateien festlegen:
/sys/class/power_supply/BAT0/charge_start_threshold /sys/class/power_supply/BAT0/charge_stop_threshold
Mehr
Es gibt nur eine Sache, die mich bisher an dem Thinkpad X1 Carbon gestört hat: Bei der Wiedergabe von Videos flimmerte das Bild. Das Anpassen der Compositor-Einstellungen hat geholfen. In den KDE-Einstellungen habe ich das Rendering von opengl auf xrandr geändert.
Links
Skript, das EM7455 Modem
eine Verbindung zum Internet herstellt
Folien:QMI, MBIM moderne Modems in Linux
ThinkPad EM7455 Flash-Firmware.
Firmware für das EM7455 LTE-Modem herunterladen
Ressourcen
Github-Repository und Informationen zur Modemeinrichtung
Sierra
mbimcli
mbim-network
how-to-set-up-a-simple-data-connection-over-the-mbim-interface-using-libmbim-and-driver-cdc-mbim-in-linux
AT
EM7455-Befehle und Modem
Weitere interessante Links
3g-4g-modems raspberry-pi-sierra-wireless-mc7304-modem-qmi-interface-setup
Das Skript swi_setusbcomp.pl, das die Kommunikation mit
binär mit dem Modem kommuniziert
ThinkPad X220 Skript, das
das Modem einrichtet
Sierra EM7455 Modem und NetworkManager
Artikel zu einem ähnlichen Thema
VMware vs. Proxmox: Leistungsvergleich
GitLab CI/CD: Testautomatisierung und Anwendungsbereitstellung
VPS von VMware zu Proxmox migrieren
VMware-Lizenzierungsänderung
Ausführen von Microsoft SQL Server unter Linux
Sicherung: der Proxmox Backup Server
Linux als Router und Firewall
Hochladen eines Docker-Images in die Docker-Registry
Linux: Verwaltung logischer Datenträger
Linux-Software-RAID
Ausführen einer Webanwendung hinter einem Proxy
Migration von Postfächern
Mehrstufige Docker-Erstellung
Sichern Ihrer Daten durch Einschalten des Computers
Podman
Importieren von Windows in die Proxmox-Virtualisierung
Docker und PHP-Mail
Proxmox-Virtualisierung
Docker und Cron
Yocto-Projekt: Erstellen eines eigenen Betriebssystems für eingebettete Geräte
Vorbereiten eines Linux-Servers für die Ausführung einer Webanwendung in Python
Wie man eine schlechte Dateifreigabeleistung in Docker behebt
Wie man Docker richtig einsetzt
Installation von Linux auf einem dedizierten HPE ProLiant DL320e Server
Wie man eine Webanwendung einem Belastungstest unterzieht
Warum das JFS-Dateisystem verwenden
Booten von einer 4TB-Festplatte mit GTP unter UEFI
Btrfs-Dateisystem
Raspberry PI
WINE - Ausführen von Windous Programmen unter Linux
GNU/Linux-Betriebssystem
Newsletter
Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben
News-Abonnement.
+