[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:06126] Re: IDEA - PCI devices auto-detection



  吉山です。

I received from yosshy@debian.or.jp on 11 21 , 1998. 

>   例えば、X サーバを1項目、カードベンダを2項目、カードを3項目にする
> とすれば、
> 
> xserver-s3	5333	0551,8811,8812,8814,883d,8880,88b0,88c0,88c1,88d0,88d1,88f0,8901,8902,
> xserver-s3v	5333	5631,8a01,8a10,8c01,8c02,8c03
> 
> という具合になります。

  このフォーマットを使うと、例えば perl なら

---
#!/usr/bin/perl

# vcprobe.pl
# programmed by A.Yoshiyama <yosshy@debian.or.jp>
# on Sat Nov 21 15:19:30 JST 1998

# default database file for X server
#$dbfile = "/home/yosshy/deb/vcprobe.conf";
$dbfile = "/etc/vcprobe.conf";
open (DB,$dbfile) || die "can't open database file $configfile.";

# default pci device list file (Linux-2.1)
$pcifile = "/proc/bus/pci/devices";
open (PCI, $pcifile) || die "can't open pci device list";

while (<DB>) {
    ($server,$vender,$devices) = split(/\s+/);
    foreach $i (split(/\,/,$devices)) {
	$db{"$vender$i"} = $server;
    }
}
close (DB);

while (<PCI>) {
    ($dummy0,$device,$dummy2) = split(/\s+/);
    print $db{$device},"\n" if ($db{$device});
}
close (PCI);

exit;

---

  これでビデオカードに合った X サーバが分かるという事になります。ただ、 
X サーバの場合、これ以外の設定(マウス、モニタ、解像度、VRAM、…)も分か
らないとどうしようもないので、あまり役には立ちません。むしろ、デバイス
ドライバならこの応用で問題ないでしょう。

  しかし、ここに落し穴が。
  インストーラには perl なんぞデカ過ぎて入りません。
  C で書き直す必要があります。

---
   Name: 吉山あきら  Akira Yoshiyama
   E-mail: yosshy@debian.or.jp  (runlevel1@xxxxxxxxxxxxxxxxx)
   URL: http://jedi.seg.kobe-u.ac.jp/~yosshy/linux.html