Thinkpad X1 carbon (6th gen)のWWAN(Fibocom L850-GL)はLinuxでは動作しない。しかし、最近この問題がクリアされたようである。例によってソースはArch Wiki。要は、 L850-GをSierra Wireless EM73xx/EM74xx modemに載せ替えれば動くということらしい。以下いろいろメモ。
EM7455はAmazonなどで入手可能。とは言え、そのままではいろいろ問題があって使えない。たとえば、BIOSで「unauthorized netowork card」が挿入されているとエラーがでて起動しないとか、起動してもネットワークを掴まないとかである。ただ先人たちは、この問題もクリアしたようだ。
解決策がこちらのサイトとこちらのサイトにある。要はいったんThinkpadを起動した後に裏蓋を開けてmodemをL850-GからEM7455に差し替え(起動後ならBIOSのチェックをスルーできる)、その上でmodemの情報を書き換えればいい。書き換えてしまえば、以後は再起動してもBIOSでエラーはでない。大変な作業に思えるが、リンク先にある「My Automated Flashing of the EM7455/MC7455 with a Ubuntu Linux 18.04 LiveCD script」をいくつか書き換えて実行すればそれほど面倒ではない。
ポイントは3つ。ModemのIDをLenovoに変える(AT!USBPID=9079,9078のあたり)。Low Power Modeをオフにする(AT!PCOFFEN=2)。Modemのfast enumerationをオフにする(AT!CUSTOM=”FASTENUMEN”,2)。具体的には、265行目以降の以下の箇所。
# 書き換え前 send ATE1 sleep 1 send ATI sleep 1 send AT!ENTERCND=\"A710\" sleep 1 send AT!IMPREF=\"GENERIC\" sleep 1 send AT!GOBIIMPREF=\"GENERIC\" sleep 1 send AT!USBCOMP=1,1,0000100D sleep 1 send AT!USBVID=1199 sleep 1 send AT!USBPID=9071,9070 sleep 1 send AT!USBPRODUCT=\"EM7455\" sleep 1 send AT!PRIID=\"9904609\",\"002.030\",\"Generic-Laptop\" sleep 1 send AT!SELRAT=06 sleep 1 send AT!BAND=00 sleep 1 send AT!IMAGE? sleep 1 send AT!PCINFO? sleep 1 send AT!RESET
# 書き換え後 send ATE1 sleep 1 send ATI sleep 1 send AT!ENTERCND=\"A710\" sleep 1 send AT!IMPREF=\"GENERIC\" sleep 1 send AT!GOBIIMPREF=\"GENERIC\" sleep 1 send AT!USBCOMP=1,1,0000100D sleep 1 send AT!USBVID=1199 sleep 1 send AT!USBPID=9079,9078 sleep 1 send AT!USBPRODUCT=\"Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A\" sleep 1 send AT!PRIID=\"9904609\",\"002.030\",\"Lenovo-Storm\" sleep 1 send AT!SELRAT=06 sleep 1 send AT!BAND=00 sleep 1 send AT!IMAGE? sleep 1 send AT!PCINFO? sleep 1 send AT!PCOFFEN=2 sleep 1 send AT!CUSTOM=\"FASTENUMEN\",2 sleep 1 send AT!RESET
その他にもリンク先のスクリプトでは、libqmi-utils_1.20.0-1ubuntu1_amd64.debが見つからないといったエラーもでるが、自分でググってdebファイルをインストールすればいい。