Raspberry Pi B+ をジュークボックス化 4 (Volumio)

Facebooktwittergoogle_plustumblrmail
前回 (→ Raspberry Pi B+ をジュークボックス化 3 (Volumio) ) の続き。既にどこかの AP へ接続して、そこを経由して Raspberry Pi B+ で走行中の Volumio をコントロールできる所までは書いた。今回は自分が SoftAP になって、他の AP を使わないで済むようにしてみる。

SoftAP 実現にあたって新たに必要なソフトウエアは以下の 2 種類。
  • hostapd
  • isc-dhcp-server
これらは Raspberry Pi B+ 上から apt-get で取得できるので、 Raspberry Pi B+ を起動後 AP との Wi-Fi 接続が完了した時点まで (つまり前回書いた所まで) はもう作業完了している前提とする。 AP 経由で WLAN に出れば OK 。

でも、ここでちょっと立ち止まって欲しい。やはり前回触れたのだが、 Wi-Fi dongle には『 TOTO-Link N150USB 』を使っていて、これはつまるところ『 RTL8188CUS 』だ。カニさん (Realtek) の Wi-Fi dongle で SoftAP を作るには、実は標準の hostapd を使っては駄目なのだ。自分でソースコードから make してやる必要がある。

脱線するけれども、この辺の事情は僕の前職で散々やったので嫌でも覚えてしまったものだ。 Linux で SoftAP を実現するには、大体以下のような感じで hostapd を選べば良い。
  • Atheros : 標準 (大本営の hostapd を自前で build / 単純に apt-get) で OK 。
  • Ralink : 標準 (大本営の hostapd を自前で build / 単純に apt-get) で OK 。但し或る識者はこう主張していることにも注目せよ (→ Ralinkチップ搭載無線LANアダプターはLinuxで使用すべきでない) 。
  • Broadcom (の多くの組み込みモジュール) : 標準では動かない。 Broadcom が改造した hostapd を入手して使うこと。大本営のリストも参照せよ (→ Existing Linux Wireless drivers) 。
  • Realtek (の殆ど全部の組み込みモジュール) : 標準では動かない。 Realtek が改造した hostapd を入手して使うこと。
脱線はおしまい。

Realtek の場合は、ドライバも hostapd も、企業の web ページから簡単にダウンロードできる。
Software: Drivers & Utilities : RTL8188CUS : Unix (Linux)

この中に入っている、「 wpa_supplicant_hostapd/wpa_supplicant_hostapd-0.8_rtw_r7475.20130812.tar.gz 」を使えば良い。 Tarball を展開するともう設定ずみの環境が入っているので ( .config ファイルが在る) 、 Raspberry Pi B+ 上に既にコンパイル環境がある人はそのまま実機上で make すれば良い。

……でもアタシの Raspberry Pi B+ は Volumio 入れただけなので PC 上でクロスコンパイルすることにした。 Toolchain は以下からダウンロードする。
PC では Ubuntu 14.04 x86_64 な環境を利用中なので、ダウンロードしたパッケージからは以下の toolchain を使えば良い。
  • arm-bcm2708/
    • gcc-linaro-arm-linux-gnueabihf-raspbian-x64/
      • bin/
        • arm-linux-gnueabihf-*
ここまでくればあとはもう make すればおしまい。 (面倒なので…) 以下一気に書く。

$ mkdir -p ~/tmp
$ cp Download/0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip ~/tmp
$ cp Download/tools-master.zip
$ cd ~/tmp
$ unzip 0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
                    :
  inflating: RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911/wpa_supplicant_hostapd/wpa_supplicant_hostapd-0.8_rtw_r7475.20130812.tar.gz
                    :
$ tar xvfz RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911/wpa_supplicant_hostapd/wpa_supplicant_hostapd-0.8_rtw_r7475.20130812.tar.gz -C ~/tmp
$ cd ~/tmp
$ unzip tools-master.zip
                    :
  creating: tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/bin/
  inflating: tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/bin/gcc  
                    :
$ export PATH="~/tmp/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
$ export CC="arm-linux-gnueabihf-gcc"
$ cd wpa_supplicant_hostapd-0.8_rtw_r7475.20130812/hostapd
$ make -j8
$ file hostapd
hostapd: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.26, BuildID[sha1]=d03771607bc40c8c860218bd343a4315e133b98e, not stripped

長くなったので、インストール手順は次に続く。
Facebooktwittergoogle_plustumblrmail
Yusuke Dada K.
Yusuke Dada K.
台湾の現地企業で主に組み込みソフトウエアの研究開発をしている日本人です。我人是個日本人,負責軟體的研究開發。在臺灣的科技公司工作。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です