title: X250にWWANを（接続設定）
author: Amane Katagiri
summary: 結局誰が得をしたんだ
date: 2015-09-24T11:27:00+09:00
modified: 2017-08-12T18:51:00+09:00
category: tech
license: CC BY 4.0
rating: sfw
ai_summary: ThinkPad X250に搭載したWWANモジュール（Ericsson N5321）を用いて、Windows 8.1およびDebian 8で通信を確立する手順を解説した記事です。Windowsでは容易に設定可能ですが、DebianではSIMリーダーの認識や節電モードの解除に難航した苦労が綴られています。ATコマンドによる状態確認やsakis3gを用いた認証設定など、Linux環境でモバイル回線を利用するための具体的な解決策を紹介しています。
ai_keywords: ThinkPad X250, WWAN, Ericsson N5321, Debian, Linux, SIMカード, ATコマンド, sakis3g, モバイルブロードバンド, トラブルシューティング, APN設定

こんにちは、あまねです。

今回はWWAN使用の最終段階である、認証を完了して実際の通信を行うまでの過程についてです。

[TOC]

# 前提条件
今回使用したマシンは、Windows 8.1とDebian 8にそれぞれ必要なデバイスドライバがインストールされたX250です。N5321とWWANアンテナを搭載し、正常に開通した回線に結び付けられたSIMカードが挿入されています。

接続に必要な設定情報として、以下の情報が必要です。

* APN(Access Point Name)
* ユーザー名
* パスワード

ユーザー名とパスワードは認証のためのものではなく、製品ごとに共通となっています。プリペイドSIMであればパッケージに記載されています。

実際の認証情報はSIMカードに記録されているので、追加で入力すべき情報はありません。

# 概略
全体として、Debianに1週間程度悩まされることになって大変苦労しました。Windowsでは簡単に認証設定が完了するのですが、メインの環境はDebianなのでWWANを使いたいがためだけにWindowsを起動するのは非常に不便です。

# Windows 8.1の場合
カチカチポチポチやってれば終わります。できなければ前提条件を満たしていない（前の記事の内容を完遂していない）か、機器の故障や接触不良の可能性があります。

無事に通信を行うことができ、Debianでの設定の前に、ハードウェアには故障がないことをWindows上での通信で確認することができました。

# Debian 8の場合
[Ericsson F3507g Mobile Broadband Module](http://www.thinkwiki.org/wiki/Ericsson_F3507g_Mobile_Broadband_Module)を参考にしながら設定を進めていきます。

## SIMカードリーダーを認識させる
まずはcu、minicom、gtktermなどのシリアルコンソールでSIMカードを認識しているかを確認します。接続するデバイスは`/dev/ttyACM0`か`/dev/ttyACM1`です。

以下のコマンドを入力します。

```text
AT+CPIN?
```

通常ここでは、`READY`（SIMロック解除、準備完了）や`SIM PIN`（SIMロック、PINコード入力待ち）といったメッセージが表示されます。

`ERROR`が出るようであれば、SIMカードを認識できていないということになり、一般的にはSIMカードをちゃんと挿しているか、正しいSIMカードか確かめろといったアドバイスが与えられます。

僕はここで1週間停滞したわけですが、今回の場合はどうも **SIMカードリーダー自体を認識していない** ようだということが分かりました。このような場合は、SIMカードの挿入未挿入に関わらずコンソール上で同じ挙動が確認できます。

様々なサイトを回って、Windows側でSIMカードを有効にしてからシャットダウンするとうまく行くとか、一旦BIOSでWWANモジュールを無効にしてから再び有効にすれば良いとか、いろいろ試しました。

そして、なぜか以下のコードを実行するだけで再起動してもSIMカードを認識できるようになりました。

```bash
modprobe thinkpad-acpi experimantal=1
```

SIMカードリーダーに電源が投入されていなかった？　ただ、その前に行った操作との組み合わせによって成功した可能性もあるので「こうやったらうまくいきました！」みたいなものがあれば教えてくれると嬉しいです。

++(2017-08-12) いったんバッテリーを脱＆着してから再起動するのが効果的というのを書き忘れていましたので、書いておきます。++

## SIMカードリーダーを動かす
SIMカードの認識後は、SIMカードリーダーを実際に接続に利用できるか確かめるために以下のコマンドを入力します。

```text
AT+CFUN?
```

++(2017-10-15) ここで`AT+CFUN=1`と表示されればカードリーダーは利用できる状態になっています。++

`AT+CFUN=4`は節電モード（実質電源OFF）ですので、このまま次に進んでも失敗します。この場合は、以下のコマンドを入力してカードリーダーを利用可能にします。

```text
AT+CFUN=1
```

++(2017-10-15) 再起動すると度々節電モードになってしまうので何らかの工夫をする必要があります。++

## ワイヤレス ブロードバンドを 利用する (575)
接続には普通に[NetworkManager](https://wiki.debian.org/NetworkManager)を使うか、[wvdial](https://packages.debian.org/search?keywords=wvdial)や[sakis3g](http://www.sakis3g.com/)などでもいいです。

認証情報を入力して各アプリケーションを起動すれば通信を行うことができます。

ここでつまづく場合は、

* 認証情報が間違っている（各アプリケーションのマニュアルを参照）
* 無効か、壊れたSIMカードである（入手経路、保存状態を確認）
* ThinkPadでは動作しないSIMカードである（通信会社に問い合わせる）

などのThinkPadのハードウェア側ではどうにもできないエラーや、

* SIMカード（リーダー）を認識できていない
* SIMカードリーダーの電源が入っていない（節電モードである）

などが想像できます。再起動した場合は前のステップをもう一度行ってみてください。

最後に、メモ程度にsakis3gの起動コマンドを記しておきます。

```bash
sudo sakis3g --interactive APN="$YOUR_APN_NAME" APN_USER="$YOUR_APN_USER" APN_PASS="$YOUR_APN_PASS" CUSTOM_TTY="/dev/ttyACM1" OTHER="CUSTOM_TTY"
```

オプション中でデバイスやAPN、ユーザー名、パスワードを指定しているため、"Connect with 3g"を選択するだけで自動的に設定を進めてくれます。オプションを付けずに起動すれば、対話的にデバイス指定やユーザー名、パスワードの指定を行うことができます。

なお、起動コマンドを探してみるとWWANモジュールをUSBMODEMとして認識させるコマンドが多く出てきますが、僕の環境ではUSBMODEMとして認識させると`/dev/ttyACM...`が`/dev/ttyUSB...`に変わってしまい（名前が変わっただけで正常にアクセスすることはできる）、設定すべきttyを見失ってしまう不具合に陥ってしまいました。そのため、今回は直接ttyを指定して認証設定を行っています。

# おわりに
まぁそこそこ便利なツールを手に入れられたんじゃないかなと思います。実家から帰ってきた今ではもうWifi環境も十分に整備されているので、おそらく存在すら忘れるでしょうけども。

以上、『X250にWWANを』をお送りしました。
