Połączenie LTE w Ubuntu

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Ubuntu 18.04 LTS umożliwia łatwą konfigurację połączenia LTE. Ten przykład pokazuje, jak skonfigurować połączenie LTE w systemie LES compact 4L z zainstalowanym modemem Quectel EG25-G MiniPCIe i kartą SIM.

Środowisko testowe

Następujące komponenty zostały użyte do przeprowadzenia testu połączenia LTE:

  • LES compact 4L
  • Modem Quectel EG25-G z gniazdem na kartę SIM
  • Ubuntu 18.04.2 LTS Desktop
  • Jądro Linuksa 4.15.0-54.58 i 4.18.0-25.26~18.04.1 (test został pomyślnie przeprowadzony z każdą z wersji jądra)

Konfiguracja połączenia LTE

Konfiguracja połączenia LTE jest możliwa w zaledwie kilku krokach za pomocą interfejsu graficznego:

Konfiguracja kodu PIN karty SIM

Jeśli aktywowałeś kod PIN na karcie SIM, musisz zapisać go w konfiguracji:

Wiersz poleceń

ip

tk@les-compact-4l:~$ ip a
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 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:58:bc:e0:00:16 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether dc:58:bc:e0:00:17 brd ff:ff:ff:ff:ff:ff
4: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether dc:58:bc:e0:00:18 brd ff:ff:ff:ff:ff:ff
5: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether dc:58:bc:e0:00:19 brd ff:ff:ff:ff:ff:ff
6: wwp0s20u5i4: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/none 
    inet 10.72.242.177/30 brd 10.72.242.179 scope global noprefixroute wwp0s20u5i4
       valid_lft forever preferred_lft forever
tk@les-compact-4l:~$

Network Manager

W wierszu poleceń pokazuje CLI (nmcli) menedżera sieci (nm) informacje o połączeniu[1]

root@les-compact-4l:~# nmcli device
DEVICE    TYPE      STATE         CONNECTION
cdc-wdm1  gsm       connected     Yesss Default
enp1s0    ethernet  disconnected  --
enp2s0    ethernet  unavailable   --
enp3s0    ethernet  unavailable   --
enp4s0    ethernet  unavailable   --
lo        loopback  unmanaged     --
root@les-compact-4l:~# nmcli connection
NAME                UUID                                  TYPE      DEVICE
Yesss Default       71f7de7b-4aa2-45a0-9e8b-66c72bd66982  gsm       cdc-wdm1
Wired connection 1  70d0d474-2e56-362f-b6a7-a31b5c030e23  ethernet  --
Wired connection 2  d6755138-c577-3464-93d2-56b512aed030  ethernet  --
Wired connection 3  f1c550e6-9682-3fd7-b3b6-3a239908de7a  ethernet  --
Wired connection 4  f828e8ee-3807-353a-8dfb-598af0579825  ethernet  --

Informacje o połączeniach z siecią LTE są przechowywane w pliku w katalogu/etc/NetworkManager/system-connections/:

root@les-compact-4l:~# ls -l /etc/NetworkManager/system-connections/Yesss\ Default
-rw------- 1 root root 265 Jul 10 16:44 '/etc/NetworkManager/system-connections/Yesss Default'
root@les-compact-4l:~# cat /etc/NetworkManager/system-connections/Yesss\ Default
[connection]
id=Yesss Default
uuid=71f7de7b-4aa2-45a0-9e8b-66c72bd66982
type=gsm
autoconnect=false
permissions=

[gsm]
apn=web.yesss.at
number=*99#

[serial]
baud=115200

[ipv4]
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=ignore
root@les-compact-4l:~#

Modem Manager

Sam modem może być zarządzany z linii poleceń poprzez Modem Manager:[2]

root@les-compact-4l:~# mmcli -L
    /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
root@les-compact-4l:~# mmcli -L -v
[10 Jul 2019, 17:35:18] [Debug] ModemManager process found at ':1.144'
    /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
root@les-compact-4l:~# mmcli -m /org/freedesktop/ModemManager1/Modem/0 --firmware-list
  ----------------
  Firmware | list: n/a
root@les-compact-4l:~# mmcli -m /org/freedesktop/ModemManager1/Modem/0 --oma-status
error: modem has no OMA capabilities
root@les-compact-4l:~# mmcli -m 0 | grep SIM
  SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0
root@les-compact-4l:~# mmcli -m /org/freedesktop/ModemManager1/Modem/0 --location-status
  ------------------------
  Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps
           |      enabled: 3gpp-lac-ci
           |      signals: no
  ------------------------
  GPS      | refresh rate: 30 seconds
root@les-compact-4l:~# mmcli -m /org/freedesktop/ModemManager1/Modem/0 --location-get
  --------------------------
  3GPP |      operator code: 232
       |      operator name: 1
       | location area code: FFFE
       | tracking area code: 157D
       |            cell id: 001A240B
root@les-compact-4l:~# mmcli -m /org/freedesktop/ModemManager1/Modem/0 --messaging-status
  -------------------------------
  Messaging | supported storages: sm, me
            |   default storages: me
root@les-compact-4l:~#

dmesg

Wyjście z dmesg ułatwia dalszą analizę w przypadku problemów (np. nierozpoznania modem). W wersji Ubuntu 18.04 (z jądrem 4.18) modem Quectel EG-25G jest poprawnie rozpoznawany jako modem USB. Wyjście z dmesg wygląda następująco:

tk@les-compact-4l:~$ dmesg | grep -i usb
[...]
[    2.140490] usb 1-5: new high-speed USB device number 3 using xhci_hcd
[    2.302664] usb 1-5: New USB device found, idVendor=2c7c, idProduct=0125, bcdDevice= 3.18
[    2.302669] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.302673] usb 1-5: Product: EG25-G
[    2.302676] usb 1-5: Manufacturer: Quectel
[...]
[    4.624952] usbcore: registered new interface driver usbserial_generic
[    4.624977] usbserial: USB Serial support registered for generic
[    4.639473] usbcore: registered new interface driver option
[    4.639496] usbserial: USB Serial support registered for GSM modem (1-port)
[    4.643080] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB0
[    4.652334] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB1
[    4.658608] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB2
[    4.659643] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB3
[    4.687952] usbcore: registered new interface driver cdc_wdm
[    4.702212] qmi_wwan 1-5:1.4: cdc-wdm1: USB WDM device
[    4.706604] qmi_wwan 1-5:1.4 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-5, WWAN/QMI device, 02:6f:98:ba:cd:04
[    4.706678] usbcore: registered new interface driver qmi_wwan

lsusb

tk@les-compact-4l:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2c7c:0125
Bus 001 Device 002: ID 046d:c52e Logitech, Inc. MK260 Wireless Combo Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Wyjście z lsusb dla modemu jest dostępne tutaj w celach informacyjnych:

usb-devices

Wyjście z usb-devices pokazuje, że modem Quectel EG25-G został rozpoznany jako urządzenie USB 2.0 (Spd=480):

tk@les-compact-4l:~$ usb-devices 

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 7
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=04.15
S:  Manufacturer=Linux 4.15.0-54-generic xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:14.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c52e Rev=15.00
S:  Manufacturer=Logitech
S:  Product=USB Receiver
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=98mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

T:  Bus=01 Lev=01 Prnt=01 Port=04 Cnt=02 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0125 Rev=03.18
S:  Manufacturer=Quectel
S:  Product=EG25-G
C:  #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 6
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=04.15
S:  Manufacturer=Linux 4.15.0-54-generic xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:14.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

modinfo qmi_wwan

tk@les-compact-4l:~$ modinfo qmi_wwan
filename:       /lib/modules/4.15.0-54-generic/kernel/drivers/net/usb/qmi_wwan.ko
license:        GPL
description:    Qualcomm MSM Interface (QMI) WWAN driver
author:         Bjørn Mork <bjorn@mork.no>
srcversion:     D0C8B2FEE75242D14A63187
alias:          usb:v1410pA021d*dc*dsc*dp*ic*isc*ip*in00*
[...]
alias:          usb:v12D1p*d*dc*dsc*dp*icFFisc01ip09in*
depends:        usbnet,cdc-wdm
retpoline:      Y
intree:         Y
name:           qmi_wwan
vermagic:       4.15.0-54-generic SMP mod_unload 
signat:         PKCS#7
signer:         
sig_key:        
sig_hashalgo:   md4

SMS Server Tools

Jeśli chcesz użyć modemu do wysyłania wiadomości SMS (np. w środowisku monitorującym), możesz to zrobić za pomocą SMS Server Tools.

Jednak w tym przypadku modem nie może być używany do połączenia LTE, gdyż uruchomiony Modem Manager blokuje narzędziu SMS Server Tools dostęp do pliku urządzenia.

Podczas korzystania z SMS Server Tools, upewnij się, że Modem Manager nie jest używany:

sudo systemctl disable ModemManager
ps -eaf | grep -i ModemManager

Jeśli procesy ModemManager-a nadal działają, zakończ je poleceniem kill.

Następnie można skonfigurować SMS Server Tools, tak jak jest to opisane w artykule Instalacja SMS Server Tools w Ubuntu 12.04 LTS.

Odnośniki

  1. NetworkManager ohne GUI (wiki.ubuntuusers.de)
  2. nmcli Manpage (manpages.ubuntu.com)

Autor: Werner Fischer

Powiązane artykuły

Instalacja karty SIM w systemie LES v3
Połączenie LTE w OPNsense
Połączenie LTE w systemie Windows