2011年3月22日火曜日

Debian Squeeze の無線LANを日本規格へ対応

アップグレードした ThinkPad A30 の Debian Squeeze の無線LAN (Wireless LAN) の日本規格へ対応させることができました。


現在はアメリカやカナダなどの無線LAN規格の 1ch から 11ch までしか対応していませんでした。これを日本の無線LAN規格の 1ch から 14ch までに対応させるものです。これで困っている読者さんは参考にしてみてください。

無線LANの環境が入っているパソコンで Debian Squeeze を立ち上げます。仮想端末で次のコマンドを入力して dmesg から cfg80211 が記述されている部分を抽出してみます。
# dmesg | grep cfg80211
[ 8.350515] cfg80211: Using static regulatory domain info
[ 8.350523] cfg80211: Regulatory domain: US
[ 8.351213] cfg80211: Calling CRDA for country: US
ご覧のようにアメリカの無線LAN規格となっていることが判明しました。

この cfg80211 の国の識別を日本へ変更します。方法はモジュール・オプションで行います。

/etc/modprobe.d/ の中に options のファイルが存在するか確認します。存在しなければ新しく作ります。
# cd /etc/modprobe.d/
# ls options
options のファイルが存在しなければ touch コマンドでファイルを作ります。
# touch options
この options の中にモジュールオプションを記述します。
options cfg80211 ieee80211_regdom=JP

options のファイルの編集が終了したところでパソコンを再起動させます。

パソコンが再起動したところで最初に確認した cfg80211 の設定を仮想端末から確認してみます。

# dmesg | grep cfg80211
[ 9.318618] cfg80211: Using static regulatory domain info
[ 9.318626] cfg80211: Regulatory domain: JP
[ 9.319253] cfg80211: Calling CRDA for country: JP
[ 9.319365] cfg80211: Calling CRDA for country: JP

これを見るとちゃんと日本の無線LAN規格に対応していることがわかります。

この後 network manager から無線LANで接続を試みます。私の家では 13ch で設定してありましたが ちゃんと認識して接続することもできました。

Puppy Linux でも同様の現象が発生していましたが同様の方法で対応可能かもしれません。今度確認してみたいと思っています。

これで Debian Squeeze の大きな問題点の一つが解決しました!以前から Puppy Linux でも困っていたモヤモヤだったので晴れ晴れとした感じになりました。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。