[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0888e980-5511-af8f-bd00-e94916cb6356@kapsi.fi>
Date: Mon, 25 Jul 2016 18:23:07 +0300
From: Mikko Perttunen <mikko.perttunen@...si.fi>
To: Antonio Ospite <ao2@....it>,
Benjamin Tissoires <benjamin.tissoires@...hat.com>
Cc: jikos@...nel.org, linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org,
Mikko Perttunen <mperttunen@...dia.com>
Subject: Re: [PATCH] HID: sony: disable descriptor fixup for FutureMax Dance
Mat
On 07/25/16 14:05, Antonio Ospite wrote:
> On Mon, 25 Jul 2016 11:14:04 +0200
> Benjamin Tissoires <benjamin.tissoires@...hat.com> wrote:
>
>> On Jul 21 2016 or thereabouts, Antonio Ospite wrote:
> [...]
>>> It would be interesting to understand why some (supposedly) compatible
>>> devices break, maybe they rely on the fact that the PS3 would use the
>>> original report?
>>
>> [just speculating]
>> I would be *really* surprised if the Sony software were to overwrite the
>> report descriptor of their own sony controllers. My guess is that their
>> HID stack or their Playstation driver is compatible with the original
>> report descriptors and so they can handle the differences between
>> original and weirdo controllers.
>>
>
> That's basically what I was thinking too, in my last sentence I meant
> to write report _descriptor_ :)
>
> Mikko, if you have some time, could you post the original report
> descriptor for your device?
Sure, here's the output from hidrd-convert:
0x05, 0x01, /* Usage Page (Desktop), */
0x09, 0x04, /* Usage (Joystick), */
0xA1, 0x01, /* Collection (Application), */
0x09, 0x01, /* Usage (Pointer), */
0xA1, 0x00, /* Collection (Physical), */
0x05, 0x09, /* Usage Page (Button), */
0x19, 0x01, /* Usage Minimum (01h), */
0x29, 0x0A, /* Usage Maximum (0Ah), */
0x15, 0x00, /* Logical Minimum (0), */
0x25, 0x01, /* Logical Maximum (1), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x0A, /* Report Count (10), */
0x81, 0x02, /* Input (Variable), */
0x95, 0x06, /* Report Count (6), */
0x81, 0x03, /* Input (Constant, Variable), */
0xC0, /* End Collection, */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x15, 0x00, /* Logical Minimum (0), */
0x25, 0x01, /* Logical Maximum (1), */
0x25, 0x01, /* Logical Maximum (1), */
0x25, 0x01, /* Logical Maximum (1), */
0xC0 /* End Collection */
>
> $ hexdump /sys/bus/hid/devices/XXXX\:YYYY\:ZZZZ.0001/report_descriptor
>
> or
>
> $ hidrd-convert -i natv -o code /sys/bus/hid/devices/XXXX\:YYYY\:ZZZZ.0001/report_descriptor
>
> You can also find out the length of the raw output report with trial and
> error, start with a line like this:
>
> $ sudo hexdump -v -e '49/1 "%02x " "\n"' /dev/hidraw0
>
> and increase/decrease the value (49 works with original controllers)
> until you see a regular pattern when comparing lines.
>
/dev/hidraw0 seems to be all zeroes straight from the beginning
> Anyways this is just for curiosity, we are not going to spend too much
> time on that... or are we? :)
At least it's some reference information.. :)
>
> Thanks,
> Antonio
>
Cheers,
Mikko.
Powered by blists - more mailing lists