2012年12月16日日曜日

今更WLA2-G54にDD-WRTのファームウェアを導入


無線LANのアクセスポイント更新を検討しているので、現在使用している二台のWLA2-G54を処分するか何かに使い回すかと思案している。
無線LANコンバーターとして使うかWDSとして使うかが有力なのだが、標準のファームウェアではWDS化は出来ても、暗号には五分で解析できるWEPしか指定できない。

インターネットを徘徊して調べてみると、我が家のWLA2-G54でもdd-wrtなるプロジェクトが開発している無線ルーター向けの汎用ファームウェアが使えそうだとわかった。
ただしファームウェアの更新にはリスクを伴い、失敗すると機体が置物へと進化を遂げてしまう。二台あるので一台ぐらい生け贄にしてもいいよね、というわけでファームウェアの導入を試みてみた。

「http://www.dd-wrt.com/wiki/index.php/Supported_Devices」にて対応している機種を調べることが出来るので、まずはこちらから該当機種をチェック。幸いにもWLA2-G54はリスト入りしていたので、「http://www.dd-wrt.com/」のダウンロードぺージにて対応したファームウェアを探すことになる。
「Path: Downloads > stable > dd-wrt.v24 SP1 > Consumer > Buffalo > WLA2-G54」と該当機種までさくさくと進み、WLA2-G54のフラッシュメモリに入れられるサイズのファームウェアイメージをダウンロードする。とはいえminiとかmicroとかに対する説明が見あたらないのでどう違うのかはよくわからない。
今回は日和って「v24 PS1」という安定版を選択したが、標準ではベータ版が推奨されている。フィードバック募集中ということなのだろう。

ファームウェアの更新方法は二つあり、ルーターorアクセスポイントの管理画面からファームウェアの更新を行う方法と、アクセスポイントの起動時にtftpでファームウェアを送り込み更新を行う方法がある。
管理画面経由はバージョンの偽装工作のためにバイナリエディタが必要で、起動時滑り込みはtftpクライアントが必要となる。

今回はdd-wrtにてtftpクライアントソフトも手に入ったのでtftpにて更新。
WLA2-G54のIPアドレス、パスワード、dd-wrtの更新ファームウェアを指定し、後はWLA2-G54の再起動数秒後にtftpによる送信をするのみ。タイミングが合いづらいが数回の再起動で送信が開始され、後はプログレスバーがすすっと端まで進んでフラッシュメモリの更新が終わった後にWLA2-G54を再起動するだけだ。

再起動後はWLA2-G54のIPアドレスが「192.168.1.1」になるので、作業PCのIPアドレスを変更してアクセスできるようにしなければならない。
つながったら促されるままにユーザー名とパスワードを更新し、IPアドレスと無線LANの暗号化などを施してひとまず完了となる。

dd-wrtの方はといえば設定項目が大変豊富なものの、本家のwikiなどドキュメントが豊富なのが嬉しい。安定して動くかはバージョン次第であるようだが、予備機で試すには楽しい一品となりそう。

2012年12月11日火曜日

vmplayerをdebian6に入れてみた時のメモ。

debian上でwindowsの一つも動かしたら楽しかろうということで、debianにvmplayerを導入した際に見舞われたトラブルの対処をメモしておく。

環境: debian 6 (squeeze) 64bit
導入したvmplayer: VMware-Player-5.0.1-894247.x86_64.bundle 

X上にてVM(略).bundleを実行して自動でインストールまでは問題なく進んだが、いざvmplayerを実行したときに問題に遭遇した。
「VMware Kernel Module Updater」なるタイトルのウインドウが、カーネルヘッダーが見つからないのでモジュールがコンパイル出来ないと告げ、正しい位置を入力するよう求めてきた。
「/usr/src」下にあるカーネルヘッダーのありかを入力しても「c header files matching your running kernel were not found(略)」とでて先に進めない。
vmwareのログ「/tmp/vmware-$USER/vmware-modconfig-数字.log」を見てみると「include/generated/utsrelease.h」なるファイルが見つからず、ついでにgccが足りないらしい。
同じような事例がないか検索して調べてみると、シンボリック作成で事なきを得たらしいケースがあったのでそれに従い必要なパッケージとシンボリックリンクの作成を行った。

パッケージの取得
kernel-headersとgcc-4.3の取得。バージョン部分は$(uname -r)か`uname -r`で置き換えると楽になる。
# apt-get install linux-headers-`uname -r`
# apt-get install gcc-4.3

シンボリックリンクの作成
debian特有かそうでないかはわからないが、「utsrelease.h」は「include/generated」でなく「include/linux」下にあった。また。gcc-4.3をインストールしてもgccの名では配置されないのでこれも作成する。
# cd /usr/src/linux-headers-`uname -r`/include/
# ln -s linux generated
# ln -s /usr/bin/gcc-4.3 /usr/bin/gcc

この後にvmplayerを実行したところ無事にインストール作業が完了し、vmplayerの起動画面に進むことが出来た。