LINUX.ORG.RU

Перестал работать LIRC


0

0

Этот вопрос я уже задал вот тут

Для Ъ:

Краткое введение: уже год пользуюсь самодельным ИК-приемником, подключаемым через COM-порт. За его работу отвечает драйвер lirc_serial. Теперь собственно проблема: вчера обнаружил что данные с приемника не передаются.

Первым делом проверил приемник на другой машине - все ОК. Затем проверил работоспособность COM-порта на проблемной машине(с помощью null-модемного кабеля подсоединив к другой машине) - тоже все нормально. Попробовал откатится на старую версию lirc - та же беда, ничего не работает. Проверил параметры COM-порта, передающиеся модулю - все правильно: irq=4 io=0x3f8.

Причем даже mode2 - то есть с устройства ничего не приходит. Прошу помощи, так как фантазия на тему что могло случиться уже иссякла...

На всякий случай, что мы имеем: 1) Приемник рабочий 2) COM-порт рабочий 3) Параметры настройки lirc_serial, относящиеся к COM-порту заданы правильно

Ядро 2.6.34-gentoo-r12, lirc 0.8.7.

P.S. Дистрибутив есстественно Gentoo. Ядро собрал новое - 2.6.35-gentoo-r2, все равно та же хрень...

★★★★★

У меня такая же конфигурация.. После шаманства которое привело к рабочей конфигурации - ничего не трогаю.

35d# grep LIRC /etc/make.conf
LIRC_DEVICES=«serial_igor_cesko sir»

35d# grep lirc /etc/conf.d/modules
modules_2_6=«cfg80211 mac80211 ath9k tun lirc_serial»
module_lirc_serial_args_2_6=«irq=4 io=0x3f8 type=0 sense=1»

35d# grep -v # /etc/modprobe.d/lirc.conf
options lirc_serial irq=4 io=0x3f8 type=0 sense=1
install lirc_serial setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_serial

35d# grep -v # /etc/conf.d/lircd
LIRCD_OPTS="-d /dev/lirc0"
DRIVER=«default»
DEVICE=«/dev/lirc0»
COM_PORT=«/dev/ttyS0»
DRIVER_OPTS=«irq=4 io=0x3f8 type=0 sense=1»

hzk
()

>Прошу помощи, так как фантазия на тему что могло случиться уже иссякла...

А в биосе порт правильно настроен? Настройки соответствуют lirc-serial? Может, перепутаны первый и второй порты?

Питания хватает? Померь тестером напряжения на входе-выходе стабилизатора приёмника на проблемном компе и на рабочем. Если есть подозрения на отличия - попробуй запитать приёмник отдельно.

Простая схема с lirc.org не особо надёжна, может стоит взять оттуда же схемку попродвинутей?

lyset ★★★
()
Ответ на: комментарий от lyset

>А в биосе порт правильно настроен?

Там есть вариант Auto, есть вручную. Если выбрать Auto - сконфигурирует как COM1(irq - 4, io - 0x3f8). Пробовл вручную: задал irq - 4, io - 0x3f8 в как биосе, так и при загрузке драйвера. Если грузить не lirc_serial а 8250_pnp, пишет «00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A», так что это все-таки COM1. Для примера попробовал вместо 0x3f8 задать 0x2f8, тогда порт определяется как ttyS1, то есть COM2. Lirc при этом по-прежнему не работает.

Питания хватает? Померь тестером напряжения на входе-выходе стабилизатора приёмника на проблемном компе и на рабочем. Если есть подозрения на отличия - попробуй запитать приёмник отдельно.


Попробую, спасибо. То есть это может быть нехватка питания со стороны COM-порта?

Простая схема с lirc.org не особо надёжна, может стоит взять оттуда же схемку попродвинутей?


Может быть, но эта схема отработала у меня год и работает до сих пор у двух моих друзей(у них я и брал приемники для тестирования - результат: на проблемном компе они тоже не работают, как я уже и говорил в первом сообщении)

Pinkbyte ★★★★★
() автор топика
Ответ на: комментарий от lyset

>Питания хватает? Померь тестером напряжения на входе-выходе стабилизатора приёмника на проблемном компе и на рабочем.

Только что замерил - питание в обоих случаях около 5,5В. Так что я думаю хватает.

Pinkbyte ★★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

Теперь, так же на 2х компах, протестируй вывод ИК-приёмника при нажатом пульте. Тестера скорее всего не хватит для этого, надо
осциллограф. Или высокоомные наушники - тогда сигнал будешь слушать.

Также (На свой страх и риск!) сделай cat /dev/ttyS0 (или как там у тебя) и попробуй позамыкать эти 5.5 вольт на линии данных порта через резистор/диод и напрямую. И посмотри, что сыплется на экран.

Выводы делай сам. Возможно, стоит подобрать другое сопротивление резистора в приёмнике. Возможно, придётся спаять другую схему, вплоть до перехода на IRDA или подобное.

lyset ★★★
()

Решено: костыль через вставку платы PCI с двума COM-портами. С них Lirc нормально завелся и работает...

Pinkbyte ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.