On Apr 27, 2011, at 4:28 PM, Heiko Baums wrote: ... >> However, I think I do at least see why you have no active protocols. >> It looks like the v4l-utils ir-keytable rule is loading a new map >> (probably the terratec_cinergy_xs one), which doesn't have a specific >> protocol listed, so no protocols get enabled. > > Judging by this feature request there doesn't seems to be any active > protocol for every device, not only for the cx88: > https://bugs.archlinux.org/task/23673 Just about all my IR devices come up with at least their default protocol active, I think its only specific driver/keymap combos that aren't. (I have something north of 30 different receivers, last time I counted). >> Heiko, here's something to try: >> >> Make a backup copy of /etc/rc_keymaps/terratec_cinergy_xs, and then >> alter the original, so that it says "type: NEC" and prefix each of >> the scancodes with 4eb (i.e., 0x41 KEY_HOME -> 0x4eb41 KEY_HOME). >> Then load that, and see if things start actually working... (I'm >> sort of shooting in the dark here, but I think its worth a try). > > It already said "type: NEC". But I ran `sed -i > "s:x14:x4eb:g" /etc/rc_keymaps/nec_terratec_cinergy_xs` so that it says > e.g. 0x4eb02 KEY_1 instead of 0x1402 KEY_1. > > And now it spits out a bit more, but I'm still getting scancodes only > very randomly. Hrm. Not good. > When pressing the "1" key, ir-keytable -t now gives me: > > Testing events. Please, press CTRL-C to abort. > 1303935368.238345: event MSC: scancode = 4eb02 > 1303935368.238373: event key down: KEY_1 (0x0002) > 1303935368.238376: event sync > 11303935368.278350: event MSC: scancode = 4eb02 > 1303935368.294324: event MSC: scancode = 4eb02 > 1303935368.390373: event MSC: scancode = 4eb02 > 1303935368.398335: event MSC: scancode = 4eb02 > 1303935368.648245: event key up: KEY_1 (0x0002) > 1303935368.648258: event sync So that much at least looks mostly sane... > But, like I said before, it doesn't react always. Let's say, if I press > the keys about 10 times I only get 2 or 3 scancodes, if not less. ...but a 20% success rate obviously isn't. > And dmesg now says this: > [27163.270751] ir_nec_decode: NEC (Ext) scancode 0x04eb02 > [27163.270759] rc_g_keycode_from_table: cx88 IR (TerraTec Cinergy > 1400 : scancode 0x4eb02 keycode 0x02 > [27163.270785] ir_rc5_decode: RC5(x) decode failed at state 1 (11500us > space) > [27163.270791] ir_rc6_decode: RC6 decode failed at state 0 (11500us > space) > [27163.270797] ir_jvc_decode: JVC decode failed at state 0 (11500us > space) > [27163.270802] ir_sony_decode: Sony decode failed at state 0 (11500us > space) > [27163.520656] ir_do_keyup: keyup key 0x0002 This looks normal, all decoders tried in parallel (more or less) to decode the signal. NEC was successful, the others weren't. So there are really two issues here. First up, the default keymap isn't correct for this device, and second, the behavior of the hardware and/or driver is terrible, as only ~20% of keypresses are getting though. The first is easy enough to remedy. The second probably requires someone with the hardware to dig into its IR handling routines in the kernel. (I haven't got the hardware). -- Jarod Wilson jarod@xxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html