みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

ConnectCore i.MX6UL スターターキット: connmanによるWifi設定

ConnectCore i.MX6ULスターターキットの続き

その1 その2 その3 その4

ここでは/etc/wpa_supplicant.conf/etc/network/interfacesを直接編集する方法が記載されているが、

YoctoProjectではconnmanが簡単に使用できるため、connmanを使用してWifiを設定する。

環境変数の設定

1度以上bitbakeを実行した状態で、新規にシェルを開いた場合の環境変数の設定は、 素のpokyであれば、source poky/oe-init-build-envのようにするが、 DigiのYocto BSP環境では次のようにする。

$ cd ~/yocto/dey-2.0/build
$ source dey-setup-environment

connmanパッケージの追加

conf/local.confに次の行を追加する。

IMAGE_INSTALL_append = " connman connman-client"

connman-clientを入れ忘れるとconnmanctlがインストールされないので注意。

bitbakeの実行

$ bitbake core-image-base

イメージのインストール

生成されたOSイメージのインストールはその2その3のいずれかの手順を実施する。

Wifiの設定

connmanctlをインタラクティブモードで起動し、必要な設定を行う。

ここ

$ connmanctl
connmanctl> enable wifi
connmanctl> scan wifi
connmanctl> services
*AO Buffalo-A-EFD8       wifi_0004f3fffffb_XXXXXXXX16c6f2d412d45464438_managed_psk
    Buffalo-G-EFD8       wifi_0004f3fffffb_XXXXXXXX16c6f2d472d45464438_managed_psk
    68942381C413         wifi_0004f3fffffb_XXXXXXXX233383143343133_managed_psk
    Buffalo-G-D275       wifi_0004f3fffffb_XXXXXXXX16c6f2d472d44323735_managed_psk
    001D73902CCE         wifi_0004f3fffffb_XXXXXXXX733393032434345_managed_psk
    001D73902CCE-1       wifi_0004f3fffffb_XXXXXXXX7333930324343452d31_managed_psk
    aterm-fbf152-g       wifi_0004f3fffffb_XXXXXXXXd2d6662663135322d67_managed_psk
    AirPort29437         wifi_0004f3fffffb_XXXXXXXXf72743239343337_managed_psk
    Buffalo-A-D275       wifi_0004f3fffffb_XXXXXXXX16c6f2d412d44323735_managed_psk
    aterm-fbf152-aw      wifi_0004f3fffffb_XXXXXXXXd2d6662663135322d6177_managed_wep
    aterm-fbf152-a       wifi_0004f3fffffb_XXXXXXXXd2d6662663135322d61_managed_psk
connmanctl> agent on
connmanctl> connect wifi_0004f3fffffb_XXXXXXXX16c6f2d412d45464438_managed_psk
Agent RequestInput wifi_0004f3fffffb_XXXXXXXX16c6f2d412d45464438_managed_psk
  Passphrase = [ Type=psk, Requirement=mandatory ]
  Passphrase?  

ここでアクセスキーのパスワードを入力すれば接続される。 PSKなど暗号化されているアクセスポイントに接続する場合にはagent onを実行する必要があるので注意。