Debianで無線LAN

Debian 3.1
Sargeでメルコの無線LANカードWLI-CB-G54Lを使用出来るようにするための覚書。
まず、Debianをkernel
2.6でインストールしておく。2.4系列だとバイナリパッケージのndiswrapperが存在しない。
2.6をまともに動くように設定したら、ndiswrapper,wireless-tools,wpasupplicantを導入する。
次に、メルコからWLI-CB-G54L用のドライバー(現時点では6.61)を取ってきて展開する。grepでWLI-C…

Debian 3.1 Sargeでメルコの無線LANカードWLI-CB-G54Lを使用出来るようにするための覚書。

まず、Debianをkernel 2.6でインストールしておく。2.4系列だとバイナリパッケージのndiswrapperが存在しない。

2.6をまともに動くように設定したら、ndiswrapper,wireless-tools,wpasupplicantを導入する。

次に、メルコからWLI-CB-G54L用のドライバー(現時点では6.61)を取ってきて展開する。grepでWLI-CB-G54Lが記入された.infを探すとcbg54/net2pg54.infらしい。

で、そのディレクトリに移動して、ndiswrapper -i net2pg54.infを実行すると、infとsysが/etc/ndiswrapper/net2pg54にコピーされ、カード用のconfが作成される。ところがどっこい、このままだと、カードをさすとbcmwl5.sys以外のsysも読み込もうとして、カーネルスタックが不足してドライバ読み込みに失敗してしまう。そこで、bcmwl5.sys以外のsysファイルを削除しておく。

で、modprobe ndiswrapperでmoduleをロードした後にカードを刺すとwlan0のインターフェースが有効になる。

WEPで使用するには—

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/767ndiswrapper.html

iwconfig essid [ESSID]
iwconfig key restricted s:[WEP-KEY]

でESSIDとWEP-KEYを設定した後に

dhclient wlan0

でDHCPでIPをとれば通信可能になる。

WPAで使用するには—

http://umb.at.webry.info/200411/article_6.html

まず、WPAのパスフレーズをファイルに記録する。

wpa_passphrase [ESSID] “[WPA-PSKパスフレーズ]” > /etc/wpa_supplicant.conf

このファイルをごにょごにょいじって、以下の様なフォームに設定する。

ctrl_interface=/var/run/wpa_supplicant
network={
ssid=[ESSID]
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk=[生成した暗号化パスフレーズ]
}

で、modprobe ndiswrapperでモジュールを読み込んだ後に、

wpa_supplicant -Dndiswrapper -iwlan0 -c/etc/wpa_supplicant.conf -Bw

でバックグラウンドでwpa_supplicantを走らせる。

dhclient wlan0

でDHCPでIPを取らせればオッケー。

X20マルチブート化

手始めにマルチブート化を試みる。
使いたいOSはFreeBSDとLinux。あとサブにWindowsも念のために入れておく。
まずは12GBしかない内蔵HDDを手持ちの30GBのものに交換する。といっても、背面のねじを一つ外すとHDDがするりと出てくるので、アルミのマウンターを交換して元通り入れるだけ。注意したいのは9.5mmのものしか使えないということぐらいか。っとその前に12GBなドライブの方に動作確認のために入っていたWindows2000を使って、BIOSとIBM独自のコントローラープロ…

手始めにマルチブート化を試みる。

使いたいOSはFreeBSDとLinux。あとサブにWindowsも念のために入れておく。

まずは12GBしかない内蔵HDDを手持ちの30GBのものに交換する。といっても、背面のねじを一つ外すとHDDがするりと出てくるので、アルミのマウンターを交換して元通り入れるだけ。注意したいのは9.5mmのものしか使えないということぐらいか。っとその前に12GBなドライブの方に動作確認のために入っていたWindows2000を使って、BIOSとIBM独自のコントローラープログラムのバージョンアップをする。IBMはeFlash版を使うとWindowsからフラッシュのアップデートが出来るのでFDDはいらない。

さてさて、ウルトラベースも付いていないので、インストールは外付けのUSB接続CD-ROMドライブで行う。電源投入直後ならF1でBIOSに入れるので、StartupをCD-ROMにしてあげればそれだけでCD-ROMから起動する。ホットスタート直後だと入れないので注意。

まず、WindwosXPのインストールCDで起動。パーティションを全削除した後に、先頭に10GBの基本領域を作成して、NTFSにフォーマットしてインストール。WindowsXPのインストールが終わったら続けてSP2をインストールしておく。SP2インストール後に、IBMからソフトウェア導入支援プログラムを落としてくる。IBMはこのソフト一つで全てのアップデートを自動で入れてくれるので好き。X20は対象外ということになってるが、ちゃんと動く。:-)

導入支援プログラムで最初にLenovoのRescue & Recovery Programってのを入れるか?と聞いてくるのでよくわからないが入れる。いつか役に立つだろう。で、続けてThinkPad用の追加プログラムを自動でインストール。2つほど依存関係が不明なので手動で入れろと言われる。手動で入れようにも展開されたフォルダにナビゲートしてくれないので、IBMのページでパッケージのファイル名を確認した上で、自分でそのファイル名に一致するフォルダに移動して手動セットアップ。これが終わると、デバイスマネージャーでの不明なデバイス表示も解消する。

その後、WindowsUpdateをひたすら繰り返した後に、念のためAvast AntiVirusを入れてWindowsのセットアップは完了。

最初にWindowsを入れたのは、実はHDDのパーティションを切るため。管理ツール内のディスク管理ツールで、未使用領域に8GBの拡張領域を2番目に、8GBの基本領域を3番目に、残りをFAT32の基本領域として確保する。最近のLILOやBootEasyは先頭8GB以内にカーネルをおかないといけない制限がないので気にしない。

パーティションを切ったら次にFreeBSDを入れる。選んだのはリリース直後のFreeBSD-6.0。何も考えずにmini-install CDから起動して、ネットワークインストール。BootEasyはFreeBSDの起動確認のためにMBRに一応入れておく。どうせすぐにLILOで上書きされるけど。FreeBSDは基本領域にしかインストール出来ないので、インストールする領域は3番目の基本領域。スライスエディタでこのスライスのパーティションタイプをFreeBSDの165に変更。さらにパーティションエディタでルートとswapに分ける。ここで、4番目のFAT32でフォーマットした基本領域も/dosにマウントするようにしておく。もちろんこのパーティションはフォーマットしない。後は、成り行き任せでフルインストール。再起動して、ちゃんと起動することを確認。

最後にVine Linux 3.2をインストール。なぜこれを最後にしたかというと、VineのLILOはグラフィカルな画面でカーソルで起動パーティションを選んで起動できるので、一番かっこいい。だから、最後にこれでMBRを上書きしたいから。で、注意するのは、起動時に普通に起動せず、boot:のプロンプトにlinux usb-storageと入力してUSB-CD-ROMを使用可能にしておく。これを指定するとanacondaというグラフィカルなインストーラーが起動するのでインストールが非常に楽。で、diskdruidで2番目の拡張領域内にswap領域とroot領域を確保。LinuxはFreeBSDの様に領域内に仮想のパーティションを作るのではなく、あくまでそれぞれを領域として確保しないといけないので、拡張領域内にパーティションを切る。で、フルインストール。途中LILOの設定で、FreeBSDを無視されるのと、何もインストールしていないFAT32な領域を起動領域にされるが、後で修正するので無視。

で、再起動するときれいなLILOのブート選択画面が出るので、Linuxを選んでリターンでVineが起動する。

Vineのメニュー内にLILOを設定するツールがあるので、dosを起動する設定の起動パーティションをFreeBSDの領域に変更して、ラベルをFreeBSDにしてあげる。ついでにデフォルト起動領域をWindowsに変えて、選択待機時間を60秒にしておく。これで再起動すると、見事に3つのOSのマルチブート環境が手に入る。後日GRUB等に変えるかもしれないけどね。

X20との格闘記録序章

旅行用のモバイルノートが欲しくなって物色していた。
条件は、極力軽くするために1スピンドル。で、PC-UNIXをメインにサブにWindowsを使いたいので、ゴテゴテしたメーカー製特殊装備はむしろ無い方がいい。んでもって、めったに使わないサブマシンなので限界まで安値を狙いたい。
PC-UNIXで問題なく使えるという条件を付けるとなると、シンプルな構成のThinkPadが最大の候補にあがる。で、中古で1スピンドルの軽量ThinkPadとなるとs30だが、こいつはUSBポートにガタがきやすいのと、人気…

旅行用のモバイルノートが欲しくなって物色していた。

条件は、極力軽くするために1スピンドル。で、PC-UNIXをメインにサブにWindowsを使いたいので、ゴテゴテしたメーカー製特殊装備はむしろ無い方がいい。んでもって、めったに使わないサブマシンなので限界まで安値を狙いたい。

PC-UNIXで問題なく使えるという条件を付けるとなると、シンプルな構成のThinkPadが最大の候補にあがる。で、中古で1スピンドルの軽量ThinkPadとなるとs30だが、こいつはUSBポートにガタがきやすいのと、人気があるので中古でも6~7万の値段がするので却下。となると狙い目はX20系列。X22あたりの中古の出物が多いので3~4万で手に入りそうではあるが、外装があまりにもボロいものが多い。

と思っていたら、偶然、驚くほど外装がきれいなX20を発見。外装のどこにも傷が見当たらない。しかもうれしいことに、どのノートでも見苦しくなるIntel Insideのシールが跡形も無く剥がされている。ここに強く惹かれたね。

スペック的には余分なものを極力廃止してるところもいい。さらに純正アダプターと純正バッテリーがついていて、しかもバッテリーの劣化もなし。

てなわけで、即決。ここよりX20との格闘の日々が始まる。ただし、エントリー作成は後日なので日記ではない。:-P

FreeBSD ports Broken

久しぶりに時間がとれたので、えいやっとFreeBSDなサーバーのportsを一気にupgradeしたらトラブル大発生。
一つはXFree86関連で、一連のPortsのうち、XFree86-Serverだけがpatch不良でmakeが通らない。
x11-server/XFree86-4-Server
4.5.0,2が、おそらくXFree86のソースパッケージが同じファイル名のままで更新されてしまったので、パッチが通らない。しかも、ftp.jp.freebsd.orgのdistfilesに入ってる…

久しぶりに時間がとれたので、えいやっとFreeBSDなサーバーのportsを一気にupgradeしたらトラブル大発生。

一つはXFree86関連で、一連のPortsのうち、XFree86-Serverだけがpatch不良でmakeが通らない。

x11-server/XFree86-4-Server 4.5.0,2が、おそらくXFree86のソースパッケージが同じファイル名のままで更新されてしまったので、パッチが通らない。しかも、ftp.jp.freebsd.orgのdistfilesに入ってるソースパッケージも更新されてしまっている。結局、一連のPortsのうちでServerだけが入らないので、この状態だと怖くてXFree86は動かせない。サーバーで良かったよ。クライアントマシンだったら致命的だな。

もう一つはSamba3。FreeBSD-4系列ではmakeできなくなっちゃってる。

SystemのKerberosで供給されるlibcryptoとOpenSSLで供給されるlibcryptoが整合性がとれないので、Active Directory SupportがONだとmakeできないよ、ってメッセージが出るんだけど、WITHOUT_ADS=onとかつけてもちゃんとスルーしてくれない。っていうか、初期設定だとoffだろうが。

この辺、グーグっても全然情報もないので、portsのupdate待ちかなあ。

英語版Palmのためのdelegate文字コード変換proxy

英語版Tungsten
T5をJaPonで日本語化してみたのだが、付属のWebブラウザがShiftJISしか認識しやがらないので、delegateを使って文字コード変換サーバーを立ち上げてみる。
重要なのは、ダイジェスト認証によって第三者の不正利用を防ぐこと。
1.delegateのインストール
delegateは汚いプログラムらしく、FreeBSDのportsはdistfilesももっていないので、本家のhttp://www.delegate.org/からportsのバージョンにあったものを持…

英語版Tungsten T5をJaPonで日本語化してみたのだが、付属のWebブラウザがShiftJISしか認識しやがらないので、delegateを使って文字コード変換サーバーを立ち上げてみる。

重要なのは、ダイジェスト認証によって第三者の不正利用を防ぐこと。

1.delegateのインストール

delegateは汚いプログラムらしく、FreeBSDのportsはdistfilesももっていないので、本家のhttp://www.delegate.org/からportsのバージョンにあったものを持ってくる。FreeBSDのportsはbz2を要求してたので、gunzip後にbzip2してbz2なアーカイブに変換した。

portinstall -M FORCE_BUILD=YES delegate

で一発オッケー。

2.delegate立ち上げshスクリプトの変更

/usr/local/etc/rc.d/delegate.shを用意する。
—-
#!/bin/sh

umask 027
if [ -x /usr/local/sbin/delegated ]; then

echo -n ‘ delegated’

/usr/local/sbin/delegated -P8800 -Txt
ADMIN=postmaster@bam-system.ddo.jp
CHARCODE=SJIS
CACHEDIR=/var/spool/delegate-nobody/cache
EXPIRE=1d
AUTH=proxy:pauth AUTHORIZER=-dgauth CRYPT=pass:proxyuser
RELIABLE=”-a/*”
SERVER=http
PROXY=localhost:8880
> /dev/null 2>&1

/usr/local/sbin/delegated -P8880 -Txt
ADMIN=postmaster@bam-system.ddo.jp
CHARCODE=JIS
CACHE=no
RELIABLE=”localhost”
SERVER=http
> /dev/null 2>&1

fi
—-
/var/spool/delegate-nobody/cacheをnobody:nobodyで掘っておかないと怒られるので注意。

CRYPTエントリーのproxyuserはdigest化のためのキーワードなので自由に選ぶ。

3.ユーザーの登録

登録は
delegated -Fauth -a username:password -dgauth CRYPT=pass:proxyuser
削除は
delegated -Fauth -d username -dgauth CRYPT=pass:proxyuser

4.実行

再起動すればdelegatedが起動する。ファイヤーウォールで8800を通すのを忘れないこと。

MRTGの設定覚書

FreeBSDのルーターの設定をやり直してから、MRTGでSNMPの情報が取得できなくなっていた。
net-snmpをインストールしてsnmpwalkをかけても返事が返ってこないことから、症状はSNMPのパケットがうまく出ていないらしい。
で、ipfwでSNMPのudpポートを開く設定に。ここで問題なのは、udpは本来一方的垂れ流しだが、SNMPのqueryはoutgoingで適当に選ばれたportから対象のport
161にqueryが飛ぶと、返事が対象のport 161からoutgoing…

FreeBSDのルーターの設定をやり直してから、MRTGでSNMPの情報が取得できなくなっていた。

net-snmpをインストールしてsnmpwalkをかけても返事が返ってこないことから、症状はSNMPのパケットがうまく出ていないらしい。

で、ipfwでSNMPのudpポートを開く設定に。ここで問題なのは、udpは本来一方的垂れ流しだが、SNMPのqueryはoutgoingで適当に選ばれたportから対象のport 161にqueryが飛ぶと、返事が対象のport 161からoutgoingで選ばれたportに帰ってくるということ。だから単純にport 161へのoutgoingを許可しただけだと、返事が入ってこないのでNo Responseになってしまう。

で、ふと思い出したのが、これってntpの場合と同じだな。

で、ipfwの設定で以下の設定を追加する。

ipfw add pass udp from ${iip} to any 161 keep-state

keep-stateって指定がいったい何の役に立つのかと思っていたが、ここで役に立つのね。keep-stateを指定しておくとoutgoingしたudpに対する返事が帰ってくることを想定してしばらくの間、firewallに穴を開けておいてくれるわけだ。

で、めでたくsnmpwalkでルーターの設定が取得できるようになった。

あとはMRTGの設定を書くだけか。

NWN Linux Server on FreeBSD

NWNのLinux用サーバーをFreeBSDで動かす。結論から言うと、普通に動く。
まず、BioWareからServer用パッケージの最新版を落とす。その中で必要なファイルは一つだけ。
linuxdedserver166.tar.gz
これ以外のファイルはWindows版の日本語NWNから持ってこないと、サーバーが日本語の言語Signatureにならないので、日本語Clientでプレーできない。
次にサーバーにNWNのデータを格納するフォルダーを作る。NWNのLinuxサーバーはユーザー権限で…

NWNのLinux用サーバーをFreeBSDで動かす。結論から言うと、普通に動く。

まず、BioWareからServer用パッケージの最新版を落とす。その中で必要なファイルは一つだけ。

linuxdedserver166.tar.gz

これ以外のファイルはWindows版の日本語NWNから持ってこないと、サーバーが日本語の言語Signatureにならないので、日本語Clientでプレーできない。

次にサーバーにNWNのデータを格納するフォルダーを作る。NWNのLinuxサーバーはユーザー権限で動かしても構わないので、どんなユーザーでどこに掘っても構わない。

そのフォルダに、Windows版のインストールディレクトリから以下のファイルおよびフォルダを転送する。転送前にWindows版のバージョンをLinuxサーバーのバージョンと合わせて置くこと。

chitin.key
data/*
database/*
dialog.tlk
dialogf.tlk
hak/
modules/
nwm/
nwplayer.ini (Windows版でマルチプレイヤーサーバーの設定をしておくとそのまま使える)
override/
patch.key

以上のファイルを転送したら、最後にこのフォルダにLinuxサーバーのアーカイブの中身を展開する。

次にアーカイブから展開されたfixinstallスクリプトを走らせる。Linux用なので、shellがbashになっているので、bashがインストールされてなければインストールすること。また、スクリプト内の実行shellの指定が/bin/bashになっているが、FreeBSDのportsでインストールすると/usr/local/bin/bashで入るので、これも変更してから実行する。

fixinstallで足りないフォルダ等を見つけると警告してくるので、その場合は適宜Windows版のフォルダから転送すればよい。

全てが終われば、ユーザー権限でnwserverを実行すればそれで終わり。

nwplayer.iniで指定してあるポートでincoming packetが通過するようにファイヤーウォールを設定することを忘れないこと。

このサーバーはstdin/outでコマンドでコントロール出来るので、出来ればconsoleにする端末を別に用意してモニターしてあげるとよい。コマンド解説はServer用パッケージに含まれるreadme.linuxserver.txtを参照のこと。-quietオプションで完全なサーバーになるが、この場合はautosaveしか働かなくなるので注意。

モジュールとハックはそれぞれmodules/とhak/に入れる。ハックはファイル名を変更しないこと。モジュールはファイル指定が面倒になるので、簡単なファイル名に変更した方がよい。

COREBlog 1.2 Updated

いつの間にか、GW中にCOREBlogがVer.1.2にアップデートされていることに今更気付く。
で、当然ながらUpdateされた内容を吟味してこのサーバーを1.11から1.2に変更するかどうか、を考えないといけないわけだが・・・。
Changelogがねえよ。作者のページでCOREBlog
1.2の変更点は詳しくはChangelogを見てね、って書いてるのにリンクも張ってないし、本家配布元でChangelogをクリックすると、今回のアップデートで同梱されたPloneとの親和性を高めるSkin…

いつの間にか、GW中にCOREBlogがVer.1.2にアップデートされていることに今更気付く。

で、当然ながらUpdateされた内容を吟味してこのサーバーを1.11から1.2に変更するかどうか、を考えないといけないわけだが・・・。

Changelogがねえよ。作者のページでCOREBlog 1.2の変更点は詳しくはChangelogを見てね、って書いてるのにリンクも張ってないし、本家配布元でChangelogをクリックすると、今回のアップデートで同梱されたPloneとの親和性を高めるSkinの使い方について書いてあるだけ。わしゃPloneなんか使ってないから、それ以外で何が変更されたのか知りたいのに。

まあ、Zope家さんから見れば、ソースも見ないようなヘタレユーザーなんか知らん、ということなんだろうが、COREBlogはZope普及の起爆剤、とか言っておいて、まともなChangelogも提示しない様なものは決して普及しないと思うんだが。

ということで今回はアップデートは見送り。Zopeってのはなかなか面白いいいシステムだとは思うが、こういうところでいちいち「なんでよ?」って思っちゃうんだよなあ。まあ、それを言うならなんらかの手段でContributeしろ、って言われて堂々巡りなんだろうけど。ってそれってLinuxのタコ論争の繰り返しじゃん。

トラックバックってシステムの善し悪し

最近、やっぱりBlogをするのがはやってるのか。前にも書いたけど、Blogって疑似リアルタイムコミュニケーションなので、ちょっと時間が経つだけで過去の情報が形骸化していって、内容が残らないのよねえ。
と、なにか意味のありげなことを書いておきつつ、知人のBlogに初TrackBackを打って見る。
そこの初被TrackBackは、あるあるのことを書いたらアメーバブログであるあるの情報をまとめるBlogをやってる人からの宣伝TrackBackだった。この人って、Googleであるある関係でググって…

最近、やっぱりBlogをするのがはやってるのか。前にも書いたけど、Blogって疑似リアルタイムコミュニケーションなので、ちょっと時間が経つだけで過去の情報が形骸化していって、内容が残らないのよねえ。

と、なにか意味のありげなことを書いておきつつ、知人のBlogに初TrackBackを打って見る。

そこの初被TrackBackは、あるあるのことを書いたらアメーバブログであるあるの情報をまとめるBlogをやってる人からの宣伝TrackBackだった。この人って、Googleであるある関係でググって引っかかるBlogに片っ端から意味のないTrackBackを打って、アメーバブログのランキングをあげようとしてるんだろうなあ。

アメーバブログって探偵ファイルのあることないことふいてランキング稼ごうとしてたり、なんかうざいBlogサービスって感じだな。ランキングによる賞金制度なんかあるから、そういううっとうしいことになる様な気がする。

ここのページは極力TrackBackを受けたくないので、どこにもTrackBackを送らなかったんだけど、これがきっかけでTrackBackが来るようになったら、Comment,TrackBackは受け付けない様にするかも。

COREBlogユーザーにページをいじらせる

COREBlogを貸し出してるユーザーがCSS等をいじりたいといってきたので、Contentsタブを有効にするためのSecurity設定を模索。
まずManage ZCatalog
Entriesを有効にする。これでContentsタブが見える様になる。
次に、ドキュメントの内容やCSSの内容をいじれるようにするためにChange
DTML DocumentsとChange DTML
Methodsを有効にする。これらを有効にしていないと、ContentsタブでファイルをクリックしてもView…

COREBlogを貸し出してるユーザーがCSS等をいじりたいといってきたので、Contentsタブを有効にするためのSecurity設定を模索。

まずManage ZCatalog Entriesを有効にする。これでContentsタブが見える様になる。

次に、ドキュメントの内容やCSSの内容をいじれるようにするためにChange DTML DocumentsとChange DTML Methodsを有効にする。これらを有効にしていないと、ContentsタブでファイルをクリックしてもViewするだけになってしまう。

他にもChangeを有効にした方がいいものもあるかもしれないが、CSSやページ構成をいじるだけならこの二つで十分だろう。