linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PROBLEM: full speed HID device with payload of 64 bytes
@ 2009-08-13  8:35 Zeisel, Michael
  2009-08-13 11:33 ` Jiri Kosina
  0 siblings, 1 reply; 2+ messages in thread
From: Zeisel, Michael @ 2009-08-13  8:35 UTC (permalink / raw)
  To: linux-kernel

Dear ladies and gentlemen,

We have experienced problems connecting HID devices, which have a data payload of 64 bytes with the following LINUX kernel:

2.6.24-24-generic

What we did:

We experienced those problems with one of our devices, the Digital Pocket Memo 3 (DPM), by simply trying to receive button events via the

Cat /dev/usb/hiddev0

Command -> no success. The only difference between this device and older ones (which work on this kernel version) in the USB descriptor is the data payload which is 64 byte.

To narrow down the cause for that behavior we simply took the same device, put in a FW with a low speed device protocol with a data payload of 8 byte and plugged it again to the PC.

Now the button events produced some symbols in the "terminal", which proves that the device was recognized correctly and works.

According to the USB 2.0 specification under

http://www.usb.org/developers/docs/

USB 2.0 specification, Chapter 5.7.4: Interrupt Transfer Bus Access Constraints

A full speed device should support a maximum data payload of 64 bytes (Table 5-7. Full-speed Interrupt Transaction Limits: max.payload 64 bytes x max.transfers 19  = max. 1216bytes/frame)

To us it seems that the current implementation of the HID device support in LINUX just supports the protocol for low speed devices (Table 5-6. Low-speed Interrupt Transaction Limits: max.payload 8 bytes x max.transfers 6  = max. 48bytes/frame)

On Windows OS and Mac OS all our devices work properly.

My question to you now is, if you could reproduce/investigate that behavior and give me a feeling what the cause and the solution for that problem will be?

I think it is a good idea, if you would have a Digital Pocket Memo to experience the described behavior- so to whom I should send that device?

Kind regards,

Michael Zeisel

Michael Zeisel
SW Project Leader
Philips Consumer Lifestyle

Philips Speech Processing
Gutheil-Schoder-Gasse 12
A - 1102, Vienna
Austria
Tel: +43 1 60101 2806
Fax:+43 1 60101 1833
Mobile: +43 (0)664 8131256


The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: PROBLEM: full speed HID device with payload of 64 bytes
  2009-08-13  8:35 PROBLEM: full speed HID device with payload of 64 bytes Zeisel, Michael
@ 2009-08-13 11:33 ` Jiri Kosina
  0 siblings, 0 replies; 2+ messages in thread
From: Jiri Kosina @ 2009-08-13 11:33 UTC (permalink / raw)
  To: Zeisel, Michael; +Cc: linux-kernel, linux-usb


[ added linux-usb to CC ]

On Thu, 13 Aug 2009, Zeisel, Michael wrote:

> We experienced those problems with one of our devices, the Digital 
> Pocket Memo 3 (DPM), by simply trying to receive button events via the
> 
> Cat /dev/usb/hiddev0
> 
> Command -> no success. The only difference between this device and older 
> ones (which work on this kernel version) in the USB descriptor is the 
> data payload which is 64 byte.
> 
> To narrow down the cause for that behavior we simply took the same 
> device, put in a FW with a low speed device protocol with a data payload 
> of 8 byte and plugged it again to the PC.
> 
> Now the button events produced some symbols in the "terminal", which 
> proves that the device was recognized correctly and works.
> 
> According to the USB 2.0 specification under
> 
> http://www.usb.org/developers/docs/
> 
> USB 2.0 specification, Chapter 5.7.4: Interrupt Transfer Bus Access Constraints
> 
> A full speed device should support a maximum data payload of 64 bytes 
> (Table 5-7. Full-speed Interrupt Transaction Limits: max.payload 64 
> bytes x max.transfers 19 = max. 1216bytes/frame)
> 
> To us it seems that the current implementation of the HID device support 
> in LINUX just supports the protocol for low speed devices (Table 5-6. 
> Low-speed Interrupt Transaction Limits: max.payload 8 bytes x 
> max.transfers 6 = max. 48bytes/frame)
> 
> On Windows OS and Mac OS all our devices work properly.

Could you please compile your kernel with CONFIG_USB_DEBUG and 
CONFIG_HID_DEBUG enabled, modprobe the 'hid' module with 'debug=2' 
parameter, and post the dmesg output that appears when you connect the 
device and press the buttons?

> I think it is a good idea, if you would have a Digital Pocket Memo to 
> experience the described behavior- so to whom I should send that device?

Let's see if something obvious pops out from the kernel debugging logs 
first.

Thanks,

-- 
Jiri Kosina
SUSE Labs


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-08-13 11:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-13  8:35 PROBLEM: full speed HID device with payload of 64 bytes Zeisel, Michael
2009-08-13 11:33 ` Jiri Kosina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).