GOL @Wiki

WiFiを使用したWireless環境の設定

最終更新:

divadiva

- view
管理者のみ編集可


OpenSolarisはWiFi環境にも対応している。
が、実際に設定を行ってみると、すんなりいかないことも多いのではないだろうか。OpenSolarisがどうこう、というよりも、一般的な無線LAN設定の問題、もあるわけだが、とにもかくにも、実際につながるまで発生した問題などを書いておく。

デバイス設定

まず最初にしなければならないのは、Wireless NIC Driverのインストールである。
なので自分が使用しているWiFi NICがどのようなチップを使用しているのかを知らなければならない。そしてそのチップ用のドライバが入手できなければ話にならん!と。

私のマシンはIntel Pro Wireless 2100Bというチップを使ったNICを内蔵しているので、OpenSolarisのサイトから対応するドライバ(ipw)をダウンロードしてインストールした。
OpenSolarisのサイトにはマシン再起動しなくても認識されると書いてあるが、私の場合はインストール直後に、
 # ifconfig ipw0 plumb
しても認識されなかった。
だが、再起動後にifconfigコマンドを実行すると、無事認識され、マシンのWiFiアンテナランプが点灯した。

(注意 2006/07/23)
この時点でエラーが発生してうまくいかないことがある。
  1. ドライバインストール時に「インストールはしたけどattachできねーよ」といわれる
  2. ifconfig ipw0 plumb すると file not found などというエラーが出る
  3. OS起動時に undefined symbol error が発生する(mac_freeがどうのこうの)
これらはカーネルのbuildバージョンとドライバがマッチしていない場合に出てくるのだ!
たとえばipw-0.5のドライバはon build 44以上を要求しているのだ。カーネルが古い場合はipwドライバも過去のものを使おう。

WiFi設定

デバイスが認識されたら、wificonfigコマンド(これもOpenSolaris.orgからパッケージを入手してインストールしておく)でWiFiの接続設定プロファイルを設定する。
ESSID、暗号化方式、認証方式などを設定するわけだが、一つ注意点。ipwのmanページにも記述があるが、現時点ではSharedKey認証がサポートされていない。認証方式としてはOpenSystem方式を利用することになるので、AP側の設定を、SharedKey固定などにしておくと接続ができないので注意である。
暗号化についてはWEPのみサポートされており、WEPキーは40bitまたは128bitのASCII文字列あるいは16進文字列が使用可能である。

また、wificonfigではなくGUIの設定ツールinetmenuを使用する場合、最近のAPが備えるESSID秘匿モードには対応しないので注意したい。wificonfigのscanコマンドで取得できないESSIDはinetmenuの設定対象にならないので、そういう場合はinetmenuではなくwificonfigで設定しなければならない。

で、例えば下記のコマンドで接続ができる。
手順としては、まずプロファイルを作成し、次にネットワークインタフェースに対してプロファイルを割り当てる、というかたちである。

まずはプロファイルの作成。ESSIDがプロファイル名となる。下記コマンドでは、WEP暗号化方式を指定し、WEPキー1に対してキー文字列を割り当て(1~4まで指定可能)、キー1を使用することを宣言している。
 # wificonfig createprofile essid=YOUR_ESS_ID encryption=WEP wepkey1=YOUR_WEB_KEY wepkeyindex=1

プロファイル自体はいくつでも作成できる。作成したプロファイルは下記のコマンドで確認可能である。
 # wificonfig showprofile

そしてプロファイル名をネットワークインタフェースipw0に割り当てる。インタフェース名は、使用するWirelessデバイスドライバによって異なる。
 # wificonfig -i ipw0 connect YOUR_PROFILE_NAME

この後、

 # wificonfig -i ipw0 showstatus

として、linkstatus:connected と表示されていれば、とりあえず接続だけは成功したことになる。

もしそれでもネットワークがうまくつながらなかった場合は、ifconfigコマンドで一度WiFiインタフェースをDOWNさせ、再度UPさせてみよう。

inetmenuに注意!

GUIツールのinetmenuには注意が必要。
svcsコマンドでも確認できるが、こいつはboot時にdhcpサーバにアクセスに行く。boot時にはAPに接続されていないので、dhcpサーバへのアクセスに失敗し、結果としてIPアドレスが不明な/etc/hostsファイルが生成される。

(APに接続するには wificonfig -i ipw0 connect~ コマンドが実行されなければならないが、通常boot up時にこのコマンドが自動実行されることは無い)

たとえば/etc/hostsにstatic addressとマシン名を書いてあったとしても、それが削除されて、対応するIPアドレスが空になってホスト名だけが記述された、不正な/etc/hostsに書き換えられてしまう。
この動作は将来改善される可能性があるようだが、現時点ではどうしようもないので、inetmenuをsvcadmなどでdisableしておくことをおすすめする。

詳しくは、OpenSolaris.orgのDiscussonsの
Automatic WiFi Connect on boot」スレッドを参照。

最終的にこんなんなりました!

このところ出張でPCを持ち歩くことが多くなり、NW環境を頻繁に切り替えるようになった。また、当初はinetmenuふざけるな的な感じでいたわけだが、その後バージョンも上がり、変な動きをすることはなくなった(みたい)。
なので結局inetmenuを全面的に使うことになった。

ホテルのネット接続環境は通常DHCPになるが、その環境はホテルによって微妙に異なる。当初は手作業で設定していたが、環境毎の「くせ」に合わせるのが非常にめんどくさいので、まぁやはりinetmenuが良いのである。

で、DHCPの設定についてもinetmenuで選択すればいいだけなのでとても簡単なのだが、やはりinetmenuの「くせ」がこれまたあったりするので、私は少しいじっている。

詳細についてはこちらのinetmenuの項目を参照。


記事メニュー
目安箱バナー