Автор Тема: могу ли я сделать ссылку с ttyS0 на ttyUSB0 ?  (Прочитано 3484 раз)

Оффлайн him

  • Участник
  • *
  • Сообщений: 1 048
$ ls /dev | grep S
ttyS0
ttyS1
ttyS2
ttyS3
ttyUSB0

вопрос, а могу я сделать ссылку с ttyS0 на ttyUSB0 ?
ну что то типа
ln /dev/ttyUSB0 /dev/ttyS0при этом com порт у меня один есть на материнке.
а так могу я как то сделать?
ln /dev/ttyUSB0 /dev/ttyS1
ман и интернет читал.. но что то как то есть недопонимания..
« Последнее редактирование: 12.02.2016 16:09:40 от sb »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Сделать вы конечно можете, но ссылка будет существовать до первой перезагрузки системы. Для постоянной ссылки, надо создавать правило udev

Оффлайн him

  • Участник
  • *
  • Сообщений: 1 048
в теме надо поменять устройства местами наверное.
нам надо читать с com порта то, что происходит в usb.

поясните пожалуйста логику.
было устройсво ttyS0
создавая ссылку с таким же именем, что произойдет?

файл перезатрется ссылкой ?? и этот файл не будет подлежать востановлению.
а как себя будут чувствовать, ну я не знаю, там какие то драйвера, модули ядра, или еще там кто.. ?

я что то немогу саму философию понять..

« Последнее редактирование: 12.02.2016 17:11:14 от him »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
создавая ссылку с таким же именем, что произойдет?
файл перезатрется ссылкой ??
Да.
и этот файл не будет подлежать востановлению.
Почему, можно и заново создать. Только /dev сейчас файловая система виртуальная, создаётся в момент старта системы так, как хочет udev.

Только "ln -s".

Оффлайн Peter_

  • Участник
  • *
  • Сообщений: 105
Я вот абсолютно не вижу смысла в таких действиях, они только повреждают систему.
Также мне непонятно, откуда надо читать с com-порта то, что происходит на usb.
Если из программы, запущенной на этом компьютере и это программа ваша,
то и читайте с usb сразу; если не ваша, а стороняя и вы не можете её изменить,
то напишите программу, которая читает с usb и пишет в com-порт, а эта с него читает
и то же самое, если из com-порта должна читать программа на другом компьютере,
подключённом к вашему через com-порт кабелем .
Пётр.

Оффлайн him

  • Участник
  • *
  • Сообщений: 1 048
Я вот абсолютно не вижу смысла в таких действиях, они только повреждают систему.
Также мне непонятно, откуда надо читать с com-порта то, что происходит на usb.
Если из программы, запущенной на этом компьютере и это программа ваша,
то и читайте с usb сразу; если не ваша, а стороняя и вы не можете её изменить,
то напишите программу, которая читает с usb и пишет в com-порт, а эта с него читает
и то же самое, если из com-порта должна читать программа на другом компьютере,
подключённом к вашему через com-порт кабелем .
если запустить:
# modprobe lirc_serialто чтение будет происходить с com1 и com2 (если я не ошибаюсь, информация из инета)
а у меня на материнке нету com-порта. что делать???
но есть переходник com->usb
по русски ком-порт эмулируется через usb интерфейс, которых сейчас много на материнках.
вот этот самый эмулированный ком-порт ОС определяет как ttyUSB0
а "# modprobe lirc_serial" не хочет его читать.
что делать ???

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Как я понимаю, это вам не поможет. Нужен модуль ядра, который умеет работать с lirc через usb порт.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Вот тут теория. правда по-английски
http://www.lirc.org/html/configuration-guide.html
возможно я не прав, тут например упоминается

Цитировать
Device like /dev/lirc0, /dev/ttyACM0. /dev/ttyS0.

Возможно вам надо сделать ссылку с /dev/ttyUSB0 на /dev/lirc0

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
http://www.lirc.org/html/configuration-guide.html#appendix-1

Цитировать
Kernel IR driver configuration.

The builtin ir driver subsystem is aware of LIRC, and is capable to send all data through /dev/lirc0. If lircd fails to configure this automatically it can be done manually:

        # echo -- 'lirc' > /sys/class/rc/rc0/protocols
   

Here, 'rc0' is OK if you have only one infrared device. Note that this is not persistent, you need to do this after each boot.

Using '-lirc' instead restores the normal kernel operation when stopping LIRC.

Udev rules

Likewise, if lircd fails to configure the kernel IR driver automatically you can create a file /etc/udev/rules.d/99-remote-control-lirc like:

       SUBSYSTEM=="rc", ATTR{protocols}="lirc"
   

This is persistent and makes all ir devices send data only through /dev/lirc0 where it can be retrieved by the 'default' driver.

Оффлайн him

  • Участник
  • *
  • Сообщений: 1 048
я тоже уже несколько раз перечитываю эту документацию, но прозрение пока не приходит...

надо как то переконфигурировать модуль ядра - lirc_serial
что бы он читал не с /dev/ttyS0 а из другого места.
а как это сделать не пойму.

/dev/lirc0 это я так понимаю стандартный интерфейс вывода. его наличие проверяют все программы которые могут работать с лирком на прямую. ну тоесть если это устройство существует то в системе используется ИК управление.

далее смотрю по документации (Цитате):
# echo -- 'lirc' > /sys/class/rc/rc0/protocols
может я что то недопонимаю... это просто запишит в файл protocols стороку lirc
кстати у меня такого пути нету, есть похожий /sys/class/lirc

если есть какие мысли.. ?

в инете кстати есть ссылки на некий файл:
/etc/lirc/hardware.conf
в альте он отсутствует.. какая то особая сборка??


вот что попалось:
# modinfo lirc_serial
filename:       /lib/modules/3.4.25-un-def-alt0.M60P.1/kernel/drivers/staging/media/lirc/lirc_serial.ko
license:        GPL
author:         Ralph Metzler, Trent Piepho, Ben Pfaff, Christoph Bartelmus, Andrei Tanas
description:    Infra-red receiver driver for serial ports.
srcversion:     7BC888FC5866DA3C2909C18
depends:        lirc_dev
staging:        Y
intree:         Y
vermagic:       3.4.25-un-def-alt0.M60P.1 SMP preempt mod_unload modversions 686
parm:           type:Hardware type (0 = home-brew, 1 = IRdeo, 2 = IRdeo Remote, 3 = AnimaX, 4 = IgorPlug, 5 = NSLU2 RX:CTS2/TX:GreenLED) (int)
parm:           io:I/O address base (0x3f8 or 0x2f8) (int)
parm:           iommap:physical base for memory mapped I/O (0 = no memory mapped io) (bool)
parm:           ioshift:shift I/O register offset (0 = no shift) (int)
parm:           irq:Interrupt (4 or 3) (int)
parm:           share_irq:Share interrupts (0 = off, 1 = on) (bool)
parm:           sense:Override autodetection of IR receiver circuit (0 = active high, 1 = active low ) (bool)
parm:           txsense:Sense of transmitter circuit (0 = active high, 1 = active low ) (bool)
parm:           softcarrier:Software carrier (0 = off, 1 = on, default on) (bool)
parm:           debug:Enable debugging messages (bool)

для ком порта вроде как можно поменять параметры:
modprobe lirc_serial io=0x2f8 irq=3
« Последнее редактирование: 15.02.2016 12:04:38 от him »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
По моему "стоит плясать" от этого места:
Likewise, if lircd fails to configure the kernel IR driver automatically you can create a file /etc/udev/rules.d/99-remote-control-lirc like:

       SUBSYSTEM=="rc", ATTR{protocols}="lirc"
   

Оффлайн him

  • Участник
  • *
  • Сообщений: 1 048
а как плясать?

скопировать эту строку, в тот файл что указан ??

кстати, попался некий костыль, на просторах инета:
http://www.sl-alex.com.ua/ru/page/avrlirc
https://github.com/foxharp/avrlirc
« Последнее редактирование: 15.02.2016 13:41:48 от him »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Ну, если я правильно понял, тут написано, что вы должны создать файл  /etc/udev/rules.d/99-remote-control-lirc  с содержимым подобным приведённому.

Оффлайн him

  • Участник
  • *
  • Сообщений: 1 048
смущает слово "подобным"
- пока нет понимания что значит каждый параметр строки
- ну и ни где не упоминается про ttyUSB0

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
кстати, попался некий костыль, на просторах инета:
http://www.sl-alex.com.ua/ru/page/avrlirc
Интересная статья