Я пытаюсь установить последовательную карту ввода-вывода PCI в коробку FreeBSD 9.1 (предварительная версия). У меня не было успеха в часы работы. Я перекомпилировал ядро, используя параметры 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@ no driver attached pci0:0:9:0: location of the card (on the PCI bus) class=0x070002 This seems to indicate serial IO cards card=0x3253 4348 4348 indicates Nanjing Qin Heng Electronics Co. Ltd ( http://wch.cn ) The PCI database identifies 0x3253 as a "Placa PCI serial paralela multiserial"
Другими словами, мы знаем, что это за карта. Но ваше ядро его не распознало. Не распознав этого, правильный драйвер не был загружен.
Отсюда есть три возможных решения:
3) Работы много.
2) Проще всего обновить ядро, но вы уже используете самое последнее, не текущее ядро. Вы можете попробовать 10 / ток, но я сомневаюсь, что это сработает. Тем не менее, стоит попробовать.
Или измените исходный код ядра. Скачайте, если у вас его еще не было, тогда:
cd /usr/src/sys/dev/uart/
vim uart_bus_pci.c
/TOPIC Semiconductor TP560 56k modem
(ищет вперед до строки, содержащей Модем TOPIC Semiconductor TP560 56k )
Добавьте строку, отмеченную плюсом. (используйте i
войти в режим вставки)
{ 0x151f, 0x0000, 0xffff, 0, "TOPIC Semiconductor TP560 56k modem", 0x10 }, +{ 0x4348, 0x3253, 0xffff, 0, "WinChipHead Dual Port 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
Если все пойдет хорошо, ядро теперь [пытается] прикрепить драйвер. Надеюсь, тот, который работает.
Последнее не гарантируется, поскольку не все последовательные карты используют множители одинаково.