LoginSignup
8
16

More than 5 years have passed since last update.

RaspberryPiのネットワーク周りをNetworkManagerで構成する

Last updated at Posted at 2016-06-20

RaspberryPiのネットワーク(Wi-Fi/PPP)をNetworkManagerを使って構成すると大変便利そうだったので、その手順のメモ。
Raspbian Jessieでの手順です。

やること

  • OS(Raspbian)をインストール
  • ネットワーク設定(暫定)
  • ネットワーク設定(NetworkManager)
  • soracom接続

用意しているもの

  • Raspberry Pi 2 Model B
  • SDカード 16GByte
  • wifiドングル (Planex GW-USNano)
  • USBドングル(Docomo L-02C)
  • SORACOM Air SIM
  • wifiルータ(諸事情により有線LANは使っていません)

OS(Raspbian)をインストール

okuzawatsの日記」を参考にさせていただきました。

ただし、最後の"Raspberry Piの初期設定"は実施していません。

インストールが終わり、再起動するとGUIのデスクトップが表示されます。

キーボードレイアウトの変更

表示の日本語化は行いませんが、日本語レイアウトのキーボードを使用するための設定を行います。

terminalからsudo raspi-config

  1. [Internationalization Options]
  2. [Change Keyboard Layout]
  3. "Generic 105-key(Intl) PC"
  4. "Japanese"
  5. "The default for the keyboard layout"
  6. "No compose key"
  7. ""

これで私のキーボード(NEC製のふっつーのキーボード)が刻印通りに入力されるようになりました。

タイムゾーンの変更

terminalからsudo raspi-config

  1. [Internationalization Options]
  2. [Change Timezone]
  3. "Asia"
  4. "Tokyo"

viの設定

とりあえず、編集中にカーソルキーを押すとABCDと入力されてしまうので、vimrcに対して設定を行います。

$vi ~/.vimrc

.vimrcに

set nocompatible

を追記します。ちなみに私は pi と root の.vimrcを編集しました。

ネットワーク設定(暫定)

後からNetworkManagerをインストールしてそちらでwlanもpppも管理するのですが、NetworkManagerをインストールするためのネットワーク接続が必要になるために、一旦設定します。
なお、有線LANが使用できる場合はこの手順は不要です。

wifiドングルをUSBポートに挿すと、USBデバイスとして認識されます。

$ lsusb
 :
Bus 001 Device 005: ID 2019:ab28 PLANEX GW-USNAano
 :

接続先のSSIDとパスフレーズを確認し、以下のコマンドを実行します

$ wpa_passphrase 接続先のSSID 接続先のパスフレーズ

wpa_passphraseコマンドの結果を以下のように /etc/wpa_supplicant/wpa_supplicant.confに追記します。
wpa_passphraseコマンドの結果にkey_mgmtprotoを加えています。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="接続先のSSID"
        #psk="接続先のパスフレーズ"
        psk=暗号化されたパスフレーズ
        key_mgmt=WPA-PSK
        proto=WPA2
}

この辺はおそらくwifiドングルにより異なるので、つながらない場合は、製品名を使ってググってください。
なお、接続先がステルスモードのときはGW-USNAanoでは一筋縄ではいきませんでした。(というか挫折しました)

/etc/network/interfacesを編集し、以下のようにmanualからdhcpに変更します。

/etc/network/interfaces
:
allow-hotplug wlan0
iface wlan0 inet dhcp  # manual -> dhcp
:

この辺で再起動します。

以下のコマンドでIPアドレスが割りあたっていることを確認します。


$ ip address show wlan0
 :
    inet 192.168.xxx.xxx/24 brd 192.168.xxx.xxx
 :

これで接続できるはずなので、Webブラウザでgoogleなどを開いてみてください。

ネットワーク設定(NetworkManager)

NetworkManagerのインストールとdhcpcd5の削除を行います。

$ sudo apt-get install -y network-manager
$ sudo apt-get install -y network-manager-gnome
$ sudo apt-get remove -y dhcpcd5

ここで一旦再起動します。まだWi-Fiには接続していません。

apt-get install でなんか404エラーになる場合

apt-get install -y network-managerを実行すると404 Notfoundが出まくりました。

/etc/apt/sources.listを何も変更せずに保存だけしてから、apt-get updateを実行してからinstallを実行するとうまくいきました。

Wi-Fiの設定

NetworkManagerのインストール時の最後に、今ある設定は消しなさい的なメッセージが表示されます。
/etc/network/interfacesをすべてコメントアウトし、 /etc/wpa_supplicant/wpa_supplicant.conf に追加したものをすべて削除します。

再起動後、右上のタスクトレイ(って呼ぶのかな?)からコンテキストメニューを表示し、接続したいSSIDを選択し、パスフレーズ等を設定します。

このとき、Passwordのテキストフィールドの右にあるアイコンをクリックし、"Store password for all users"を選択しておきます。
これでwifiにつながります。

SORACOM接続設定

L-02C用のusb_modeswitch設定を行う。

usb_modeswitchのL-02Cに対する設定はすでに/lib/udev/rules.d/40-usb_modeswitch.rules及び/usr/share/usb_modeswitch/configPack.tar.gzに含まれていますが、5秒間のWaitを入れるために設定をオーバーライドします。

/usr/share/usb_modeswitch/configPack.tar.gz の中にあるファイルのうち、対象デバイスのファイルを探します。

$ tar -tf configPack.tar.gz | grep 1004
1004:1000
1004:607f
1004:613a
1004:613f
1004:614e
1004:6156
1004:6190
1004:61aa
1004:61dd
1004:61e7
1004:61eb
1004:6327

$ dmesg | grep 1004
[ xxx.xxxxxx] usb 1-1.4: New USB device found, idVendor=1004, idProduct=61dd

ということで、1004:61ddがオーバーライドすべきファイルです。tarを展開して得られる1004:61ddファイルを/etc/usb_modeswitch.dにコピーします。

コピーしたファイルを編集します。

/etc/usb_modeswitch.d/1004
# LG L-02C LTE
TargetVendor=0x1004
TargetProduct=0x618f
StandardEject=1
WaitBefore=5

WaitBefore行を追記しています。

ここでL-02Cを接続したあと、dmesgコマンドを実行し、GSM modemが出力されていることを確認します。

soracomへの接続設定

一旦GUIでNetworkManagerの設定ファイルを作成してから内容をエディタで編集します。

タスクトレイのNetworkManagerアイコンから、[New Mobile Broadband connection...]を選択します。

  1. [Set up a Mobile Broadband Connection]で[Next]
  2. [Choose your Provider's countory or Region]で"Japan"を選択して[Next]
  3. [Choose your Provider]で[I can't find my provider〜]を選択し、Providerに"soracom"と入力します。
  4. [Choose your Billing Plan]で[Selected plan APN]に"soracom.io"と入力します
  5. [Confirm Mobile Broadband Settings]で[Apply]

作成されたファイルを編集します。ファイルを直接作成してもよいのですが、uuidの付与方法がわからなかったので、一旦GUIで作成しています。

/etc/NetworkManager/system-connections/soracom
[connection]
id=soracom
uuid=xxxxxxxxxxxxxxxxxxxxxxxx
type=gsm
autoconnect=true

[gsm]
number=*99***1#
username=sora
password=sora
apn=soracom.io

[ipv6]
method=auto

[ppp]
refuse-eap=true
refuse-mschap=true
refuse-mschapv2=true

[serial]
baud=460800

[ipv4]
method=auto

この状態からRaspberryPiをshutdownし、L-02Cを接続してから起動すると、1分以内くらいでsoracomに接続されるはずです。(ログインしなくても接続されます)

接続されたら、metadataを取得して接続を確認してみましょう。

$curl http://metadata.soracom.io/v1/subscriber

次は、もうひとつ手元にあるAK-020でもsoracomに接続できるようにしよう。

参考にしたページ

8
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
16