Ну, недолго думая, взял первый попавшийся pci-express контроллер: Orient XWT-PE2S(двухпортовый).
Поставил, пока что в другой компьютер, с уже имеющимся ком портом.(тот, на который надо ставить, нельзя просто так остановить - на нем сервисы крутятся), он опредился.
Попробовал со встроенным в матерь портом - все работает, логинится(я запускал getty -L ttyS0 38400 vt100), пробую с одним из портов - при запуске getty выдает какой-нибудь странный символ и затыкается.
Обратил внимание на разные UART. Толком не понял, что же это, но поменял на 16550A - ноль эмоций. Сменил irq - порты вообще заткнулись.
Может, кто подскажет, в чем проблема? Я вообще озадачен, думал, что уж с ком портами все гладко будет
Вывод dmesg:
Код: Выделить всё
[ 0.966073] 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 0.966073] serial 00:0a: driver attached
[ 0.966073] ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 16 (level, low) -> IRQ 16
[ 0.966073] ttyS1: detected caps 00000700 should be 00000100
[ 0.966073] 0000:04:00.0: ttyS1 at I/O 0xe880 (irq = 16) is a 16C950/954
[ 0.966073] ACPI: PCI Interrupt 0000:04:00.1[B] -> GSI 17 (level, low) -> IRQ 17
[ 0.966073] ttyS2: detected caps 00000700 should be 00000100
[ 0.966073] 0000:04:00.1: ttyS2 at I/O 0xec00 (irq = 17) is a 16C950/954ttyS0 - это встроенный порт(на этом компьютере присутствует порт на матери).
setserial:
Код: Выделить всё
bluetooth@firebird:~> sudo setserial -ga /dev/ttyS?
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
/dev/ttyS1, Line 1, UART: 16950/954, Port: 0xe880, IRQ: 16
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
/dev/ttyS2, Line 2, UART: 16950/954, Port: 0xec00, IRQ: 17
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
/dev/ttyS3, Line 3, UART: unknown, Port: 0x02e8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normallspci -vv
Код: Выделить всё
04:00.0 Serial controller: Oxford Semiconductor Ltd Device c140 (prog-if 02 [16550])
Subsystem: Oxford Semiconductor Ltd Device c140
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 16
Region 0: I/O ports at e880 [size=8]
Capabilities: <access denied>
Kernel driver in use: serial
04:00.1 Serial controller: Oxford Semiconductor Ltd Device c141 (prog-if 02 [16550])
Subsystem: Oxford Semiconductor Ltd Device c141
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin B routed to IRQ 17
Region 0: I/O ports at ec00 [size=8]
Capabilities: <access denied>
Kernel driver in use: serialЗ.Ы. Может ли быть такое, что имеется индивидуальная несовместимость контроллера и материнской платы, и что на целевом компьютере все заработает? Или же тут дело в настройках каких-то?
З.З.Ы. Сначала хотел просто прикрепить разъем к header на материнской плате, благо был лишний от материнской платы jetway. Но просмотрел расположение контактов в мануале - совершенно разное. Кто-нибудь знает, где достать нужный разъем для материнки asrock p45ts?
