URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 57670
[ Назад ]

Исходное сообщение
"Конфликт irq22 on PNP card"

Отправлено dkond , 24-Июн-05 12:40 
FBSD 5.4, PNP карта - модем granch sbni-12D, pci. Стояла FBSD 5.1? Проблем не было. Поставил 5.4 пересобрал ядро, добавив device sbni. При загрузке BIOS пишет, что Network Adapter irq 11, Загружается Free:
sbni0: <Granch SBNI12/PCI Dual adapter> port 0xc000 irq 22
sbni0: Ethernet address: 00:ff:01:d2:17:91
sbni0: if_start running deferred for Giant
sbni0: speed 500000, rxl auto
sbni1: Ethernet address: 00:ff:01:66:47:c0
sbni1: if_start running deferred for Giant
sbni1: speed 500000, rxl auto

Попытка подействовать через /boot/device.hints следующим образом
hint.sbni.0.at="pci"
hint.sbni.0.irq="11"
hint.sbni.0.disabled="0"
hint.sbni.0.port="0xc000"
ни к чему не привела.

в handbook по этому поводу нашел только ссылку на device.hints.


# pciconf -l -v |grep sbni
sbni0@pci2:10:0:        class=0x028000 card=0x00020000 chip=0x009f0055 rev=0x02 hdr=0x00
    class    = network

Вопрос как же карту загнать в ядре на нужное прерывание?


Содержание

Сообщения в этом обсуждении
"Конфликт irq22 on PNP card"
Отправлено lavr , 24-Июн-05 13:56 
>FBSD 5.4, PNP карта - модем granch sbni-12D, pci. Стояла FBSD 5.1?
>Проблем не было. Поставил 5.4 пересобрал ядро, добавив device sbni. При
>загрузке BIOS пишет, что Network Adapter irq 11, Загружается Free:
>sbni0: <Granch SBNI12/PCI Dual adapter> port 0xc000 irq 22
>sbni0: Ethernet address: 00:ff:01:d2:17:91
>sbni0: if_start running deferred for Giant
>sbni0: speed 500000, rxl auto
>sbni1: Ethernet address: 00:ff:01:66:47:c0
>sbni1: if_start running deferred for Giant
>sbni1: speed 500000, rxl auto
>
>Попытка подействовать через /boot/device.hints следующим образом
>hint.sbni.0.at="pci"
>hint.sbni.0.irq="11"
>hint.sbni.0.disabled="0"
>hint.sbni.0.port="0xc000"
>ни к чему не привела.
>
>в handbook по этому поводу нашел только ссылку на device.hints.
>
>
># pciconf -l -v |grep sbni
>sbni0@pci2:10:0:        class=0x028000 card=0x00020000 chip=0x009f0055 rev=0x02
>hdr=0x00
>    class    = network
>
>Вопрос как же карту загнать в ядре на нужное прерывание?


а зачем? она у тебя на виртуальные прерывания села, в чем конфликт то?
Ну если оченна хочется - отключи acpi, hint.acpi.0.disabled (man acpi)
и посмотри результат


"Конфликт irq22 on PNP card"
Отправлено dkond , 28-Июн-05 08:54 
с прерыванием разобрался, можно выключить в ядре apic и карта встает куда надо. lavr огромное спасибо за ответ, неоднократно уже выручал.

Но основная проблема продолжает присутствовать: карта не работает. Не работает в FBSD 5.4, 5.3. Но однозначно работает в 5.1. После установки чистого дистрибута пересобираю ядро с device sbni, перегрузка и интересный факт:работает все корректно только в 5.1, благо дистрибут остался. Хотя канальный уровень устанваливает. Т.е. индикация что несущая найдена есть, лампочки горят. Ни ping'ов, ни arp'ов. Понимаю конечно что карты уже древние как мир, но все-таки теперь любопытство гложет.

Может есть какие-нибудь мысли?


"Конфликт irq22 on PNP card"
Отправлено lavr , 28-Июн-05 10:34 
>с прерыванием разобрался, можно выключить в ядре apic и карта встает куда
>надо. lavr огромное спасибо за ответ, неоднократно уже выручал.
>
>Но основная проблема продолжает присутствовать: карта не работает. Не работает в FBSD
>5.4, 5.3. Но однозначно работает в 5.1. После установки чистого дистрибута
>пересобираю ядро с device sbni, перегрузка и интересный факт:работает все корректно
>только в 5.1, благо дистрибут остался. Хотя канальный уровень устанваливает. Т.е.
>индикация что несущая найдена есть, лампочки горят. Ни ping'ов, ни arp'ов.
>Понимаю конечно что карты уже древние как мир, но все-таки теперь

ну и что что древние, лишь бы работали и каши не просили :)

>любопытство гложет.
>
>Может есть какие-нибудь мысли?

есть - не париться, а написать в техподдержку granch.ru, кстати у них еще
и форум был, не знаю на сколько он активен.

Пиши смело, дано:

- freebsd 5.3/4
- конфигурация ядра (прилагается)
- /var/run/dmesg.boot (прилагается)
- sysctl -a ? прилагается

делаю следующее:
...
...
результат:
...
...
???

Помогите разобраться и скажите, вы проверяли работу sbni12 в релизах
freebsd 5.3/5.4, должна там карта работать и какие подводные камни
возможны.


"Проблема в драйвере SBNI !!!"
Отправлено pavlentius , 13-Янв-06 10:31 
>с прерыванием разобрался, можно выключить в ядре apic и карта встает куда
>надо. lavr огромное спасибо за ответ, неоднократно уже выручал.
>
>Но основная проблема продолжает присутствовать: карта не работает. Не работает в FBSD
>5.4, 5.3. Но однозначно работает в 5.1. После установки чистого дистрибута
>пересобираю ядро с device sbni, перегрузка и интересный факт:работает все корректно
>только в 5.1, благо дистрибут остался. Хотя канальный уровень устанваливает. Т.е.
>индикация что несущая найдена есть, лампочки горят. Ни ping'ов, ни arp'ов.
>Понимаю конечно что карты уже древние как мир, но все-таки теперь
>любопытство гложет.

Я столкнулся с этой же проблемой в FreeBSD6. Карточка работает, но sbniconfig говорит, что все приходящие и уходящие с неё пакеты имеют не правильную контрольную сумму.

Обращение в техподдержку ничего не дало, так как оказалось, что фирмы Гранч как таковой уже нет. Единственное что они мне посоветовали, это поменять оборудование.

Тогда я решил сам посмотреть исходные коды драйвера. Оказалось, что после FreeBSD 5.1 в драйвер были внесены изменения в функцию вычисления контрольной суммы (http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/sbni/if_sb...). Благо в исходниках драйвера была этаже функция реализованная на C а не на ASM. После подмены функции в драйвере проблема пропала, но сетевая карта стала немного медленнее, в среднем, при выполнении ping, задержка увеличилась на 0,5 мс.

Резюме:
Для того чтобы заработала sbni 12 в FreeBSD 6 надо следующее

1) Добавить в конфиг ядра
   device sbni
2) Добавить в /boot/device.hints (для isa карт)
   hint.sbni.0.at="isa"
   hint.sbni.0.irq="НОМЕР ПРЕРЫВАНИЯ (например 5)"
   hint.sbni.0.port="НОМЕР ПОРТА (например 0x210)"
   hint.sbni.0.flags="0"
3) Удалить из /sys/dev/sbni/if_sbni.c строчку
   #define ASM_CRC 1
4) Пересобрать ядро