Thread (6 messages) 6 messages, 4 authors, 2016-03-01

Re: Simple approach to write PS3/PS4 usermode driver?

From: Antonio Ospite <hidden>
Date: 2016-02-15 21:34:42

On Mon, 15 Feb 2016 20:29:18 +0100
Manuel Reimer [off-list ref] wrote:
Hello,

now I've been trying several things, but maybe I missed something.

- If I just blacklist "hid-sony", then everything is dead. No bluetooth 
binding, no "/dev/hidrawX".
- After some searching, I found out that the core reason for this is a 
"hid_have_special_driver" list in hid-core.c which contains the PS3/PS4 
controller.
- So I thought: Maybe I can keep "hid-sony" to keep "/dev/hidrawX" and 
somehow detach the generated eventX and jsX devices. I've been searching 
/sys for about half an hour but I didn't find any way to do this. Maybe 
impossible?
Have you tried loading hid.ko with the ignore_special_drivers=1
parameter? I guess that will ignore _all_ special drivers tho, even
mouse and keyboard ones.
I know that libusb may be an option, but this way I also give up easy 
bluetooth binding. Especially the PS4 gamepad is easy to bind. If the 
resulting bluetooth device wouldn't be blacklisted in hid-core.c.
Alan Ott's hidapi[1] is a better alternative to libusb for hid
devices.

[1] http://www.signal11.us/oss/hidapi/
Maybe someone can give me a hint. Is there any easy way to get the HID 
to input device translation process ported into usermode without giving 
up all the things that work automatically if hid-sony is active?

Thank you very much for any information.
I reckon a patched kernel is not an option, is it?

If I may, why a userspace driver? Can't you improve the kernel driver
to match your needs? You'd also avoid code duplication this way.

Thanks,
   Antonio

-- 
Antonio Ospite
http://ao2.it

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help