Bug 12890

Summary: Logitech Dinovo Edge keyboard support is incomplete
Product: Drivers Reporter: Louai Al-Khanji (louai.khanji)
Component: Input DevicesAssignee: drivers_input-devices
Status: RESOLVED OBSOLETE    
Severity: normal CC: alan, bugzilla, jikos, np
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.28.7 Subsystem:
Regression: No Bisected commit-id:
Attachments: special keys log
USB receiver plug in log
Zipped Logfiles from SniffUSB-X86-2.0.0006

Description Louai Al-Khanji 2009-03-17 13:37:13 UTC
The support for the Logitech Dinovo Edge keyboard as it is in the kernel now is incomplete. A number of keys do not generate events at all.

Attached you can find the file 'logitech-dinovo-edge-keys-log', which contains kernel output from the hid module with debug=2 for the special keys. Key descriptions followed by an empty line did not produce any output. I also wonder whether the keys that do produce output should have better descriptions than "Consumer.022f" and similar.

Attached is also the file 'logitech-dinovo-edge-plug-log' which contains kernel output when plugging in the USB receiver for the keyboard.

In addition to the lacking keys, horizontal scroll on the touchpad is broken. No mouse events are generated at all.

I tried playing with the quirks in hid-lg.c, but found no combination of existing quirks that made the keys work.
Comment 1 Louai Al-Khanji 2009-03-17 13:38:04 UTC
Created attachment 20570 [details]
special keys log
Comment 2 Louai Al-Khanji 2009-03-17 13:38:44 UTC
Created attachment 20571 [details]
USB receiver plug in log
Comment 3 Louai Al-Khanji 2009-03-17 16:38:48 UTC
The horizontal scrolling does in fact work, my apologies. I must have been looking at the wrong device.
Comment 4 Jiri Kosina 2009-03-18 07:37:44 UTC
So are that only

  phone
  function-a
  function-b
  function-c
  function-d

that don't work?
Comment 5 Louai Al-Khanji 2009-03-18 08:44:13 UTC
Correct, those buttons do not work at all.

I believe the zoom buttons (zoom+, zoom-, zoom%) are also mapped incorrectly. In X, using the evdev driver and checking with xev, no key press events are generated. If I am interpreting things correctly, according to the logs they are mapped to Key.?:

[ 1032.893988] drivers/hid/hid-input.c: Mapping: Consumer.022d ---> Key.?
[ 1032.893992] drivers/hid/hid-input.c: Mapping: Consumer.022e ---> Key.?
[ 1032.893997] drivers/hid/hid-input.c: Mapping: Consumer.022f ---> Key.?
Comment 6 Jiri Kosina 2009-03-19 06:23:09 UTC
(In reply to comment #5)
> Correct, those buttons do not work at all.

HID driver doesn't seem any events coming out of the USB transport driver. Could you please capture usbmon log when pressing these keys? (see Documentation/usb/usbmon.txt for hints how to do that).
Comment 7 Louai Al-Khanji 2009-03-19 13:39:33 UTC
Nothing at all shows up in the usbmon logs for those keys. I was looking at the usbmon/0u file.
Comment 8 Louai Al-Khanji 2009-03-26 17:44:31 UTC
Is there something else I can do?
Comment 9 Jiri Kosina 2009-03-31 14:31:29 UTC
If nothing arrives on USB bus when the keys are pressed, I believe that for other operating systems(tm), there is a separate driver for this keyboard, right?

It is possible that the keyboard needs some special sequence to switch into some mode when all the keys are reported, or something like that (pretty ugly). Please make sure that really no USB interface emits any events. If it does not, it'd be necessary to try to capture the communication in other operating system where the keys are working, to observe the differencies in initialization sequence.
Comment 10 raptor2101 2010-01-19 21:27:33 UTC
Created attachment 24643 [details]
Zipped Logfiles from SniffUSB-X86-2.0.0006

The zip-file contains 8 files. The names should be "self-explaining". You guess right, the usb-dev of the Dinovo-Keyboard don't send a bit until get the correct initialization.
Comment 11 Alexander Onic 2010-12-12 17:16:40 UTC
Is here anything being done right now? I want to help to get this fixed.

Right now, when I'm looking at the output of xev, I get no event at all by pressing the following keys on the Logitech Dinovo Edge:

Magnifier-+
Magnifier--
Magnifier-%
Fn-F1 (telephone symbol)
Fn-F9 - Fn-F12 (a - d)

Please let me know how I could do anything about this.