Re: CEC button pass-through

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/21/2017 09:03 PM, Eric Nelson wrote:
> Hi Hans,
> 
> On 03/21/2017 11:46 AM, Hans Verkuil wrote:
>> On 03/21/2017 07:23 PM, Eric Nelson wrote:
>>> On 03/21/2017 10:44 AM, Eric Nelson wrote:
>>>> On 03/21/2017 10:05 AM, Hans Verkuil wrote:
>>>>> On 03/21/2017 05:49 PM, Eric Nelson wrote:
>>>
>>> <snip>
>>>
>>>>> With CEC 2.0 you can set various RC profiles, and (very unlikely) perhaps
>>>>> your TV actually understands that.
>>>>>
>>>>> The default CEC version cec-ctl selects is 2.0.
>>>>>
>>>>> Note that the CEC framework doesn't do anything with the RC profiles
>>>>> at the moment.
>>>>>
>>>>
>>>> I don't have the 2.0 spec, so I'm not sure what messages to look for
>>>> in the logs from libCEC.
>>>>
>>>> I have a complete log file here, and it shows messages to and from
>>>> the television, though in a pretty verbose form.
>>>>
>>>> http://pastebin.com/qFrhkNZQ
>>>>
>>>
>>> I think this is the culprit:
>>> cec-uinput: L8: << 10:8e:00
>>>
>>>
>>> The 1.3 spec says this about the 8E message:
>>>
>>> "If Menu State indicates activated, TV enters ‘Device Menu Active’
>>> state and forwards those Remote control commands, shown in
>>> Table 26, to the initiator. If deactivated, TV enters ‘Device Menu Inactive’
>>> state and stops forwarding remote control commands".
>>>
>>> In section 13.12.2, it also says this:
>>>
>>> "The TV may initiate a device’s menu by sending a <Menu Request>
>>> [“Activate”] command. It may subsequently remove the menu by sending
>>> a <Menu Request> [“Deactivate”] message. The TV may also query a
>>> devices menu status by sending a <Menu Request> [“Query”]. The
>>> menu device shall always respond with a <Menu Status> command
>>> when it receives a <Menu Request>."
>>>
>>
>> That sounds plausible. When you tested with my CEC framework, did you also
>> run the cec-follower utility? That emulates a CEC follower.
>>
> 
> Yes. I'm running it with no arguments.
> 
>> Note: you really need to use the --cec-version-1.4 option when configuring
>> the i.MX6 CEC adapter since support for <Menu Request> is only enabled with
>> CEC version 1.4. It is no longer supported with 2.0.
>>
> 
> I'm not sure what I did in my previous attempt, but I'm now seeing
> both the arrow and function key sets being received by cec-ctl and
> cec-follower with --cec-version-1.4.
> 
> Or not. Removing the --cec-version-1.4 parameter still shows these
> events, but after a re-boot and re-selection of the proper source
> on my TV shows that they're no longer coming up with or without
> the parameter.
> 
> Further testing showed that by running the older driver and libCEC
> code, then re-booting into the new kernel (with cec-ctl) shows the
> messages with or without the flag.
> 
> In other words, the TV seems to retain some state from the
> execution of the Pulse8/libCEC code.
> 
> Is there a way to send a raw message to the television using cec-ctl?
> 
> Never mind, I found it and after a bunch of messing around,
> confirmed that I can get the menu keys to be passed from my
> TV by sending the 0x8e command with a payload of 0x00 to
> the television:
> 
> ~/# cec-ctl --custom-command=cmd=0x8e,payload=0x00 --to=0

Or more elegantly:

cec-ctl --menu-status=menu-state=activated -t0

See also: cec-ctl --help-device-menu-control

But cec-follower should receive a menu-request message and reply with
menu-status(activated).

If you run cec-ctl -M, do you see the menu-request message arriving and the
proper reply?

Again, you must configure the cec adapter with:

cec-ctl --record --cec-version-1.4

otherwise it won't work (I'm not sure that's correct since the TV isn't
CEC 2.0, I'll have to read up on that).

Regards,

	Hans



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux