はじめに

このページは、「Linux上のIntel Wireless 2915abgで11a通信できるようにする(ソフトウェアで解決)」の続きです。

ipw2200のパッチを書いていて気が付いたのですが、実は変更した最新の日本(ZZJ)の無線周波数の記述は欧州(ZZE)とほぼ同じです。
厳密には、日本国内向けの11b向け14チャネルが欧州版にはないのですが、この「11b 14チャンネル」に対応した無線LAN機器は少ないので、接続出来無くても実害は少ないです。

実は、2915abgのEEPROMは書き換えることができるので、EEPROMのカントリーコードZZJをZZEに書き換えることで、Linux側のドライバに手を入れることなく11a通信ができそうです。

このページでは、2915abgのEEPROMの書き換え方について説明します。

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」にコピーして展開し、中に同梱されているカーネルモジュールをロードします。

ethoolによる書き換え
$ cp -p /mnt/uba1/ipw2200.tar.gz /ramdisk
$ cd /ramdisk
$ tar -xvzf ipw2200.tar.gz
$ cd ./ipw2200-1.0.3
$ modprobe ipw2200

ドライバのロードが完了したら、書き換え対象のEEPROMの内容を確認します。

ethoolによるEEPROMの内容確認
# su
$ ethtool -e cp -p /mnt/uba1/ipw2200.tar.gz /ramdisk

上記のようにすると、以下のような表示が出ます。
(XXはMACアドレスなど、デバイス毎に固有の値が入ります。)

変更前のEEPROMの内容
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など、別のデバイスを確認してください。

確認が済んだら、次はいよいよ書き込みです。
書き換えのコマンドは以下の通りです。

ethoolによる書き換え
$ ethtool -E eth0 magic 0x2200 offset 0x4e value 0x45

これにより、2915abgのカントリーコードがEEJからEEZに書き換えられます。

変更後のEEPROMの内容
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ではトラブルが発生するかもしれません。
その際には、

ethoolによる書き換え
ethtool -E eth0 magic 0x2200 offset 0x4e value 0x4a

として元に戻せばよいです。


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まさにこれだ
2 (100%)

表示できるメッセージはありません。