2019年1月14日月曜日

LTE通信モジュールを使いたい(2) EC21

前回、LTE通信モジュールを使いたくていろいろ調べた。
その結果、「Quectel EC21-J Mini PCIeと開発キット」を入手することにした。

まずは繋いでみる


lsusbしてみると

lsusb
Bus 001 Device 004: ID 2c7c:0121

dmesgは

[ 444.433634] usb 1-1: new high-speed USB device number 4 using xhci_hcd
[ 444.591777] usb 1-1: New USB device found, idVendor=2c7c, idProduct=0121
[ 444.591794] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 444.591807] usb 1-1: Product: Android
[ 444.591818] usb 1-1: Manufacturer: Android
[ 444.720434] usbcore: registered new interface driver usbserial_generic
[ 444.720456] usbserial: USB Serial support registered for generic
[ 444.747139] usbcore: registered new interface driver option
[ 444.747935] usbserial: USB Serial support registered for GSM modem (1-port)
[ 444.748096] option 1-1:1.0: GSM modem (1-port) converter detected
[ 444.749945] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 444.751116] option 1-1:1.1: GSM modem (1-port) converter detected
[ 444.753384] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 444.753763] option 1-1:1.2: GSM modem (1-port) converter detected
[ 444.756743] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 444.756886] option 1-1:1.3: GSM modem (1-port) converter detected
[ 444.757054] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
[ 444.766786] usbcore: registered new interface driver cdc_wdm
[ 444.774169] qmi_wwan 1-1:1.4: cdc-wdm0: USB WDM device
[ 444.775522] qmi_wwan 1-1:1.4 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-1, WWAN/QMI device, 8a:7f:cf:**:**:**
[ 444.778205] usbcore: registered new interface driver qmi_wwan
[ 444.798019] qmi_wwan 1-1:1.4 wwp0s20u1i4: renamed from wwan0

udevルールに追加してデバイス名を固定する

EC21のデータシートを見ると
ttyUSB0 → DM
ttyUSB1 → For GPS NMEA message output
ttyUSB2 → For AT command communication
ttyUSB3 → For PPP connections or AT command communication
となっているので、ttyUSB2を別名で固定したい。
udevadmでは、

udevadm info -n /dev/ttyUSB2

P: /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2/ttyUSB2/tty/ttyUSB2
N: ttyUSB2
S: serial/by-id/usb-Android_Android-if02-port0
S: serial/by-path/pci-0000:00:14.0-usb-0:1:1.2-port0
E: DEVLINKS=/dev/serial/by-id/usb-Android_Android-if02-port0 /dev/serial/by-path/pci-0000:00:14.0-usb-0:1:1.2-port0
E: DEVNAME=/dev/ttyUSB2
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2/ttyUSB2/tty/ttyUSB2
E: ID_BUS=usb
E: ID_MM_CANDIDATE=1
E: ID_MODEL=Android
E: ID_MODEL_ENC=Android
E: ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller
E: ID_MODEL_ID=0121
E: ID_PATH=pci-0000:00:14.0-usb-0:1:1.2
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_1_1_2
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_REVISION=0318
E: ID_SERIAL=Android_Android
E: ID_TYPE=generic
E: ID_USB_CLASS_FROM_DATABASE=Miscellaneous Device
E: ID_USB_DRIVER=option
E: ID_USB_INTERFACES=:ffffff:ff0000:
E: ID_USB_INTERFACE_NUM=02
E: ID_USB_PROTOCOL_FROM_DATABASE=Interface Association
E: ID_VENDOR=Android
E: ID_VENDOR_ENC=Android
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_VENDOR_ID=2c7c
E: MAJOR=188
E: MINOR=2
E: SUBSYSTEM=tty
E: TAGS=:systemd:
E: USEC_INITIALIZED=2152830306

となっているので、必要な情報をついばんで
/etc/udev/rules.d/99-ec21j.rules を作成

# EC21-J

ACTION=="add", SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="2c7c", ENV{ID_MODEL_ID}=="0121", ENV{ID_USB_INTERFACE_NUM}=="00", SYMLINK+="ttyUSB_EC21_dm"
ACTION=="add", SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="2c7c", ENV{ID_MODEL_ID}=="0121", ENV{ID_USB_INTERFACE_NUM}=="01", SYMLINK+="ttyUSB_EC21_gps"
ACTION=="add", SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="2c7c", ENV{ID_MODEL_ID}=="0121", ENV{ID_USB_INTERFACE_NUM}=="02", SYMLINK+="ttyUSB_EC21_at"
ACTION=="add", SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="2c7c", ENV{ID_MODEL_ID}=="0121", ENV{ID_USB_INTERFACE_NUM}=="03", SYMLINK+="ttyUSB_EC21_atppp"

udevadm control --reload してからUSB再接続すると

ll /dev/ttyUSB*

crw-rw---- 1 root dialout 188, 0 1月 13 15:09 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 1月 13 15:09 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 1月 13 15:09 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3 1月 13 15:09 /dev/ttyUSB3
lrwxrwxrwx 1 root root 7 1月 13 15:09 /dev/ttyUSB_EC21_at -> ttyUSB2
lrwxrwxrwx 1 root root 7 1月 13 15:09 /dev/ttyUSB_EC21_atppp -> ttyUSB3
lrwxrwxrwx 1 root root 7 1月 13 15:09 /dev/ttyUSB_EC21_dm -> ttyUSB0
lrwxrwxrwx 1 root root 7 1月 13 15:09 /dev/ttyUSB_EC21_gps -> ttyUSB1

できた!

wvdialをインストール

wvdialをインストールして設定ファイルを生成する。

apt-get install wvdial
wvdialconf /etc/wvdial.conf

wvdial.confを適宜修正する

[Dialer EC21]
Init1 = ATZ
Init2 = ATQ0 V1 E1 &C1 &D2
Modem Type = USB Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB_EC21_at
; Stupid Mode = 1
ISDN = 0
; Phone = <Target Phone Number>
; Password = <Your Password>
; Username = <Your Login Name>
Phone = *99***1#
Username = mio@iij
Password = iij
Init3 = AT+CGDCONT=1,"IP","iijmio.jp"

いざ接続


wvdial EC21
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 &C1 &D2
ATQ0 V1 E1 &C1 &D2
OK
--> Sending: AT+CGDCONT=1,"IP","iijmio.jp"
AT+CGDCONT=1,"IP","iijmio.jp"
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT 150000000
--> Carrier detected. Waiting for prompt.
--> Don't know what to do! Starting pppd and hoping for the best.
--> Starting pppd at Sun Jan 13 13:37:48 2019
--> Pid of pppd: 15856
--> Using interface ppp0
--> local IP address 100.95.134.***
--> remote IP address 10.64.64.64
--> primary DNS address 202.232.2.2
--> secondary DNS address 202.232.2.3

これで、接続完了!

通信速度は?

気になる通信速度は、LTE通信MDはカテゴリ1 (下り10Mbps、上り5Mbps)なので、どんなものなのか測ってみた。


おぉ、下り6.6Mbps、上り3.8Mbpsと規格値の66%、76%程度出ている。すごいね。
今日はこれでおしまい。

0 件のコメント:

コメントを投稿