Maxの日記: yak0.9test5
自動検出周りをちゃんと見ないといけないのだが、後手に回ってしまって
いる。どうもすみません>yak-devel各位
hwdataは0.44からRawHide用に出ていた0.62をポートしたけど、これだけ
ではどうもうまく行くような気がしない。結局、
hwdata,hwsetup,kudzu,knoppix-autoconfig,mkxf86configあたりを
ちゃんと追いかけないとダメなのよね。
自分的にはSiS630がちゃんと認識されているにも関わらず、Xがvesa
ドライバでフォールバック的な動作をしているのが気になる。
それと、せっかくDDCなモニタを見てるのに、設定生成時にそれが
適切にハンドリングされていないポなのも気になるけど、こっちは
とりあえずおいとく。
SiSのドライバはディストリビューションにちゃんと含まれている。
これを修正することをテストケースとして自動認識周りをちゃんと
追いかけてみる事にする。
とりあえず、ハックのための環境ということで、最新のyakをhdinstall
でハードディスクに展開。その間にこれまで把握している点を整理。
流れとしては、
knoppix-autoconfig
-> hwsetup(hwdataは中で利用される)
-> kudzu
-> mkxf86config
という感じ。knoppix-autoconfigでhwsetupを呼び出し、hwsetupは
kudzuを呼び出し、hwdataのデータベースを参照しながらデバイスを列挙。
その結果を基に、Xに関してはmkxf86configでXF86Config-4等々を生成
しているらしいというのは理解。
hwdataはオリジナルのpcidataに対して、debパッケージ生成時にknoppix
独自の定義をマージしている。これは本家を見てもまだ更新されていない
のでそのままだろう。
・・・・つづく。
****
/usr/share/hwdata/pcitableを見ると
0x1039 0x6300 "Server:XFree86(vesa)" "630 SiS630 GUI Accelerator+3D"
となっている。この表記は当然knoppixで追加されたものに他ならないが、
この"(vesa)"を"(sis)"に直せばsis_drv.oを使ってブートするに違いない。
検証のためにSiS630なマシンにknoppixを再度インスコだ。
****
上記設定をpcitableに反映。XF86Config-4等を消して再起動。
ん~。良い。ちゃんとsis.oをロードして動いてくれる。
パッケージソース内の中で、それぞれvesaドライバでフォールバック
状態にされてしまっているものを洗い出して、それらをとりあえず
対応すると思われるドライバをロードするように書き換えれば、
幾つかは助かるのではないかな。
0x1002 0x5159 "Server:XFree86(vesa)" "ATI|Radeon QY"
0x1002 0x5446 "Server:XFree86(vesa)" "ATI|Rage 128 Ultra TF"
0x1039 0x6300 "Server:XFree86(vesa)" "630 SiS630 GUI Accelerator+3D"
0x10de 0x0111 "Server:XFree86(vesa)" "NV11 DDR (GeForce)"
0x10de 0x0112 "Server:XFree86(vesa)" "NV11 GeForce 2 Go (Notebook)"
0x5333 0x8c01 "Server:XFree86(vesa)" "ViRGE/MX"
ATI Radeon QY/Rage128 Ultra TF,nVidia GeForce/GeForece2GO
の対応ドライバを捜すかな。ViRGE/MXはどうするか。今さらという
気がするけど。
nVidiaのドライバは、nv_drv.o、atiのRadeonドライバは、radeon_drv.o
Rage 128はr128_drv.o。ViRGE/MXはs3virge_drv.oそれぞれ、4.2.0での
サポート状況をチェック。
nVidiaに関してXF86の4.2.0に関する情報がない。4.2.1からサポートと
なっているが、knoppixに入っているのは4.2.0-a1という話。
よくわからないが、changelogにはバックポートらしき記述あり。
とりあえずこれでいいだろう。結果、konppix-pcidataでマージされる
部分の記述は
0x1002 0x5159 "Server:XFree86(radeon)" "ATI|Radeon QY"
0x1002 0x5446 "Server:XFree86(r128)" "ATI|Rage 128 Ultra TF"
0x1039 0x6300 "Server:XFree86(sis)" "630 SiS630 GUI Accelerator+3D"
0x10de 0x0111 "Server:XFree86(nv)" "NV11 DDR (GeForce)"
0x10de 0x0112 "Server:XFree86(nv)" "NV11 GeForce 2 Go (Notebook)"
0x5333 0x8c01 "Server:XFree86(s3virge)" "ViRGE/MX"
となる。
あと、懸案となってるのはIntel Ether Express Pro/100 VMの認識。
動作自体は新しいドライバがないとダメだとしても、ドライバをもって
来て動かすためにも検証用にこやつの認識だけはさせておきたい。
以前問題となっていたのは、
Intel Corp. 82801BA/BAM/CA/CAM Ethernet Controller
で、こいつはpcitable上ではe100ドライバにマップされていた。
しかし、こちらで検証した範囲では、チップは違うものの
eepro100ドライバでとりあえずロードできている。
実はドライバに問題はなくて、pcitableの値がおかしいだけではないか
という気がしている。こちらで検証したマシンは、82820(Camino2)だが
一部82801BA/BAM/CAMで認識しており、LANアダプタについてはこれで
いけるのではないかと思われる。
そんなわけで、
0x8086 0x1031 "e100" "Intel Corp.|82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller"
0x8086 0x1032 "e100" "Intel Corp.|82801CAM (ICH3) PRO/100 VE Ethernet Controller"
0x8086 0x1033 "e100" "Intel Corp.|82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller"
0x8086 0x1034 "e100" "Intel Corp.|82801CAM (ICH3) PRO/100 VM Ethernet Controller"
0x8086 0x1035 "e100" "Intel Corp.|82801CAM (ICH3)/82562EH (LOM) Ethernet Controller"
0x8086 0x1036 "e100" "Intel Corp.|82801CAM (ICH3) 82562EH Ethernet Controller"
0x8086 0x1037 "e100" "Intel Corp.|82801CAM (ICH3) Chipset Ethernet Controller"
0x8086 0x1038 "e100" "Intel Corp.|82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller"
0x8086 0x1039 "e100" "Intel Corp.|82801BD PRO/100 VE (LOM) Ethernet Controller"
0x8086 0x103a "e100" "Intel Corp.|82801BD PRO/100 VE (CNR) Ethernet Controller"
0x8086 0x103b "e100" "Intel Corp.|82801BD PRO/100 VM (LOM) Ethernet Controller"
0x8086 0x103c "e100" "Intel Corp.|82801BD PRO/100 VM (CNR) Ethernet Controller"
0x8086 0x103d "e100" "Intel Corp.|82801BD PRO/100 VE (MOB) Ethernet Controller"
0x8086 0x103e "e100" "Intel Corp.|82801BD PRO/100 VM (MOB) Ethernet Controller"
0x8086 0x2459 "e100" "Intel Corp.|82801E Ethernet Controller 0"
0x8086 0x245d "e100" "Intel Corp.|82801E Ethernet Controller 1"
の"e100"を試しにすべて"eepro100"に変えて、これもマージ対象に含める
というのはどうか。eepro100はたいていe100で対応していたドライバが
動くようなので、とりあえずこれでヨシとしてみる。
これを元に、hwdata-0.62-jp2を作成する。
****
むー。くだらんところではまっている(汗
上記LANカードの設定を追加したのに、pcitableにマージされない。
グラフィクスカードの方はマージされてる。
マージしてるのはホンマ単純なperlスクリプトなのだが・・・ぐぁぁ。
****
追加行の末尾に空白がついてた・・・これでダメとは気づかず。
とりあえずオッケー。とりあえずSiSなマシンで試す。
その後sf.jpにアプするか。
yak0.9test5 More ログイン