diff mbox

[media] af9015: setup rc keytable for LC-Power LC-USB-DVBT

Message ID 20110612202512.GA63911@triton8.kn-bremen.de (mailing list archive)
State Rejected
Headers show

Commit Message

Juergen Lock June 12, 2011, 8:25 p.m. UTC
That's this tuner:

	http://www.lc-power.de/index.php?id=146&L=1

The credit card sized remote more or less works if I set remote=4,
so I added the hash to get it autodetected.  (`more or less' there
meaning sometimes buttons are `stuck on repeat', i.e. ir-keytable -t
keeps repeating the same scancode until i press another button.)

Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Antti Palosaari June 12, 2011, 8:57 p.m. UTC | #1
I assume device uses vendor reference design USB ID (15a4:9016 or 
15a4:9015)?

About the repeating bug you mention, are you using latest driver 
version? I am not aware such bug. There have been this kind of incorrect 
behaviour old driver versions which are using HID. It was coming from 
wrong HID interval.

Also you can dump remote codes out when setting debug=2 to 
dvb_usb_af9015 module.

regards
Antti


On 06/12/2011 11:25 PM, Juergen Lock wrote:
> That's this tuner:
>
> 	http://www.lc-power.de/index.php?id=146&L=1
>
> The credit card sized remote more or less works if I set remote=4,
> so I added the hash to get it autodetected.  (`more or less' there
> meaning sometimes buttons are `stuck on repeat', i.e. ir-keytable -t
> keeps repeating the same scancode until i press another button.)
>
> Signed-off-by: Juergen Lock<nox@jelal.kn-bremen.de>
>
> --- a/drivers/media/dvb/dvb-usb/af9015.c
> +++ b/drivers/media/dvb/dvb-usb/af9015.c
> @@ -735,6 +735,7 @@ static const struct af9015_rc_setup af90
>   	{ 0xb8feb708, RC_MAP_MSI_DIGIVOX_II },
>   	{ 0xa3703d00, RC_MAP_ALINK_DTU_M },
>   	{ 0x9b7dc64e, RC_MAP_TOTAL_MEDIA_IN_HAND }, /* MYGICTV U718 */
> +	{ 0x5d49e3db, RC_MAP_DIGITTRADE }, /* LC-Power LC-USB-DVBT */
>   	{ }
>   };
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Juergen Lock June 12, 2011, 10:15 p.m. UTC | #2
In article <4DF52828.2070701@iki.fi> you write:
>I assume device uses vendor reference design USB ID (15a4:9016 or 
>15a4:9015)?
>
Yeah 15a4:9016.

>About the repeating bug you mention, are you using latest driver 
>version? I am not aware such bug. There have been this kind of incorrect 
>behaviour old driver versions which are using HID. It was coming from 
>wrong HID interval.
>
>Also you can dump remote codes out when setting debug=2 to 
>dvb_usb_af9015 module.

 That doesn't seem to work here so maybe my version is really too old
to have that fix.  (But the keytable patch should still apply I guess?)

 Thanx, :)
	Juergen
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Antti Palosaari June 12, 2011, 10:24 p.m. UTC | #3
On 06/13/2011 01:15 AM, Juergen Lock wrote:
>> About the repeating bug you mention, are you using latest driver
>> version? I am not aware such bug. There have been this kind of incorrect
>> behaviour old driver versions which are using HID. It was coming from
>> wrong HID interval.
>>
>> Also you can dump remote codes out when setting debug=2 to
>> dvb_usb_af9015 module.
>
>   That doesn't seem to work here so maybe my version is really too old
> to have that fix.  (But the keytable patch should still apply I guess?)

Could you send af9015.c file you have I can check?

Your patch is OK, but I want to know why it repeats.


regards
Antti
Juergen Lock June 12, 2011, 10:34 p.m. UTC | #4
On Mon, Jun 13, 2011 at 01:24:54AM +0300, Antti Palosaari wrote:
> On 06/13/2011 01:15 AM, Juergen Lock wrote:
> >> About the repeating bug you mention, are you using latest driver
> >> version? I am not aware such bug. There have been this kind of incorrect
> >> behaviour old driver versions which are using HID. It was coming from
> >> wrong HID interval.
> >>
> >> Also you can dump remote codes out when setting debug=2 to
> >> dvb_usb_af9015 module.
> >
> >   That doesn't seem to work here so maybe my version is really too old
> > to have that fix.  (But the keytable patch should still apply I guess?)
> 
> Could you send af9015.c file you have I can check?
> 
> Your patch is OK, but I want to know why it repeats.

Sent off-list.

 Thanx, :)
	Juergen
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Antti Palosaari June 12, 2011, 10:50 p.m. UTC | #5
On 06/13/2011 01:34 AM, Juergen Lock wrote:
> On Mon, Jun 13, 2011 at 01:24:54AM +0300, Antti Palosaari wrote:
>> On 06/13/2011 01:15 AM, Juergen Lock wrote:
>>>> About the repeating bug you mention, are you using latest driver
>>>> version? I am not aware such bug. There have been this kind of incorrect
>>>> behaviour old driver versions which are using HID. It was coming from
>>>> wrong HID interval.
>>>>
>>>> Also you can dump remote codes out when setting debug=2 to
>>>> dvb_usb_af9015 module.
>>>
>>>    That doesn't seem to work here so maybe my version is really too old
>>> to have that fix.  (But the keytable patch should still apply I guess?)
>>
>> Could you send af9015.c file you have I can check?
>>
>> Your patch is OK, but I want to know why it repeats.
>
> Sent off-list.

It was latest version. Still mystery why it repeats... Have you 
unplugged that device after booting from Windows? I wonder if there is 
HID remote codes uploaded to device by Windows driver and then you have 
"warm" booted to Linux...

Anyhow, I will take your patch and add it to the af9015 driver.

regards
Antti
Juergen Lock June 12, 2011, 11:01 p.m. UTC | #6
On Mon, Jun 13, 2011 at 01:50:54AM +0300, Antti Palosaari wrote:
> On 06/13/2011 01:34 AM, Juergen Lock wrote:
> > On Mon, Jun 13, 2011 at 01:24:54AM +0300, Antti Palosaari wrote:
> >> On 06/13/2011 01:15 AM, Juergen Lock wrote:
> >>>> About the repeating bug you mention, are you using latest driver
> >>>> version? I am not aware such bug. There have been this kind of incorrect
> >>>> behaviour old driver versions which are using HID. It was coming from
> >>>> wrong HID interval.
> >>>>
> >>>> Also you can dump remote codes out when setting debug=2 to
> >>>> dvb_usb_af9015 module.
> >>>
> >>>    That doesn't seem to work here so maybe my version is really too old
> >>> to have that fix.  (But the keytable patch should still apply I guess?)
> >>
> >> Could you send af9015.c file you have I can check?
> >>
> >> Your patch is OK, but I want to know why it repeats.
> >
> > Sent off-list.
> 
> It was latest version. Still mystery why it repeats... Have you 
> unplugged that device after booting from Windows? I wonder if there is 
> HID remote codes uploaded to device by Windows driver and then you have 
> "warm" booted to Linux...
> 
Well at least I can't rule something like that out, will send details
off-list.  (Btw where is debug=2 to print remote events handled in that
file?  Or is that done somewhere else?)

> Anyhow, I will take your patch and add it to the af9015 driver.

 Thanx! :)
	Juergen
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Antti Palosaari June 12, 2011, 11:46 p.m. UTC | #7
On 06/13/2011 02:01 AM, Juergen Lock wrote:
> On Mon, Jun 13, 2011 at 01:50:54AM +0300, Antti Palosaari wrote:
>> On 06/13/2011 01:34 AM, Juergen Lock wrote:
>>> On Mon, Jun 13, 2011 at 01:24:54AM +0300, Antti Palosaari wrote:
>>>> On 06/13/2011 01:15 AM, Juergen Lock wrote:
>>>>>> About the repeating bug you mention, are you using latest driver
>>>>>> version? I am not aware such bug. There have been this kind of incorrect
>>>>>> behaviour old driver versions which are using HID. It was coming from
>>>>>> wrong HID interval.
>>>>>>
>>>>>> Also you can dump remote codes out when setting debug=2 to
>>>>>> dvb_usb_af9015 module.
>>>>>
>>>>>     That doesn't seem to work here so maybe my version is really too old
>>>>> to have that fix.  (But the keytable patch should still apply I guess?)
>>>>
>>>> Could you send af9015.c file you have I can check?
>>>>
>>>> Your patch is OK, but I want to know why it repeats.
>>>
>>> Sent off-list.
>>
>> It was latest version. Still mystery why it repeats... Have you
>> unplugged that device after booting from Windows? I wonder if there is
>> HID remote codes uploaded to device by Windows driver and then you have
>> "warm" booted to Linux...
>>
> Well at least I can't rule something like that out, will send details
> off-list.  (Btw where is debug=2 to print remote events handled in that
> file?  Or is that done somewhere else?)

Few words about AF9015 remote. Chipset implements HID remote (~keyboard) 
which is used normally. Driver uploads HID mappings (remote keycode & 
keyboard keycode) to the chipset memory and chipset then outputs remote 
events as HID without driver help. But there seems to be bug in chipset 
which sets HID polling interval too short. Due to that interval Linux 
HID starts repeating keycodes. There is some quirks added to the HID 
drivers for that which are mapped device USB ID. Quirk prints to log: 
"Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7"

Due to that bug and inflexible remote configuration of HID remote I 
implemented new way. Current code does not upload HID codes to chipset 
at all which makes HID remote as disabled. Instead, remote codes are 
read by polling directly from the chip memory. And it is very first time 
I hear this new method goes repeating loop.

Drivers write to the system log. Typically it is called messages, 
message.log, syslog, etc. in /var/log/ directory. There is dmesg command 
which outputs same info.

regards,
Antti
Juergen Lock June 13, 2011, 12:38 a.m. UTC | #8
On Mon, Jun 13, 2011 at 02:46:10AM +0300, Antti Palosaari wrote:
> On 06/13/2011 02:01 AM, Juergen Lock wrote:
> > On Mon, Jun 13, 2011 at 01:50:54AM +0300, Antti Palosaari wrote:
> >> On 06/13/2011 01:34 AM, Juergen Lock wrote:
> >>> On Mon, Jun 13, 2011 at 01:24:54AM +0300, Antti Palosaari wrote:
> >>>> On 06/13/2011 01:15 AM, Juergen Lock wrote:
> >>>>>> About the repeating bug you mention, are you using latest driver
> >>>>>> version? I am not aware such bug. There have been this kind of incorrect
> >>>>>> behaviour old driver versions which are using HID. It was coming from
> >>>>>> wrong HID interval.
> >>>>>>
> >>>>>> Also you can dump remote codes out when setting debug=2 to
> >>>>>> dvb_usb_af9015 module.
> >>>>>
> >>>>>     That doesn't seem to work here so maybe my version is really too old
> >>>>> to have that fix.  (But the keytable patch should still apply I guess?)
> >>>>
> >>>> Could you send af9015.c file you have I can check?
> >>>>
> >>>> Your patch is OK, but I want to know why it repeats.
> >>>
> >>> Sent off-list.
> >>
> >> It was latest version. Still mystery why it repeats... Have you
> >> unplugged that device after booting from Windows? I wonder if there is
> >> HID remote codes uploaded to device by Windows driver and then you have
> >> "warm" booted to Linux...
> >>
> > Well at least I can't rule something like that out, will send details
> > off-list.  (Btw where is debug=2 to print remote events handled in that
> > file?  Or is that done somewhere else?)
> 
> Few words about AF9015 remote. Chipset implements HID remote (~keyboard) 
> which is used normally. Driver uploads HID mappings (remote keycode & 
> keyboard keycode) to the chipset memory and chipset then outputs remote 
> events as HID without driver help. But there seems to be bug in chipset 
> which sets HID polling interval too short. Due to that interval Linux 
> HID starts repeating keycodes. There is some quirks added to the HID 
> drivers for that which are mapped device USB ID. Quirk prints to log: 
> "Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7"
> 
> Due to that bug and inflexible remote configuration of HID remote I 
> implemented new way. Current code does not upload HID codes to chipset 
> at all which makes HID remote as disabled. Instead, remote codes are 
> read by polling directly from the chip memory. And it is very first time 
> I hear this new method goes repeating loop.
> 
> Drivers write to the system log. Typically it is called messages, 
> message.log, syslog, etc. in /var/log/ directory. There is dmesg command 
> which outputs same info.

Ah I needed CONFIG_DVB_USB_DEBUG. :)  Here is what I see when it happens,
first ir-keytable -t:

[...]
1307924961.676720: event sync
1307924961.676723: event key down: KEY_STOP (0x0080)
1307924961.676725: event sync
1307924962.193037: event MSC: scancode = 0e
1307924962.712487: event MSC: scancode = 0e
1307924963.232184: event MSC: scancode = 0e
1307924964.791025: event MSC: scancode = 1a
1307924964.791034: event key up: KEY_STOP (0x0080)
1307924964.791037: event sync
1307924964.791040: event key down: KEY_PAUSE (0x0077)
1307924964.791042: event sync
1307924965.310734: event MSC: scancode = 1a
1307924966.867192: event MSC: scancode = 54
1307924966.867201: event key up: KEY_PAUSE (0x0077)
1307924966.867203: event sync
1307924966.867207: event key down: KEY_0 (0x000b)
1307924966.867209: event sync
1307924971.538731: event MSC: scancode = 02
1307924971.538741: event key up: KEY_0 (0x000b)
1307924971.538743: event sync
1307924971.538746: event key down: KEY_VOLUMEDOWN (0x0072)
1307924971.538748: event sync
1307924974.135096: event MSC: scancode = 40
1307924974.135104: event key up: KEY_VOLUMEDOWN (0x0072)
1307924974.135106: event sync
1307924974.135110: event key down: KEY_VOLUMEUP (0x0073)
1307924974.135112: event sync
1307924974.653804: event MSC: scancode = 40
1307924975.172874: event MSC: scancode = 40
1307924975.692828: event MSC: scancode = 40
1307924976.212909: event MSC: scancode = 40
1307924976.732230: event MSC: scancode = 40
1307924977.252420: event MSC: scancode = 40
1307924977.772252: event MSC: scancode = 40
1307924978.289195: event MSC: scancode = 40
1307924978.808266: event MSC: scancode = 40
1307924979.327347: event MSC: scancode = 40
1307924979.846548: event MSC: scancode = 40
1307924980.364610: event MSC: scancode = 40
1307924980.884690: event MSC: scancode = 40
1307924981.401760: event MSC: scancode = 40
1307924981.919843: event MSC: scancode = 40
1307924982.437907: event MSC: scancode = 40
1307924982.953985: event MSC: scancode = 40
1307924983.475070: event MSC: scancode = 40
1307924983.995011: event MSC: scancode = 40
1307924984.513089: event MSC: scancode = 40
1307924985.032154: event MSC: scancode = 40
1307924985.552225: event MSC: scancode = 40
1307924986.072310: event MSC: scancode = 40
1307924986.591383: event MSC: scancode = 40
1307924987.111452: event MSC: scancode = 40
1307924987.630544: event MSC: scancode = 40
1307924988.149605: event MSC: scancode = 40
1307924988.669166: event MSC: scancode = 40
1307924989.189239: event MSC: scancode = 40
1307924989.708817: event MSC: scancode = 40
1307924990.227893: event MSC: scancode = 40
1307924990.746969: event MSC: scancode = 40
1307924991.267052: event MSC: scancode = 40
1307924991.786359: event MSC: scancode = 40
1307924992.306193: event MSC: scancode = 40
1307924992.825381: event MSC: scancode = 40
1307924993.345584: event MSC: scancode = 40
1307924993.864537: event MSC: scancode = 40
1307924994.384613: event MSC: scancode = 40
1307924994.903683: event MSC: scancode = 40
1307924995.423879: event MSC: scancode = 40
1307924995.943954: event MSC: scancode = 40
1307924996.463032: event MSC: scancode = 40
1307924996.982349: event MSC: scancode = 40
1307924997.502426: event MSC: scancode = 40
1307924998.022244: event MSC: scancode = 40
1307924998.541072: event MSC: scancode = 40
1307924999.060265: event MSC: scancode = 40
1307924999.579340: event MSC: scancode = 40
1307925000.099423: event MSC: scancode = 40
1307925000.619492: event MSC: scancode = 40
1307925000.619492: event MSC: scancode = 40

then `dmesg':

[...]
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: key pressed 00 ff 1a e5
af9015_rc_query: key repeated
af9015_rc_query: no key press
af9015_rc_query: key pressed 00 ff 54 ab
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: key pressed 00 ff 02 fd
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: key pressed 00 ff 40 bf
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: key repeated
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press
af9015_rc_query: no key press

 Does that help?
	Juergen
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Antti Palosaari June 15, 2011, 11:14 p.m. UTC | #9
Moikka Juergen,

On 06/13/2011 03:38 AM, Juergen Lock wrote:
> af9015_rc_query: key repeated

>   Does that help?

Repeat check logick in function af9015_rc_query() is failing for some 
reason. You could try to look that function and checks if you wish as I 
cannot reproduce it.

Add debug dump immediately after registers are read and look from log 
what happens.

debug_dump(buf, 17, deb_rc);


regards
Antti
Juergen Lock June 20, 2011, 5:03 p.m. UTC | #10
On Thu, Jun 16, 2011 at 02:14:42AM +0300, Antti Palosaari wrote:
> Moikka Juergen,
Hi!
> 
> On 06/13/2011 03:38 AM, Juergen Lock wrote:
> > af9015_rc_query: key repeated
> 
> >   Does that help?
> 
> Repeat check logick in function af9015_rc_query() is failing for some 
> reason. You could try to look that function and checks if you wish as I 
> cannot reproduce it.
> 
> Add debug dump immediately after registers are read and look from log 
> what happens.
> 
> debug_dump(buf, 17, deb_rc);

I finally got back to this (sorry it took so long :( ), added that line
and this is what I got:

 First ir-keytable:

Testing events. Please, press CTRL-C to abort.
1308574953.777114: event MSC: scancode = 1b
1308574953.777123: event key down: KEY_1 (0x0002)
1308574953.777125: event sync
1308574954.293830: event MSC: scancode = 1b
1308574954.813919: event MSC: scancode = 1b
1308574955.332231: event MSC: scancode = 1b
1308574955.848046: event MSC: scancode = 1b
1308574956.362626: event MSC: scancode = 1b
1308574956.875069: event MSC: scancode = 1b
1308574957.391143: event MSC: scancode = 1b
1308574957.908859: event MSC: scancode = 1b
1308574958.426553: event MSC: scancode = 1b
1308574958.944992: event MSC: scancode = 1b
1308574959.462682: event MSC: scancode = 1b
1308574959.981519: event MSC: scancode = 1b
1308574960.500599: event MSC: scancode = 1b
1308574961.020155: event MSC: scancode = 1b
1308574961.540230: event MSC: scancode = 1b
1308574962.057815: event MSC: scancode = 1b
1308574962.576256: event MSC: scancode = 1b
1308574963.092961: event MSC: scancode = 1b
1308574963.611549: event MSC: scancode = 1b
1308574964.130601: event MSC: scancode = 1b
1308574964.645437: event MSC: scancode = 1b
1308574965.164752: event MSC: scancode = 1b
1308574965.684325: event MSC: scancode = 1b
1308574966.202289: event MSC: scancode = 1b
1308574966.718374: event MSC: scancode = 1b
1308574967.236913: event MSC: scancode = 1b
1308574967.756988: event MSC: scancode = 1b
1308574968.276573: event MSC: scancode = 1b
1308574968.794147: event MSC: scancode = 1b
1308574969.307834: event MSC: scancode = 1b
1308574969.823410: event MSC: scancode = 1b
1308574970.342993: event MSC: scancode = 1b
1308574970.862952: event MSC: scancode = 1b
1308574971.382144: event MSC: scancode = 1b
1308574971.897716: event MSC: scancode = 1b
1308574972.412159: event MSC: scancode = 1b
1308574972.927879: event MSC: scancode = 1b
1308574973.440304: event MSC: scancode = 1b
1308574973.961383: event MSC: scancode = 1b
1308574974.479087: event MSC: scancode = 1b
1308574974.994777: event MSC: scancode = 1b
1308574976.027044: event MSC: scancode = 05
1308574976.027054: event key up: KEY_1 (0x0002)
1308574976.027056: event sync
1308574976.027060: event key down: KEY_MUTE (0x0071)
1308574976.027062: event sync
1308574976.545246: event MSC: scancode = 05
1308574977.065213: event MSC: scancode = 05
1308574977.583911: event MSC: scancode = 05
1308574978.102972: event MSC: scancode = 05
1308574978.621050: event MSC: scancode = 05
1308574979.138112: event MSC: scancode = 05
1308574979.655187: event MSC: scancode = 05
1308574980.171269: event MSC: scancode = 05
1308574980.690343: event MSC: scancode = 05
1308574981.208045: event MSC: scancode = 05
1308574981.724746: event MSC: scancode = 05
1308574982.762866: event MSC: scancode = 4d
1308574982.762874: event key up: KEY_MUTE (0x0071)
1308574982.762876: event sync
1308574982.762880: event key down: KEY_PLAYPAUSE (0x00a4)
1308574982.762882: event sync
1308574983.278592: event MSC: scancode = 4d
^C

 Then the debug output:

[..]
dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
dvb-usb: pid filter enabled by module option.
DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
af9013: firmware version:4.95.0.0
DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
MT2060: successfully identified (IF1 = 1220)
Registered IR keymap rc-digittrade
rc0: IR-receiver inside an USB DVB receiver as webcamd
dvb-usb: schedule remote query interval to 500 msecs.
dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.

00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 01 fe ff 
af9015_rc_query: no key press
02 00 00 00 00 00 01 00 00 00 00 00 00 ff 1b e4 00 
af9015_rc_query: key pressed 00 ff 1b e4
02 00 00 00 00 00 00 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 00 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
00 00 00 00 00 00 02 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
00 00 00 00 00 00 00 00 00 00 00 00 00 ff 1b e4 ff 
af9015_rc_query: key repeated
01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa 00 
af9015_rc_query: key pressed 00 ff 05 fa
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 03 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
02 00 00 00 00 00 02 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: key repeated
00 00 00 00 00 00 01 00 00 00 00 00 00 ff 05 fa ff 
af9015_rc_query: no key press
02 00 00 00 00 00 01 00 00 00 00 00 00 ff 4d b2 00 
af9015_rc_query: key pressed 00 ff 4d b2
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: key repeated
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
00 00 00 00 00 00 03 00 00 00 00 00 00 ff 4d b2 ff 
af9015_rc_query: no key press
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/drivers/media/dvb/dvb-usb/af9015.c
+++ b/drivers/media/dvb/dvb-usb/af9015.c
@@ -735,6 +735,7 @@  static const struct af9015_rc_setup af90
 	{ 0xb8feb708, RC_MAP_MSI_DIGIVOX_II },
 	{ 0xa3703d00, RC_MAP_ALINK_DTU_M },
 	{ 0x9b7dc64e, RC_MAP_TOTAL_MEDIA_IN_HAND }, /* MYGICTV U718 */
+	{ 0x5d49e3db, RC_MAP_DIGITTRADE }, /* LC-Power LC-USB-DVBT */
 	{ }
 };