トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

NetBSDでつかえるUSB無線LANアダプターの調べ方

はじめに

この文書はNetBSD Advent Calendar 2016の23日目の記事として書かれました。

NetBSDでノートPCを使おうとすると、困ることのひとつが、新しめのPCほど、無線LANが動作しません。新しめ、といっても、たとえば、2011年発売、2012年生産終了のHP ProBook 4230sでも、今日現在(2016年12月23日)最新のリリースである、NetBSD 7.0.2でも内蔵の無線LANインターフェスはサポートされていません。[1]

こういった時は、いかんせん、有線LANにして、適当なコンバータをかますか、USB無線LANアダプターを挿して使うかを考えます。たいていの人は後者を考えると思うのですが、何を買ったら動くの、ということになります。

Google大明神におつげをうかがってもあまり色よい返事はもらえません。

この文書はNetBSDの初心者向けにUSB無線LANアダプタのかんたんな探し方を書いたものです。

注:NetBSDで、11nとか11acを使おうとしているんだったら、今のところ無理だと思っていた方がよいです。コンバータを考えましょう。

方針

デバイス名を調べて、それをmanで調べる、というものです。

Linuxしか使ったことがなくて、*BSDを使うと最初に違和感を感じるもののひとつが、ネットワークインターフェース名だと思います。ちょっと前だと、Linuxだと、もれなくeth0とかeth1とかでした。それが、*BSDだと、デバイスドライバの種類ごとに違います。re0じゃのex0じゃのaxe0じゃの、いろいろです。

この名前ごとにmanがあり、それに情報が載っているので、それを見ようというわけです。

探し方

 カーネルのコンフィグファイルを見る

CVSWebを使う

まず、NetBSD 7のコンフィグファイルを見ることから始めます。cvsweb.netbsd.orgを見ます。

カーネルのコンフィグファイルは src/sys/arch/PORTS/conf 以下にあります。PORTSは、NetBSDが移植されたアーキテクチャの名前です。普通のノートPC = intelの64bitCPUのノートPCだと思う[2]ので、src/sys/arch/amd64/confを見ましょう。

「GENERIC」をクリックします。これがコンフィグファイルです。(インストーラをつかってインストールすると、このコンフィグファイルでコンパイルされたカーネルがインストールされます。)

CVSリポジトリの履歴を見ていると思います。そこから、netbsd-7-base というCVS Tagsを探して下さい。

見つかったら、Revision番号をクリックして下さい。(この例だと、1.392です。)

「USB 802.11 adapters」という文字列を探して下さい。

なんとか at uhub? port ?	# コメント

という行があると思います。「なんとか」の部分を全部メモって下さい。

カーネルconfigファイルをCVS等で取得する

すでに、UN*X環境をおもちで、cvsコマンドがあるなら、NetBSDプロジェクトのanonymous cvsリポジトリから取得してもいいかもしれません。

 % cvs -d :pserver:anoncvs@anoncvs.jp.NetBSD.org:/cvs/cvsroot login
 Logging in to :pserver:anoncvs@anoncvs.jp.netbsd.org:2401/cvs/cvsroot
 CVS password:
 % cvs -d :pserver:anoncvs@anoncvs.jp.NetBSD.org:/cvs/cvsroot co -rnetbsd-7 src/sys/arch/amd64/conf/GENERIC
 U src/sys/arch/amd64/conf/GENERIC

CVS passwordは、公式サイトの案内を見ましょう。(Japanのanoncvs.jp.NetBSD.orgのところに書いてあります。)

取得したら、あとは上の『CVSWeb』をみながら、GENERICファイルの中身を検索して下さい。

 manを調べる

man.netbsd.orgで調べる

NetBSDをすでにインストールしている環境がある場合は、manコマンドが使えますが、そうでない人は、Webから調べましょう。man.netbsd.orgで調べます。

さっきメモしたデバイスドライバを一つ一つ見ていきます。Sectionは4、Architectureはamd64、CollectionはあなたがインストールしているorしようとしているVer.を選んで下さい。(7系の最新は7.0.2なので、それをここでは選んでいます。)

manが出てきたら、下の方にハードウェアの型番が書いてあるところがあります。

これがほしい情報でした。この型番情報を、Google大明神にきいてみるわけです。

FreeBSDのman.cgiで調べる

FreeBSDプロジェクトのmanのWebインターフェースは、NetBSDのmanを収録していて、そちらでも調べることができます。

ちなみに、FreeBSDプロジェクトのmanのWebインターフェースは、NetBSD以外にも、OpenBSDやCentOSやDebianやDarwin等、古いのだと、2.8BSDとかSunOS 4.1.3とかOSF1とかRedHat 4.2とか、他のOS等のmanも調べることができます。

NetBSDのmanコマンドで調べる

NetBSD環境があるひとは、それで調べるのが簡単です。

man 4 urtwn

のように、調べることができます。

問題点

調べ方は上記のとおりなのですが、調べてもなかなかみつかりません。発売されていなかったり、逆に「これ載ってないかな?」って調べても載っていなかったり。

そうなると、メーカーと発売時期をみつつ、「動くかも」で買うことになります。なんてこったい。でも、実際そうなります。

あるいは、NetBSD BoFや、OSC(オープンソースカンファレンス)等のイベントにブース出展している日本NetBSDユーザーグループのところや、各地のBSDユーザグループの会合に出掛けていって、きいてみる、というちょっと手間のかかることになります。最近ぜんぜん流れませんが、NetBSD MLで聞いてみてもいいと思います。(NetBSDな方々は、みんな見てることは見てるようなので。)

ぼくの個人的な感覚では、run, rum, urtw, urtwnを調べて、載っている型番や、それが発売されていた頃近辺で同じメーカーから発売されていたものを買ってみる、という方法になると思います。

USB無線LANアダプタに限らない

実は、カーネルのコンフィグファイルの情報からたどっていく方法は、USB無線LANアダプタに限らず、他でも同じです。まわりに聞く人がおらず、Google大明神のお告げがあまり有用でない場合、自分でできることとしては、この方法は他にも使えます。

自分が持ってるNetBSDで使えるUSBアダプター

最後に自分が持っているUSBアダプターを紹介します。

右から順番に

  • Planex GW-US54Mini2
  • Buffalo WLI-UC-GNM2T
  • Planex GW-USMicroN
  • Planex GW-USValue2

です。

 Planex GW-US54Mini2

 rum0: Abocom 802.11 bg WLAN, rev 2.00/0.01, addr 4
 rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, address xx:xx:xx:xx:xx:xx
 rum0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 rum0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps

すでに発売終了になっています。ぼくの環境では、一番安定して動き、長らくこれを使っていました。GW-US54Mini2Wという色違いのものもあります。そちらは試していませんが、たぶん動くと思います。ちょっと大きいのが玉にキズです。某所で中古で購入しました。

 Buffalo WLI-UC-GNM2T

 urtwn0: Realtek GW-USValue-EZ, rev 2.00/2.00, addr 4
 urtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R, address xx:xx:xx:xx:xx:xx
 urtwn0: 1 rx pipe, 2 tx pipes
 urtwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 urtwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps

ぼくが持っているものの中では、唯一現在も販売されています。一時期Planex GW-US54Mini2が不安定になって困っていた頃、@nonakap さんよりいただきました。発熱が大きく、長時間使っていると固まるときがあります。

 Planex GW-USMicroN

 run0: Ralink 802.11 n WLAN, rev 2.00/1.01, addr 4
 run0: MAC/BBP RT3070 (rev 0x0200), RF RT3020 (MIMO 1T1R), address xx:xx:xx:xx:xx:xx
 run0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 run0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps

こちらもすでに発売終了になっています。NetBSD 7になって動くようになりました。発熱もあまり大きくなく、安定して動作しますが、GW-USValue2を購入してから、あまり使わなくなってしまいました。某所のワゴンセールで中古で買った記憶があります。

 Planex GW-USValue2

 urtwn0: Realtek GW-USValue-EZ, rev 2.00/2.00, addr 4
 urtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R, address xx:xx:xx:xx:xx:xx
 urtwn0: 1 rx pipe, 2 tx pipes
 urtwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 urtwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps

こちらもすでに発売終了になっています。Buffalo WLI-UC-GNM2Tと同じような大きさで、チップも同じものだと思うのですが、こちらの方が発熱がやや少なく、これを購入したあとはもっぱらこちらを使っていました。(ただし、長時間使っていると、やはり固まるときがあります。)これはAmazonモデルで、店頭だとGW-USValue-EZという型番だと思います。Amazonモデルといいながら、某所で新品を売っていたところを買いました。

あとがき

NetBSD使っているひとって、みんな古くから使っていて初心者なんかいなさそうで(そんなことはない)、英語なんかもすらすら読めて(ぼくはちがう)、デバイスドライバ書いたりカーネルいじったりしていて(ぼくは超ちがう)、っていうすごいはっかー、ていう感じがします。

そんなことは全然全くさっぱりちっともないただの利用者たるぼくですが、何か書いてみることにしました。誰かのお役に立てれば幸いです。

ではでは。

明日のAdvent Calendarは

frandon_pigさんの「Leaf Rogueを2016年のNetBSD上で動かしてみる。」です。

  • [1]参考:@nonakap さんが、NetBSD 7用のパッチを書かれており、これをあてると使えるようになります。https://gist.github.com/nonakap/cf550eb90e768a08e44c
  • [2]でも、NetBSD界隈では、普通にSPARC Laptopとか出てくるので、「ふつう」ってむずかしいですww

間違いの指摘や、ご意見などは、FrontPageにある連絡先にメールを下さるとうれしいです。

最終更新時間:2016年12月25日 05時56分48秒