Драйвер serial для карточки 5372:6872
dmitry_kozak 19 января, 2011 - 19:14
Подскажите, как заставить драйвер serial подхватывать карту rs232-портов, от безымянного производителя ?
Сам по себе он не становится, на буржуйских форумах нашол информацию, о том, что это классический PCI USART 16550
к которому подходит драйвер serial. Там пишут, что все у них работает. А у меня что-то с руками %)
Вот, что пишет lspci:
03:00.0 Communication controller: Device 5372:6872 (rev 01) Subsystem: LSI Logic / Symbios Logic Device 0002 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 7 Region 0: I/O ports at df00 [=8] Region 1: I/O ports at de00 [=8] Region 2: I/O ports at dd00 [=8] Region 3: I/O ports at dc00 [=8] Region 4: I/O ports at db00 [=8] Region 5: I/O ports at da00 [=16] 03:01.0 Serial controller: NetMos Technology PCI 9845 Multi-I/O Controller (rev 01) (prog-if 02 [16550]) Subsystem: LSI Logic / Symbios Logic 0P4S (4 port 16550A serial card) Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 19 Region 0: I/O ports at d900 [=8] Region 1: I/O ports at d800 [=8] Region 2: I/O ports at d700 [=8] Region 3: I/O ports at d600 [=8] Region 4: I/O ports at d500 [=8] Region 5: I/O ports at d400 [=16] Kernel driver in use: serial
Пробовал с помощью утилитки setserial сконфигурить ttyS* на конкретный порт и irq. В результате при попытки отправить чтонить в порт подвисает echo.
Таких карт аж 20 шт на складе, и все надо поставить в работу.
Подскажите хоть, в какую сторону копать.
»
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

для начала нужно знать что
для начала нужно знать что написано на чипе
на чипе написано EF232 dc1028
на чипе написано EF232 dc1028 и больше никаких опознавательных знаков ни на плате ни на кулечке ;(
Что видно в dmesg по поводу
Что видно в dmesg по поводу ttyS*? Должно быть что-то типа этого + дополнительно по вашей плате:
Вы включали в ядре опции CONFIG_SERIAL_8250_EXTENDED CONFIG_SERIAL_8250_MANY_PORTS CONFIG_SERIAL_8250_SHARE_IRQ? Все это в Device Drivers -> Character devices -> Serial drivers.
Когда я работал с 8-портовой картой Moxa, то настраивал именно так, и все заработало сразу без каких-либо вопросов.
alexpro написал(а): Что видно
Стоит две карточки, одна работает, вторая - обсуждаемая тут:
lspci
lspci -k
lspci -vv
dmesg | grep tty
CONFIG_SERIAL_8250_EXTENDED CONFIG_SERIAL_8250_MANY_PORTS CONFIG_SERIAL_8250_SHARE_IRQ - все включены.
Как видно из lspci -k буржуйскую карту serial нормально подхватил, а китайскую - нет.
пробовал такую фишку: setserial /dev/ttyS2 port 0xdf00 uart 16550A irq 7 baud_base 115200 , в итоге подвисает echo при отправке символа в ttyS2.
Бесполезно setserial
Бесполезно setserial использовать - драйвер не подхватывает карточку, а следовательно - никаких ее портов не видит.
А если оставить только одну
А если оставить только одну китайскую (другую вытащить) - тоже не видит?
А что говорит lspci -k
А что говорит
Ничего не говорит :) Человек
Ничего не говорит :) Человек же написал lspci -v :
Никакой драйвер это утройство не использует.
SysA написал(а): А что
все есть в ответе на предидущее сообщение.
Всем спасибо.
Спасибо за желание помочь, но я ее победил сам :)
Кому интересно - вот так:
сообщил напрямую в драйвер, что ее надо подхватить:
echo "5372 6872" > /sys/bus/pci/drivers/serial/new_id
затем настроил порт:
setserial /dev/ttyS2 port 0x1150 uart 16550A irq 21 baud_base 115200
и все ожило :)
Аналогичная задача
Позвольте спросить откуда взялось значение порта 0x1150?
Собственно проделал те же самые манипуляции, не завелось, LSR safety check engaged!
[root@multivpn-client ~]# lspci -vv -d 5372:6873SERR-
Interrupt: pin A routed to IRQ 209
03:01.0 Communication controller: Device 5372:6873 (rev 01)
Subsystem: LSI Logic / Symbios Logic Device 0004
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort-
Region 0: I/O ports at ec00 [disabled] [=8]
Region 1: I/O ports at e880 [disabled] [=8]
Region 2: I/O ports at e800 [disabled] [=8]
Region 3: I/O ports at e480 [disabled] [=8]
Region 4: I/O ports at e400 [disabled] [=8]
Region 5: I/O ports at e080 [disabled] [=16]