Загадочная проблема с COM портом.
Здравствуйте! На ПЭВМ установил Astra Linux 1.5. До этого на ПЭВМ была установлена МС ВС 3.0. Проблема заключается в том что к ПЭВМ подключено специфическое оборудование, взаимодействие с которым осуществляется через COM порт (либо переходник USB to COM). До этого взаимодействие осуществлялось через программное обеспечение для МСВС, теперь до нас довели аналогичное но для Astra Linux. Проблема заключается в том, что данные пройдя через Com порт и вернувшись обратно на ПЭВМ искажаются. Увеличивается размер, часть символов меняется. Не меняются только очень мелкие файлы в несколько байт, когда дело доходит до килобайтов файлы искажаются.
Я устанавливал ОС с нуля, пробовал менять кабеля, переустанавливал программу, ставил все разрешения, запускал ПО под root, пользователи включены в dialout, менял скорости ком порта через ПО. Проверил программу на 3х компьютерах. Два из них с одинаковой конфигурацией, третий — ноутбук. Как результат на ноутбуке всё сразу заработало без искажений, а на компьютере с той же конфигурацией как у «проблемного» — нет. Вывод однозначен — аппаратура и соединительные кабели исправны. Проблема в конфигурации. Что меня смущает, так это то, что искажения есть и на Com порте и на переходнике USB to Com (причём на usb to com они меньше). Пробовал отключать Com в биосе и работать только через переходник, менять настройки USB портов. Результата нет. Пробовал смотреть на настройки портов (stty) — они одинаковы и у работающего ПЭВМ и у неработающего.
Буду очень рад дельным советам.
Прошу Вас дать направление для поиска проблем.
Проблема заключается в том что к ПЭВМ подключено специфическое оборудование, взаимодействие с которым осуществляется через COM порт
что данные пройдя через Com порт и вернувшись обратно на ПЭВМ искажаются.
Это так это оборудование работает? В него загружается файл, а потом он его возвращает? Попробуй для начала джампером обычным замкнуть 2 и 3 контакты COM (петля). И погоняй данные, проверь порты.
Попробую! Но если бы проблема была в нём, то аналогичной проблемы не было бы на usb to com (если нет, поправьте). Сегодня в терминале увидел сообщение об отключении питания usb и его перезапуске. Если оно вылезло в терминале значит оно критическое исходя из настроек rsyslog. Возможно дело куда хуже и за мнимой работой системы скрываются серьезные проблемы с поддержкой портов. Изучу на днях журналы повнимательнее и отпишусь!
Вот ответ официальной техподдержки: «По возможности, проверьте поведение COM в Debian Wheezy(7.8)». Увы возможности нет. Я так понимаю они хотят проверить — их доработки привели к такому поведению или нет.
Учитывая что проблема явно программная и отсутствие у тебя возможности сменить софт, остаётся только бодаться с ними. У дебиана вроде live-cd были?
взаимодействие с которым осуществляется через COM порт
через программное обеспечение для МСВС, теперь до нас довели аналогичное но для Astra Linux
С Astra не связывался, а как в ней вообще система устройств организована, также как и во всех линях, через /dev, или как-то по другому?
Если как во всех линях, пробуй напрямую общаться, а не через какое-то подозрительное ПО:
Источник
Не могу подключить COM порт
Прошу помочь разобраться в простой проблемке.
Не могу подключается по COM порту к другим устройствам.
Установил Arch на ноут, установил Gnome со всеми примочками и дополнительными прогами (всё было хорошо), но тут мне захотелось ещё и COM порт чтобы у мя работал через putty. Но не тут то было.
не запускается как не крути
Здесь засел на установке minicom
pacman -S minicom
resolving dependencies…
looking for inter-conflicts…
Targets (1): minicom-2.4-2
Total Download Size: 0.23 MB
Total Installed Size: 0.70 MB
Proceed with installation?
:: Retrieving packages from extra…
error: failed retrieving file ‘minicom-2.4-2-i686.pkg.tar.gz’ from ftp.hosteurope.de : File unavailable (e.g., file not found, no access)
error: failed retrieving file ‘minicom-2.4-2-i686.pkg.tar.gz’ from ftp.hosteurope.de : File unavailable (e.g., file not found, no access)
warning: failed to retrieve some files from extra
error: failed to commit transaction (File unavailable (e.g., file not found, no access))
Errors occurred, no packages were upgraded.
Помогите разобраться с такой “нелёгкой” задачей.
2. pacman -Syu — систему вообще обновляли?
Добавление в группы uucp или tty тоже не помогло.
Неижели ни кто не знает как справиться с этойпроблемкой?!
Может я не правильно задал данные в /boot/grub/menu.lst
serial –unit=0 –speed=9600
terminal –timeout=5 serial console
# (3) Arch Linux COM
title Arch Linux
root (hd0,3)
kernel /boot/vmlinuz26 root=/dev/sda4 ro console=ttyS0,9600
initrd /boot/kernel26.img
или в /etc/inittab
c0:2345:respawn:/sbin/agetty 9600 ttyS0 linux
Следующая команда выдвёт следующее:
#dmesg | grep tty
console enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
00:02: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
ttyS0: LSR safety check engaged!
Источник
Не могу запустить COM порт
Есть не вполне обычная коробченка Axiomtek eBOX730-860-FL (http://ipc2u.ru/news/new/eBOX730-860-FL/) с 8 изолированными COM портами. Ставлю на неё Windows — COM порты работают вполне ожидаемо, причём в диспетчере устройств никаких необычных контроллеров в части портов не наблюдаю. У коробченки есть набор из 16 светодиодов на корпусе, которые моргают, когда идет чтение/запись в COM порты. Замыкаю пины 2 и 3 на одном из портов, кидаю на него сообщение и ожидаемо принимаю на том же порту. В общем, на Windows, всё работает нормально. Ставлю на неё же линукс (пробовал ubuntu и astra), вижу в ls 8 uart портов типа /dev/ttyS0..7 и. Запускаю minicom, настраиваю аналогично тому, как оно есть в Windows, собственно и всё — никакие огоньки не мигают, данные не передаются и не принимаются. Причем сами порты открываются вполне себе нормально.
В общем ситуация пока такая. Обновил ядро до 4.5.0rc2 — светодиод Rx загорается именно на том порту (и только на нём!), где установлена перемычка. Но передачи данных так и нет, да и Tx светодиод не загорается тоже.
Я бы посмотрел, нет ли вдруг GPIO который разрешает/запрещает передачу данных.
Как это сделать?
Обновил ядро до 4.5.0rc2 — светодиод Rx загорается именно на том порту
Что это означает? Что он что-то прочел или что этот светодиод значит? Мигает в такт с данными?
Что это означает? Что он что-то прочел или что этот светодиод значит?
ХЗ загорается что при echo «HELLO» > /dev/ttyS1, что при cat ( 07.02.16 22:37:59 )
А как должен? Просто гореть должен или мигать? Как в виндах происходит?
Это я уже завтра вечером посмотрю — для этого надо подключать монитор и клаву, для чего отключать основной комп, а уже лениво. Спасибо за советы.
Ты попробуй что-нибудь по передавать echo и потом глянь /proc/tty/driver/serial, пытался ли он что-то передавать.
Вот, например, я передал короткое слово и он tx:6 отобразил.
В том выхлопе, что выше, вообще все по нулям.
Источник
Федоренко на связи
Заметки на полях
Проверка COM порта под linux
В этой заметке я расскажу про то, как можно проверить COM порт в Linux.
Для этого нам понадобятся:
- права на чтение и запись в COM порт
- программа minicom
- кусок толстого многожильного кабеля
Права доступа
проверяем какие у нас в системе есть COM порты, а также наши права на них:
/dev/ttyS0 это первый COM порт
/dev/ttyS1 соответственно второй COM порт
/dev/ttyUSB0 специальный кабель-переходник из USB в COM (Gembird UAS111)
Как мы видим для работы с COM портом необходимы права root либо пользователь должен входить в группу dialout
Провод для связи
Берём многожильный кабель в оплётке длиной 4-6 см, и соединяем 2 и 3 выводы COM порта перемычкой из этого кусочка провода. Оплётка будет удерживать провод на контактах, а металлические жилы внутри будут проводниками.
Для любителей паять можно предложить спаять полный loop-back тестер. В нём соединить не только контакты приёма передачи, но и аппаратный контроль потока и готовность терминала.
Работа с программой minicom
Для начала необходимо настроить программу minicom
Выбираем «Настройка последовательного порта»
Если нужно, меняем СОМ порт, нажимая «A»
Отключаем аппаратное управление потоком, нажимая «F»
Выходим из настроек «Enter»
Сохраняем настройки по умолчанию «Сохранить настройки как dfl»
Выходим из minicom
Собственно проверка СОМ порта
Запускаем minicom без параметров.
Пробуем нажимать на клавиши. В ответ на экране должны появляться символы.
Проверка COM порта под linux завершена.
Эта запись была сделана 21.12.2010, 13:50 под рубрикой Разное. Вы можете подписаться на эту запись с помощью RSS 2.0. Both comments and pings are currently closed.
5 комментариев (and 38 trackbacks)
#1 by Евгений on 02.05.2012 — 12:50
А как им управлять через PHP скрипт? Спасибо за статью!
Источник
Не работает COM-порт (нет драйвера для контроллера?)
Добрый день. Имеется компьютер с Сom-портом. На компьютере установлена ubuntu 10.04, а также виндоус(ХР). В виндоусе ком-порт работает (посылались команды и приходили верные ответы от устройства),в диспетчере устройств com-порт ассоциируется с LPC Interface Controller.
Что происходит в ubuntu — ком-порты определяются,но операции записи-чтения не дают результата. Проверял : 1) утилитой minicom — не происходит ничего при инициализации 2) serial port terminal (gtkterm) из центра приложений Ubuntu — тоже черный экран и всё.
Важный момент — рядом стоит другой компьютер, с той же ubuntu, но совершенно другой конфигурацией самого компьютера — там все операции с com-портом проходили успешно (нуль-модемный кабель в слот одним концом, на другом соединить 2 и 3 контакт — как minicom, так и serial port terminal записывают и читают правильные байты. И с тем устройством ,к-ое в виндоус работало, здесь тоже проблем не возникло).
Результаты команд :
все права на чтение-запись на порты стоят, да и работа вся идет под рутом..
Интересный момент, рез-т dmidecode , COM-порта в списке нет, а на втором компьютере с линуксом есть!
это навело на мысль, что возможно нет драйвера для интеловского LPC Controller (см. lspci).
Длительным поиском в гугле драйвера под линукс для данного устройства не нашел.
в linux kernel driver database данное устройство (8086:2815) упоминается лишь раз (модуль iTCO_wdt — но он исп. только для таймера, на всякий случай modprobe-ом подключил его — изменений не принесло в работу com-порта)
ВОзможно не там и не так искал..или действительно нет драйвера для данного устройства . или проблема не в нём все-таки.
Источник