Название: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 12:39 Есть не вполне обычная коробченка Axiomtek eBOX730-860-FL (http://ipc2u.ru/news/new/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 портов на гостевую ОС - всё тоже нормально без всяких танцев с бубном - огоньки мигают, данные передаются/принимаются. Куда копать-то дальше? Название: Re: Не работает COM порт в Linux Отправлено: Old от Февраль 07, 2016, 12:58 Не уверен, что ttyS0...7 это ее порты.
Скорее всего нужны модули ядра с поддержкой этой железки, по сути это самостоятельный компьютер. Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 13:07 Там вообще ttyS... до 31 нумеруются, но только на первых 8 есть сведения о том, что оно на UART16550A, на остальных - "нет данных". Да и IRQ и номера физических портов для этих первых 8-ми совпадают с теми, которые были в свойствах портов в windows. Понятно, что все ttyS0..7 я перепробовал с одинаково нулевым результатом.
Название: Re: Не работает COM порт в Linux Отправлено: kai666_73 от Февраль 07, 2016, 15:17 На всякий случай:
- юзверь в группу dialup включен? - для KDE(ubuntu)/ASTRA еще возможно надо ModemManager деинсталлировать с непременной перезагрузкой Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 15:21 - юзверь в группу dialup включен? Да, добавлен, в dialout. Из под рута тоже пробовал. Кроме того, повторюсь на виртуалке в ubuntu всё работает сразу и без шаманств.Похоже, действительно ядро как-то коряво взаимодействует с этими портами. То есть видит их как нормальные Код А писать/читать не может Название: Re: Не работает COM порт в Linux Отправлено: kai666_73 от Февраль 07, 2016, 17:21 Ну тогда, возможно, второй вариант... (в ASTRA modemmanager установлен из под коробки, так сказать)
Удалить, перегрузиться... если не поможет, то тогда, да - грешить надо на ядро. Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 18:08 Ну тогда, возможно, второй вариант... (в ASTRA modemmanager установлен из под коробки, так сказать) Ожидаемо (см. про нормальную работу из под виртуалки) не помогло.Удалить, перегрузиться... если не поможет, то тогда, да - грешить надо на ядро. Что делать-то? Просто "грешить на ядро" как-то очень уж не конструктивно :) Название: Re: Не работает COM порт в Linux Отправлено: Old от Февраль 07, 2016, 19:29 Ожидаемо (см. про нормальную работу из под виртуалки) не помогло. Посмотрел в нете про эту железку - обещается поддержка linux.Что делать-то? Просто "грешить на ядро" как-то очень уж не конструктивно :) Я бы попробовал еще какой нибудь дистрибутив, кроме убунты и астры. Желательно с новыми ядрами: Arch или Gentoo. А уж потом лез куда-то в потроха. Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 20:31 Посмотрел в нете про эту железку - обещается поддержка linux. Там кроме обещаний ничего больше и нет. Запросил дистрибьютеров - пока тишина.Я бы попробовал еще какой нибудь дистрибутив, кроме убунты и астры. Желательно с новыми ядрами: Arch или Gentoo. Как-то экстремальненько... Никогда с ними дела не имел, хотя с генту всегда было интересно познакомиться. Название: Re: Не работает COM порт в Linux Отправлено: Old от Февраль 07, 2016, 20:47 Как-то экстремальненько... Никогда с ними дела не имел, хотя с генту всегда было интересно познакомиться. Для начала просто попробовать. Если на другом дистрибутиве заработает, можно пытаться найти отличия и т.д.Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 20:51 Может проще ядро обновить до 4.4 на самой ubuntu? На Arch текущем ядро 4.3, gentoo и вовсе от августа 2014...
Название: Re: Не работает COM порт в Linux Отправлено: Old от Февраль 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 Не смотрите на версии на установочных дисках, там последняя версия на момент создания инсталляции. В репозиториях другие версии. Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 21:20 Сейчас попробую обновиться в рамках убунту, потом уже к arch пойду.
Название: Re: Не работает COM порт в Linux Отправлено: kuzulis от Февраль 07, 2016, 21:28 Как вариант - где-нить в menuconfig ядра поставить галочку и пересобрать ядро.. (это, если есть требования к дистру) только надо точно знать что железка работает с линукс. А для начала - попробовать любой дистр.. Даже можно пробовать Live-образ, прям с флешки, не устанавливая.. (если есть возможность) ;)
Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 21:44 Обновил ядро до 4.4.0 - железка несколько ожила. Стали светиться лампочки :). При попытке выполнить что echo «HELLO» > /dev/ttyS1, что cat < /dev/ttyS1 загорается светодиод rx, но tx не загорается вовсе и данные не передаются. Замкнуты 2 и 3 контакты. Скачал arch, но на ночь глядя связываться с ним неохота :)
Название: Re: Не работает COM порт в Linux Отправлено: Old от Февраль 07, 2016, 21:47 Обновил ядро до 4.4.0 - железка несколько ожила. Стали светиться лампочки :). При попытке выполнить что echo «HELLO» > /dev/ttyS1, что cat < /dev/ttyS1 загорается светодиод rx, но tx не загорается вовсе и данные не передаются. Замкнуты 2 и 3 контакты. Скачал arch, но на ночь глядя связываться с ним неохота :) arch по сути это live-cd. Он загрузится и вы получите root консоль.Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 07, 2016, 21:57 Да это понятно, но мне же для этого нужно коробочку подключить к монитору и клаве, для чего отключить свой основной комп и т.п. Сейчас-то она по ssh просто управляется. Пока буду убунту продолжать обновлять до новых ядер :). А тяжёлую артиллерию уже завтра...
Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 10, 2016, 10:37 Удалось-таки поставить arch (этот процесс заслуживает отдельного обсуждения, но не в рамках этой темы ;)). В результате имею всего 4 ttyS порта вместо 8, и полное отсутствие признаков их жизни. Дополнительно, в BIOS увидел, что эти порты управляются контролерами nuvoton nct6106d (2 шт, по 4 порта на каждом) - это мне чем-нибудь сможет помочь?
Название: Re: Не работает COM порт в Linux Отправлено: Old от Февраль 10, 2016, 16:24 Ядро обновили до последнего?
А поддержка этого контроллера в ядре есть? Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 10, 2016, 20:56 Ядро обновили до последнего? Из коробки было Linux 4.4.1-2-ARCHА поддержка этого контроллера в ядре есть? Как это узнать?Название: Re: Не работает COM порт в Linux Отправлено: Old от Февраль 10, 2016, 21:00 Я бы скачал исходники ядра и запустил бы поиск по исходникам названия контроллера и модели.
А что производитель молчит? Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 10, 2016, 21:23 Производитель в Тайване и с конечными пользователями не общается, а продавец говорит "неси коробку" - разберемся. Но: а) лениво к нему переться, б) есть сомнения в его способностях, в) уже и самому интересно добить вопрос.
Название: Re: Не работает COM порт в Linux Отправлено: Old от Февраль 10, 2016, 21:43 А выложите логи загрузки ядра куда нибудь на pastebin, интересно что оно там пишет про эти порты.
Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 10, 2016, 22:45 Пока разобрал конструкцию. Завтра вечером снова соберу - тогда выложу.
Тут, кстати, более подробно по это https://www.linux.org.ru/forum/linux-hardware/12336599 Название: Re: Не работает COM порт в Linux Отправлено: xokc от Февраль 10, 2016, 22:51 Я бы скачал исходники ядра и запустил бы поиск по исходникам названия контроллера и модели. Нашёл. linux-4.4.1\drivers\hwmon\nct6775.cКод Смущает, что в разделе hwmon - видимо тут только мониторинговая часть этих контроллеров используется, а не коммуникационная. А вот в linux-4.4.1\drivers\tty ничего подобного не находится. Название: Re: Не работает COM порт в Linux Отправлено: siy@ipc2u.ru от Июль 08, 2016, 10:25 Уважаемый xokc, удалось решить проблему? Если нет, пишите, пожалуйста, на siy@ipc2u.ru, будем помогать. Тащить железку к нам не обязательно думаю. Зато сможем поговорить с производителем.
Сомневаться в наших силах не стоит 8) Название: Re: Не работает COM порт в Linux Отправлено: xokc от Июль 12, 2016, 10:14 Уважаемый siy из ipc2u, я, видимо, невольно ввёл в кого-то в заблуждение, указав в качестве ссылки на коробочку сайт вашей компании. Исправляюсь - покупали не у вас, в этом смысле никаких претензий к ipc2u у нас нет.
По существу вопроса - проблему так и не решили. Колдовством с ядром удалось запустить 2 из 8 портов в ограниченном режиме RS-232. RS-485 не запустился вообще. В итоге сочли, что дешевле купить USB репликатор MOXA на 8 портов и забыть этот страшный сон. В будущем таких специфических железок без реального тестирования покупать не будем. |