昨日はUSBドライブからOpenSolarisを起動できるメディアを作りましたが、そのままでは無線LANが使えませんでした。今日は30GBのSSDを買ってきてHDDを換装し、OpenSolarisをHDDにインストールした上で無線LANのドライバをインストールしました。
まず、アプリケーション→システムツール→デバイスドライバユーティリティ
で、無線LANのチップセットに何が使われているかを調べます。ネットワークのデバイスに Broadcom Corporation BCM4312 802.11a/b/g が使われていました(ロットやモデルによって違うかもしれません)。
次に、BCM4312のドライバが用意されているかどうかを調べます。
http://www.sun.com/bigadmin/hcl/data/systems/details/6609.html
を見ると、「NDISのラッパーをダウンロードせよ」と書いてあり、次のページにリンクが張ってあります。
http://opensolaris.org/os/community/laptop/wireless/ndis/
ここには、「Windows用のドライバ(NDIS)とNDISラッパーツールキットを入手して自分でコンパイルしなさい」と書いてあります。うはー、これは大変。gccからインストールしなければなりません。
まず、パッケージマネージャで次のパッケージをインストールします。
http://dlc.sun.com/osol/on/downloads/current/ からSUNWonbld.i386.tar.bz2 をダウンロードして展開し、ルート権限でインストールします。
http://h50222.www5.hp.com/support/FH486PA/more_info_soar_ob-66462-1.html
配布ファイルはexe形式なので、Windows環境で解凍してBCMWL5.INFとBCMWL5.SYSを取り出し、ターゲットのOpenSolaris環境にコピーします。
BCMWL5.INFの文字コードはUTF-16なのでasciiに変換してndis.infとして保存します。
http://www.opensolaris.org/os/community/laptop/wireless/ndis/ndis-1.2.1.tar.gz
展開したディレクトリのi386にndis.sysとndis.infをコピーします。
展開したディレクトリのi386で次の順に実行します。
ただ、ドライバをインストールしただけでは、すぐに使えるようにはならず、システム設定→ネットワークで手動に切り替えて設定したり、リブートしたりしてもなかなかうまく繋がらなかったのですが、いろいろやっているうちに何かの拍子に繋がるようになりました。NDISドライバを流用する方法は、あまり安定していないのかもしれません。
irc.freenode.net#opensolaris-jp で kohju さんにいろいろ教えてもらいました。ありがとうございました。
まず、アプリケーション→システムツール→デバイスドライバユーティリティ
で、無線LANのチップセットに何が使われているかを調べます。ネットワークのデバイスに Broadcom Corporation BCM4312 802.11a/b/g が使われていました(ロットやモデルによって違うかもしれません)。
次に、BCM4312のドライバが用意されているかどうかを調べます。
http://www.sun.com/bigadmin/hcl/data/systems/details/6609.html
を見ると、「NDISのラッパーをダウンロードせよ」と書いてあり、次のページにリンクが張ってあります。
http://opensolaris.org/os/community/laptop/wireless/ndis/
ここには、「Windows用のドライバ(NDIS)とNDISラッパーツールキットを入手して自分でコンパイルしなさい」と書いてあります。うはー、これは大変。gccからインストールしなければなりません。
まず、パッケージマネージャで次のパッケージをインストールします。
gcc
GNU m4
Flex Lexer
http://dlc.sun.com/osol/on/downloads/current/ からSUNWonbld.i386.tar.bz2 をダウンロードして展開し、ルート権限でインストールします。
# pkgadd -d onbld SUNWonbld
次にHPのホームページからwlanのドライバをダウンロードします。http://h50222.www5.hp.com/support/FH486PA/more_info_soar_ob-66462-1.html
配布ファイルはexe形式なので、Windows環境で解凍してBCMWL5.INFとBCMWL5.SYSを取り出し、ターゲットのOpenSolaris環境にコピーします。
BCMWL5.INFの文字コードはUTF-16なのでasciiに変換してndis.infとして保存します。
# iconv -f utf-16 -t ascii driver.inf > ndis.inf
また、BCMWL5.SYSをndis.sysにリネームします。# mv BCMWL5.SYS ndis.sys
NDIS wrapper toolkit V1.2.1を次のURLからダウンロードして展開します。http://www.opensolaris.org/os/community/laptop/wireless/ndis/ndis-1.2.1.tar.gz
展開したディレクトリのi386にndis.sysとndis.infをコピーします。
展開したディレクトリのi386で次の順に実行します。
# make ndiscvt
# ./ndiscvt -i ndis.inf -s ndis.sys -o ndis.h
# make ndis
# cp bcmndis /kernel/drv/bcmndis
# make ndisapi
# cp ndisapi /kernel/misc
これでドライバの準備は完了です。次のコマンドでドライバを読み込みます。# ./ndiscvt -i ndis.inf -s ndis.sys -o ndis.h
# make ndis
# cp bcmndis /kernel/drv/bcmndis
# make ndisapi
# cp ndisapi /kernel/misc
# add_drv -i '"pci103c,1372"' bcmndis
"pci103c,1372" の所は何の指定なのかよく分かりませんでしたが、デバイスドライバユーティリティの詳細画面に表示されていたbinding nameを入力したらうまくいきました。ただ、ドライバをインストールしただけでは、すぐに使えるようにはならず、システム設定→ネットワークで手動に切り替えて設定したり、リブートしたりしてもなかなかうまく繋がらなかったのですが、いろいろやっているうちに何かの拍子に繋がるようになりました。NDISドライバを流用する方法は、あまり安定していないのかもしれません。
irc.freenode.net#opensolaris-jp で kohju さんにいろいろ教えてもらいました。ありがとうございました。
投稿:竹形 誠司[takegata]/2009年 01月 21日 04時 50分
/更新:2009年 01月 21日 04時 56分