2016年1月1日金曜日

I-O DATA WN-G54/BB を入手

アイ・オー・データの USB 無線LANアダプタの WN-G54/BB をインターネット・オークションにて入手しました。

今回入手した I-O DATA WN-G54/BB です。
WN-G54/BB の裏面です。

概要

本品はソフトバンク BB のモデムなどに付属して配布されている商品のようで、一般発売をしていないものでした。そのためかインターネット上でも情報が大変少なく、今回動作させるまでに大変苦労しました。

ドライバ・モジュールの再ビルドに失敗

本品の情報が極端に少なかったこともあり、思い込みでドライバ・モジュールの再ビルドを行ってしまいました。

外観が酷似している同社製品の WN-G54/US と同等と思い込んでいました。そのため搭載されているチップが Atheros AR5005UG との判断をして、ar5523 モジュールへデバイス ID (04bb:0936)を追加して再ビルドを行いました。しかし動作しませんでした。

AR5005UG へ対応している zd1211rw モジュールで動作するかもしれないと考えて、zd1211rw モジュールへデバイス ID を追加して再ビルドを行いましたが、これも動作しませんでした。

WN-G54/BB を分解

どうも内部チップに AR5005UG とは違うチップが使用されている模様です。そこで本体を分解して、内部のチップを確認してみました。

分解した WN-G54/BB です。

USB  プラグの根元からプラスチック筐体を上下に分割しました。小さな爪で上下の筐体がつなぎ留められていました。

WN-G54/BB の筐体の爪の様子です。

そして姿を現したチップを確認すると CONEXANT (コネクサント)社の GW3887 というチップが搭載されていました。ネット上を検索すると Intersil (インターシル)社の ISL3887 との互換チップのようでした。

CONEXANT GW3887 チップが搭載されていました。

p54usb モジュールを再ビルド

そこで ISL3887 チップに対応した p54usb モジュールへデバイス ID (04bb:0936)を追加して再ビルドを行いました。

--- linux-source-3.16/drivers/net/wireless/p54/p54usb.c.orig    2016-01-01 18:23:06.826771715 +0900
+++ linux-source-3.16/drivers/net/wireless/p54/p54usb.c    2016-01-01 18:26:52.959788171 +0900
@@ -112,6 +112,7 @@
     {USB_DEVICE(0x413c, 0x5513)},    /* Dell WLA3310 USB Wireless Adapter */
     {USB_DEVICE(0x413c, 0x8102)},    /* Spinnaker DUT */
     {USB_DEVICE(0x413c, 0x8104)},    /* Cohiba Proto board */
+    {USB_DEVICE(0x04bb, 0x0936)},   /* I-O DATA WN-G54/BB */
     {}
 };

動作確認

出来上がった p54usb モジュール(p54usb.ko)をカーネル・ドライバへ組み込んで動作確認を行いました。動作はしましたが、USB1.1 のポートへ装着したときに無線 LAN アクセスポイントへ接続失敗する場合がありました。USB2.0 のものでは問題は発生しませんでした。

なお WN-G54/BB を動作させるには、このドライバ・モジュールの他に WN-G54/BB の内部で使用するファームウェアも事前にパソコンへインストールしておく必要があります。
prism54 - Debian Wiki
https://wiki.debian.org/prism54
$ wget https://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.25.0.lm87.arm --no-check-certificate
$ su
# mv 2.13.25.0.lm87.arm /lib/firmware/isl3887usb

ダウンロード

今回ビルドしたドライバ・モジュールを「Debian 用ドライバ保管庫」へアップロードしています。自由にダウンロードして使用してください。ただし自己責任でお願いいたします。

該当する Debian バージョンのホルダの中にあるドライバ・モジュールの p54usb.ko をダウンロードするか、私がビルドしたドライバ・モジュールを一纏めにした圧縮ファイル(tar.gz)をダウンロードして使用してください。ドライバ・モジュールを一纏めにした圧縮ファイルのダウンロードをお奨めします。

ドライバ・モジュールを一纏めにした圧縮ファイルの場合、解凍後、ドライバ・モジュールのインストール・スクリプト modules-update.sh を特権ユーザで実行させると、自動的にドライバ・モジュールをインストールしてくれます。
$ su
# ./modules-update.sh



0 件のコメント:

コメントを投稿