« 塩浸温泉 | トップページ | えらいこっちゃあ、イニシャルスティックが..... »

2010年12月 3日 (金)

OpenBlockS 600に無線LAN(USB)を接続する方法

ーー>12月7日に下記よりも真っ当な方法について書いてます

非常にピンポイントな情報なので、役に立つかどうかわかりませんが、備忘録として。

OpenBlockS 600は、Plat'Homeが販売しているマイクロサーバーです。手のひらサイズ
ながら、非常に高性能なマシンです。OSは、元々はSSD/Linuxという独自のディストリ
ビューションですが、最近は600DというDebianを搭載したバージョンもあります。
  -> 詳しくは、http://openblocks.plathome.co.jp/products/600/ をどうぞ。
私は、数台のOpenBlockS 600を機械制御実験用に使っています。サイズは本当に小さ
くていいのですが、有線LANケーブルの取り回しが繁雑で、せっかくの小ささが活かされ
ていないなあと思っていました。そこで、ネットワークの無線化をやってみました。
私のところでは、以下の手順でうまくゆきましたが、本当に正しいのかどうかはわかりま
せんので、ご参考まで。

機材:
OpenBlockS 600 は、0.5-RELEASE-20100911以上のファームウェアが必要。
コンパクトフラッシュからブートする場合も手順はほぼ一緒。
無線LANは、メーカーでの動作が確認されている Corega CG-WLUSBNM を使用。
(USB接続の小型LANアダプタ、価格は1500円くらいです)
  ->http://openblocks.plathome.co.jp/support/hwcompat/obs600.html

この無線LANアダプタを600Dで利用するには、8712uというカーネルモジュールが必要
ですが、これは多分元々の600Dの状態では含まれていません。あるとしたら、
 /lib/modules/2.6.29/kernel/drivers/net/wireless/8712u.ko
です。無い場合は、Plat'Homeのサポートページから kern.tgz というアーカイブをダウン
ロードする必要があります。現在の最新ファーム(0.5-RELEASE-20101118)の場合ですと、
  ftp://ftp.plathome.co.jp/pub/OBS600/0.5-RELEASE-20101118/powerpc-obs600/binary/kern.tgz
になります。
このkern.tgzを、ルートディレクトリで展開します(もちろんrootで)。
  #tar zxvf kern.tgz
これには、たくさんのドライバが含まれていますが、このままではgzに圧縮されたままな
ので、
  #find lib/modules/ -type f -name "*.ko.gz" | xargs gzip -d
として、さらに展開します。  ...実際、必要なのは8712u.koだけなのですが。
コンパクトフラッシュブートでない場合、これではram diskに展開されただけで、リブート
したら消えてしまうので、次の手順でFlash ROMに保存しておかなくてはなりません。
コンパクトフラッシュからブートしている場合は不要です。
/etc/flashcfgの最後に
    /lib/modules/2.6.29/kernel/drivers/net/wireless/8712u.ko
を書き込み、
  #flashcfg -s /etc/flashcfg
を実行します。これでリブート後も8712u.koが消えずにすみます。

あとは、次のコマンドを /etc/rc.local に書き加えるだけで動きました。

  /sbin/ifconfig eth0 down
  /sbin/insmod /lib/modules/2.6.29/kernel/drivers/net/wireless/8712u.ko
  /sbin/ifconfig wlan0 up
  /sbin/iwconfig wlan0 essid kerokero-id
  /sbin/ifconfig wlan0 192.168.10.236 netmask 255.255.255.0 broadcast 192.168.10.255
  /sbin/route add default gw 192.168.10.1

若干説明しますと、
1行目は、既存の有線LANであるeth0を無効にしています。無線(wlan0というデバイス
名になります)とeth0が同じアドレスだったりする場合、使わないeth0は無効にした方が
いいと思います。
2行目は、無線のモジュールの組み込みです。この状態で /sbin/iwconfig をやると、ちゃ
んと無線LANがwlan0として認識されていることがわかります。
3行目で、wlan0をアップしています。これをしておかないと、多分次のessid設定が失敗
します。 ...ここは、私、かなりはまりました。
4行目で、接続するアクセスポイントのssidを設定しています。アクセスポイントでWEPな
どの認証を使っている場合は、そのkeyもここで設定する必要があると思います。
5行目でIPアドレスなどを設定しています。もし、DHCPでアドレス等を取得するならば、
    /sbin/dhclient wlan0
とかでもいいです。
6行目はデフォルトルートの設定です。これはもちろんrc.confの内容に従ってすでに設
定されているはずですが、私の場合その後eth0をダウンしてしまっているので、デフォ
ルトルートも消えてしまっていました。このままだと、サブネット内としか通信できません。

rc.localも、このままでは再起動時に消えてしまうので、もう一度
  #flashcfg -s /etc/flashcfg
を実行して、Flash ROMに保存しましょう。

私の場合、いずれの600Dも以上の手順で無線LANが動作しましたが、本当はrc.local
ではなく、もっとこういう設定をするべきところがあるのかも知れません。たとえば、
/etc/rc.confのような。でも、モジュールの読み込み順序とかも、からんできますよね。
それから、600Dのweb設定画面では、無線LANの設定とかはできないようです。

にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

|

« 塩浸温泉 | トップページ | えらいこっちゃあ、イニシャルスティックが..... »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/152716/50201386

この記事へのトラックバック一覧です: OpenBlockS 600に無線LAN(USB)を接続する方法:

« 塩浸温泉 | トップページ | えらいこっちゃあ、イニシャルスティックが..... »