このページは、「Linux上のIntel Wireless 2915abgで11a通信できるようにする(ソフトウェアで解決)」の続きです。
ipw2200のパッチを書いていて気が付いたのですが、実は変更した最新の日本(ZZJ)の無線周波数の記述は欧州(ZZE)とほぼ同じです。
厳密には、日本国内向けの11b向け14チャネルが欧州版にはないのですが、この「11b 14チャンネル」に対応した無線LAN機器は少ないので、接続出来無くても実害は少ないです。
実は、2915abgのEEPROMは書き換えることができるので、EEPROMのカントリーコードZZJをZZEに書き換えることで、Linux側のドライバに手を入れることなく11a通信ができそうです。
このページでは、2915abgのEEPROMの書き換え方について説明します。
まずは、EEPROM書き換え可能な改造版ipw2200ドライバをダウンロードします。
改造版ipw2200ドライバは、Linux Kernel 2.6向けに書かれており、3.0以降のLinux Kernel上では動作しません。
このため、Linux Kernel 2.6を採用するディストリビューションのLIVE CDを入手し、その上で動作させます。
おすすめのLive CDはKNOPPIXです。
Linux Kernelが2.6.11な「V3.8-2005-05-05-EN」のISOイメージをダウンロードし、CDに焼いて起動させます。
入手したipw2200.tgzをUSBメモリにコピーし、Live CDから起動させたKNOPPIXを起動させたPCに転送します。
USBメモリを挿すと、自動的に「/mnt/uba1」にマウントされるので、以下の手順で「/ramdisk」にコピーして展開し、中に同梱されているカーネルモジュールをロードします。
$ cp -p /mnt/uba1/ipw2200.tar.gz /ramdisk $ cd /ramdisk $ tar -xvzf ipw2200.tar.gz $ cd ./ipw2200-1.0.3 $ modprobe ipw2200
ドライバのロードが完了したら、書き換え対象のEEPROMの内容を確認します。
# su $ ethtool -e cp -p /mnt/uba1/ipw2200.tar.gz /ramdisk
上記のようにすると、以下のような表示が出ます。
(XXはMACアドレスなど、デバイス毎に固有の値が入ります。)
Offset Values ------ ------ 0x0000 02 a5 00 80 24 42 86 80 12 10 86 80 18 00 01 03 0x0010 00 dc 22 c8 00 40 01 13 00 00 00 05 00 00 00 00 0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0030 00 00 00 00 30 30 31 32 46 30 42 39 31 43 41 32 0x0040 XX XX XX XX XX XX XX XX 00 51 03 85 5a 5a 4a 00 0x0050 ff 9f 00 00 aa 00 00 80 ff 1f 00 00 55 00 00 00 0x0060 0f 0e 0e 0e 0e 0e 01 00 00 00 00 00 00 00 03 00 0x0070 32 36 35 42 54 00 00 00 00 43 36 37 32 38 32 30 0x0080 30 38 00 00 0a 1e d5 32 12 00 d5 fc 80 f6 00 00 0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x00d0 00 00 00 00 00 00 00 00 00 00 00 00 81 fc 81 fc 0x00e0 7e fb 7e fa 0b 21 00 00 00 00 00 00 01 00 00 00 0x00f0 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
上記のような表示にならない場合は、eth0には2915abgではない別のデバイスが割り当てられています。
その場合、eth1、eth2など、別のデバイスを確認してください。
確認が済んだら、次はいよいよ書き込みです。
書き換えのコマンドは以下の通りです。
$ ethtool -E eth0 magic 0x2200 offset 0x4e value 0x45
これにより、2915abgのカントリーコードがEEJからEEZに書き換えられます。
Offset Values ------ ------ 0x0000 02 a5 00 80 24 42 86 80 12 10 86 80 18 00 01 03 0x0010 00 dc 22 c8 00 40 01 13 00 00 00 05 00 00 00 00 0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0030 00 00 00 00 30 30 31 32 46 30 42 39 31 43 41 32 0x0040 XX XX XX XX XX XX XX XX 00 51 03 85 5a 5a 45 00 0x0050 ff 9f 00 00 aa 00 00 80 ff 1f 00 00 55 00 00 00 0x0060 0f 0e 0e 0e 0e 0e 01 00 00 00 00 00 00 00 03 00 0x0070 32 36 35 42 54 00 00 00 00 43 36 37 32 38 32 30 0x0080 30 38 00 00 0a 1e d5 32 12 00 d5 fc 80 f6 00 00 0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x00d0 00 00 00 00 00 00 00 00 00 00 00 00 81 fc 81 fc 0x00e0 7e fb 7e fa 0b 21 00 00 00 00 00 00 01 00 00 00 0x00f0 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
システムを再起動させると、ipw2200ドライバにより欧州(ZZE)向けの周波数設定が割り当てられ、W52の11aが有効になります。
この変更をすることにより、もしかするとWindowsではトラブルが発生するかもしれません。
その際には、
ethtool -E eth0 magic 0x2200 offset 0x4e value 0x4a
として元に戻せばよいです。
・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。
まさにこれだ 2 (100%) |
表示できるメッセージはありません。