URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10110
[ Назад ]

Исходное сообщение
"Работа с сирийным портом (Linux/Kernel/LKM)"

Отправлено Oxff , 17-Июл-16 03:35 
Приветствую!
Имеется исходник модуля ядра под Линукс, требуется из него работать с серийным портом.
Немного прошарил тему, сколько удалось понять, что по простому работать с виртуальным терминалом ttyS можно только из под юзер спейс.
В теории можно собрать свой низкоуровневый драйвер, но это сложновато для моего уровня знаний.
Какие варианты решения посоветуете?

Содержание

Сообщения в этом обсуждении
"Работа с сирийным портом (Linux/Kernel/LKM)"
Отправлено PavelR , 17-Июл-16 11:25 
В гугле забанили?

"Работа с сирийным портом (Linux/Kernel/LKM)"
Отправлено _ , 18-Июл-16 20:09 
> В гугле забанили?

Про гугель не скажу а на ЛОРе - почти да :) Оно видимо это запостило везде куда смогло дотянуться, так что "Жги *же!"  :)


"Работа с сирийным портом (Linux/Kernel/LKM)"
Отправлено Alex_S , 19-Июл-16 16:50 
> Приветствую!
> Имеется исходник модуля ядра под Линукс, требуется из него работать с серийным
> портом.
> Немного прошарил тему, сколько удалось понять, что по простому работать с виртуальным
> терминалом ttyS можно только из под юзер спейс.
> В теории можно собрать свой низкоуровневый драйвер, но это сложновато для моего
> уровня знаний.
> Какие варианты решения посоветуете?

собрать свой драйвер, наверное.

  а что конкретно надо делать-то ?

  там вообще несколько слоев. драйвер уарта, line discipline  и  собссно /dev/ttyS*

  мож тебе проще драйвер уарта пропатчить, например. проинициализировать девайс из юзерспэйса , но потом дергать из твоего модуля драйвер уарта напрямую, а /dev/ttyS не трогать вообще.


"Работа с сирийным портом (Linux/Kernel/LKM)"
Отправлено Oxff , 19-Июл-16 18:04 
>  собрать свой драйвер, наверное.
>   а что конкретно надо делать-то ?
>   там вообще несколько слоев. драйвер уарта, line discipline  и
>  собссно /dev/ttyS*
>   мож тебе проще драйвер уарта пропатчить, например. проинициализировать девайс из
> юзерспэйса , но потом дергать из твоего модуля драйвер уарта напрямую,
> а /dev/ttyS не трогать вообще.

Мда, в сабже я дал конечно, был очень не трезв ;)
Есть готовый драйвер LKM из которого нужно наладить коммуникацию с периферией по уарту.
В общем все сделал через /dev/ttyS, но работает не стабильно.
После пересборки модуля он периодический зависает после вызова filp_open(serial, O_RDWR | O_NOCTTY | O_NDELAY, 0);
Как отладить и с чего глючит не ясно...(



"Работа с сирийным портом (Linux/Kernel/LKM)"
Отправлено izyk , 19-Июл-16 20:02 
> Мда, в сабже я дал конечно, был очень не трезв ;)
> Есть готовый драйвер LKM из которого нужно наладить коммуникацию с периферией по
> уарту.
> В общем все сделал через /dev/ttyS, но работает не стабильно.
> После пересборки модуля он периодический зависает после вызова filp_open(serial, O_RDWR
> | O_NOCTTY | O_NDELAY, 0);
> Как отладить и с чего глючит не ясно...(

Зря вы так, у вас же явное ОРЗ.

PS. ОРЗ(Очень Резко Завязал).


"Работа с сирийным портом (Linux/Kernel/LKM)"
Отправлено Oxff , 19-Июл-16 22:46 
>   мож тебе проще драйвер уарта пропатчить, например. проинициализировать девайс из
> юзерспэйса , но потом дергать из твоего модуля драйвер уарта напрямую,
> а /dev/ttyS не трогать вообще.

С этого места можно чуть подробнее...?