Increasing HIDP_DEFAULT_MTU ?
Hi,
I have a Bluetooth HID peripheral which sends 50-byte payloads on L2CAP psm 19, even though it has accepted a Config req with MTU 48. As a result, the data never reaches userspace. Is this a bug in the device ?
Besides, even if the device implemented segmentation with DATC, a MTU of 48 might be a significant performance penalty (generating twice as many packets on the radio channel ?).
So would it be appropriate to change bluez-libs-3.11/include/hidp.h:#define HIDP_DEFAULT_MTU 48 to 672, as recommmended by HID_SPEC_V10 section 7.5.2 ?
Or maybe make it a command-line option for hidd and bluetoothd-service-input ?
Pascal
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel Holtmann
maintainerHi Pascal,
Quoted 4 lines
I have a Bluetooth HID peripheral which sends 50-byte payloads on L2CAP psm 19, even though it has accepted a Config req with MTU 48. As a result, the data never reaches userspace. Is this a bug in the device ?
which device is this. I might need to have one of it at home for testing.
Quoted 3 lines
Besides, even if the device implemented segmentation with DATC, a MTU of 48 might be a significant performance penalty (generating twice as many packets on the radio channel ?).
Actually we are not really supporting segmentation by ourself. If I had one of the devices for testing, I might be able to fix that easily. Hint hint :)
Quoted 6 lines
So would it be appropriate to change bluez-libs-3.11/include/hidp.h:#define
HIDP_DEFAULT_MTU48 to 672, as recommmended byHID_SPEC_V10section 7.5.2 ?Or maybe make it a command-line option for hidd and bluetoothd-service-input ?
I fixed the input service now. We will see how this works out. In addition the 2.6.22-rc3 kernel contains a patch to fix a bug in the L2CAP config handling.
Regards
Marcel
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Quoted 3 lines · Marcel Holtmann
Actually we are not really supporting segmentation by ourself. If I had one of the devices for testing, I might be able to fix that easily. Hint hint :)
It's that wireless joystick from Sony. Be sure to ask for the console that goes with it, it makes debugging much easier :-)
Note: when polled with HIDP_TRANS_GET_REPORT on the control channel, it does use DATC (unlike what happens on the interrupt channel). So maybe it would be a good platform for testing reassembly code.
Quoted 3 lines
I fixed the input service now. We will see how this works out. In addition the 2.6.22-rc3 kernel contains a patch to fix a bug in the L2CAP config handling.
Thanks; the device now works out-of-the box with ps3-linux 2.6.22-rc3 and bluetoothd-service-input from bluez-utils-cvs (except I couldn't figure how the new authorization framework works, so I renamed /var/lib/bluetooth/*/hidd to /var/lib/bluetooth/*/input instead).
Pascal
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel Holtmann
maintainerHi Pascal,
Quoted 6 lines
Quoted 3 lines
Actually we are not really supporting segmentation by ourself. If I had one of the devices for testing, I might be able to fix that easily. Hint hint :)
It's that wireless joystick from Sony. Be sure to ask for the console that goes with it, it makes debugging much easier :-)
do you mean the controller that comes with the PS3?
Quoted 3 lines
Note: when polled with
HIDP_TRANS_GET_REPORTon the control channel, it does use DATC (unlike what happens on the interrupt channel). So maybe it would be a good platform for testing reassembly code.
Yes. We need to fix that.
Quoted 8 lines
Quoted 3 lines
I fixed the input service now. We will see how this works out. In addition the 2.6.22-rc3 kernel contains a patch to fix a bug in the L2CAP config handling.
Thanks; the device now works out-of-the box with ps3-linux 2.6.22-rc3 and bluetoothd-service-input from bluez-utils-cvs (except I couldn't figure how the new authorization framework works, so I renamed
/var/lib/bluetooth/*/hiddto/var/lib/bluetooth/*/inputinstead).
That can produce some strange settings. The input file format is a little bit different than the hidd file format.
Regards
Marcel
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel,
Quoted 1 line
do you mean the controller that comes with the PS3?
Yes, a.k.a. "sixaxis". It is not really advertised as a HIDP device, but it behaves pretty much like one. Sony also has a TV-style Bluetooth remote, which I have not tested.
Regards,
Pascal
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel Holtmann
maintainerHi Pascal,
Quoted 5 lines
Quoted 1 line
do you mean the controller that comes with the PS3?
Yes, a.k.a. "sixaxis". It is not really advertised as a HIDP device, but it behaves pretty much like one. Sony also has a TV-style Bluetooth remote, which I have not tested.
actually I have both of them. The controller is kinda nasty and I have to integrate the cable-based authentication somehow nicely with udev and the input service.
The remote uses a total weird HID report format. Doesn't make sense to push that through the kernel. We will use a fake HID inside the input service and then uinput to create the input device.
Regards
Marcel
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel