[РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Выбор и настройка HardWare

Модератор: Модераторы разделов

Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

[РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение Bluetooth »

Понадобилось управлять одним компом через com-порт, а на материнке есть только header для ком-порта, разъема нет.

Ну, недолго думая, взял первый попавшийся 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/954

ttyS0 - это встроенный порт(на этом компьютере присутствует порт на матери).

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_normal


lspci -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?
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение shotdownsystem »

Bluetooth писал(а):
15.12.2010 02:24
З.Ы. Может ли быть такое, что имеется индивидуальная несовместимость контроллера и материнской платы, и что на целевом компьютере все заработает? Или же тут дело в настройках каких-то?

З.З.Ы. Сначала хотел просто прикрепить разъем к header на материнской плате, благо был лишний от материнской платы jetway. Но просмотрел расположение контактов в мануале - совершенно разное. Кто-нибудь знает, где достать нужный разъем для материнки asrock p45ts?

Плата подцепилась нормально, порт есть прерываение есть, судя по документации
http://www.semiconductorstore.com/pdf/news...d/ox16c950b.pdf
больше ничего и не надо.
Скорее или serial тупит или в настройках терминала копаться надо. В первом случае могу вырезать болванку драйвера для ПСИ с портами и прерыванием.

Если на ДБ9 разное отличное от стандарта назанчение пинов, то только паять самому. Но это изврат.
а кто такие header и jetway?
puts ("Working, please wait...");while(1);
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение Bluetooth »

Плата подцепилась нормально, порт есть прерываение есть, судя по документации
http://www.semiconductorstore.com/pdf/news...d/ox16c950b.pdf
больше ничего и не надо.
Ну да, по-идее больше ничего не надо...
shotdownsystem писал(а):
15.12.2010 11:30
Скорее или serial тупит или в настройках терминала копаться надо. В первом случае могу вырезать болванку драйвера для ПСИ с портами и прерыванием.
Не понял. Что за драйвер с портами и прерыванием? :crazy:

Если на ДБ9 разное отличное от стандарта назанчение пинов, то только паять самому. Но это изврат.

Ага. Я вообще сильно удивился, когда полез "сравнить для уверенности" и обнаружил несостыковку.

а кто такие header и jetway?

header - разъем на самой материнской плате, для подключения к ним разъемам. Я не знаю, как этот термин звучит по русски и поэтому использовал английское слово
jetway - тайваньский производитель материнских плат. В России их хрен достанешь, но я из китая заказал одну материнку на пробу.
http://jetway.com.tw
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение shotdownsystem »

Bluetooth писал(а):
15.12.2010 16:20
header - разъем на самой материнской плате, для подключения к ним разъемам. Я не знаю, как этот термин звучит по русски и поэтому использовал английское слово
jetway - тайваньский производитель материнских плат. В России их хрен достанешь, но я из китая заказал одну материнку на пробу.

понятно, разъемы обозначаются так:
http://www.chipdip.ru/catalog/show/d-sub-connectors.aspx
с дырками - мамы(фимайл), с палками папы(майл)

исходник-болванка для ПСИных устройств. под устройство, по документаци выше, можно драйвер написать. Но похоже это не наш метод.
Какая версия ядра ? нужно посмотреть как там с поддержкой 16950 вообще для начала.
puts ("Working, please wait...");while(1);
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение Bluetooth »

shotdownsystem писал(а):
15.12.2010 18:08
понятно, разъемы обозначаются так:
http://www.chipdip.ru/catalog/show/d-sub-connectors.aspx
с дырками - мамы(фимайл), с палками папы(майл)

Не, это-то понятно. там-то на плате совершенно не d-sub :)

исходник-болванка для ПСИных устройств. под устройство, по документаци выше, можно драйвер написать. Но похоже это не наш метод.
Какая версия ядра ? нужно посмотреть как там с поддержкой 16950 вообще для начала.

Нене, драйвер я сам писать точно не буду :)
А ядро - 2.6.26
Спасибо сказали:
FlySnake
Сообщения: 992
ОС: openSUSE

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение FlySnake »

В чем проблема подцепить хвостик с д-сабом на заднюю в этот разъем на матери? Они в комплекте часто идут (раньше, по крайней мере) и найти можно в сервисных центрах или просто у народа поспрашивать кто железом занимается. Или спаять самому имхо намного проще чем заниматься тем что описано в первом посте :) http://pinouts.ru/SerialPorts/Serial9.shtml
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение shotdownsystem »

Bluetooth писал(а):
17.12.2010 11:48
Не, это-то понятно. там-то на плате совершенно не d-sub :)

я видел RS232 еще на
таких http://www.chipdip.ru/product/np-144.aspx
таких http://www.chipdip.ru/catalog/show/idc-board-connectors.aspx
таких http://www.chipdip.ru/catalog/show/din-con...ors.aspx?page=2
таких http://www.chipdip.ru/catalog/shr-sshr-connectors-rus.aspx
и PLC (и чтоли зовутся) разъемах...
Симптом еще похож на рассогласование скоростей или параметров.
Bluetooth писал(а):
17.12.2010 11:48
Не, это-то понятно. там-то на плате совершенно не d-sub :)

как не д-саб, вот:
http://www.orientrus.ru/shop/UID_141.html
четко виден ДБ9
puts ("Working, please wait...");while(1);
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение shotdownsystem »

2.6.26 все поддерживает, с виду все как в документации.
а почему setserial скорось не 36к показывает?
puts ("Working, please wait...");while(1);
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение Bluetooth »

FlySnake писал(а):
17.12.2010 11:58
В чем проблема подцепить хвостик с д-сабом на заднюю в этот разъем на матери? Они в комплекте часто идут (раньше, по крайней мере) и найти можно в сервисных центрах или просто у народа поспрашивать кто железом занимается.

У меня есть несклоько хвостиков, но они все с другими контактами, нежели на материнки. Я же об этом уже писал тут.
как не д-саб, вот:
Тьфу. имел ввиду, конечно же, дб9. Но на материнке, то, что я называл header-ом, ни разу не db9 :)
Вот как он выглядит:
Изображение


Симптом еще похож на рассогласование скоростей или параметров.
Похож. Я пытался менять UART на 16550A(по дефолту 16950), но не помогло. Хотя я вообще не представляю что это :)
Или спаять самому имхо намного проще чем заниматься тем что описано в первом посте
Однажды уже паял rs232 на одной работе - нужно было по ком порту подключить принтер к серверу, который находился в другом помещении. Паял 2 кабеля с db9 на rj45. Честно говоря, больше не хочу этим заниматься - из меня паяльщик хреновый :)
а почему setserial скорось не 36к показывает?
А почему должен 36? Я давно уже не видел ком портов со скоростью ниже 115200.


Добавлено:
По поводу "хвостов": У меня распайка header на платах такая же, как на картинке. А на хвостике от мат.платы jetway - другое. Подозреваю, что именно на jetway нестандартная распайка, а у меня на плате стандартная. Так что я могу попробовать с "хвостиками" от этого контроллера. Вопрос в чем: несоотвестветствие контактов может спалить разъем? Можно, конечно, проверить тестером, но тестера у меня сейчас нет.
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение shotdownsystem »

Bluetooth писал(а):
18.12.2010 17:47
Вот как он выглядит:

это PLD.

Bluetooth писал(а):
18.12.2010 17:47
Похож. Я пытался менять UART на 16550A(по дефолту 16950), но не помогло. Хотя я вообще не представляю что это :)

тип премопередатчика.

Bluetooth писал(а):
18.12.2010 17:47
Честно говоря, больше не хочу этим заниматься - из меня паяльщик хреновый :)

это приобретаемое - 2 года практики

Bluetooth писал(а):
18.12.2010 17:47
а почему setserial скорось не 36к показывает?
А почему должен 36? Я давно уже не видел ком портов со скоростью ниже 115200.

setserial показывает текущую скорость:
#setserial /dev/ttyS0 baud_base 9600
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 9600, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
Bluetooth писал(а):
18.12.2010 17:47
Подозреваю, что именно на jetway нестандартная распайка, а у меня на плате стандартная.
Вопрос в чем: несоотвестветствие контактов может спалить разъем?

на PLD стандартов нет.
Смотря в чем несоответствие заключаться будет. RX на GND переживет. Но в любом случае разъем останется целым )
Для PLей есть обжимные гнезда. 6 гнезд, 3 проводочка и стяжки.
puts ("Working, please wait...");while(1);
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение Bluetooth »

shotdownsystem писал(а):
18.12.2010 18:56
это PLD.
Спасибо, буду знать :)

тип премопередатчика.
Я не совсем понимаю. Если у меня с одной стороны 16550A, а с другой 16950, они буду работать? Помогает ли в этом случае выставление программным путем?

Bluetooth писал(а):
18.12.2010 17:47
Честно говоря, больше не хочу этим заниматься - из меня паяльщик хреновый :)

это приобретаемое - 2 года практики

Разумеется. Но как-то не планирую :)

Bluetooth писал(а):
18.12.2010 17:47
а почему setserial скорось не 36к показывает?
А почему должен 36? Я давно уже не видел ком портов со скоростью ниже 115200.

setserial показывает текущую скорость:
#setserial /dev/ttyS0 baud_base 9600
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 9600, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test

По-моему команда вида setserial /dev/ttyS0 параметр значение как раз выставляет значение, а чтобы показать что-то, нужно использовать с ключем -g.




Bluetooth писал(а):
18.12.2010 17:47
Подозреваю, что именно на jetway нестандартная распайка, а у меня на плате стандартная.
Вопрос в чем: несоотвестветствие контактов может спалить разъем?

на PLD стандартов нет.
Смотря в чем несоответствие заключаться будет. RX на GND переживет. Но в любом случае разъем останется целым )
Спасибо, на досуге попробую. или же просто найду документацию по продуктам, от которых у меня осталисьь другие "хвосты" :)
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: [РЕШЕНО] Проблема с RS232 контроллером на чипе Oxford c140

Сообщение Bluetooth »

Итак, воткнул эту плату в целевой компьютер - все заработало. Я нихрена не понял, однако вопрос решен :)
Спасибо сказали: