FreeBSD串行IO卡安装

我想在一个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:

  1. find正确的驱动程序(通常通过制造商网站)并使用它。
  2. 或者将内核更新到理解该设备的版本
  3. 或者写自己的驱动程序。

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

如果一切顺利的话,内核现在会[尝试]连接一个驱动程序。 希望一个工程。
后者不能保证,因为并不是所有的串行卡都以相同的方式使用乘法器。