我想在一个FreeBSD 9.1(预发行)盒子上安装一个PCI串行IO卡。 工作时间我没有成功。 我使用puc和COM_MULTIPORT选项重新编译了内核。 没有成功。
这是“pciconf -l | grep ^ none”结果:
none0@pci0:0:9:0: class=0x070002 card=0x32534348 chip=0x32534348 rev=0x10 hdr=0x00 none1@pci0:0:17:5: class=0x040100 card=0x45521106 chip=0x30591106 rev=0x50 hdr=0x00
如果我们翻译部分消息,我们得到这个:
none0 @没有附加驱动程序
pci0:0:9:0:卡的位置(在PCI总线上)
class = 0x070002这似乎表示串行IO卡
卡= 0x3253 4348 4348表示南京秦恒电子有限公司(http://wch.cn)
PCI数据库标识0x3253为
“Placa PCI系列paralela多层”
换句话说,我们知道它是哪张卡。 但是你的内核不认识它。 没有认识到正确的驱动程序没有加载。
从这里有三种可能的解决scheme:
3)是很多工作。
2)更新内核最简单,但是您已经使用了最新的非当前内核。 你可以尝试10 /目前,但我怀疑它会起作用。 值得尝试。
或者修改内核源码。 下载它是你没有它,然后:
cd /usr/src/sys/dev/uart/ vim uart_bus_pci.c /TOPIC Semiconductor TP560 56k modem (向前searchTOPIC半导体TP560 56k调制解调器 )
添加标有加号的行。 (使用i进入插入模式)
{0x151f,0x0000,0xffff,0,“TOPIC Semiconductor TP560 56k modem”,0x10},
+ {0x4348,0x3253,0xffff,0,“WinChipHead双端口RS-232”,0x10},
{0x9710,0x9820,0x1000,1,“NetMos NM9820 Serial Port”,0x10},
保存( Escape:wq )
重新编译内核。 你已经用puc和COM_MULTIPORT选项做了这个,所以你知道它是如何完成的。 对于其他类似问题的读者,请参阅http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html
如果一切顺利的话,内核现在会[尝试]连接一个驱动程序。 希望一个工程。
后者不能保证,因为并不是所有的串行卡都以相同的方式使用乘法器。