RaspberryPi(Debian)で標準対応品以外のUSB WLAN(WDC-433DU2H)を使用する

家で監視カメラ代わりに使用しているRaspberry Pi 2 Model B + Arch Linuxですが、最近急に冷え込んだせいで部屋の中に結露が発生して、部屋の隅にポタポタと落ちていた模様です。その滴が運悪くRaspberry Piにあたり、ショートしたのかなんなのかよくわかりませんが、起動できなくなりました。

SDカードを交換することで復帰することは確認できて一安心。
今までの設定とか全部吹っ飛んだけど・・・まぁ・・・致命傷で済んでよかったよ。

有線LANだとどうしても置く場所が部屋の隅のほうになってしまうので、新規インストール(Raspbian)のついでに、無線LAN化することにしました。

raspi_wifi1.png

無線LANアダプタは安くて設定が簡単なものが多く出ていますが、今回は一刻も早く復帰させたかったので
近くのEDIONに行ってパパッと買ってきました。

ELECOMのWDC-433DU2HBKです。
いやぁ・・・これがまた設定がしんどいんだ・・・。






NOOBSからRaspbianのインストール


もうこれは超簡単なのでパス。

Raspbianの初期設定とか


日本語化とか新規モジュールのインストールとかいらないサービスの切除とか。
ArchLinuxだと全部自分でやらないといけないけど、Raspbianがある程度ブロック化されてるから楽だ・・・。
結局・・・Pacmanとはなんだったんだろうか?

WDC-433DU2Hのドライバインストールの準備


今回購入したWDC-433DU2Hは、差し込んだだけでは認識するものの、ランプが点灯せず動作しません。
内部のチップは蟹(Realtek)RTL8811AUらしい。

ドライバを検索すると、後継(互換?)のRTL8812AUというものが見つかり、そのドライバを組み込むことで使用可能になる模様。

そのドライバを組み込むためにアレコレインストールしないといけない。

  1. Raspbianのアップデート(rpi-updateやapt-get upgrade) もちろん有線LANで
  2. apt-getでbuild-essentialをインストール
  3. wgetとかそのあたりのWEBからダウンロードする系のアレをインストール
  4. gccを4.8系にしてドライバをビルドできるようにする。
    http://qiita.com/tsukaman/items/44abe042d2184c021b4b
    ここの、「カーネルバージョンの確認」から「Linuxソースの取得とビルド」まで。


RTL8812AUドライバーのコンパイルと動作確認


  1. RTL8812AUのドライバーの元となるファイルを取得。
    ~ $ wget https://github.com/gnab/rtl8812au/archive/master.zip
    ~ $ unzip master.zip
    ~ $ cd rtl8812au-master

  2. MakefileのCONFIG_PLATFORM_I386_PCとかを編集。詳しくは配布元の「Building」
    ~/rtl8812au-master $ vi Makefile #nanoとかvimとか編集できりゃなんでもいい

    CONFIG_PLATFORM_I386_PC = n #yからnへ
    ...
    CONFIG_PLATFORM_ARM_RPI = y #nからyへ

    あと、ELECOMのベンダーIDとWDC-433DU2HBKのプロダクトIDを認識できるようにするために、
    os_dep下のlinux下の、usb_intf.cのところで
    #ifdef CONFIG_RTL8821Aの下を編集。
    いいか?CONFIG_RTL8812Aじゃねぇ。CONFIG_RTL8821Aだ。わかったか?にー いち えーだぞ!!
    ~/rtl8812au-master $ cd os_dep/linux/
    ~/rtl8812au-master/os_dep/linux $ vi usb_intf.c

    #ifdef CONFIG_RTL8821A
    /*=== Realtek demoboard ===*/
    {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0811),.driver_info = RTL8821},/* Default ID */
    {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0821),.driver_info = RTL8821},/* Default ID */
    {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8822),.driver_info = RTL8821},/* Default ID */
    /*=== Customer ID ===*/
    {USB_DEVICE(0x7392, 0xA811),.driver_info = RTL8821}, /* Edimax - Edimax */
    {USB_DEVICE(0x7392, 0xA812),.driver_info = RTL8821}, /* Edimax - EW-7811UTC */
    {USB_DEVICE(0x7392, 0xA813),.driver_info = RTL8821}, /* Edimax - EW-7811UAC */
    {USB_DEVICE(0x2001, 0x3314),.driver_info = RTL8821}, /* D-Link - Cameo */
    {USB_DEVICE(0x0846, 0x9052),.driver_info = RTL8821}, /* Netgear - A6100 */
    {USB_DEVICE(0x2019, 0xAB32),.driver_info = RTL8821}, /* Planex - GW-450S */
    {USB_DEVICE(0x0411, 0x0242),.driver_info = RTL8821}, /* BUFFALO - Edimax */
    {USB_DEVICE(0x056E, 0x4007),.driver_info = RTL8821}, /* この行を自分で追加する ELECOM WDC433DU2H */
    #endif

    ちなみにベンダーIDとプロダクトIDは、USB機器をRasPiに差し込んだ状態でlsusbを実行すればわかる。

  3. masterのディレクトリに戻って、sudo makeとsudo make installを実行する
    ~/rtl8812au-master/os_dep/linux $ cd ../..
    ~/rtl8812au-master $ sudo make
    ~/rtl8812au-master $ sudo make install

    多分出来の悪い子はmakeの段階で何か足りないとか怒られるから、足りないものを入れなおしてmakeをやり直し。
    make installまでうまくいけたら、RasPiを再起動(USBは挿しっぱなしでも抜いてても問題ないっぽい)
    2016/08/07追記:現在この手順を踏んでも、最新ファームウェアではうまく動作しないようです。以前まではraspberry piをアップデートしてから、再コンパイルでうまく動作していましたが、今回はうまくいかないようです。原因は不明です。(クリーンインストール時なら動作可能との連絡あり。)
  4. ここまでが万事うまくいけば再起動の段階で勝手にmodprobeで8812auってのを読み込んで、
    WDC-433DU2Hのランプがチカチカ光るはず。lsmodコマンドで8812auが出てくるはず。

  5. あとはifconfig wlan0で認識を確認できるので、WPAとかWiFi固有の設定をすればOK


私も先人の記事を見て解決したので貼っとく。
LinuxでWDC-433DU2HBK : http://washimemo.blogspot.jp/2014/11/linuxwdc-433du2hbk.html

まぁ初心者はこんなメンドクサいのを買わないで、
誰かが買ってて、完璧に使えるやつを調べて買えってことだね。
勉強になりました。

raspi_wifi2.png
ちなみにこれ、けっこう膨らんでるんで、USBポートの上下が使えなくなります。
関連記事
スポンサーサイト

tag : ラズベリーパイ RaspberryPi ELECOM 無線LAN WiFi

コメントの投稿

Secre

検索フォーム
カテゴリ
最新記事
最新コメント
かうんた(参考値)

mbed ブラシレスモーター Nucleo SPI マルチコプター IR2302 ステッピングモーター ラズベリーパイ RaspberryPi L6470 SHARP HR-TFT メモリ液晶 GR-SAKURA LCD RasPi HDD ドローン 秋月電子 PCB DesignSpark 3Dプリンター システムクリエイト Simplify3D ベルロ 3Dプリンタ Bellulo LPC1114 fdisk コンパイラ ハードディスク Android SPLC792A aitendo MOSFET I2C Java volley SSH 遠隔操作 sdカード BLDC JSON ArchLinux putty TB6588FG 9軸センサ BNO055 BME280 MPU-9250 クラウドソーシング クラウドワークス 白黒 Sierra-Lite CrowdWorks P板.com PCBCART KiCAD GIMP Python-Fu FTK,Assembly FusionPCB 基板製造 実装サービス Elecrow ディザリング 画像処理 フェネストロン 不等間隔ブレード レーザーカッター スピンドルモーター WiFi 二十・十二面体 ELECOM 無線LAN レーザー加工 工房Emerge+ HMC5883L シャープ ルネサス L3G4200D ADXL345 AHRS 9軸センサー Processing スクリプト 

QRコード
QR
よく世話になるところ