目次

QMI で高速な LTE 接続を行う

Telit LN940A を搭載した機種(MA-E350/GLAD) では、QMI1) を使用して PPP によるダイヤルアップ接続より高速な通信が可能です。
ファームウェア v4.2.2α1 より QMI 接続をサポートしました。


設定

PPP の場合と同様に、設定ファイル (/etc/default/ppp) を編集します。
『QMI を使用する』 というフラグ2)を有効にします。


設定例 (IIJ モバイルサービス/タイプ I の場合)

START=yes
PROVIDER=
PERSIST=1
RESET_ON_FAIL=1
RESET_ALWAYS=0
RESET_AT=
RESET_WAIT=30
HOLDOFF=5
RETRY=3
 
# PPP config
APN=iijmobile.biz
PDPTYPE=IP
DEMAND=
IDLE=
DEVICE=
LOCALADDR=
REMOTEADDR=
NETMASK=
DEFAULTROUTE=1
AUTH=CHAP
ACCOUNT=mobile@iij
PASSWORD=iij
NETMODE=
CARRIERID=1
USE_QMI=1    # QMI 接続有効化フラグ
 
# PPP monitor
MONITOR=no
MONITOR_TARGET=
MONITOR_INTERVAL=30
MONITOR_FAIL=3
MONITOR_LOG=no


注意点

PPP と異なり、下記制限事項があります。

※ ただ、3G 以前と違い PPP を落としても網側の LTE は接続されたままとなりますので、オンデマンド接続や無通信タイムアウトには意味がありません。


接続

接続に成功すると、ppp0 ではなく wwan0 としてネットワーク I/F が見えます。

root@plum:~# ifconfig wwan0
wwan0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 100.96.202.66  netmask 255.255.255.252  destination 100.96.202.66
        inet6 fe80::31ab:6cbf:2a92:b07a  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 46  bytes 4202 (4.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 52  bytes 4480 (4.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


qmicli で情報を取得することもできます。

root@plum:~# qmicli -d /dev/cdc-wdm0 --wds-get-current-settings
[/dev/cdc-wdm0] Current settings retrieved:
           IP Family: IPv4
        IPv4 address: 100.96.202.66
    IPv4 subnet mask: 255.255.255.252
IPv4 gateway address: 100.96.202.65
    IPv4 primary DNS: 202.232.2.2
  IPv4 secondary DNS: 202.232.2.3
                 MTU: 1500
             Domains: none
root@plum:~# qmicli -d /dev/cdc-wdm0 --wds-get-packet-statistics
[/dev/cdc-wdm0] Connection statistics:
	TX packets OK: 65
	RX packets OK: 63
	TX packets dropped: 0
	RX packets dropped: 0
	TX bytes OK: 4964
	RX bytes OK: 5034


ログは下記のように出力されます。

Jul  5 11:12:21 plum gen_pppconfig: LN940: firmware "Docomo" is already selected.
Jul  5 11:12:21 plum systemd[1]: Started PPP wrapper.
Jul  5 11:12:21 plum PPP: ppp_wrapper[474] started.
Jul  5 11:12:21 plum QMI: Waiting cdc-wdm0...
Jul  5 11:12:21 plum PPP: device /dev/cdc-wdm0 exists.
Jul  5 11:12:24 plum ppp_wrapper[474]: Loading profile at /etc/qmi-network.conf...
Jul  5 11:12:24 plum ppp_wrapper[474]:     APN: iijmobile.biz
Jul  5 11:12:24 plum ppp_wrapper[474]:     APN user: mobile@iij
Jul  5 11:12:24 plum ppp_wrapper[474]:     APN password: iij
Jul  5 11:12:24 plum ppp_wrapper[474]:     qmi-proxy: yes
Jul  5 11:12:24 plum ppp_wrapper[474]: Checking data format with 'qmicli -d /dev/cdc-wdm0 --wda-get-data-format --device-open-proxy'...
Jul  5 11:12:24 plum ppp_wrapper[474]: Device link layer protocol retrieved: raw-ip
Jul  5 11:12:24 plum ppp_wrapper[474]: Getting expected data format with 'qmicli -d /dev/cdc-wdm0 --get-expected-data-format'...
Jul  5 11:12:24 plum ppp_wrapper[474]: Expected link layer protocol retrieved: raw-ip
Jul  5 11:12:24 plum ppp_wrapper[474]: Device and kernel link layer protocol match: raw-ip
Jul  5 11:12:24 plum ppp_wrapper[474]: Starting network with 'qmicli -d /dev/cdc-wdm0 --wds-start-network=apn='iijmobile.biz',username='mobile@iij',password='iij'  --client-no-release-cid --device-open-proxy'...
Jul  5 11:12:25 plum ppp_wrapper[474]: Saving state at /tmp/qmi-network-state-cdc-wdm0... (CID: 21)
Jul  5 11:12:25 plum ppp_wrapper[474]: Saving state at /tmp/qmi-network-state-cdc-wdm0... (PDH: 760393008)
Jul  5 11:12:25 plum ppp_wrapper[474]: Network started successfully
Jul  5 11:12:26 plum ppp_wrapper[474]: udhcpc: started, v1.27.2
Jul  5 11:12:27 plum ppp_wrapper[474]: No resolv.conf for interface wwan0.udhcpc
Jul  5 11:12:27 plum udhcpc[518]: wwan0: deconfigured
Jul  5 11:12:27 plum ppp_wrapper[474]: udhcpc: sending discover
Jul  5 11:12:27 plum ppp_wrapper[474]: udhcpc: sending select for 100.96.202.66
Jul  5 11:12:27 plum ppp_wrapper[474]: udhcpc: lease of 100.96.202.66 obtained, lease time 7200
Jul  5 11:12:30 plum ppp_wrapper[474]: Too few arguments.
Jul  5 11:12:30 plum udhcpc[518]: wwan0: bound: IP=100.96.202.66/255.255.255.252 router=100.96.202.65 domain="" dns="202.232.2.2 202.232.2.3" lease=7200
Jul  5 11:12:31 plum QMI: Successfully connected.


1)
Qualcomm MSM Interface
2)
USE_QMI=1
3)
DEMAND=1
4)
IDLE=xxx