Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Great news. Thanks Hugo for your help testing the patches. Jonathan, how do we proceed now, I mean to submit the fix ? Thanks, Nestor On Fri, May 11, 2012 at 7:06 AM, Hugo Osvaldo Barrera h...@osvaldobarrera.com.ar wrote: On 2012.05.06 01:23, Jonathan Nieder wrote: Hugo Osvaldo Barrera wrote: On 2012-05-06 02:55, Jonathan Nieder wrote: The pairing (...add_djhid_device) happens during initialization, before the mouse is turned on... I don't think I quite follow there. By pairing I though you meant when the receiver connects to the mouse. How can the pairing be done while the device is off? Or what am I missing here? I'm guessing the actual pairing happens without Linux being involved. Then the driver sends a get paired devices request during initialization and the device sends the device paired notifications I'm interested in in response. Do I need to apply only this patch, or both the previous one and this one? Only this patch. Cheers, Jonathan Hi! I apologize for the really (really) long delay in replying. I've had a really busy week. I rebuilt the kernel with the patch (rebuilding the module did't work because I'd updated the kernel tree, and the re-built module wasn't recognized): # uname -a Linux athena 3.4.0-rc5+ #1 Fri May 4 19:14:24 ART 2012 ppc GNU/Linux And I captured the dmesg from before plugging in the mouse (after a clean reboot). The good news is there's a 41 event this time! :) /sys/kernel/debug/hid/ is empty at this point, so I can't cat /sys/... .../events [ 365.757237] usbcore: registered new interface driver usbhid [ 365.757448] usbhid: USB HID core driver [ 365.761458] drivers/hid/hid-logitech-dj.c: Logitech-DJ:logi_dj_init [ 528.822188] usb 4-1: new full-speed USB device number 2 using ohci_hcd [ 529.044194] usb 4-1: New USB device found, idVendor=046d, idProduct=c52b [ 529.044417] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 529.044646] usb 4-1: Product: USB Receiver [ 529.044783] usb 4-1: Manufacturer: Logitech [ 529.054294] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0 [ 529.054436] drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 0 [ 529.054442] drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 0 [ 529.054561] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 1 [ 529.054658] drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 1 [ 529.054664] drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 1 [ 529.054754] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 2 [ 529.054852] drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 2 [ 529.061218] drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x1001 wIndex=0x0200 wLength=1792 [ 529.063218] drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x1101 wIndex=0x0200 wLength=5120 [ 529.064204] drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x2001 wIndex=0x0200 wLength=3840 [ 529.065199] drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x2101 wIndex=0x0200 wLength=8192 [ 529.066942] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0001:10:1b.1-1/input2 [ 529.073214] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [ 529.073230] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event: report = 20 01 41 01 1a 10 04 00 00 00 00 00 00 00 00 [ 529.073277] drivers/hid/hid-logitech-dj.c: delayedwork_callback [ 529.073447] drivers/hid/hid-logitech-dj.c: logi_dj_ll_parse [ 529.073453] drivers/hid/hid-logitech-dj.c: logi_dj_ll_parse: sending a mouse descriptor, reports_supported: 4 [ 529.074068] drivers/hid/hid-logitech-dj.c: logi_dj_ll_start [ 529.074276] input: Logitech Unifying Device. Wireless PID:101a as /devices/pci0001:10/0001:10:1b.1/usb4/4-1/4-1:1.2/0003:046D:C52B.0003/input/input5 [ 529.075216] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [ 529.075229] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event: report = 20 00 41 02 00 00 00 00 00 00 00 00 00 00 00 [ 529.075854] drivers/hid/hid-logitech-dj.c: logi_dj_ll_open:usb-0001:10:1b.1-1:1 [ 529.075887] drivers/hid/hid-logitech-dj.c: logi_dj_ll_close:usb-0001:10:1b.1-1:1 [ 529.075929] drivers/hid/hid-logitech-dj.c: logi_dj_ll_open:usb-0001:10:1b.1-1:1 [ 529.075966] drivers/hid/hid-logitech-dj.c: logi_dj_ll_close:usb-0001:10:1b.1-1:1 [ 529.076072] logitech-djdevice 0003:046D:C52B.0004: input,hidraw1: USB HID v1.11 Mouse [Logitech Unifying Device. Wireless PID:101a] on usb-0001:10:1b.1-1:1 [ 529.076547] drivers/hid/hid-logitech-dj.c: delayedwork_callback [ 529.076554] drivers/hid/hid-logitech-dj.c: logi_dj_recv_add_djhid_device: device list is empty receiver plugged in [ 593.872745] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [ 593.872760]
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
On 2012.05.06 01:23, Jonathan Nieder wrote: Hugo Osvaldo Barrera wrote: On 2012-05-06 02:55, Jonathan Nieder wrote: The pairing (...add_djhid_device) happens during initialization, before the mouse is turned on... I don't think I quite follow there. By pairing I though you meant when the receiver connects to the mouse. How can the pairing be done while the device is off? Or what am I missing here? I'm guessing the actual pairing happens without Linux being involved. Then the driver sends a get paired devices request during initialization and the device sends the device paired notifications I'm interested in in response. Do I need to apply only this patch, or both the previous one and this one? Only this patch. Cheers, Jonathan Hi! I apologize for the really (really) long delay in replying. I've had a really busy week. I rebuilt the kernel with the patch (rebuilding the module did't work because I'd updated the kernel tree, and the re-built module wasn't recognized): # uname -a Linux athena 3.4.0-rc5+ #1 Fri May 4 19:14:24 ART 2012 ppc GNU/Linux And I captured the dmesg from before plugging in the mouse (after a clean reboot). The good news is there's a 41 event this time! :) /sys/kernel/debug/hid/ is empty at this point, so I can't cat /sys/... .../events [ 365.757237] usbcore: registered new interface driver usbhid [ 365.757448] usbhid: USB HID core driver [ 365.761458] drivers/hid/hid-logitech-dj.c: Logitech-DJ:logi_dj_init [ 528.822188] usb 4-1: new full-speed USB device number 2 using ohci_hcd [ 529.044194] usb 4-1: New USB device found, idVendor=046d, idProduct=c52b [ 529.044417] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 529.044646] usb 4-1: Product: USB Receiver [ 529.044783] usb 4-1: Manufacturer: Logitech [ 529.054294] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0 [ 529.054436] drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 0 [ 529.054442] drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 0 [ 529.054561] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 1 [ 529.054658] drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 1 [ 529.054664] drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 1 [ 529.054754] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 2 [ 529.054852] drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 2 [ 529.061218] drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x1001 wIndex=0x0200 wLength=1792 [ 529.063218] drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x1101 wIndex=0x0200 wLength=5120 [ 529.064204] drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x2001 wIndex=0x0200 wLength=3840 [ 529.065199] drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x2101 wIndex=0x0200 wLength=8192 [ 529.066942] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0001:10:1b.1-1/input2 [ 529.073214] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [ 529.073230] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event: report = 20 01 41 01 1a 10 04 00 00 00 00 00 00 00 00 [ 529.073277] drivers/hid/hid-logitech-dj.c: delayedwork_callback [ 529.073447] drivers/hid/hid-logitech-dj.c: logi_dj_ll_parse [ 529.073453] drivers/hid/hid-logitech-dj.c: logi_dj_ll_parse: sending a mouse descriptor, reports_supported: 4 [ 529.074068] drivers/hid/hid-logitech-dj.c: logi_dj_ll_start [ 529.074276] input: Logitech Unifying Device. Wireless PID:101a as /devices/pci0001:10/0001:10:1b.1/usb4/4-1/4-1:1.2/0003:046D:C52B.0003/input/input5 [ 529.075216] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [ 529.075229] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event: report = 20 00 41 02 00 00 00 00 00 00 00 00 00 00 00 [ 529.075854] drivers/hid/hid-logitech-dj.c: logi_dj_ll_open:usb-0001:10:1b.1-1:1 [ 529.075887] drivers/hid/hid-logitech-dj.c: logi_dj_ll_close:usb-0001:10:1b.1-1:1 [ 529.075929] drivers/hid/hid-logitech-dj.c: logi_dj_ll_open:usb-0001:10:1b.1-1:1 [ 529.075966] drivers/hid/hid-logitech-dj.c: logi_dj_ll_close:usb-0001:10:1b.1-1:1 [ 529.076072] logitech-djdevice 0003:046D:C52B.0004: input,hidraw1: USB HID v1.11 Mouse [Logitech Unifying Device. Wireless PID:101a] on usb-0001:10:1b.1-1:1 [ 529.076547] drivers/hid/hid-logitech-dj.c: delayedwork_callback [ 529.076554] drivers/hid/hid-logitech-dj.c: logi_dj_recv_add_djhid_device: device list is empty receiver plugged in [ 593.872745] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [ 593.872760] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event: report = 20 01 42 00 00 00 00 00 00 00 00 00 00 00 00 mouse turned on Since /sys/kernel/debug/hid/ is empty until I plug in the receiver, I can't cat the events until then. The output of the events is the same as before when I turned on the mouse (I'm
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Hi Jonathan, On 2012-05-06 02:55, Jonathan Nieder wrote: Hugo Osvaldo Barrera wrote: Here's the dmesg I got: Thanks. [...] [69358.971692] usbhid: USB HID core driver Mouse receiver was plugged in at this point. Mouse was off. [69358.973309] [...]/drivers/hid/hid-logitech-dj.c: Logitech-DJ:logi_dj_init [...] [69381.911438] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0001:10:1b.1-1/input2 [69381.918070] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [69381.918124] [...]/drivers/hid/hid-logitech-dj.c: delayedwork_callback [69381.918135] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_recv_add_djhid_device: device list is empty [69381.920069] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [69381.920119] [...]/drivers/hid/hid-logitech-dj.c: delayedwork_callback [69381.920297] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_ll_parse [69381.920308] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_ll_start Mouse was turned on at this point. [69381.920430] logitech-djdevice 0003:046D:C52B.0004: hidraw1: USB HID v1.11 Device [Logitech Unifying Device. Wireless PID:101a] on usb-0001:10:1b.1-1:1 Still no logi_dj_ll_parse: sending a mouse descriptor, reports_supported: 4 so it looks like the patch didn't have the intended effect. Alas. The pairing (...add_djhid_device) happens during initialization, before the mouse is turned on... I don't think I quite follow there. By pairing I though you meant when the receiver connects to the mouse. How can the pairing be done while the device is off? Or what am I missing here? Here's the capture of the pairing event. [...] Reading from 0003:046D:C52B.0003 resulted in the following Mouse turned on at this point report (size 15) (numbered) = 20 01 42 00 00 00 00 00 00 00 00 00 00 00 00 Mouse turned off at this point report (size 15) (numbered) = 20 01 42 01 00 00 00 00 00 00 00 00 00 00 00 EOF ... so the events captured do not include pairing events (0x41). What we see here are connection status events (0x42). Sorry about that. Here's a new patch that prints more information to dmesg. After applying the patch, you can use the patched driver by running make drivers/hid/hid-logitech-dj.ko modprobe -r hid-logitech-dj insmod drivers/hid/hid-logitech-dj.ko Great, that'll save me plenty of time! --- Thanks again, Jonathan drivers/hid/hid-logitech-dj.c | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c index e1c38bba4375..33a70cfbec77 100644 --- a/drivers/hid/hid-logitech-dj.c +++ b/drivers/hid/hid-logitech-dj.c @@ -23,6 +23,7 @@ #include linux/device.h +#include asm/unaligned.h #include linux/hid.h #include linux/module.h #include linux/usb.h @@ -273,8 +274,8 @@ static void logi_dj_recv_add_djhid_device(struct dj_receiver_dev *djrcv_dev, goto dj_device_allocate_fail; } - dj_dev-reports_supported = le32_to_cpu( - dj_report-report_params[DEVICE_PAIRED_RF_REPORT_TYPE]); + dj_dev-reports_supported = get_unaligned_le32( + dj_report-report_params + DEVICE_PAIRED_RF_REPORT_TYPE); dj_dev-hdev = dj_hiddev; dj_dev-dj_receiver_dev = djrcv_dev; dj_dev-device_index = dj_report-device_index; @@ -618,9 +619,18 @@ static int logi_dj_raw_event(struct hid_device *hdev, struct dj_report *dj_report = (struct dj_report *) data; unsigned long flags; bool report_processed = false; + char buf[32 * 3 + 1]; + int i; dbg_hid(%s, size:%d\n, __func__, size); + if (0 size size = 32) { + for (i = 0; i size; i++) + snprintf(buf + 3*i, sizeof(buf) - 3*i, + %02x, data[i]); + dbg_hid(%s: report = %s\n, __func__, buf); + } + /* Here we receive all data coming from iface 2, there are 4 cases: * * 1) Data should continue its normal processing i.e. data does not Do I need to apply only this patch, or both the previous one and this one? -- Hugo Osvaldo Barrera -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Hugo Osvaldo Barrera wrote: On 2012-05-06 02:55, Jonathan Nieder wrote: The pairing (...add_djhid_device) happens during initialization, before the mouse is turned on... I don't think I quite follow there. By pairing I though you meant when the receiver connects to the mouse. How can the pairing be done while the device is off? Or what am I missing here? I'm guessing the actual pairing happens without Linux being involved. Then the driver sends a get paired devices request during initialization and the device sends the device paired notifications I'm interested in in response. Do I need to apply only this patch, or both the previous one and this one? Only this patch. Cheers, Jonathan -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Hi, I apologize for not replying to the last e-mail and replying to an older one instead, I seem to have lost the last couple. :( Before I begin, let me say I downloaded the kernel sources only a few hours after your previous message, but the patch did not apply (I'm not sure why; I got a corrupt patch error). I applied the changes manually. Here's the dmesg I got: [69237.004750] usbcore: deregistering interface driver usbhid [69243.219600] hid: hid_debug is now used solely for parser and driver debugging. [69243.219608] debugfs is now used for inspecting the device (report descriptor, reports) [69350.013383] hid: hid_debug is now used solely for parser and driver debugging. [69350.013390] debugfs is now used for inspecting the device (report descriptor, reports) [69358.971680] usbcore: registered new interface driver usbhid [69358.971692] usbhid: USB HID core driver Mouse receiver was plugged in at this point. Mouse was off. [69358.973309] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: Logitech-DJ:logi_dj_init [69381.670037] usb 4-1: new full-speed USB device number 5 using ohci_hcd [69381.892043] usb 4-1: New USB device found, idVendor=046d, idProduct=c52b [69381.892054] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [69381.892060] usb 4-1: Product: USB Receiver [69381.892065] usb 4-1: Manufacturer: Logitech [69381.898155] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0 [69381.898311] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 0 [69381.898321] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 0 [69381.898440] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 1 [69381.898537] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 1 [69381.898546] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 1 [69381.898651] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 2 [69381.898750] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 2 [69381.904988] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x1001 wIndex=0x0200 wLength=1792 [69381.907044] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x1101 wIndex=0x0200 wLength=5120 [69381.908029] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x2001 wIndex=0x0200 wLength=3840 [69381.909028] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x2101 wIndex=0x0200 wLength=8192 [69381.911438] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0001:10:1b.1-1/input2 [69381.918070] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [69381.918124] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: delayedwork_callback [69381.918135] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_recv_add_djhid_device: device list is empty [69381.920069] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [69381.920119] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c:
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Hugo Osvaldo Barrera wrote: Here's the dmesg I got: Thanks. [...] [69358.971692] usbhid: USB HID core driver Mouse receiver was plugged in at this point. Mouse was off. [69358.973309] [...]/drivers/hid/hid-logitech-dj.c: Logitech-DJ:logi_dj_init [...] [69381.911438] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0001:10:1b.1-1/input2 [69381.918070] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [69381.918124] [...]/drivers/hid/hid-logitech-dj.c: delayedwork_callback [69381.918135] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_recv_add_djhid_device: device list is empty [69381.920069] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [69381.920119] [...]/drivers/hid/hid-logitech-dj.c: delayedwork_callback [69381.920297] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_ll_parse [69381.920308] [...]/drivers/hid/hid-logitech-dj.c: logi_dj_ll_start Mouse was turned on at this point. [69381.920430] logitech-djdevice 0003:046D:C52B.0004: hidraw1: USB HID v1.11 Device [Logitech Unifying Device. Wireless PID:101a] on usb-0001:10:1b.1-1:1 Still no logi_dj_ll_parse: sending a mouse descriptor, reports_supported: 4 so it looks like the patch didn't have the intended effect. Alas. The pairing (...add_djhid_device) happens during initialization, before the mouse is turned on... Here's the capture of the pairing event. [...] Reading from 0003:046D:C52B.0003 resulted in the following Mouse turned on at this point report (size 15) (numbered) = 20 01 42 00 00 00 00 00 00 00 00 00 00 00 00 Mouse turned off at this point report (size 15) (numbered) = 20 01 42 01 00 00 00 00 00 00 00 00 00 00 00 EOF ... so the events captured do not include pairing events (0x41). What we see here are connection status events (0x42). Sorry about that. Here's a new patch that prints more information to dmesg. After applying the patch, you can use the patched driver by running make drivers/hid/hid-logitech-dj.ko modprobe -r hid-logitech-dj insmod drivers/hid/hid-logitech-dj.ko --- Thanks again, Jonathan drivers/hid/hid-logitech-dj.c | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c index e1c38bba4375..33a70cfbec77 100644 --- a/drivers/hid/hid-logitech-dj.c +++ b/drivers/hid/hid-logitech-dj.c @@ -23,6 +23,7 @@ #include linux/device.h +#include asm/unaligned.h #include linux/hid.h #include linux/module.h #include linux/usb.h @@ -273,8 +274,8 @@ static void logi_dj_recv_add_djhid_device(struct dj_receiver_dev *djrcv_dev, goto dj_device_allocate_fail; } - dj_dev-reports_supported = le32_to_cpu( - dj_report-report_params[DEVICE_PAIRED_RF_REPORT_TYPE]); + dj_dev-reports_supported = get_unaligned_le32( + dj_report-report_params + DEVICE_PAIRED_RF_REPORT_TYPE); dj_dev-hdev = dj_hiddev; dj_dev-dj_receiver_dev = djrcv_dev; dj_dev-device_index = dj_report-device_index; @@ -618,9 +619,18 @@ static int logi_dj_raw_event(struct hid_device *hdev, struct dj_report *dj_report = (struct dj_report *) data; unsigned long flags; bool report_processed = false; + char buf[32 * 3 + 1]; + int i; dbg_hid(%s, size:%d\n, __func__, size); + if (0 size size = 32) { + for (i = 0; i size; i++) + snprintf(buf + 3*i, sizeof(buf) - 3*i, +%02x, data[i]); + dbg_hid(%s: report = %s\n, __func__, buf); + } + /* Here we receive all data coming from iface 2, there are 4 cases: * * 1) Data should continue its normal processing i.e. data does not -- 1.7.10.1 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Hugo Osvaldo Barrera wrote: Here goes, I'm pretty sure a few of the first lines aren't relevant, but I prefer to send a couple too many instead of a couple to few :) Thanks! That was fast. I'd also be interested in the corresponding output from an Intel architecture machine with the same kernel version for comparison. I'm hoping some obvious difference will jump out --- otherwise I or some other reader will have to look at the actual code. ;-) Hope that helps, Jonathan -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
On 2012.05.04 02:41, Jonathan Nieder wrote: Hugo Osvaldo Barrera wrote: Here goes, I'm pretty sure a few of the first lines aren't relevant, but I prefer to send a couple too many instead of a couple to few :) Thanks! That was fast. I'd also be interested in the corresponding output from an Intel architecture machine with the same kernel version for comparison. I'm hoping some obvious difference will jump out --- otherwise I or some other reader will have to look at the actual code. ;-) Hope that helps, Jonathan Here you go - *I* certainly can't make anything out of it, but hope it helps :) $ uname -a Linux hyperion 3.3.2-1-ARCH #1 SMP PREEMPT Sat Apr 14 09:48:37 CEST 2012 x86_64 AMD Phenom(tm) II X4 945 Processor AuthenticAMD GNU/Linux dmesg: The following ONE line repeated itself 272 times. I've snipped it for readability [335294.173474] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335294.173485] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 [335294.277432] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335294.277442] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 The following ONE line repeated itself 94 times. I've snipped it for readability [335295.841399] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335295.841407] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 [335295.945386] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335295.945395] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 The following ONE line repeated itself 110 times. I've snipped it for readability [335307.282816] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 snipped some nvidia related stuff The following ONE line repeated itself 71 times. I've snipped it for readability [335313.294547] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335313.294559] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589827 [335313.446544] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335313.446558] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589827 The following ONE line repeated itself 65 times. I've snipped it for readability [335317.788350] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335317.788360] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 The following ONE line repeated itself 22 times. I've snipped it for readability [335318.044338] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335318.044350] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 The following ONE line repeated itself 52 times. I've snipped it for readability [335324.738080] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335324.738089] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589827 The following ONE line repeated itself 32 times. I've snipped it for readability [335325.068018] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335325.068030] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589827 The following ONE line repeated itself 30 times. I've snipped it for readability [335325.544000] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335325.544012] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 The following ONE line repeated itself 60 times. I've snipped it for readability [335326.485953] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335326.485964] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 The following ONE line repeated itself 418 times. I've snipped it for readability [335344.725114] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335344.725123] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 [335344.821117] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335344.821127] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 The following ONE line repeated itself 60 times. I've snipped it for readability [335346.279100] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335346.279110] drivers/hid/hid-logitech-dj.c: logi_dj_ll_input_event: usb-:00:12.1-3:1, type:4 | code:4 | value:589825 [335346.351039] drivers/hid/hid-logitech-dj.c: logi_dj_raw_event, size:15 [335346.351050] drivers/hid/hid-logitech-dj.c:
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
On 2012-05-04 05:10, Hugo Osvaldo Barrera wrote: On 2012.05.04 02:41, Jonathan Nieder wrote: Hugo Osvaldo Barrera wrote: Here goes, I'm pretty sure a few of the first lines aren't relevant, but I prefer to send a couple too many instead of a couple to few :) Thanks! That was fast. I'd also be interested in the corresponding output from an Intel architecture machine with the same kernel version for comparison. I'm hoping some obvious difference will jump out --- otherwise I or some other reader will have to look at the actual code. ;-) Hope that helps, Jonathan Here you go - *I* certainly can't make anything out of it, but hope it helps :) $ uname -a Linux hyperion 3.3.2-1-ARCH #1 SMP PREEMPT Sat Apr 14 09:48:37 CEST 2012 x86_64 AMD Phenom(tm) II X4 945 Processor AuthenticAMD GNU/Linux dmesg: snip Oh, it slipped my mind and I used the other (identical) mouse for this, does that matter? They're the exact same model. -- Hugo Osvaldo Barrera -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Hugo Osvaldo Barrera wrote: Oh, it slipped my mind and I used the other (identical) mouse for this, does that matter? They're the exact same model. Probably doesn't matter, but thanks for mentioning it. Sincerely, Jonathan -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Hi guys, Thanks for those logs, very helpful. Would you be able to test the following patch on both systems and let us know about the result? Cheers, Nestor diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c index 38b12e4..763e4d9 100644 --- a/drivers/hid/hid-logitech-dj.c +++ b/drivers/hid/hid-logitech-dj.c @@ -215,6 +215,7 @@ static void logi_dj_recv_add_djhid_device(struct dj_receiver_dev *djrcv_dev, struct usb_device *usbdev = interface_to_usbdev(intf); struct hid_device *dj_hiddev; struct dj_device *dj_dev; + u32 reports_supported; /* Device index goes from 1 to 6, we need 3 bytes to store the * semicolon, the index, and a null terminator @@ -264,9 +265,11 @@ static void logi_dj_recv_add_djhid_device(struct dj_receiver_dev *djrcv_dev, __func__); goto dj_device_allocate_fail; } + memcpy(reports_supported, + dj_report-report_params[DEVICE_PAIRED_RF_REPORT_TYPE], + sizeof(reports_supported)); - dj_dev-reports_supported = le32_to_cpu( - dj_report-report_params[DEVICE_PAIRED_RF_REPORT_TYPE]); + dj_dev-reports_supported = le32_to_cpu(reports_supported); dj_dev-hdev = dj_hiddev; dj_dev-dj_receiver_dev = djrcv_dev; dj_dev-device_index = dj_report-device_index; On Fri, May 4, 2012 at 10:36 AM, Jonathan Nieder jrnie...@gmail.com wrote: Hugo Osvaldo Barrera wrote: Oh, it slipped my mind and I used the other (identical) mouse for this, does that matter? They're the exact same model. Probably doesn't matter, but thanks for mentioning it. Sincerely, Jonathan -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Nestor Lopez Casado wrote: Would you be able to test the following patch on both systems and let us know about the result? Instructions for Hugo: # prerequisites apt-get install git build-essential # get the kernel history, if you don't already have it git clone \ git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git # latest mainline kernel cd linux git fetch origin git checkout origin/master # configure cp /boot/config-$(uname -r) .config; # current configuration scripts/config --disable DEBUG_INFO; # smaller build make localmodconfig; # minimize configuration # apply patch git apply --index /path/to/patch # build make deb-pkg; # optionally with -jnum for parallel build # test dpkg -i ../name of package; # as root reboot # to unapply patch: cd linux git reset --hard origin/master # when you want to build again: make deb-pkg; # maybe with -j4 dpkg -i ../name of package; # as root reboot I would also be interested in a capture of the pairing event, if possible: (remove mouse battery or bring mouse out of range) mount -t debugfs debugfs /sys/kernel/debug ls /sys/kernel/debug/hid/ modprobe -r hid_logitech_dj modprobe hid_logitech_dj cat /sys/kernel/debug/hid/device name/events events.captured (insert mouse battery or bring mouse within range) ^C Jonathan -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#671292: [bug?] [powerpc] hid_logitech_dj: Wireless mouse does not work in xorg or gpm
Hi, On 2012.05.03 08:13, Jonathan Nieder wrote: Jonathan Nieder wrote: An alternative method would be to boot with hid.hid_debug=1 log_buf_len=2097152 and run dmesg. Apparently I can't spell. An alternative method would be to run with hid.debug=1 log_buf_len=... or to do modprobe -r hid-logitech-dj modprobe -r usbhid modprobe -r hid modprobe hid debug=1 modprobe hid-logitech-dj dmesg Sorry for the confusion. No problem Jonathan Here goes, I'm pretty sure a few of the first lines aren't relevant, but I prefer to send a couple too many instead of a couple to few :) [ 1244.617478] usb 4-1: USB disconnect, device number 2 [77892.290041] usb 4-1: new full-speed USB device number 3 using ohci_hcd [77892.512057] usb 4-1: New USB device found, idVendor=046d, idProduct=c52b [77892.512817] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [77892.513584] usb 4-1: Product: USB Receiver [77892.514280] usb 4-1: Manufacturer: Logitech [77892.540356] logitech-djreceiver 0003:046D:C52B.000B: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0001:10:1b.1-1/input2 [77892.550769] logitech-djdevice 0003:046D:C52B.000C: hidraw1: USB HID v1.11 Device [Logitech Unifying Device. Wireless PID:101a] on usb-0001:10:1b.1-1:1 [77912.356716] usbcore: deregistering interface driver usbhid [77927.421876] usbcore: registered new interface driver usbhid [77927.422859] usbhid: USB HID core driver [77927.461256] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0001:10:1b.1-1/input2 [77927.473593] logitech-djdevice 0003:046D:C52B.0004: hidraw1: USB HID v1.11 Device [Logitech Unifying Device. Wireless PID:101a] on usb-0001:10:1b.1-1:1 [77985.718533] usbcore: deregistering interface driver usbhid [77985.843593] hid: hid_debug is now used solely for parser and driver debugging. [77985.843602] debugfs is now used for inspecting the device (report descriptor, reports) [77985.890194] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0 [77985.891586] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 1 [77985.893142] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 2 [77985.895398] usbcore: registered new interface driver usbhid [77985.896491] usbhid: USB HID core driver [77985.914131] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: Logitech-DJ:logi_dj_init [77985.914189] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 0 [77985.914198] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 0 [77985.914224] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 1 [77985.914233] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 1 [77985.914250] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 2 [77985.919851] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x1001 wIndex=0x0200 wLength=1792 [77985.921771] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x1101 wIndex=0x0200 wLength=5120 [77985.922775] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x2001 wIndex=0x0200 wLength=3840 [77985.923763] /build/buildd-linux-2.6_3.3.4-1~experimental.1-powerpc-atUZTv/linux-2.6-3.3.4/debian/build/source_powerpc_none/drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x2101 wIndex=0x0200 wLength=8192 [77985.927818] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0001:10:1b.1-1/input2 [77985.937799]