Russian Qt Forum
Апрель 20, 2024, 13:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Не работает COM порт в Linux  (Прочитано 25018 раз)
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« : Февраль 07, 2016, 12:39 »

Есть не вполне обычная коробченка 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 и... Собственно и всё - никакие огоньки не мигают, данные не передаются и не принимаются. Причем сами порты открываются вполне себе нормально.
Мало того, если я разворачиваю под этой виндой виртуалку с ubuntu, "пробрасываю" пару COM портов на гостевую ОС - всё тоже нормально без всяких танцев с бубном - огоньки мигают, данные передаются/принимаются. Куда копать-то дальше?

Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #1 : Февраль 07, 2016, 12:58 »

Не уверен, что ttyS0...7 это ее порты.
Скорее всего нужны модули ядра с поддержкой этой железки, по сути это самостоятельный компьютер.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #2 : Февраль 07, 2016, 13:07 »

Там вообще ttyS... до 31 нумеруются, но только на первых 8 есть сведения о том, что оно на UART16550A, на остальных - "нет данных". Да и IRQ и номера физических портов для этих первых 8-ми совпадают с теми, которые были в свойствах портов в windows. Понятно, что все ttyS0..7 я перепробовал с одинаково нулевым результатом.
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #3 : Февраль 07, 2016, 15:17 »

На всякий случай:
- юзверь в группу dialup включен?
- для KDE(ubuntu)/ASTRA еще возможно надо ModemManager деинсталлировать с непременной перезагрузкой
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #4 : Февраль 07, 2016, 15:21 »

- юзверь в группу dialup включен?
Да, добавлен, в dialout. Из под рута тоже пробовал. Кроме того, повторюсь на виртуалке в ubuntu всё работает сразу и без шаманств.
Похоже, действительно ядро как-то коряво взаимодействует с этими портами. То есть видит их как нормальные
Код
Bash
acs@acs-CEM860:~$ dmesg | grep ttyS
[    1.456871] 00:04: ttyS4 at I/O 0x240 (irq = 11, base_baud = 115200) is a 16550A
[    1.477404] 00:05: ttyS5 at I/O 0x248 (irq = 11, base_baud = 115200) is a 16550A
[    1.497913] 00:06: ttyS6 at I/O 0x250 (irq = 11, base_baud = 115200) is a 16550A
[    1.518463] 00:07: ttyS7 at I/O 0x258 (irq = 11, base_baud = 115200) is a 16550A
[    1.539043] 00:09: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    1.559597] 00:0a: ttyS1 at I/O 0x2f8 (irq = 4, base_baud = 115200) is a 16550A
[    1.580162] 00:0b: ttyS2 at I/O 0x3e8 (irq = 4, base_baud = 115200) is a 16550A
[    1.600717] 00:0c: ttyS3 at I/O 0x2e8 (irq = 4, base_baud = 115200) is a 16550A
 
А писать/читать не может
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #5 : Февраль 07, 2016, 17:21 »

Ну тогда, возможно, второй вариант... (в ASTRA modemmanager установлен из под коробки, так сказать)
Удалить, перегрузиться... если не поможет, то тогда, да - грешить надо на ядро.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #6 : Февраль 07, 2016, 18:08 »

Ну тогда, возможно, второй вариант... (в ASTRA modemmanager установлен из под коробки, так сказать)
Удалить, перегрузиться... если не поможет, то тогда, да - грешить надо на ядро.
Ожидаемо (см. про нормальную работу из под виртуалки) не помогло.
Что делать-то? Просто "грешить на ядро" как-то очень уж не конструктивно Улыбающийся
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #7 : Февраль 07, 2016, 19:29 »

Ожидаемо (см. про нормальную работу из под виртуалки) не помогло.
Что делать-то? Просто "грешить на ядро" как-то очень уж не конструктивно Улыбающийся
Посмотрел в нете про эту железку - обещается поддержка linux.
Я бы попробовал еще какой нибудь дистрибутив, кроме убунты и астры. Желательно с новыми ядрами: Arch или Gentoo.
А уж потом лез куда-то в потроха.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #8 : Февраль 07, 2016, 20:31 »

Посмотрел в нете про эту железку - обещается поддержка linux.
Там кроме обещаний ничего больше и нет. Запросил дистрибьютеров - пока тишина.

Я бы попробовал еще какой нибудь дистрибутив, кроме убунты и астры. Желательно с новыми ядрами: Arch или Gentoo.
Как-то экстремальненько... Никогда с ними дела не имел, хотя с генту всегда было интересно познакомиться.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #9 : Февраль 07, 2016, 20:47 »

Как-то экстремальненько... Никогда с ними дела не имел, хотя с генту всегда было интересно познакомиться.
Для начала просто попробовать. Если на другом дистрибутиве заработает, можно пытаться найти отличия и т.д.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #10 : Февраль 07, 2016, 20:51 »

Может проще ядро обновить до 4.4 на самой ubuntu? На Arch текущем ядро 4.3, gentoo и вовсе от августа 2014...
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #11 : Февраль 07, 2016, 20:55 »

Может проще ядро обновить до 4.4 на самой ubuntu?
Ну если там есть такая возможность, то да.

На Arch текущем ядро 4.3, gentoo и вовсе от августа 2014...
Ядра у этих дистрибутивов обновляются сразу после их выхода. Улыбающийся

Цитировать
[~]$ uname -a
Linux 4.4.1-2-ARCH #1 SMP PREEMPT Wed Feb 3 13:12:33 UTC 2016 x86_64 GNU/Linux

Не смотрите на версии на установочных дисках, там последняя версия на момент создания инсталляции. В репозиториях другие версии.
« Последнее редактирование: Февраль 07, 2016, 20:58 от Old » Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #12 : Февраль 07, 2016, 21:20 »

Сейчас попробую обновиться в рамках убунту, потом уже к arch пойду.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #13 : Февраль 07, 2016, 21:28 »

Как вариант - где-нить в menuconfig ядра поставить галочку и пересобрать ядро.. (это, если есть требования к дистру) только надо точно знать что железка работает с линукс. А для начала - попробовать любой дистр.. Даже можно пробовать Live-образ, прям с флешки, не устанавливая.. (если есть возможность) Подмигивающий
Записан

ArchLinux x86_64 / Win10 64 bit
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #14 : Февраль 07, 2016, 21:44 »

Обновил ядро до 4.4.0 - железка несколько ожила. Стали светиться лампочки Улыбающийся. При попытке выполнить что echo «HELLO» > /dev/ttyS1, что cat < /dev/ttyS1 загорается светодиод rx, но tx не загорается вовсе и данные не передаются. Замкнуты 2 и 3 контакты. Скачал arch, но на ночь глядя связываться с ним неохота Улыбающийся
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 22.