Драйвер serial для карточки 5372:6872

Подскажите, как заставить драйвер 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*? Должно быть что-то типа этого + дополнительно по вашей плате:

Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0e: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

Вы включали в ядре опции CONFIG_SERIAL_8250_EXTENDED CONFIG_SERIAL_8250_MANY_PORTS CONFIG_SERIAL_8250_SHARE_IRQ? Все это в Device Drivers -> Character devices -> Serial drivers.
Когда я работал с 8-портовой картой Moxa, то настраивал именно так, и все заработало сразу без каких-либо вопросов.

alexpro написал(а): Что видно

alexpro написал(а):
Что видно в dmesg по поводу ttyS*? Должно быть что-то типа этого + дополнительно по вашей плате:
Вы включали в ядре опции CONFIG_SERIAL_8250_EXTENDED CONFIG_SERIAL_8250_MANY_PORTS CONFIG_SERIAL_8250_SHARE_IRQ? Все это в Device Drivers -> Character devices -> Serial drivers.
Когда я работал с 8-портовой картой Moxa, то настраивал именно так, и все заработало сразу без каких-либо вопросов.

Стоит две карточки, одна работает, вторая - обсуждаемая тут:

lspci

03:00.0 Communication controller: Device 5372:6872 (rev 01)
03:01.0 Serial controller: NetMos Technology PCI 9845 Multi-I/O Controller (rev 01)

lspci -k

03:00.0 Communication controller: Device 5372:6872 (rev 01)
	Subsystem: LSI Logic / Symbios Logic Device 0002
03:01.0 Serial controller: NetMos Technology PCI 9845 Multi-I/O Controller (rev 01)
	Subsystem: LSI Logic / Symbios Logic 0P4S (4 port 16550A serial card)
	Kernel driver in use: serial

lspci -vv

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

dmesg | grep tty

\Kernel command line: root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda2 splash=silent,fadein,theme:livecd-2007.0 console=tty1
console [tty1] enabled
0000:03:01.0: ttyS0 at I/O 0xd900 (irq = 19) is a 16550A
0000:03:01.0: ttyS1 at I/O 0xd800 (irq = 19) is a 16550A
0000:03:01.0: ttyS2 at I/O 0xd700 (irq = 19) is a 16550A
0000:03:01.0: ttyS3 at I/O 0xd600 (irq = 19) is a 16550A

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 -k

Ничего не говорит :) Человек

Ничего не говорит :) Человек же написал lspci -v :

03:00.0 Communication controller: Device 5372:6872 (rev 01)
	Subsystem: LSI Logic / Symbios Logic Device 0002

Никакой драйвер это утройство не использует.

SysA написал(а): А что

SysA написал(а):
А что говорит

lspci -k

все есть в ответе на предидущее сообщение.

Всем спасибо.

Спасибо за желание помочь, но я ее победил сам :)
Кому интересно - вот так:

сообщил напрямую в драйвер, что ее надо подхватить:
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:6873
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- SERR- Interrupt: pin A routed to IRQ 209
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]

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".