メッセージ欄

分類 【NetBSD】 で検索

一覧で表示する

Inspiron1501でNetBSD (NDIS動かないのなぜ)
2007/09/08(土) 26:44 NetBSD はてブ情報 はてブに登録 はてブ数

NDIS_DBGを有効にして再起動。

t->ndis_vid = 14e4, t->ndis_did = 4328

というメッセージを出して絶命しているようです。

cvswebのif_ndis_pci.cをみると、そのメッセージはndis_probe_pci(struct device *parent, struct cfdata *match, void *aux)内のwhileループで出力しているようです

whileループを抜けるまでにndis_vid, ndis_didがマッチするはずで、マッチしないで抜けないはずなのですが、念のためマッチしなかった場合にdosen't matchと表示するようにして、再度kernelを作ったところ、見事にdosen't matchと表示されてくれました。

さて、内蔵しているWLANデバイスはDell WirelessTM 1390 内蔵ワイヤレスLAN Miniカード(802.11b/g)でして、ndiscvtで作ったヘッダファイルを見ると、vid=14e4, did=4311のようです。が、見つからないんですね。うーむ。

直接値をうめちゃうか。などと考えていたのですが、よく考えてみたらndis_vid, ndis_didにマッチしないという値はなんなんだ、ということでvendor, productを表示させてみたところ、vendor=1002, product=4380ということでした。これはvendor=ATI Technologies Inc, product=SB600 Non-Raid-5 SATAということのようです。これはWLANとは全然関係ないです。

なんだろこれ。関係ないデバイスをしらべて、自爆しているのかな?

つまりndis_probe_pciがreturn 0しても大丈夫なようになっていないってこと?

Inspiron 1501でNetBSD (NDIS対応kernelができるまで)
2007/09/03(月) 28:04 NetBSD はてブ情報 はてブに登録 はてブ数

さて、iconv -c -f utf-16 -t ascii bcmwl5.inf > bcmwl5.inf.asciiなどという技も覚えて、NDIS対応kernelの作成をもくろむわけですが、行く手を阻むのは次のようなエラーメッセージです。
cc1: warnings being treated as errors
/usr/src/sys/dev/if_ndis/if_ndis_pci.c: In function 'ndis_attach_pci':
/usr/src/sys/dev/if_ndis/if_ndis_pci.c:661: warning: passing argument 1 of 'kthread_create' makes integer from pointer without a cast
/usr/src/sys/dev/if_ndis/if_ndis_pci.c:661: warning: passing argument 2 of 'kthread_create' makes integer from pointer without a cast
/usr/src/sys/dev/if_ndis/if_ndis_pci.c:661: error: too few arguments to function 'kthread_create'
まぁ、kthread_createの引数があわないよっていう話だと思うわけです。cvswebで見るとsys/kern/kern_kthread.cが1.16から1.17に変更されたのが関係しているところまではわかりました。

で、どう修正するかですが、IRCでieee1394のfw_port.hで同様の修正がされていることを教えてもらいました。

これって、kthread_createをやめて直接呼ぶだけじゃないのかなぁ、などと思いつつ、直接呼び出しに変更したところ、あっさりとkernelができました。

さて、いよいよ再起動。

...
ntoskrnl dummy called...
ntoskrnl dummy called...
たくさん
ntoskrnl dummy called...
ntoskrnl dummy called...
status = 0uvm_fault(0xc0b4c400, 0x6d617000, 1) -> 0xe
kernel : supervisor trap page fault, code=0
Stop in pid 0.1 (system) at  netbsd:malloc+0x72:     movl    0(%esi),%eax
db>
くっ... 落ちたか。 ノートPCなのでシリアルも出てないし、メッセージが流れちゃって良くわからないな。debugオプションあったっけ?

Inspiron 1501でNetBSD (i386でX.org)
2007/09/03(月) 25:47 NetBSD はてブ情報 はてブに登録 はてブ数

あー、あほだった。.xinitrcに何も書いてなけりゃ、Xが起動した直後に終了するわな。

何にもエラーが出なかったので、おっかしいと思っていたんだよなー。

うーん、でもXを終了した後、暗転することがあるなぁ。画面真っ暗だけど他は生きているので、キーボードからstartxして、やっぱり暗転で、Ctrl+Alt+BSすると、今度はちゃんとコンソールに戻る。

そのあとstartxするときちんと表示される。なんじゃこりゃ。

Inspiron 1501でNetBSD
2007/09/03(月) 25:34 NetBSD はてブ情報 はてブに登録 はてブ数

土曜日ぐらいから色々と取り組んでいるのでまとめます。

20070827のHEADを使っています。

まずはNetBSD/amd64のGENERIC.MPで。

普通にbase, compなどXをのぞいた全部入りをインストールし、pkgsrcからmodular X.orgを入れました。

で、無線が動いていないことに気づき、ここはひとつNDISを試そうと思ったら、NDISってi386限定なんですね。

ということで、NetBSD/i386に入れ替えました。

DELLから1390 WLAN Mini Cardなドライバをダウンロードして、展開して.sys, .infファイルを使って、ヘッダファイルを作ってkernelを作り直すところで挫折しました。

そもそも.sys, .infが間違っているのかな。展開したドライバに含まれている.sys, .infファイルはdriverディレクトリにあるbcmwl5.inf, bcmwl5.sysしか見つからなかったし。うーん。

ndiscvtを使った時にも、infファイルでエラーが出て、なんとなく文字コードっぽいのと関係ないコードページっぽかったのでざくざく消してヘッダファイルを作ったからなぁ。

んで、せめてX.org動かすかと思ってNetBSD/amd64で作ったXorg.conf使ったら動かなくなってるし。

どーなってんの?

JNUG総会とBoF
2007/07/07(土) 6:35 NetBSD はてブ情報 はてブに登録 はてブ数

行ってきました。

総会では監事をやらせていただくことになりました。

宴会では幹事をやらせていただくことになりました。

月イチの勉強会なども参加していきたいです。