2012年10月7日日曜日

続・無線LANでハマったです

外出専用機と自宅の実験機はGateway EC19C-N52Cで、無線LANコントローラはBroadcom BCM43225。前回、このパソコンでカーネル3.2のCrunchBang Linux(Statler 20120207 64-bit Stable+Backports)を動かして、12chの無線APに接続できたですが、そもそもカーネル3.2を使ったのは、「動作がモッサリしてるなら、新しいカーネルにアップブレードしたら?」という書き込みをネットのどこかで見た(気がする)からなのでした。では、カーネル2.6のDebianとCrunchBangで12chの無線APに接続するにはどうすれば良かったのか、長期間ハマったので整理しておきたいかな、とか思ったです。

USBメモリに、「小型のCD」のDebian GNU/Linux(6.0.5 squeeze amd64)をインストール。Xorgをインストールする前のコマンドラインでは、けっこう快適。でも、Xfce4(とgdm)をインストールすると、ログイン前後は遅いし、シャットダウンはもっと遅い。Xorg --configureを実行して /etc/X11/xorg.confを作って、再起動後に/var/log/Xorg.0.logを確認したりしたけど、何が原因なのか、困ったことに未だにわからん....
 

sudoでrootになって、
echo 'options cfg80211 ieee80211_regdom=JP' > /etc/modprobe.d/cfg80211.conf
を実行することで、モジュールcfg80211にRegulatory domainとしてJPを渡すように設定して再起動、ログインしてとりあえず確認。 


Regulatory domainを指定しない場合やX2を指定した場合は、countryはUSになった。





では、
aptitude -y install firmware-brcm80211
modprobe -rfv brcm80211
depmod -av
modprobe -v brcm80211
update-initramfs -u
を実行し、再起動させてログイン。


countryがUSだと11chまでだが、JPだと14chまで表示される。遠くにある5chの無線APには繋がるが、/var/log/kern.logに、「Short CCK」が1秒間に何度も出力されるのは相変わらず。


次に、BroadcomのHPからドライバをダウンロードし、/usr/srcに置いて、/usr/src/tmpを作成して、ここに展開して、
make API=CFG80211
make install
/etc/modprobe.d/blacklist.conf に、"blacklist brcm80211"を追加して、
modprobe -rfv brcm80211
depmod -av
modprobe -v wl
update-initramfs -u
を実行し、再起動させてログイン。この状態が、12chの無線APに繋がらなくなったときと同じ。


802.11b/g/nなのに、なんで5GHz帯まで.... 表示だけの問題、ってことにしとく。



 

  
続いて、ドライバを展開した/usr/src/tmpで、
make clean

make API=WEXT
make install
modprobe -rfv wl
depmod -av
modprobe -v wl
を実行し、再起動させてログイン。


cfg80211は使われないので、cfg80211にRegulatory domainを渡す設定は意味ないっすね。





んー。では、

aptitude -y install broadcom-sta-common broadcom-sta-source
cd /usr/src

bzcat broadcom-sta.tar.bz2 | tar xvf -
cd modules/broadcom-sta/amd64
make
make install
modprobe -rfv wl
depmod -av
modprobe -v wl
を実行し、再起動させてログイン。


12chの無線APに繋がったです。







ということで、broadcom-sta-sourceをコンパイルしてインストールすれば良かったのね、といちおう納得したのでした。
Debian、6.0.6が出てるですね。

0 件のコメント:

コメントを投稿