CEC на плеере

CEC на плеере, начало

Postby mact » 19 Nov 2012, 01:21

Подскажите, никто не подключал HDMI CEC к Xtreamer Pro?
В принципе с поднятием разобрался, через ЖК Philips pfl3507 нормально управляется,
но вот никак не могу сделать, что-ю драйвера и модуль подымался при старте системы.
Как я делаю
1)подгружаю драйвера командами
insmod cec-dev.ko
insmod venus_ir_wo.ko
вроде как должны после перезагрузки появляться, а не появляются(если вручную стартую,то всё работает до перезагрузки)
2)стартую модуль
cecd -D -s -config-file=/etc/cecd.conf
после этого можно управлять через ТВ плеером, но опять до перезагрузки

пробывал добавить скрипт /etc/init.d/S95hdmicec
с таким содержанием
#! /bin/sh
# /etc/rcS.d/16cecd
#
# Start cecd
insmod /lib/modules/2.6.12.6-VENUS/kernel/drivers/cec/cec-dev.ko
insmod /lib/modules/2.6.12.6-VENUS/kernel/drivers/cec/venus_ir_wo.ko
cecd -D -s -config-file=/etc/cecd.conf
exit 0

не стартует, может кто подскажет, что я делаю не так и как правильно?
Xtreamer Pro ver.2.7.1
Linux myxtreamer 2.6.12.6-VENUS #77 Mon Jan 24 17:46:29 KST 2011 mips
mact
 
Posts: 23
Joined: 18 Nov 2012, 02:03

Re: Xtreamer Pro

Postby Virtual » 19 Nov 2012, 09:00

mact
если на оригинальной прошивке...
0. мог забыть про unix конци строк., а в sh скриптах это очень чревато.
1. мог забыть про права... сделай chmod +x /etc/init.d/S95hdmicec
2. могла глюкнуть корневая ФС yaffs :( увы но такое рано или поздно случается с ориг прошивкой.
многие не от хорошей жизни пересели на AMP и скин Xtreamer Pro (ядро иное, GUI родной)
марсы: HDS7 (смотрелка AMP скин vrt )
HDR12 AMP (обычно сервер с RAM 256 и 2 SATA диска 2T+)//но очень иногда оцифровка видео
XTR PRO(AMP, HTTP(S) NFS SMB FTP сервер +trans2.90 + 2 SATA диска 2T+
сатурны: XTR Prodigy, R6S(512Mb_NAND), HD900A(_MD*) прошивка
User avatar
Virtual
 
Posts: 6862
Joined: 01 Oct 2010, 17:17
Location: RU

Re: Xtreamer Pro

Postby Borisish151 » 19 Nov 2012, 09:01

Спасибо. Будем знать теперь больше!
XDS73D, XDSL42GL, Egreat_R6s и XDSL70GL - убил
Borisish151
 
Posts: 321
Joined: 29 Jan 2012, 15:33
Location: Муром, Россия

Re: Xtreamer Pro

Postby mact » 19 Nov 2012, 11:00

Virtual wrote:если на оригинальной прошивке...

Прошивка оригинальная
Virtual wrote:0. мог забыть про unix конци строк., а в sh скриптах это очень чревато.

да, это возможная причина, поскольку файлик редактировал из винды, эти грабли не учёл...
Virtual wrote:1. мог забыть про права... сделай chmod +x /etc/init.d/S95hdmicec

с правами как раз всё ок.
Virtual wrote:2. могла глюкнуть корневая ФС yaffs :( увы но такое рано или поздно случается с ориг прошивкой.
многие не от хорошей жизни пересели на AMP и скин Xtreamer Pro (ядро иное, GUI родной)

ок, учту, буду переселяться на другую прошивку...
Xtreamer Pro ver.2.7.1
Linux myxtreamer 2.6.12.6-VENUS #77 Mon Jan 24 17:46:29 KST 2011 mips
mact
 
Posts: 23
Joined: 18 Nov 2012, 02:03

Re: Xtreamer Pro

Postby mact » 21 Nov 2012, 02:45

Virtual wrote:mact
0. мог забыть про unix конци строк., а в sh скриптах это очень чревато.

причина оказалась как раз в концах строк, СПАСИБО.

Ещё вопрос, подкажите, мне нужно откомпиленные драйвера cec-dec.ko и venus_ir_wo под ядро amp_r7_xpro, те что у меня есть на это ядро не стают...
или может кто подскажет как их правильно откомпилировать?
Xtreamer Pro ver.2.7.1
Linux myxtreamer 2.6.12.6-VENUS #77 Mon Jan 24 17:46:29 KST 2011 mips
mact
 
Posts: 23
Joined: 18 Nov 2012, 02:03

Re: Xtreamer Pro

Postby Virtual » 21 Nov 2012, 04:48

как нить посмотрю что можно сделать.... в amp8 часть уже е"сть из коробки" (напр cec-dev.ko)., но в связи отсутствием у меня телика с cec и желанием кого либо, тестить данную фичу... данное направление было удачно заброшено :).

ЗЫ пробуем modprobe cec-dev, и модуль ядра из вложения (мне тестить не на чем :()
venus_ir_wo.zip
(38.81 KiB) Downloaded 524 times


PSPS рекомендую как минимум перейти на amp8 ибо там чет вроде правилось в плане CEC., как? сказано тут:
viewtopic.php?f=27&t=1012&start=72
марсы: HDS7 (смотрелка AMP скин vrt )
HDR12 AMP (обычно сервер с RAM 256 и 2 SATA диска 2T+)//но очень иногда оцифровка видео
XTR PRO(AMP, HTTP(S) NFS SMB FTP сервер +trans2.90 + 2 SATA диска 2T+
сатурны: XTR Prodigy, R6S(512Mb_NAND), HD900A(_MD*) прошивка
User avatar
Virtual
 
Posts: 6862
Joined: 01 Oct 2010, 17:17
Location: RU

Re: Xtreamer Pro

Postby mact » 23 Nov 2012, 11:53

Virtual wrote:как нить посмотрю что можно сделать.... в amp8 часть уже "есть из коробки" (напр cec-dev.ko)., но в связи отсутствием у меня телика с cec и желанием кого либо, тестить данную фичу... данное направление было удачно заброшено :).

У меня есть желание, и возможности,
значит так, чего я добился, с родной прошивкой 2.7.1. и
1)CEC драйвер и сам обработчик комманд, его конфиг брал http://xtreamerdev.googlecode.com/files ... 5.0.tar.gz
2)драйвер http://xtreamerdev.googlecode.com/files ... .4-bin.tgz
3)драйвера положил /lib/modules.../driver/cec , прописал их в modules.dep
cecd.conf положил в /etc/
cecd положил в /usr/bin/
на всё раздал соответсвующие права
4)запускал
modprobe cec-dev
modprobe venus_ir_wo
далее cecd -D -s --config-file=/etc/cecd.conf
5)для автозагрузки подложил скрипт запуска в /etc/init.d/
P.S. поскольку всё это делаю из винды, то сначала нехотел запускаться скрипт автозапуска, из-за неправильных окончаний строк, потом всё заработало нормально.

Virtual wrote:ЗЫ пробуем modprobe cec-dev, и модуль ядра из вложения (мне тестить не на чем :()
venus_ir_wo.zip

PSPS рекомендую как минимум перейти на amp8 ибо там чет вроде правилось в плане CEC., как? сказано тут:
http://www.moservices.org/forum/viewtop ... 2&start=72

Долго не отвечал, нужно было попробовать всё, протестить, установил AMP (r8)
С cec-dev, родной из AMP (r8), отрабатывает комманды, но иногда с паузой, вопрос, какую версию нужно использовать cecd, поскольку их несколько вроде?
С venus_ir_wo(предложенный), что-то не так, команды с пульта проходят, в консоли cecd их можно увидить, но по меню не переходит, команды совпадают с работающими в родной прошивке, конфиг для cecd брал тот-же, что и опробовал на родной прошивке.
Пробовал взять исходники драйверов, которые шли с драйверами для родной прошивки, но у меня не получается их пересобрать(не уверен, что правильно называю этот процесс), при попытке сделать Makefile у меня выбивает ошибку.
Думаю основная загвозка с venis_ir_wo, поскольку в консоли cecd всё отрабатывает аналогично с рабочим вариантом на родной прошивке(2.7.1)
Xtreamer Pro ver.2.7.1
Linux myxtreamer 2.6.12.6-VENUS #77 Mon Jan 24 17:46:29 KST 2011 mips
mact
 
Posts: 23
Joined: 18 Nov 2012, 02:03

Re: Xtreamer Pro

Postby Virtual » 23 Nov 2012, 15:16

С cec-dev, родной из AMP (r8), отрабатывает комманды
это хорошая новость :).

но иногда с паузой, вопрос, какую версию нужно использовать cecd, поскольку их несколько вроде?
понятия не имею :( да их 2 но одна (старшая вроде) версия у мну вообще не запускалась.

С venus_ir_wo(предложенный), что-то не так, команды с пульта проходят, в консоли cecd их можно увидить, но по меню не переходит, команды совпадают с работающими в родной прошивке, конфиг для cecd брал тот-же, что и опробовал на родной прошивке.
Пробовал взять исходники драйверов, которые шли с драйверами для родной прошивки, но у меня не получается их пересобрать(не уверен, что правильно называю этот процесс), при попытке сделать Makefile у меня выбивает ошибку.
Думаю основная загвозка с venis_ir_wo, поскольку в консоли cecd всё отрабатывает аналогично с рабочим вариантом на родной прошивке(2.7.1)


venus_ir_wo я собирал для AMP исходники видел в единственном виде.... тут вариантов 2.
1. либо мешает встроенный irfake (попробуй его запретить в настройках мос а, и ребутнутся обязательно) для родного для тебя скина xtreamer irfake не обязателен.

2. либо исходники не совсем то что лежит откомпиленое лежит :(. вот тут не очень приятно....

PS кст исходников cecd я нигде не нашел! :(. а вот это уже неприятность.... придется попробовать спросить у автора проекта.

============
ЗЫЗЫ проверь предположение насчет irfake, и плз. можно логи из консоли что пишет cecd и желательно с комментариями ваших действий на телевизоре :). (блин тяжко лечить больного по почте)
марсы: HDS7 (смотрелка AMP скин vrt )
HDR12 AMP (обычно сервер с RAM 256 и 2 SATA диска 2T+)//но очень иногда оцифровка видео
XTR PRO(AMP, HTTP(S) NFS SMB FTP сервер +trans2.90 + 2 SATA диска 2T+
сатурны: XTR Prodigy, R6S(512Mb_NAND), HD900A(_MD*) прошивка
User avatar
Virtual
 
Posts: 6862
Joined: 01 Oct 2010, 17:17
Location: RU

Re: Xtreamer Pro

Postby mact » 23 Nov 2012, 23:26

Пересмотрел, cecd вылетает версия и 0.4, и 0.5,
невылетало у меня если брал конфиг от 0.4, а сесd от 0.5, и наоборот,(но в этих случаях я так понимаю, что комманды не пересылались на venus_irrp_wo)
разница в
0.4 - ui_codes = {

0.5 - ucp_commands = {

Лог прикрепляю,
putty.log | +
Code: Select all
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2012.11.23 21:24:58 =~=~=~=~=~=~=~=~=~=~=~=
OPLAY55 login: root

BusyBox v1.18.5 (2012-02-04 12:06:08 MSK) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # modrpobe
~ # modp
~ # modprobe cec-dev
~ # mod
~ # modp
~ # modprobe venus_ir_wo
modprobe: module 'venus_ir_wo' not found
~ #
~ #
~ # insmod /li
~ # insmod /li
lib/     linuxrc

~ # insmod /lib
~ # insmod /lib/mo
~ # insmod /lib/modules/2
~ # insmod /lib/modules/2.6.12.6-VENUS/k
~ # insmod /lib/modules/2.6.12.6-VENUS/kernel/dr
~ # insmod /lib/modules/2.6.12.6-VENUS/kernel/drivers/c
~ # insmod /lib/modules/2.6.12.6-VENUS/kernel/drivers/cec/ve
~ # insmod /lib/modules/2.6.12.6-VENUS/kernel/drivers/cec/venus_ir_wo.
~ # insmod /lib/modules/2.6.12.6-VENUS/kernel/drivers/cec/venus_ir_wo.ko 
~ # cecd -D i -s --config-lfile=/etc/cecd.conf
2029.05.08 07:08:52.226 cecd v0.4.2 (r10010) started.
2029.05.08 07:08:52.227 libcec:debug [libcec_open] open /dev/cec/0
2029.05.08 07:08:52.229 using 17 entries hash table for cec_commands
2029.05.08 07:08:52.230 will use target '/dev/venus_irrp_wo' for UI codes translation
2029.05.08 07:08:52.279 libcec:debug [libcec_get_physical_address] found physical address 3000
2029.05.08 07:08:52.280 using logical address 4
2029.05.08 07:08:53.929 libcec:info [libcec_decode_message]   o 0->4: <Give Physical Address>
                                                                83
2029.05.08 07:08:54.066 libcec:info [libcec_decode_message]   o 4->F: <Report Physical Address>
                                                                84 30 00 04
2029.05.08 07:08:54.199 libcec:info [libcec_decode_message]   o 0->4: <Give Device Vendor ID>
                                                                8C
2029.05.08 07:08:54.336 libcec:info [libcec_decode_message]   o 4->F: <Device Vendor ID>
                                                                87 00 1C 85
2029.05.08 07:08:54.454 libcec:info [libcec_decode_message]   o 0->4: <Get CEC Version>
                                                                9F
2029.05.08 07:08:54.542 libcec:info [libcec_decode_message]   o 4->0: <CEC Version>
                                                                9E 04
2029.05.08 07:08:54.675 libcec:info [libcec_decode_message]   o 0->4: <Give OSD Name>
                                                                46
2029.05.08 07:08:55.034 libcec:info [libcec_decode_message]   o 4->0: <Set OSD Name>
                                                                47 58 74 72 65 61 6D 65 72 20 50 72 6F
2029.05.08 07:09:07.143 libcec:info [libcec_decode_message]   o 0->4: <Give Physical Address>
                                                                83
2029.05.08 07:09:07.280 libcec:info [libcec_decode_message]   o 4->F: <Report Physical Address>
                                                                84 30 00 04
2029.05.08 07:09:07.423 libcec:info [libcec_decode_message]   o 0->4: <User Control Pressed>
                                                                44 02
Segmentation fault
~ #
~ # cecd -i -s --config-file=/etc/cecd.conf
2029.05.08 07:09:14.048 cecd v0.4.2 (r10010) started.
2029.05.08 07:09:14.049 libcec:debug [libcec_open] open /dev/cec/0
2029.05.08 07:09:14.052 using 17 entries hash table for cec_commands
2029.05.08 07:09:14.053 will use target '/dev/venus_irrp_wo' for UI codes translation
2029.05.08 07:09:14.101 libcec:debug [libcec_get_physical_address] found physical address 3000
2029.05.08 07:09:14.102 using logical address 4
2029.05.08 07:09:18.341 libcec:info [libcec_decode_message]   o 0->4: <User Control Pressed>
                                                                44 04
Segmentation fault
~ #
~ # cecd -i -s --config-file=/etc/cecd.conf
2029.05.08 07:09:21.497 cecd v0.4.2 (r10010) started.
2029.05.08 07:09:21.499 libcec:debug [libcec_open] open /dev/cec/0
2029.05.08 07:09:21.502 using 17 entries hash table for cec_commands
2029.05.08 07:09:21.503 will use target '/dev/venus_irrp_wo' for UI codes translation
2029.05.08 07:09:21.550 libcec:debug [libcec_get_physical_address] found physical address 3000
2029.05.08 07:09:21.552 using logical address 4
2029.05.08 07:09:22.928 libcec:info [libcec_decode_message]   o 0->4: <Give Physical Address>
                                                                83
2029.05.08 07:09:23.065 libcec:info [libcec_decode_message]   o 4->F: <Report Physical Address>
                                                                84 30 00 04
2029.05.08 07:09:23.226 libcec:info [libcec_decode_message]   o 0->4: <User Control Pressed>
                                                                44 03
Segmentation fault
~ #
~ # cecd -i -s --config-file=/etc/cecd.conf
2029.05.08 07:09:26.922 cecd v0.4.2 (r10010) started.
2029.05.08 07:09:26.923 libcec:debug [libcec_open] open /dev/cec/0
2029.05.08 07:09:26.926 using 17 entries hash table for cec_commands
2029.05.08 07:09:26.926 will use target '/dev/venus_irrp_wo' for UI codes translation
2029.05.08 07:09:26.974 libcec:debug [libcec_get_physical_address] found physical address 3000
2029.05.08 07:09:26.975 using logical address 4
2029.05.08 07:09:38.911 libcec:info [libcec_decode_message]   o 0->4: <Give Physical Address>
                                                                83
2029.05.08 07:09:39.048 libcec:info [libcec_decode_message]   o 4->F: <Report Physical Address>
                                                                84 30 00 04
2029.05.08 07:09:39.166 libcec:info [libcec_decode_message]   o 0->4: <Give Device Vendor ID>
                                                                8C
2029.05.08 07:09:39.303 libcec:info [libcec_decode_message]   o 4->F: <Device Vendor ID>
                                                                87 00 1C 85
2029.05.08 07:09:39.426 libcec:info [libcec_decode_message]   o 0->4: <Get CEC Version>
                                                                9F
2029.05.08 07:09:39.514 libcec:info [libcec_decode_message]   o 4->0: <CEC Version>
                                                                9E 04
2029.05.08 07:09:39.647 libcec:info [libcec_decode_message]   o 0->4: <Give OSD Name>
                                                                46
2029.05.08 07:09:40.006 libcec:info [libcec_decode_message]   o 4->0: <Set OSD Name>
                                                                47 58 74 72 65 61 6D 65 72 20 50 72 6F
2029.05.08 07:09:42.215 libcec:info [libcec_decode_message]   o 0->4: <User Control Pressed>
                                                                44 00
Segmentation fault
~ #
~ #


значит после запуска cecd когда нажимаю на пульте кнопки то идёт строка
2029.05.08 07:09:42.215 libcec:info [libcec_decode_message] o 0->4: <User Control Pressed>
44 00
где 00 - это биты(?) команды пульта - я нажал кнопку ОК, конфиг свой тож прикрепляю,

правленный под мой пульт(этот конфиг работает на оригинальной прошивке).
cecd.conf | +
Code: Select all
[device]
  # path of the HDMI-CEC device driver for this device
  path = "/dev/cec/0"
  # device type: 0=TV, 1=Recording, 3=Tuner, 4=Playback, 5=Audio
  type = 4
  # device name (1-14 chars)
  name = "Xtreamer Pro"
  # Device Organizational Universal ID (3 bytes hex) as per:
  # http://standards.ieee.org/develop/regauth/oui/oui.txt
  oui = 0x001c85 ; Unicorn Korea

[translate]
  # target options
  target = {
    # target device
    path = "/dev/venus_irrp_wo"
    # size of a data packet for the target
    packet_size = 4
    # set to 1 for each packet to be sent twice
    repeat = 1
    # maximum time to wait for a sequence completion, in ms
    # if a key is part of a sequence, this is also the delay before it is acted upon.
    timeout = 2000
  }
  # HDMI-CEC User Control Code conversion, as per HDMI v1.3a specs, CEC table 27
  # These are the codes sent by CEC command <User Control Pressed> (0x44)
  ucp_commands = {
    # Sequences can be used if separated by a comma (but _NO_ spaces!)
    0x00 = 0xf906ff00 ; OK
    0x01 = 0xb14eff00 ; Up
    0x02 = 0xb24dff00 ; Down
    0x03 = 0xf30cff00 ; Left
    0x04 = 0xfa05ff00 ; Right
    0x0d = 0xf50aff00 ; Exit
    0x20 = 0xce31ff00 ; 0
    0x21 = 0xba45ff00 ; 1
    0x22 = 0xe817ff00 ; 2
    0x23 = 0xed12ff00 ; 3
    0x24 = 0xb04fff00 ; 4
    0x25 = 0xfc03ff00 ; 5
    0x26 = 0xf609ff00 ; 6
    0x27 = 0xe31cff00 ; 7
    0x28 = 0xcd32ff00 ; 8
    0x29 = 0xe619ff00 ; 9
    0x51 = 0xf00fff00 ; Subtitle
    0x76 = 0xf10eff00 ; Text=AUDIO
    0x44 = 0xb34cff00 ; PLAY
    0x45 = 0xe11eff00 ; STOP
    0x45 = 0xff00ff00 ; A-B -> Pause
    0x48 = 0xb44bff00 ; >>
    0x49 = 0xa35cff00 ; <<
    0x4C = 0xa758ff00 ; |<<
    0x4B = 0xaf50ff00 ; >>|
    0x71 = 0xfc03ff00 ; Blue
    0x72 = 0xba45ff00 ; Red
    0x73 = 0xe817ff00 ; Green
    0x74 = 0xed12ff00 ; Yellow
    0x36 = 0xfb04ff00 ; Standby

  }
  # The following table is used for custom handling of sequences that are not sent
  # by <User Control Pressed>. These include commands like <Standby> (0x36), <Play>
  # (0x41), <Deck Control>+<Stop> (0x42,0x03), as well as <Vendor Remote Button Down>
  # +<Vendor IR Sequence> (0x8A,...)
  # These sequences _MUST_ include the CEC command byte but will NOT override
  # the default handling from cecd, if exists.
  cec_commands = {
    0x8A,0x91 = 0xf50aff00; 'Back' key from a Samsung IR remote
  }
#   0x09 = 0xa45bff00 ; 000 -> Home
#   0x0A = 0xa45bff00 ; Setup
#   0x30 = 0xa45bff00 ; P+
#   0x31 = 0xa45bff00 ; P-
#   0x35 = 0xa45bff00 ; info
#   0x53 = 0xa45bff00 ; help
#   0x47 = 0xa45bff00 ; REC

Как я понимаю, проблемма в "Segmentation fault", это cecd не может передать комманды venus_irrp_wo ?

Ещё такой вопрос, modprobe venus_ir_wo у меня не отрабатывает из корня, только из папки, в modules.dep добавлял, не помагает,

# modprobe venus_ir_wo
modprobe: module 'venus_ir_wo' not found

права на файл 664, что может быть? cec-dev из той-же папки отрабатывает нормально.
Xtreamer Pro ver.2.7.1
Linux myxtreamer 2.6.12.6-VENUS #77 Mon Jan 24 17:46:29 KST 2011 mips
mact
 
Posts: 23
Joined: 18 Nov 2012, 02:03

Re: Xtreamer Pro

Postby Virtual » 24 Nov 2012, 12:07

нужны исходники cecd., коих у меня нет
марсы: HDS7 (смотрелка AMP скин vrt )
HDR12 AMP (обычно сервер с RAM 256 и 2 SATA диска 2T+)//но очень иногда оцифровка видео
XTR PRO(AMP, HTTP(S) NFS SMB FTP сервер +trans2.90 + 2 SATA диска 2T+
сатурны: XTR Prodigy, R6S(512Mb_NAND), HD900A(_MD*) прошивка
User avatar
Virtual
 
Posts: 6862
Joined: 01 Oct 2010, 17:17
Location: RU

Next

Return to Разработка

Who is online

Users browsing this forum: No registered users and 12 guests

cron