ThinkPad X1やT480sにはLTEモジュールとしてFibocom L850-GLが搭載できます。こちらWindowsでは問題なく使えるのですがLinuxでは使えません。
Fibocomのサイトに掲載されている仕様ではLinuxもサポートされているように書かれているのですが、これはUSBモードの場合のみのようでLinuxで認識されるPCIeインターフェースの状態では利用できないようです。
Solved: WWAN Fibocom L850-GL and Linux support – Lenovo Communityなどでも語られています。
使える方法がないものかいろいろ散策しておりましたら、「Linux drivers for XMM 7360 LTE #7」の情報を見つけまして、この中のコメントにPCIeからUSBモードにする処理を作成したとの情報を発見。
Tools for the Fibocom L850-GL / Intel XMM7360 LTE modem
ちょっと人柱覚悟でArch Linuxにて試してみましたので覚書です。
ちなみにモデムとしては認識されるようになったもののMobile Network接続はまだうまくできておりません。
まずacpi_callカーネルモジュールをインストールします。
$ sudo pacman -S acpi_call
次に先ほど紹介したgitリポジトリーをcloneします。
$ git clone https://github.com/abrasive/xmm7360.git
変更前にPCIとUSBのデバイスを見てみると、LTEモジュールはPCIで認識されていることがわかります。
$ lspci | grep -i modem
02:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem (rev 01)
$ lsusb | grep -i modem
$
先ほどのGitHubからcloneしたxmm2usbを実行してみます。
$ cd xmm7360
$ sudo ./xmm2usb
Found XMM7360 modem at 0000:02:00.0 (_SB_.PCI0.RP04.PXSX) Parent port is at 0000:00:1c.3
Disabling PCIe link… Resetting modem…
OK!
$
PCIリンクを無効にしたとのメッセージ。再びlspciとlsusb実行してみます。
$ lspci | grep -i modem
02:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem (rev ff)
$ lsusb | grep -i modem
Bus 001 Device 006: ID 8087:095a Intel Corp. MODEM + 2 CDC-ACM + 3 CDC-NCM + SS
$
USBにモデムが出現するようになりました。PCIにも出現していますが、(rev ff)となっています。
続けてGitHubのページにあるように、MBIM(Mobile Broadband Interfaceモード?)へのスイッチを実行します。
$ sudo screen /dev/ttyACM0
AT+GTUSBMODE?
AT+GTUSBMODE=7
AT+CFUN=15
$
そうするとlsusbでの出力が以下に変わりました。
$ lsusb | grep -i fibocom
Bus 001 Device 006: ID 2cb7:0007 Fibocom Wireless Inc. L850-GL
dmesgをみてもUSBモデムと認識されているようです。
[ 162.799214] usb 1-6: new high-speed USB device number 5 using xhci_hcd
[ 162.940604] usb 1-6: New USB device found, idVendor=8087, idProduct=07f5, bcdDevice= 0.00
[ 162.940612] usb 1-6: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 169.651754] usb 1-6: USB disconnect, device number 5
[ 175.462630] usb 1-6: new high-speed USB device number 6 using xhci_hcd
[ 175.620153] usb 1-6: New USB device found, idVendor=2cb7, idProduct=0007, bcdDevice= 3.33
[ 175.620162] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 175.620167] usb 1-6: Product: L850-GL
[ 175.620172] usb 1-6: Manufacturer: Fibocom Wireless Inc.
[ 175.620176] usb 1-6: SerialNumber: 004999010640000
[ 175.738001] cdc_acm 1-6:1.2: ttyACM0: USB ACM device
[ 175.738980] cdc_acm 1-6:1.4: ttyACM1: USB ACM device
[ 175.739743] cdc_acm 1-6:1.6: ttyACM2: USB ACM device
[ 175.740493] usbcore: registered new interface driver cdc_acm
[ 175.740494] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 175.742909] usbcore: registered new interface driver cdc_ncm
[ 175.744812] usbcore: registered new interface driver cdc_wdm
[ 175.793275] cdc_mbim 1-6:1.0: setting rx_max = 16384
[ 175.794443] cdc_mbim 1-6:1.0: cdc-wdm0: USB WDM device
[ 175.794574] cdc_mbim 1-6:1.0 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-6, CDC MBIM, a2:a6:4d:05:3f:91
[ 175.794616] usbcore: registered new interface driver cdc_mbim
ちなみに冒頭でも述べましたようにMobile Network接続には至っておりません。またPC再起動後は毎回xmm2usbコマンドの実行が必要です。