Я пытаюсь заставить работать карту PCI RS485 на компьютере, на котором установлен Debian Jessie (с использованием systemd). Я адаптировал ядро с помощью патча, предоставленного производителем карты. Кажется, это работает, так как карта обнаружена и все восемь последовательных портов инициализированы.
Когда я пытался работать с этими портами, я всегда видел скорость передачи 921600. С тех пор я изменил следующее: я удалил ModemManager (потому что он непрерывно проверял последовательные порты, и на этом компьютере модема никогда не будет), Я добавил правила в /etc/udev/rules.d/ для создания символических ссылок и изменения пользователя и группы этих портов RS485. Я адаптировал группы для возможности чтения и записи в эти порты не только как root.
С тех пор я замечаю странное поведение. Скорость в бодах инициализируется с помощью 921600 (я смотрю это с помощью «dmsg»), но всякий раз, когда я читаю это, оно устанавливается на 9600 (с помощью «stty -F / dev / stty11 -a»).
Наконец у меня есть следующие выводы:
me@my-system:$ sudo udevadm info -a -p $(udevadm info -q path -n /dev/ttyS11) Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/devices/pci0000:00/0000:00:1b.2/0000:06:00.0/0000:07:0f.0/tty/ttyS11': KERNEL=="ttyS11" SUBSYSTEM=="tty" DRIVER=="" ATTR=="17" ATTR=="11" ATTR=="0x0" ATTR=="21" ATTR=="0x13000040" ATTR=="0xDF100000" ATTR=="0" ATTR=="0" ATTR=="14745600" ATTR=="64" ATTR=="50" ATTR=="3000" ATTR=="2" looking at parent device '/devices/pci0000:00/0000:00:1b.2/0000:06:00.0/0000:07:0f.0': KERNELS=="0000:07:0f.0" SUBSYSTEMS=="pci" DRIVERS=="serial" ATTRS=="17" ATTRS=="0x0702" ATTRS=="0" ATTRS=="0x070002" ATTRS=="(null)" ATTRS=="1" ATTRS=="32" ATTRS=="32" ATTRS=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f" ATTRS=="0x90f0" ATTRS=="" ATTRS=="0-3" ATTRS=="0x1402" ATTRS=="0x0010" ATTRS=="-1" ATTRS=="0" looking at parent device '/devices/pci0000:00/0000:00:1b.2/0000:06:00.0': KERNELS=="0000:06:00.0" SUBSYSTEMS=="pci" DRIVERS=="" ATTRS=="18" ATTRS=="0x0000" ATTRS=="0" ATTRS=="0x060401" ATTRS=="(null)" ATTRS=="1" ATTRS=="32" ATTRS=="32" ATTRS=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f" ATTRS=="0x8892" ATTRS=="1" ATTRS=="0-3" ATTRS=="0x1283" ATTRS=="0x0000" ATTRS=="-1" ATTRS=="1" looking at parent device '/devices/pci0000:00/0000:00:1b.2': KERNELS=="0000:00:1b.2" SUBSYSTEMS=="pci" DRIVERS=="pcieport" ATTRS=="18" ATTRS=="0x8086" ATTRS=="0" ATTRS=="0x060400" ATTRS=="(null)" ATTRS=="1" ATTRS=="32" ATTRS=="32" ATTRS=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f" ATTRS=="0xa169" ATTRS=="1" ATTRS=="0-3" ATTRS=="0x8086" ATTRS=="0x7270" ATTRS=="-1" ATTRS=="0" looking at parent device '/devices/pci0000:00': KERNELS=="pci0000:00" SUBSYSTEMS=="" DRIVERS==""
Что здесь не так? Почему скорость передачи данных меняется? Как я могу избежать этого? "UART: не определено" в порядке?
Игнорируйте номер скорости передачи, указанный в журнале ядра / dmesg. Сохраните содержимое файлов в `/ proc / tty / driver`.
sawdust 7 лет назад
1
@sawdust Я добавил соответствующую информацию из `/ proc / tty / driver`. В этом каталоге содержится только один файл `serial`.
Schnoof 7 лет назад
0
1 ответ на вопрос
1
Schnoof
The problem is resolved and it is really stupid. The one who asked me to setup the computer told me that the computer contains an RS485 card, but an RS232 card was ordered and bought. Both cards are merchandised under the same name, using the same manuals and patches. So it was not easy to see. I borrowed the RS486 card of another machine and everything is working fine.
I am very uncomfortable with this but at least it was not my fault.