google-code-prettify

2007-11-30

NetBSDでwpaを使う

NetBSD-4から、WPAがサポートされている。
その設定方法のメモ。

1. /etc/wpa_supplicant.confに、以下のような記述をする。

network={
ssid="APのSSID"
scan_ssid=1
key_mgmt=WPA-EAP
eap=PEAP
phase2="auth=MSCHAPV2"
identity="ユーザー名"
password="パスワード"
}

2. 以下のコマンドで、wpa_supplicantを実行してみる。

# wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf -dd

ifconfigでath0のstatusがactiveとなれば、接続できている。

3. うまく行ったら、rc.confに以下のように書く

wpa_supplicant=YES
wpa_supplicant_flags="-B -i ath0 -c /etc/wpa_supplicant.conf"


ちなみに、wi0ではおそらくWPAはできない。Atheros系のカード(ath)じゃないとダメなようだ。


参考: NetBSDのwiki

2007-11-20

ftp.netbsd.orgにIPv4でアクセスする

うちの社内のネットワークは、なんちゃってIPv6になっていて、LAN内はIPv6が通るのだが、外とのIPv6通信はできない。

そんなネットワークでPKG_PATHをftp.netbsd.orgにしていると、pkg_add時にIPv6通信しようとして、パッケージを持ってくる事ができない。

IPv4で通信をするには、アドレスをftp.netbsd.orgではなくftp4.netbsd.orgにしておくと良い。

PKG_PATHの設定はhttpにしておくと良いかも

pkgsrcでは、通常PKG_PATHには、ftp://ftp.netbsd.org/.../Allのようなアドレスをセットする。

今日、NetBSD4.0RC2をPCにインストールして、pkg_addしようとしたら、
229 Entering Extended Passive Mode
と出た後止まってしまい、全然インストールができなかった。

ftpクライアントで手動で接続した時には、
ftp> epsv
EPSV/EPRT on IPv4 off
と入力すればExtended Passive ModeをOFFにして通信できるのだが、pkg_addでepsvを発行する方法がわからない。

ふと思い立って、PKG_PATHをftp://ではなくhttp://にした所、何の問題もなくパッケージのインストールができた。

2007-11-08

cygwin用のGNU make 3.80の入手方法

GNU make 3.80と3.81では挙動が違うようで、同僚があるmakefileをcygwinのGNU make 3.81で使おうとしたら、
「3.80用のmakefileだから使えないよ」
という旨のエラーが出た。

困った事に、cygwinのミラーには既に3.81しか無く、cygwinのインストーラーでは3.80をインストールする事ができない。
3.80が欲しければ、ここから入手して自分でインストールすれば良い。

詳しくは、Mozilla developer centerへ。

2007-11-07

デバイスドライバのコードレビューは、ハード担当者にしてもらおう

なぜこんな単純な事に今まで気付かなかったのだろう。

デバイスドライバのコードレビューを行う時、ハードを作ったハードエンジニアにレビュアーの一人になってもらうと良い。
特に、自社でFPGAのロジックを作って、そのデバイスドライバを書く場合は。



今まで、ソフトウェアのレビューは他のソフトエンジニアにお願いしていたのだが、ハードエンジニアがレビュアーとしてふさわしい理由は多々ある。
・ハードエンジニアは、そのハードの動作を熟知している。
・ソフトエンジニアは、ハードの動作を熟知するのが難しい。なぜなら、ハードウェアは「ドキュメント化されていない動作を、ソースを見て動作を理解する」事ができないので。
・ドライバを作っていないソフトエンジニアが、ハードの動作を熟知するのはさらに難しい。特にハードに癖がある場合は。