ThinkPad X260 + EM7455でpovoのSIMを使う。

そういえばKDDI系のSIMもEM7455で使えるのかな、と思ったら使えなかったのでメモ。
もともとのGenericなfirmwareでは電波がつかめないので、対処してみます。

前準備としてEM7455でpovo(KDDI)キャリアで使えるよう、firmwareをダウンロードする。
https://source.sierrawireless.com/resources/airprime/minicard/74xx/em_mc74xx-approved-fw-packages/
から

KDDI SWI9X30C_02.36.00.00 001.052_001
をダウンロードする

1.firmwareをアップする前にUSB compositionを6にする

$ sudo qmicli --device-open-mbim -p -d /dev/cdc-wdm0 --dms-swi-get-usb-composition
[/dev/cdc-wdm0] Successfully retrieved USB compositions:
USB composition 6: DM, NMEA, AT, QMI
[*] USB composition 8: DM, NMEA, AT, MBIM
USB composition 9: MBIM

※下記エラーだったら、既に6の可能性があるので、2へすすむ

Warning ** [/dev/cdc-wdm0] couldn't enable QMI indications via MBIM: Transaction timed out
error: couldn't open the QmiDevice: Transaction timed out

※6以外であればfirmwareの書き込みができないので、下記を投入する

$ sudo qmicli --device-open-mbim -p -d /dev/cdc-wdm0 --dms-swi-set-usb-composition=6
$ sudo qmicli --device-open-mbim -p -d /dev/cdc-wdm0 --dms-set-operating-mode=reset

2.USB compositionが6になったのを確認する

$sudo qmicli -p -d /dev/cdc-wdm0 --dms-swi-get-usb-composition
[/dev/cdc-wdm0] Successfully retrieved USB compositions:
[*] USB composition 6: DM, NMEA, AT, QMI
USB composition 8: DM, NMEA, AT, MBIM
USB composition 9: MBIM

3.firmwareをunzipしてカレントディレクトリに置いておく

$ unzip SWI9X30C_02.36.00.00_KDDI_001.052_001.zip

4.firmwreの書き換え実施する

$ sudo systemctl stop ModemManager.service
$ sudo qmi-firmware-update -w /dev/cdc-wdm0 -u SWI9X30C_02.36.00.00.cwe SWI9X30C_02.36.00.00_KDDI_001.052_001.nvu
loading device information before the update...
setting firmware preference:
firmware version: '02.36.00.00'
config version: '001.052_001'
carrier: 'KDDI'
rebooting in download mode...
download mode detected
downloading cwe image: SWI9X30C_02.36.00.00.cwe (64.3 MB)...
finalizing download... (may take more than one minute, be patient)
successfully downloaded in 69.88s (920.6 kB/s)
downloading cwe image: SWI9X30C_02.36.00.00_KDDI_001.052_001.nvu (13.5 kB)...
finalizing download... (may take more than one minute, be patient)
successfully downloaded in 0.08s (175.8 kB/s)
rebooting in normal mode...
normal mode detected

————————————————————————
NOTE: in order to validate which is the firmware running in the
module, the program will wait for a complete boot; this process
may take some time and several retries.
————————————————————————

waiting some time for the device to boot…
loading device information after the update (1/12)…

————————————————————————

original firmware revision was:
SWI9X30C_02.38.00.00 rE3F3E55C03AE94 jenkins 2022/01/13 05:16:00
original running firmware details:
Model: EM7455B
Boot version: SWI9X30C_02.38.00.00
AMSS version: SWI9X30C_02.38.00.00
SKU ID: 1103518
Carrier ID: 1
Config version: 002.082_000
original firmware preference details:
image ‘modem’: unique id ‘002.082_000’, build id ‘02.38.00.00_GENERIC’
image ‘pri’: unique id ‘002.082_000’, build id ‘02.38.00.00_GENERIC’

new firmware revision is:
SWI9X30C_02.36.00.00 r8395 CARMD-EV-FRMWR2 2020/10/28 06:33:51
new running firmware details:
Model: EM7455B
Boot version: SWI9X30C_02.36.00.00
AMSS version: SWI9X30C_02.36.00.00
SKU ID: 1103518
Carrier ID: 115
Config version: 001.052_001
new firmware preference details:
image ‘modem’: unique id ‘001.052_001’, build id ‘02.36.00.00_KDDI’
image ‘pri’: unique id ‘001.052_001’, build id ‘02.36.00.00_KDDI’

NOTE: this device supports stored image management
with qmicli operations:
–dms-list-stored-images
–dms-select-stored-image
–dms-delete-stored-image

NOTE: this device supports firmware preference management
with qmicli operations:
–dms-get-firmware-preference
–dms-set-firmware-preference

————————————————————————

firmware update operation finished successfully

5.(適宜)USB compositionを8に戻す場合は下記を実施しておく

$ sudo qmicli -p -d /dev/cdc-wdm0 --dms-swi-set-usb-composition=8
$ sudo qmicli -p -d /dev/cdc-wdm0 --dms-set-operating-mode=reset

6.ModemManagerのリスタートを実施しておく

$ sudo systemctl restart ModemManager.service

7.povoのSIMを入れた状態で、nmcliコマンドによる接続設定を作成する

$ nmcli connection add con-name povo type gsm ifname cdc-wdm0 apn povo.jp user user@povo.jp password povo connection.zone external

8.mmcliコマンドで、接続状態チェック!

$ mmcli -m 0
--------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: ****************************************
--------------------------------
Hardware | manufacturer: Sierra Wireless, Incorporated
| model: Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
| firmware revision: SWI9X30C_02.36.00.00
| carrier config: default
| h/w revision: EM7455B
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: ***************
--------------------------------
System | device: /sys/devices/pci0000:00/0000:00:**.0/usb1/*-*
| drivers: qcserial, cdc_mbim
| plugin: sierra
| primary port: cdc-wdm0
| ports: cdc-wdm0 (mbim), ttyUSB0 (qcdm), ttyUSB2 (at),
| wwp0s********* (net)
--------------------------------
Status | unlock retries: unknown (0)
| state: connected
| power state: on
| access tech: lte
| signal quality: 38% (cached)
--------------------------------
Modes | supported: allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 3g, 4g; preferred: 4g
| allowed: 3g, 4g; preferred: 3g
| current: allowed: 3g, 4g; preferred: 4g
--------------------------------
Bands | supported: utran-1, utran-3, utran-4, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
| eutran-12, eutran-13, eutran-20, eutran-25, eutran-26, eutran-29,
| eutran-41
| current: utran-1, utran-3, utran-4, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
| eutran-12, eutran-13, eutran-20, eutran-25, eutran-26, eutran-29,
| eutran-41
--------------------------------
IP | supported: ipv4, ipv6, ipv4v6
--------------------------------
3GPP | imei: ***************
| operator id: 44051
| operator name: KDDI
| registration: home
--------------------------------
3GPP EPS | ue mode of operation: csps-2
--------------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0
--------------------------------
Bearer | paths: /org/freedesktop/ModemManager1/Bearer/0

povoを使用する時はトッピングしよう。さもないと128kBpsでゆっくりな通信が楽しめます。