2005-10-08 13:25:33

by Robert Siemer

[permalink] [raw]
Subject: [Bluez-devel] Jumpy cursor with Wacom Graphire Bluetooth

Hello everybody!

hcidump is telling me that my tablet sends packets only after six pixels
of mouse movement or together with button events. - I suppose that some
parameters exchanged during connection handshake are the cause.

-Who is making the connectinon? (hidp kernel module?)
-Who can/could influence it's outcome? (hidd userspace daemon? Plays
hcid an important role?)
-Has the latency thing something to do with it?
-Which spec should I first dig into - Bluetooth or HID?


I played already around with role switching (forced, voluntary from the
tablet, none). - Has no influence.

A "hcidump -w" connection dumps are attached. Here inline some tablet
mouse movements:

panorama:/tmp# hcidump -V -X
HCI sniffer - Bluetooth packet analyzer ver 1.23
device: hci0 snap_len: 1028 filter: 0xffffffff
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 0]
0000: a1 02 00 fa 02 00 ......
^^ ^^
Curser moved six "entities" to the left. While already sending a packet,
the tablet also reports some down movements ("02").

> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 0]
0000: a1 03 00 00 00 00 00 00 20 ........
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 0]
0000: a1 02 00 fd 06 00 ......
^^ ^^
The same, but moved 06 entities ("pixel") down. Obviously I also moved 3
pixels left (0xfd).

> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 0]
0000: a1 03 00 00 00 00 00 00 20 ........



Thanks for comments!

Robert


Attachments:
(No filename) (1.67 kB)
hcidump.connect.bin (1.48 kB)
hcidump.connect_no_rswitch.bin (1.32 kB)
hcidump.connect_voluntary_rswitch.bin (1.57 kB)
Download all attachments

2005-10-08 17:28:24

by Dimitry Andric

[permalink] [raw]
Subject: Re: [Bluez-devel] Jumpy cursor with Wacom Graphire Bluetooth

Marcel Holtmann wrote:
> I think it will at least improve it, because devices in boot protocol
> mode are very limited.

Ah, this is probably meant for use at bootloader time, with a simple
BIOS HID implementation?



Attachments:
signature.asc (187.00 B)
OpenPGP digital signature

2005-10-08 16:30:32

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Jumpy cursor with Wacom Graphire Bluetooth

On Sat, Oct 08, 2005 at 05:01:33PM +0200, Marcel Holtmann wrote:
> Hi Robert,
>
> > > > hcidump is telling me that my tablet sends packets only after six pixels
> > > > of mouse movement or together with button events. - I suppose that some
> > > > parameters exchanged during connection handshake are the cause.
> > > >
> > > > -Who is making the connectinon? (hidp kernel module?)
> > > > -Who can/could influence it's outcome? (hidd userspace daemon? Plays
> > > > hcid an important role?)
> > > > -Has the latency thing something to do with it?
> > > > -Which spec should I first dig into - Bluetooth or HID?
> > >
> > > try again with patch-2.6.13-mh1 to add report mode protocol support.
> >
> > I definitly will try it, but I belong to that kind of people who like to
> > understand. (-:
>
> check the USB HID specification for the difference between boot protocol
> and report protocol mode.

Ah. I was aware of the boot protocol and the other. - But I didn't know the
name of the non-boot-protocol mode... (-:

Some time ago I noticed 'hidd --show' telling me being in boot protocol
mode. Also your HID web page sugested patching the kernel for full HID
support. - I did the patching with patch-2.6.12-mh3 and found no serious
HID changes in later patches.

Anyway, hidd isn't any more telling me about being in boot protocol mode:

siemer@panorama:~$ hidd --show
00:13:C2:00:11:2C WACOM Pen Tablet [056a:0081] connected

> > The Wacom people told me that it should work perfect as a simple HID
> > device. What will report mode do?
>
> I think it will at least improve it, because devices in boot protocol
> mode are very limited.

Am I wrong thinking my tablet is already working in report mode? - It's
as bad as before.

> > And to refine my other questios: when and where in the communication
> > scheme do hidp and hidd jump into the boat?
>
> HIDP is the protocol for HID over Bluetooth and this is handles inside
> the kernel. The hidd handles the lower level L2CAP connections for it.

So hidd is responsible of L2CAP MTU and QoS settings and could influence
these during connection establishment?


Bye,
Robert


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-10-08 15:01:33

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > > hcidump is telling me that my tablet sends packets only after six pixels
> > > of mouse movement or together with button events. - I suppose that some
> > > parameters exchanged during connection handshake are the cause.
> > >
> > > -Who is making the connectinon? (hidp kernel module?)
> > > -Who can/could influence it's outcome? (hidd userspace daemon? Plays
> > > hcid an important role?)
> > > -Has the latency thing something to do with it?
> > > -Which spec should I first dig into - Bluetooth or HID?
> >
> > try again with patch-2.6.13-mh1 to add report mode protocol support.
>
> I definitly will try it, but I belong to that kind of people who like to
> understand. (-:

check the USB HID specification for the difference between boot protocol
and report protocol mode.

> The Wacom people told me that it should work perfect as a simple HID
> device. What will report mode do?

I think it will at least improve it, because devices in boot protocol
mode are very limited.

> And to refine my other questios: when and where in the communication
> scheme do hidp and hidd jump into the boat?

HIDP is the protocol for HID over Bluetooth and this is handles inside
the kernel. The hidd handles the lower level L2CAP connections for it.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-10-08 14:23:18

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Jumpy cursor with Wacom Graphire Bluetooth

On Sat, Oct 08, 2005 at 03:29:27PM +0200, Marcel Holtmann wrote:
> Hi Robert,
>
> > hcidump is telling me that my tablet sends packets only after six pixels
> > of mouse movement or together with button events. - I suppose that some
> > parameters exchanged during connection handshake are the cause.
> >
> > -Who is making the connectinon? (hidp kernel module?)
> > -Who can/could influence it's outcome? (hidd userspace daemon? Plays
> > hcid an important role?)
> > -Has the latency thing something to do with it?
> > -Which spec should I first dig into - Bluetooth or HID?
>
> try again with patch-2.6.13-mh1 to add report mode protocol support.

I definitly will try it, but I belong to that kind of people who like to
understand. (-:

The Wacom people told me that it should work perfect as a simple HID
device. What will report mode do?

And to refine my other questios: when and where in the communication
scheme do hidp and hidd jump into the boat?


Bye,
Robert



>
> > I played already around with role switching (forced, voluntary from the
> > tablet, none). - Has no influence.
>
> Forget about that. Use the default settings.
>
> Regards
>
> Marcel
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Power Architecture Resource Center: Free content, downloads, discussions,
> and more. http://solutions.newsforge.com/ibmarch.tmpl
> _______________________________________________
> Bluez-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bluez-devel


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-10-08 13:29:27

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> hcidump is telling me that my tablet sends packets only after six pixels
> of mouse movement or together with button events. - I suppose that some
> parameters exchanged during connection handshake are the cause.
>
> -Who is making the connectinon? (hidp kernel module?)
> -Who can/could influence it's outcome? (hidd userspace daemon? Plays
> hcid an important role?)
> -Has the latency thing something to do with it?
> -Which spec should I first dig into - Bluetooth or HID?

try again with patch-2.6.13-mh1 to add report mode protocol support.

> I played already around with role switching (forced, voluntary from the
> tablet, none). - Has no influence.

Forget about that. Use the default settings.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 10:29:01

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > > > > > Don't even think about switching into security mode 3. Use the -E switch
> > > > > > of hidd instead.
> > >
> > > Why? What is the difference?
> >
> > the security mode 3 comes with a lot of troubles and unless you really
> > know what you are doing, don't use it. Period.
>
> I don't yet "really know", but I would like to.

check the mailing list archives for details.

> > You can check with "hcitool con" is the encryption for a link is active.
>
> I thought so, too, but as it did not say neither "yes" nor "no"...
>
> siemer@panorama:/var/lib/bluetooth$ hcitool con
> Connections:
> > ACL 00:13:C2:00:11:2C handle 42 state 1 lm MASTER

It will show ENCRYPT (and AUTH) for an encrypted link.

> > The new tools store the link keys under /var/lib/bluetooth and if the
> > tablet is detected as mouse then maybe the encryption will never be
> > requested by hidd.
>
> How can I force hidd to try the encryption? I'm sure it sees the tablet
> as a mouse...

I think you need to change the source code for it.

> Anyway: should be noted in /etc/bluetooth/hcid.conf as a comment to try
> the (sometimes undocumented) "-E" switch instead of enableing it
> there...

Send in an patch for the hidd manual page.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 10:22:22

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

> > > > > Don't even think about switching into security mode 3. Use the -E switch
> > > > > of hidd instead.
> >
> > Why? What is the difference?
>
> the security mode 3 comes with a lot of troubles and unless you really
> know what you are doing, don't use it. Period.

I don't yet "really know", but I would like to.

> You can check with "hcitool con" is the encryption for a link is active.

I thought so, too, but as it did not say neither "yes" nor "no"...

siemer@panorama:/var/lib/bluetooth$ hcitool con
Connections:
> ACL 00:13:C2:00:11:2C handle 42 state 1 lm MASTER

> The new tools store the link keys under /var/lib/bluetooth and if the
> tablet is detected as mouse then maybe the encryption will never be
> requested by hidd.

How can I force hidd to try the encryption? I'm sure it sees the tablet
as a mouse...


Anyway: should be noted in /etc/bluetooth/hcid.conf as a comment to try
the (sometimes undocumented) "-E" switch instead of enableing it
there...


Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 09:36:51

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > > > > > What does the pairing button do? It makes the device discoverable and
> > > > > > pairable, right?
> > > > >
> > > > > I think so. It is already a "long time" ago, because some things did
> > > > > work with the pairing auth/enc switched on, but it did not end up
> > > > > working (to the level it does without)...
> > > >
> > > > Don't even think about switching into security mode 3. Use the -E switch
> > > > of hidd instead.
>
> Why? What is the difference?

the security mode 3 comes with a lot of troubles and unless you really
know what you are doing, don't use it. Period.

> > > Man page and hidd --help output don't say it: what does the -E switch?
> >
> > This is a lack in the documentation. The -E switch works the same as in
> > pand and dund. It establishes encryption (and authentication) for every
> > keyboard device.
>
> Okay, hidd is running with "--server -E". No visible change. Where could
> I actually look at to verify the encryption? Anyway
> /etc/bluetooth/link_key is zero bytes long. - Where would the key be?

You can check with "hcitool con" is the encryption for a link is active.
The new tools store the link keys under /var/lib/bluetooth and if the
tablet is detected as mouse then maybe the encryption will never be
requested by hidd.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 09:21:01

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

> > > If hcidump is showing nothing, then the device is not sending any report
> > > at all. This means the device is at fault if it is jumpy.
> >
> > Of course. That's clear. - But still believe that it's possible to
> > influence it in this behaviour.
>
> maybe, but then this is Wacom specific.

Okay, I will pester the wacom guys more... (-:

> > > > > What does the pairing button do? It makes the device discoverable and
> > > > > pairable, right?
> > > >
> > > > I think so. It is already a "long time" ago, because some things did
> > > > work with the pairing auth/enc switched on, but it did not end up
> > > > working (to the level it does without)...
> > >
> > > Don't even think about switching into security mode 3. Use the -E switch
> > > of hidd instead.

Why? What is the difference?

> > Man page and hidd --help output don't say it: what does the -E switch?
>
> This is a lack in the documentation. The -E switch works the same as in
> pand and dund. It establishes encryption (and authentication) for every
> keyboard device.

Okay, hidd is running with "--server -E". No visible change. Where could
I actually look at to verify the encryption? Anyway
/etc/bluetooth/link_key is zero bytes long. - Where would the key be?



Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 09:00:03

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > > > Check with "hcidump -X -V" what happens.
> > >
> > > I will, but not this night... (-:
> > >
> > > > > The switch between the modes is done with a "set report mode feature"
> > > > > call.
> > > >
> > > > Question is what is default?
> > >
> > > HID. Because the wacom people told me and addionally the tablet actually
> > > works with bluez. - But it does not send packets until the mouse/pen got
> > > moved at least 6 "pixel" in one direction. (See my first email in this
> > > thread). That means: I move the mouse, but hcidump is not showing
> > > anything. - I have to move it some millimeters before it does see
> > > something...
> >
> > If hcidump is showing nothing, then the device is not sending any report
> > at all. This means the device is at fault if it is jumpy.
>
> Of course. That's clear. - But still believe that it's possible to
> influence it in this behaviour.

maybe, but then this is Wacom specific.

> > > > > > You wrote something about a switch. Is there a difference in the SDP
> > > > > > records if you choose a different setting?
> > > > >
> > > > > I think I was talking about the two modes mentioned above. As hardware
> > > > > there are only buttons: two "mouse buttons", a power button and a
> > > > > "pairing" button.
> > > >
> > > > What does the pairing button do? It makes the device discoverable and
> > > > pairable, right?
> > >
> > > I think so. It is already a "long time" ago, because some things did
> > > work with the pairing auth/enc switched on, but it did not end up
> > > working (to the level it does without)...
> >
> > Don't even think about switching into security mode 3. Use the -E switch
> > of hidd instead.
>
> Man page and hidd --help output don't say it: what does the -E switch?

This is a lack in the documentation. The -E switch works the same as in
pand and dund. It establishes encryption (and authentication) for every
keyboard device.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 08:44:28

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

On Mon, Nov 28, 2005 at 03:57:03AM +0100, Marcel Holtmann wrote:
> Hi Robert,
>
> > > The encryption and authentication should be no problem at all. I used
> > > this for most devices, but it is off for a mouse or pointer like device
> > > by default. The reason is that these devices can't input their PIN and a
> > > default PIN is weak anyhow.
> >
> > Of course. But if you can assure that during pairing nobody was
> > sniffing, you are on the safe side afterwards. That means open 1 minute
> > only or open during the whole product lifetime...
>
> this is not fully true. If the device is always visible, connectable and
> pairable then everybody can pair. If this is only true when you press
> the pairing button, then everybody who can reach this button can pair.
> If this device allows multiple pairings, you will never notice.

True. So, lets assume that it doesn't. If it did you could still notice
when it does not connect correctly to your host... - I couldn't image
that it would send the same data over concurrent connections...

> > > Check with "hcidump -X -V" what happens.
> >
> > I will, but not this night... (-:
> >
> > > > The switch between the modes is done with a "set report mode feature"
> > > > call.
> > >
> > > Question is what is default?
> >
> > HID. Because the wacom people told me and addionally the tablet actually
> > works with bluez. - But it does not send packets until the mouse/pen got
> > moved at least 6 "pixel" in one direction. (See my first email in this
> > thread). That means: I move the mouse, but hcidump is not showing
> > anything. - I have to move it some millimeters before it does see
> > something...
>
> If hcidump is showing nothing, then the device is not sending any report
> at all. This means the device is at fault if it is jumpy.

Of course. That's clear. - But still believe that it's possible to
influence it in this behaviour.

> > > > > You wrote something about a switch. Is there a difference in the SDP
> > > > > records if you choose a different setting?
> > > >
> > > > I think I was talking about the two modes mentioned above. As hardware
> > > > there are only buttons: two "mouse buttons", a power button and a
> > > > "pairing" button.
> > >
> > > What does the pairing button do? It makes the device discoverable and
> > > pairable, right?
> >
> > I think so. It is already a "long time" ago, because some things did
> > work with the pairing auth/enc switched on, but it did not end up
> > working (to the level it does without)...
>
> Don't even think about switching into security mode 3. Use the -E switch
> of hidd instead.

Man page and hidd --help output don't say it: what does the -E switch?



Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 02:57:03

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > The encryption and authentication should be no problem at all. I used
> > this for most devices, but it is off for a mouse or pointer like device
> > by default. The reason is that these devices can't input their PIN and a
> > default PIN is weak anyhow.
>
> Of course. But if you can assure that during pairing nobody was
> sniffing, you are on the safe side afterwards. That means open 1 minute
> only or open during the whole product lifetime...

this is not fully true. If the device is always visible, connectable and
pairable then everybody can pair. If this is only true when you press
the pairing button, then everybody who can reach this button can pair.
If this device allows multiple pairings, you will never notice.

> > Check with "hcidump -X -V" what happens.
>
> I will, but not this night... (-:
>
> > > The switch between the modes is done with a "set report mode feature"
> > > call.
> >
> > Question is what is default?
>
> HID. Because the wacom people told me and addionally the tablet actually
> works with bluez. - But it does not send packets until the mouse/pen got
> moved at least 6 "pixel" in one direction. (See my first email in this
> thread). That means: I move the mouse, but hcidump is not showing
> anything. - I have to move it some millimeters before it does see
> something...

If hcidump is showing nothing, then the device is not sending any report
at all. This means the device is at fault if it is jumpy.

> > > > You wrote something about a switch. Is there a difference in the SDP
> > > > records if you choose a different setting?
> > >
> > > I think I was talking about the two modes mentioned above. As hardware
> > > there are only buttons: two "mouse buttons", a power button and a
> > > "pairing" button.
> >
> > What does the pairing button do? It makes the device discoverable and
> > pairable, right?
>
> I think so. It is already a "long time" ago, because some things did
> work with the pairing auth/enc switched on, but it did not end up
> working (to the level it does without)...

Don't even think about switching into security mode 3. Use the -E switch
of hidd instead.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 02:29:01

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

> The encryption and authentication should be no problem at all. I used
> this for most devices, but it is off for a mouse or pointer like device
> by default. The reason is that these devices can't input their PIN and a
> default PIN is weak anyhow.

Of course. But if you can assure that during pairing nobody was
sniffing, you are on the safe side afterwards. That means open 1 minute
only or open during the whole product lifetime...

> Check with "hcidump -X -V" what happens.

I will, but not this night... (-:

> > The switch between the modes is done with a "set report mode feature"
> > call.
>
> Question is what is default?

HID. Because the wacom people told me and addionally the tablet actually
works with bluez. - But it does not send packets until the mouse/pen got
moved at least 6 "pixel" in one direction. (See my first email in this
thread). That means: I move the mouse, but hcidump is not showing
anything. - I have to move it some millimeters before it does see
something...

If it's not HID, wacom mode wouldn't it be, either.

> > > > Attribute 0x0206
> > > > Sequence
> > > > Sequence
> > > > UINT8 0x22
> > > > String 05 01 09 02 a1 01 85 02 09 01 a1
> > > > 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01 05
> > > > 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0 05 0d 09 01 a1
> > > > 01 85 03 a1 00 06 00 ff 09 01 15 00 26 ff 00 75 08 95 07 81 02 c0 09 02
> > > > 85 03 95 01 b1 02 09 03 85 04 95 01 b1 02 09 04 85 05 95 01 b1 02 09 05
> > > > 85 06 95 01 b1 02 09 06 85 07 95 01 b1 02 09 07 85 08 95 01 b1 02 09 08
> > > > 85 09 95 01 b1 02 c0

> The attribute 0x0206 contains the report descriptor with id 0x22. This
> descriptor defines the actual reports send from/to the device. This is
> nothing SDP specific. It is pure HID, but Bluetooth holds this data in
> the SDP database.

I'm trying to follow the spec up to this point, but don't expect
anything before christmas... <-:

> > > You wrote something about a switch. Is there a difference in the SDP
> > > records if you choose a different setting?
> >
> > I think I was talking about the two modes mentioned above. As hardware
> > there are only buttons: two "mouse buttons", a power button and a
> > "pairing" button.
>
> What does the pairing button do? It makes the device discoverable and
> pairable, right?

I think so. It is already a "long time" ago, because some things did
work with the pairing auth/enc switched on, but it did not end up
working (to the level it does without)...


Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 02:08:41

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > > String WACOM Pen Tablet
> > > Attribute 0x0200
> > > UINT16 0x0100
> > > Attribute 0x0201
> > > UINT16 0x056a
> > > Attribute 0x0202
> > > UINT16 0x0081
> > > Attribute 0x0203
> > > UINT16 0x0100
> > > Attribute 0x0204
> > > Bool True
> > > Attribute 0x0205
> > > UINT16 0x0002
> > > siemer@panorama:~$
> >
> > so this uses USB vendor and product ids of 056a:0081. So only thing that
> > makes me worry is, that all USB based Wacom tablets are blacklisted in
> > the hid-core.c file in the Linux kernel. Maybe there is a reason for it
> > and you need some crappy X-Window driver to make it work correctly.
>
> I am (or was :-) in contact with the usb wacom driver author and people
> working for Wacom. There is working support for all the other Wacom
> tablets (which are USB devices). From what I read you have to patch some
> related drivers just to make sure they don't pick up the tablets as
> mice... - They do work fine with the "mouse"-drivers but obviously don't
> get everyting out of the tablet (first: absolute coordinates, pressure,
> etc.).

I realized that the kernel is using its own driver for the Wacom tablets
to make it working. I am sure you found the website for this driver. If
not, here it is:

http://linuxwacom.sourceforge.net/

> So, Wacom told me that the Bluetooth tablet has two modes (at least): a
> normal HID one, and a "report wacom data" one. I'm trying to verify that
> the HID mode works actually okay...
>
> On my list is:
> -getting HID mode to work well
> -investigate why encryption and authentification don't work right
> -setting wacom mode
>
> (maybe I reorder it a bit... :-)

The encryption and authentication should be no problem at all. I used
this for most devices, but it is off for a mouse or pointer like device
by default. The reason is that these devices can't input their PIN and a
default PIN is weak anyhow.

Check with "hcidump -X -V" what happens.

> I have already the offer of the usb driver maintainer to take over
> development once the device is in wacom mode... - because of the wacom
> specific stuff and he doesn't know bluetooth well.

That might be the problem. Bluetooth is not USB and it works totally
different, even if both use the same HID specification. The only sane
thing here might be a good hiddev replacement. However this is nothing
that will happen very soon.

> The switch between the modes is done with a "set report mode feature"
> call.

Question is what is default?

> > > Attribute 0x0206
> > > Sequence
> > > Sequence
> > > UINT8 0x22
> > > String 05 01 09 02 a1 01 85 02 09 01 a1
> > > 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01 05
> > > 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0 05 0d 09 01 a1
> > > 01 85 03 a1 00 06 00 ff 09 01 15 00 26 ff 00 75 08 95 07 81 02 c0 09 02
> > > 85 03 95 01 b1 02 09 03 85 04 95 01 b1 02 09 04 85 05 95 01 b1 02 09 05
> > > 85 06 95 01 b1 02 09 06 85 07 95 01 b1 02 09 07 85 08 95 01 b1 02 09 08
> > > 85 09 95 01 b1 02 c0
> >
> > Nothing special in here, but someone should decode the report descriptor
> > to see what this device expects.
>
> Du sprichst in Raetseln. What do you mean? Are you talking about the
> long "string"? - I will try to dig into the bluetooth sdp spec.

The attribute 0x0206 contains the report descriptor with id 0x22. This
descriptor defines the actual reports send from/to the device. This is
nothing SDP specific. It is pure HID, but Bluetooth holds this data in
the SDP database.

> > You wrote something about a switch. Is there a difference in the SDP
> > records if you choose a different setting?
>
> I think I was talking about the two modes mentioned above. As hardware
> there are only buttons: two "mouse buttons", a power button and a
> "pairing" button.

What does the pairing button do? It makes the device discoverable and
pairable, right?

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 01:53:03

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Marcel!

> > String WACOM Pen Tablet
> > Attribute 0x0200
> > UINT16 0x0100
> > Attribute 0x0201
> > UINT16 0x056a
> > Attribute 0x0202
> > UINT16 0x0081
> > Attribute 0x0203
> > UINT16 0x0100
> > Attribute 0x0204
> > Bool True
> > Attribute 0x0205
> > UINT16 0x0002
> > siemer@panorama:~$
>
> so this uses USB vendor and product ids of 056a:0081. So only thing that
> makes me worry is, that all USB based Wacom tablets are blacklisted in
> the hid-core.c file in the Linux kernel. Maybe there is a reason for it
> and you need some crappy X-Window driver to make it work correctly.

I am (or was :-) in contact with the usb wacom driver author and people
working for Wacom. There is working support for all the other Wacom
tablets (which are USB devices). From what I read you have to patch some
related drivers just to make sure they don't pick up the tablets as
mice... - They do work fine with the "mouse"-drivers but obviously don't
get everyting out of the tablet (first: absolute coordinates, pressure,
etc.).

So, Wacom told me that the Bluetooth tablet has two modes (at least): a
normal HID one, and a "report wacom data" one. I'm trying to verify that
the HID mode works actually okay...

On my list is:
-getting HID mode to work well
-investigate why encryption and authentification don't work right
-setting wacom mode

(maybe I reorder it a bit... :-)


I have already the offer of the usb driver maintainer to take over
development once the device is in wacom mode... - because of the wacom
specific stuff and he doesn't know bluetooth well.

The switch between the modes is done with a "set report mode feature"
call.

> > siemer@panorama:~$ sdptool search --bdaddr 00:13:C2:00:11:2C --raw hid
> > Sequence
> > Attribute 0x0000 - ServiceRecordHandle
> > UINT32 0x00010000
> > Attribute 0x0001 - ServiceClassIDList
> > Sequence
> > UUID16 0x1124 - HumanInterfaceDeviceService
> > (HID)
> > Attribute 0x0004 - ProtocolDescriptorList
> > Sequence
> > Sequence
> > UUID16 0x0100 - L2CAP
> > UINT16 0x0011
> > Sequence
> > UUID16 0x0011 - HIDP
> > Attribute 0x0006 - LanguageBaseAttributeIDList
> > Sequence
> > UINT16 0x656e
> > UINT16 0x006a
> > UINT16 0x0100
> > Attribute 0x0009 - BluetoothProfileDescriptorList
> > Sequence
> > Sequence
> > UUID16 0x1124 -
> > HumanInterfaceDeviceService (HID)
> > UINT16 0x0100
> > Attribute 0x000d - AdditionalProtocolDescriptorLists
> > Sequence
> > Sequence
> > Sequence
> > UUID16 0x0100 - L2CAP
> > UINT16 0x0013
> > Sequence
> > UUID16 0x0011 - HIDP
> > Attribute 0x0100
> > String Tablet
> > Attribute 0x0101
> > String WACOM Pen Tablet
> > Attribute 0x0102
> > String WACOM
> > Attribute 0x0200
> > UINT16 0x0100
> > Attribute 0x0201
> > UINT16 0x0100
> > Attribute 0x0202
> > UINT8 0x80
> > Attribute 0x0203
> > UINT8 0x21
> > Attribute 0x0204
> > Bool True
> > Attribute 0x0205
> > Bool True
> > Attribute 0x0206
> > Sequence
> > Sequence
> > UINT8 0x22
> > String 05 01 09 02 a1 01 85 02 09 01 a1
> > 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01 05
> > 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0 05 0d 09 01 a1
> > 01 85 03 a1 00 06 00 ff 09 01 15 00 26 ff 00 75 08 95 07 81 02 c0 09 02
> > 85 03 95 01 b1 02 09 03 85 04 95 01 b1 02 09 04 85 05 95 01 b1 02 09 05
> > 85 06 95 01 b1 02 09 06 85 07 95 01 b1 02 09 07 85 08 95 01 b1 02 09 08
> > 85 09 95 01 b1 02 c0
> > Attribute 0x0207
> > Sequence
> > Sequence
> > UINT16 0x0409
> > UINT16 0x0100
> > Attribute 0x0208
> > Bool False
> > Attribute 0x0209
> > Bool True
> > Attribute 0x020a
> > Bool True
> > Attribute 0x020b
> > UINT16 0x0100
> > Attribute 0x020c
> > UINT16 0x1f40
> > Attribute 0x020d
> > Bool False
> > Attribute 0x020e
> > Bool True
> > siemer@panorama:~$
>
> Nothing special in here, but someone should decode the report descriptor
> to see what this device expects.

Du sprichst in Raetseln. What do you mean? Are you talking about the
long "string"? - I will try to dig into the bluetooth sdp spec.

> You wrote something about a switch. Is there a difference in the SDP
> records if you choose a different setting?

I think I was talking about the two modes mentioned above. As hardware
there are only buttons: two "mouse buttons", a power button and a
"pairing" button.

The pairing with auth and enc did not work the last time I tried.


Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-28 00:02:47

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > > panorama:/etc/udev# sdptool browse --raw 00:13:C2:00:11:2C
> > > panorama:/etc/udev#
> >
> > the do "sdptool search --bdaddr 00:13:C2:00:11:2C --raw <hid|did>" and
> > see what comes out.
>
> Aha. Looks similar to "sdptool records --raw addr".
>
>
> siemer@panorama:~$ sdptool search --bdaddr 00:13:C2:00:11:2C --raw did
> Sequence
> Attribute 0x0000 - ServiceRecordHandle
> UINT32 0x00010001
> Attribute 0x0001 - ServiceClassIDList
> Sequence
> UUID16 0x1200 - PnPInformation
> Attribute 0x0004 - ProtocolDescriptorList
> Sequence
> Sequence
> UUID16 0x0100 - L2CAP
> UINT16 0x0001
> Sequence
> UUID16 0x0001 - SDP
> Attribute 0x0006 - LanguageBaseAttributeIDList
> Sequence
> UINT16 0x656e
> UINT16 0x006a
> UINT16 0x0100
> Attribute 0x0009 - BluetoothProfileDescriptorList
> Sequence
> Sequence
> UUID16 0x1200 - PnPInformation
> UINT16 0x0100
> Attribute 0x0101
> String WACOM Pen Tablet
> Attribute 0x0200
> UINT16 0x0100
> Attribute 0x0201
> UINT16 0x056a
> Attribute 0x0202
> UINT16 0x0081
> Attribute 0x0203
> UINT16 0x0100
> Attribute 0x0204
> Bool True
> Attribute 0x0205
> UINT16 0x0002
> siemer@panorama:~$

so this uses USB vendor and product ids of 056a:0081. So only thing that
makes me worry is, that all USB based Wacom tablets are blacklisted in
the hid-core.c file in the Linux kernel. Maybe there is a reason for it
and you need some crappy X-Window driver to make it work correctly.

> siemer@panorama:~$ sdptool search --bdaddr 00:13:C2:00:11:2C --raw hid
> Sequence
> Attribute 0x0000 - ServiceRecordHandle
> UINT32 0x00010000
> Attribute 0x0001 - ServiceClassIDList
> Sequence
> UUID16 0x1124 - HumanInterfaceDeviceService
> (HID)
> Attribute 0x0004 - ProtocolDescriptorList
> Sequence
> Sequence
> UUID16 0x0100 - L2CAP
> UINT16 0x0011
> Sequence
> UUID16 0x0011 - HIDP
> Attribute 0x0006 - LanguageBaseAttributeIDList
> Sequence
> UINT16 0x656e
> UINT16 0x006a
> UINT16 0x0100
> Attribute 0x0009 - BluetoothProfileDescriptorList
> Sequence
> Sequence
> UUID16 0x1124 -
> HumanInterfaceDeviceService (HID)
> UINT16 0x0100
> Attribute 0x000d - AdditionalProtocolDescriptorLists
> Sequence
> Sequence
> Sequence
> UUID16 0x0100 - L2CAP
> UINT16 0x0013
> Sequence
> UUID16 0x0011 - HIDP
> Attribute 0x0100
> String Tablet
> Attribute 0x0101
> String WACOM Pen Tablet
> Attribute 0x0102
> String WACOM
> Attribute 0x0200
> UINT16 0x0100
> Attribute 0x0201
> UINT16 0x0100
> Attribute 0x0202
> UINT8 0x80
> Attribute 0x0203
> UINT8 0x21
> Attribute 0x0204
> Bool True
> Attribute 0x0205
> Bool True
> Attribute 0x0206
> Sequence
> Sequence
> UINT8 0x22
> String 05 01 09 02 a1 01 85 02 09 01 a1
> 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01 05
> 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0 05 0d 09 01 a1
> 01 85 03 a1 00 06 00 ff 09 01 15 00 26 ff 00 75 08 95 07 81 02 c0 09 02
> 85 03 95 01 b1 02 09 03 85 04 95 01 b1 02 09 04 85 05 95 01 b1 02 09 05
> 85 06 95 01 b1 02 09 06 85 07 95 01 b1 02 09 07 85 08 95 01 b1 02 09 08
> 85 09 95 01 b1 02 c0
> Attribute 0x0207
> Sequence
> Sequence
> UINT16 0x0409
> UINT16 0x0100
> Attribute 0x0208
> Bool False
> Attribute 0x0209
> Bool True
> Attribute 0x020a
> Bool True
> Attribute 0x020b
> UINT16 0x0100
> Attribute 0x020c
> UINT16 0x1f40
> Attribute 0x020d
> Bool False
> Attribute 0x020e
> Bool True
> siemer@panorama:~$

Nothing special in here, but someone should decode the report descriptor
to see what this device expects.

You wrote something about a switch. Is there a difference in the SDP
records if you choose a different setting?

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 23:49:27

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

> > panorama:/etc/udev# sdptool browse --raw 00:13:C2:00:11:2C
> > panorama:/etc/udev#
>
> the do "sdptool search --bdaddr 00:13:C2:00:11:2C --raw <hid|did>" and
> see what comes out.

Aha. Looks similar to "sdptool records --raw addr".


siemer@panorama:~$ sdptool search --bdaddr 00:13:C2:00:11:2C --raw did
Sequence
Attribute 0x0000 - ServiceRecordHandle
UINT32 0x00010001
Attribute 0x0001 - ServiceClassIDList
Sequence
UUID16 0x1200 - PnPInformation
Attribute 0x0004 - ProtocolDescriptorList
Sequence
Sequence
UUID16 0x0100 - L2CAP
UINT16 0x0001
Sequence
UUID16 0x0001 - SDP
Attribute 0x0006 - LanguageBaseAttributeIDList
Sequence
UINT16 0x656e
UINT16 0x006a
UINT16 0x0100
Attribute 0x0009 - BluetoothProfileDescriptorList
Sequence
Sequence
UUID16 0x1200 - PnPInformation
UINT16 0x0100
Attribute 0x0101
String WACOM Pen Tablet
Attribute 0x0200
UINT16 0x0100
Attribute 0x0201
UINT16 0x056a
Attribute 0x0202
UINT16 0x0081
Attribute 0x0203
UINT16 0x0100
Attribute 0x0204
Bool True
Attribute 0x0205
UINT16 0x0002
siemer@panorama:~$

siemer@panorama:~$ sdptool search --bdaddr 00:13:C2:00:11:2C --raw hid
Sequence
Attribute 0x0000 - ServiceRecordHandle
UINT32 0x00010000
Attribute 0x0001 - ServiceClassIDList
Sequence
UUID16 0x1124 - HumanInterfaceDeviceService
(HID)
Attribute 0x0004 - ProtocolDescriptorList
Sequence
Sequence
UUID16 0x0100 - L2CAP
UINT16 0x0011
Sequence
UUID16 0x0011 - HIDP
Attribute 0x0006 - LanguageBaseAttributeIDList
Sequence
UINT16 0x656e
UINT16 0x006a
UINT16 0x0100
Attribute 0x0009 - BluetoothProfileDescriptorList
Sequence
Sequence
UUID16 0x1124 -
HumanInterfaceDeviceService (HID)
UINT16 0x0100
Attribute 0x000d - AdditionalProtocolDescriptorLists
Sequence
Sequence
Sequence
UUID16 0x0100 - L2CAP
UINT16 0x0013
Sequence
UUID16 0x0011 - HIDP
Attribute 0x0100
String Tablet
Attribute 0x0101
String WACOM Pen Tablet
Attribute 0x0102
String WACOM
Attribute 0x0200
UINT16 0x0100
Attribute 0x0201
UINT16 0x0100
Attribute 0x0202
UINT8 0x80
Attribute 0x0203
UINT8 0x21
Attribute 0x0204
Bool True
Attribute 0x0205
Bool True
Attribute 0x0206
Sequence
Sequence
UINT8 0x22
String 05 01 09 02 a1 01 85 02 09 01 a1
00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01 05
01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0 05 0d 09 01 a1
01 85 03 a1 00 06 00 ff 09 01 15 00 26 ff 00 75 08 95 07 81 02 c0 09 02
85 03 95 01 b1 02 09 03 85 04 95 01 b1 02 09 04 85 05 95 01 b1 02 09 05
85 06 95 01 b1 02 09 06 85 07 95 01 b1 02 09 07 85 08 95 01 b1 02 09 08
85 09 95 01 b1 02 c0
Attribute 0x0207
Sequence
Sequence
UINT16 0x0409
UINT16 0x0100
Attribute 0x0208
Bool False
Attribute 0x0209
Bool True
Attribute 0x020a
Bool True
Attribute 0x020b
UINT16 0x0100
Attribute 0x020c
UINT16 0x1f40
Attribute 0x020d
Bool False
Attribute 0x020e
Bool True
siemer@panorama:~$



Bye,
Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 23:11:23

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > > > maybe the HID inside the Wacom is broken and needs a special quirk. This
> > > > wouldn't be the first time. However also the Linux HID code can be at
> > > > fault here. You still haven't send in enough information about that
> > > > device to tell.
> > > >
> > > > Use "hcitool info..." and "sdptool browse --raw" to get some more
> > > > information about the device.
> > >
> > > panorama:/etc/udev# sdptool browse --raw
> > > Inquiring ...
> > >
> > >
> > > Should there be something? ("local" or the tablet address do the same:
> > > empty)
> >
> > put in the address of the tablet. I need to see the full record.
>
> I did that already:
>
> panorama:/etc/udev# sdptool browse --raw 00:13:C2:00:11:2C
> panorama:/etc/udev# sdptool browse --raw local
> panorama:/etc/udev# pgrep sdpd
> 21177
> panorama:/etc/udev#

the do "sdptool search --bdaddr 00:13:C2:00:11:2C --raw <hid|did>" and
see what comes out.

> > > My questions were:
> > > -Who is making the connectinon? (hidp kernel module?)
> >
> > The tablet is requesting the connection and hidd answers it and then
> > hands over the socket descriptors to the hidp kernel module to run the
> > HIDP on it.
> >
> > > -Who can/could influence it's outcome? (hidd userspace daemon? Plays
> > > hcid an important role?)
> >
> > None of them has anything to do with it. The only important things are
> > to enable rswitch and sniff in the link policy.
>
> I mean, (from the answer of the first question) any parameters of the
> connection (don't know much right now...) are in the influence of hidd
> only. - So, hidd can deny the connection or try to modify attributes of
> it, right?

Look at /usr/include/bluetooth/hidp.h the struct hidp_connadd_req is
used to handover the connection from hidd to hidp. For report mode
protocol the report descriptor is an important thing. It is done this
way, because you need SDP to retrieve it.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 23:13:20

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Re!

> panorama:/etc/udev# sdptool browse --raw 00:13:C2:00:11:2C

(which shows nothing)

I have an hcidump for that example:

panorama:/home/siemer# hcidump -X -V
HCI sniffer - Bluetooth packet analyzer ver 1.23
device: hci0 snap_len: 1028 filter: 0xffffffff
< ACL data: handle 42 flags 0x02 dlen 12
L2CAP(s): Connect req: psm 1 scid 0x0042
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 42 packets 1
> ACL data: handle 42 flags 0x02 dlen 16
L2CAP(s): Connect rsp: dcid 0x0044 scid 0x0042 result 1 status 2
Connection pending - Authorization pending
> ACL data: handle 42 flags 0x02 dlen 16
L2CAP(s): Connect rsp: dcid 0x0044 scid 0x0042 result 0 status 0
Connection successful
< ACL data: handle 42 flags 0x02 dlen 12
L2CAP(s): Config req: dcid 0x0044 flags 0x00 clen 0
> HCI Event: Mode Change (0x14) plen 6
status 0x00 handle 42 mode 0x00 interval 0
Mode: Active
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 42 packets 1
> HCI Event: Mode Change (0x14) plen 6
status 0x00 handle 42 mode 0x02 interval 16
Mode: Sniff
> ACL data: handle 42 flags 0x02 dlen 14
L2CAP(s): Config rsp: scid 0x0042 flags 0x00 result 0 clen 0
Success
> ACL data: handle 42 flags 0x02 dlen 16
L2CAP(s): Config req: dcid 0x0042 flags 0x00 clen 4
MTU 48
< ACL data: handle 42 flags 0x02 dlen 14
L2CAP(s): Config rsp: scid 0x0044 flags 0x00 result 0 clen 0
Success
< ACL data: handle 42 flags 0x02 dlen 24
L2CAP(d): cid 0x0044 len 20 [psm 1]
SDP SSA Req: tid 0x0 len 0xf
pat uuid-16 0x1002 (PubBrwsGrp)
max 65535
aid(s) 0x0000 - 0xffff
cont 00
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 42 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 42 packets 1
> ACL data: handle 42 flags 0x02 dlen 14
L2CAP(d): cid 0x0042 len 10 [psm 1]
SDP SSA Rsp: tid 0x0 len 0x5
count 2
cont 00
< ACL data: handle 42 flags 0x02 dlen 12
L2CAP(s): Disconn req: dcid 0x0044 scid 0x0042
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 42 packets 1
> ACL data: handle 42 flags 0x02 dlen 12
L2CAP(s): Disconn rsp: dcid 0x0044 scid 0x0042




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 23:04:44

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

On Sun, Nov 27, 2005 at 10:56:09PM +0100, Marcel Holtmann wrote:
> Hi Robert,
>
> > > maybe the HID inside the Wacom is broken and needs a special quirk. This
> > > wouldn't be the first time. However also the Linux HID code can be at
> > > fault here. You still haven't send in enough information about that
> > > device to tell.
> > >
> > > Use "hcitool info..." and "sdptool browse --raw" to get some more
> > > information about the device.
> >
> > panorama:/etc/udev# sdptool browse --raw
> > Inquiring ...
> >
> >
> > Should there be something? ("local" or the tablet address do the same:
> > empty)
>
> put in the address of the tablet. I need to see the full record.

I did that already:

panorama:/etc/udev# sdptool browse --raw 00:13:C2:00:11:2C
panorama:/etc/udev# sdptool browse --raw local
panorama:/etc/udev# pgrep sdpd
21177
panorama:/etc/udev#

There is no output.

> > My questions were:
> > -Who is making the connectinon? (hidp kernel module?)
>
> The tablet is requesting the connection and hidd answers it and then
> hands over the socket descriptors to the hidp kernel module to run the
> HIDP on it.
>
> > -Who can/could influence it's outcome? (hidd userspace daemon? Plays
> > hcid an important role?)
>
> None of them has anything to do with it. The only important things are
> to enable rswitch and sniff in the link policy.

I mean, (from the answer of the first question) any parameters of the
connection (don't know much right now...) are in the influence of hidd
only. - So, hidd can deny the connection or try to modify attributes of
it, right?

It would be sooo useful for people who wants to get the "Durchblick"
(like me) to have something in the hidd man-page like:

"is waiting for connection requests from HID (bluetooth) devices. Hands
over the socket descriptors of established connections to the hidp
kernel module."

(A new question arises: how is hidd interfacing with the hidp kernel
module (for the hand-over)? - But is something I could gasp from the
source I think.)

> > -Has the latency thing something to do with it?
>
> Maybe, but I don't think so.

I neither, but what other parameters does a connection have? What does
the latency mean? (Is this bluetooth spec only or does the HIDP part say
something about these things in this case?)



What has the sdp to do with this case? If it would have an influence
who is analysing the information? hidd before making the connection?



Thanks,
Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 21:56:09

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > maybe the HID inside the Wacom is broken and needs a special quirk. This
> > wouldn't be the first time. However also the Linux HID code can be at
> > fault here. You still haven't send in enough information about that
> > device to tell.
> >
> > Use "hcitool info..." and "sdptool browse --raw" to get some more
> > information about the device.
>
> panorama:/etc/udev# sdptool browse --raw
> Inquiring ...
>
>
> Should there be something? ("local" or the tablet address do the same:
> empty)

put in the address of the tablet. I need to see the full record.

> My questions were:
> -Who is making the connectinon? (hidp kernel module?)

The tablet is requesting the connection and hidd answers it and then
hands over the socket descriptors to the hidp kernel module to run the
HIDP on it.

> -Who can/could influence it's outcome? (hidd userspace daemon? Plays
> hcid an important role?)

None of them has anything to do with it. The only important things are
to enable rswitch and sniff in the link policy.

> -Has the latency thing something to do with it?

Maybe, but I don't think so.

> -Which spec should I first dig into - Bluetooth or HID?

I think it is all about HID, because the Bluetooth part is quite clear
and simple.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 21:38:35

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Marcel!

> maybe the HID inside the Wacom is broken and needs a special quirk. This
> wouldn't be the first time. However also the Linux HID code can be at
> fault here. You still haven't send in enough information about that
> device to tell.
>
> Use "hcitool info..." and "sdptool browse --raw" to get some more
> information about the device.

panorama:/etc/udev# sdptool browse --raw
Inquiring ...


Should there be something? ("local" or the tablet address do the same:
empty)

panorama:/etc/udev# hcitool info 00:13:C2:00:11:2C
Requesting information ...
BD Address: 00:13:C2:00:11:2C
Device Name: WACOM Pen Tablet
LMP Version: 1.2 (0x2) LMP Subversion: 0x5df
Manufacturer: Cambridge Silicon Radio (10)
Features: 0xff 0xff 0x8f 0x78 0x18 0x18 0x00 0x80
<3-slot packets> <5-slot packets> <encryption> <slot offset>
<timing accuracy> <role switch> <hold mode> <sniff mode>
<park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
<HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
<power control> <transparent SCO> <broadcast encrypt>
<enhanced iscan> <interlaced iscan> <interlaced pscan>
<inquiry with RSSI> <AFH cap. slave> <AFH class. slave>
<AFH cap. master> <AFH class. master> <extended features>


My questions were:
-Who is making the connectinon? (hidp kernel module?)
-Who can/could influence it's outcome? (hidd userspace daemon? Plays
hcid an important role?)
-Has the latency thing something to do with it?
-Which spec should I first dig into - Bluetooth or HID?



Thanks,
Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 21:24:10

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

On Sun, Nov 27, 2005 at 07:26:30PM +0100, Marcel Holtmann wrote:

> to create a new hcidump which includes all HCI traffic. The latest
> versions even decode HIDP for you. Send in the output of "hciconfig -a".

Latest versions or the latest twenty version? (-: HIDP is in since 1.6,
so I hope 1.23 is okay...

panorama:/tmp# hciconfig -a
hci0: Type: USB
BD Address: 00:0C:55:FF:71:AA ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:1121232 acl:71106 sco:0 events:2355 errors:0
TX bytes:1366 acl:64 sco:0 commands:26 errors:0
Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE
Name: 'panorama-0'
Class: 0xff0100
Service Classes: Positioning, Networking, Rendering, Capturing
Device Class: Computer, Uncategorized
HCI Ver: 1.1 (0x1) HCI Rev: 0x33c LMP Ver: 1.1 (0x1) LMP Subver: 0x33c
Manufacturer: Cambridge Silicon Radio (10)



Switching on the tablet, hcid and hidd in place. In the end some mouse
movements...

HCI sniffer - Bluetooth packet analyzer ver 1.23
> HCI Event: Connect Request (0x04) plen 10
bdaddr 00:13:C2:00:11:2C class 0x002580 type ACL
< HCI Command: Accept Connection Request (0x01|0x0009) plen 7
bdaddr 00:13:C2:00:11:2C role 0x01
Role: Slave
> HCI Event: Command Status (0x0f) plen 4
Accept Connection Request (0x01|0x0009) status 0x00 ncmd 1
> HCI Event: Connect Complete (0x03) plen 11
status 0x00 handle 41 bdaddr 00:13:C2:00:11:2C type ACL encrypt 0x00
< HCI Command: Write Link Policy Settings (0x02|0x000d) plen 4
handle 41 policy 0x0f
Link policy: RSWITCH HOLD SNIFF PARK
> HCI Event: Page Scan Repetition Mode Change (0x20) plen 7
bdaddr 00:13:C2:00:11:2C mode 1
> HCI Event: Max Slots Change (0x1b) plen 3
handle 41 slots 5
> HCI Event: Command Complete (0x0e) plen 6
Write Link Policy Settings (0x02|0x000d) ncmd 1
status 0x00 handle 41
< HCI Command: Change Connection Packet Type (0x01|0x000f) plen 4
handle 41 ptype 0xcc18
Packet type: DM1 DM3 DM5 DH1 DH3 DH5
> ACL data: handle 41 flags 0x02 dlen 12
L2CAP(s): Connect req: psm 17 scid 0x0040
< ACL data: handle 41 flags 0x02 dlen 16
L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0040 result 0 status 0
Connection successful
> HCI Event: Command Status (0x0f) plen 4
Change Connection Packet Type (0x01|0x000f) status 0x00 ncmd 1
> HCI Event: Connection Packet Type Changed (0x1d) plen 5
status 0x00 handle 41 ptype 0xcc18
Packet type: DM1 DM3 DM5 DH1 DH3 DH5
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: QoS Setup Complete (0x0d) plen 21
status 0x00 handle 41 flags 0
Service type: 1
Token rate: 0
Peak bandwith: 0
Latency: 11250
Delay variation: -1
> ACL data: handle 41 flags 0x02 dlen 40
L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 28
MTU 48 QoS 0x01 (Best effort)
< ACL data: handle 41 flags 0x02 dlen 14
L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0
Success
< ACL data: handle 41 flags 0x02 dlen 16
L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 4
MTU 48
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Role Change (0x12) plen 8
status 0x00 bdaddr 00:13:C2:00:11:2C role 0x00
Role: Master
> ACL data: handle 41 flags 0x02 dlen 14
L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0
Success
> HCI Event: Max Slots Change (0x1b) plen 3
handle 41 slots 5
> ACL data: handle 41 flags 0x02 dlen 12
L2CAP(s): Connect req: psm 19 scid 0x0041
< ACL data: handle 41 flags 0x02 dlen 16
L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0041 result 0 status 0
Connection successful
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> ACL data: handle 41 flags 0x02 dlen 40
L2CAP(s): Config req: dcid 0x0041 flags 0x00 clen 28
MTU 48 QoS 0x01 (Best effort)
< ACL data: handle 41 flags 0x02 dlen 14
L2CAP(s): Config rsp: scid 0x0041 flags 0x00 result 0 clen 0
Success
< ACL data: handle 41 flags 0x02 dlen 16
L2CAP(s): Config req: dcid 0x0041 flags 0x00 clen 4
MTU 48
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> ACL data: handle 41 flags 0x02 dlen 14
L2CAP(s): Config rsp: scid 0x0041 flags 0x00 result 0 clen 0
Success
> HCI Event: Mode Change (0x14) plen 6
status 0x00 handle 41 mode 0x02 interval 16
Mode: Sniff
< ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Output report
0000: 02 b8 00 00 00 .....
< ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Output report
0000: 03 00 00 00 00 00 00 00 ........
< ACL data: handle 41 flags 0x02 dlen 7
L2CAP(d): cid 0x0041 len 3 [psm 19]
HIDP: Data: Output report
0000: 03 00 ..
< ACL data: handle 41 flags 0x02 dlen 7
L2CAP(d): cid 0x0041 len 3 [psm 19]
HIDP: Data: Output report
0000: 04 00 ..
< ACL data: handle 41 flags 0x02 dlen 7
L2CAP(d): cid 0x0041 len 3 [psm 19]
HIDP: Data: Output report
0000: 05 00 ..
< ACL data: handle 41 flags 0x02 dlen 7
L2CAP(d): cid 0x0041 len 3 [psm 19]
HIDP: Data: Output report
0000: 06 00 ..
< ACL data: handle 41 flags 0x02 dlen 7
L2CAP(d): cid 0x0041 len 3 [psm 19]
HIDP: Data: Output report
0000: 07 00 ..
< ACL data: handle 41 flags 0x02 dlen 7
L2CAP(d): cid 0x0041 len 3 [psm 19]
HIDP: Data: Output report
0000: 08 00 ..
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
< ACL data: handle 41 flags 0x02 dlen 7
L2CAP(d): cid 0x0041 len 3 [psm 19]
HIDP: Data: Output report
0000: 09 00 ..
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 41 packets 1
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 00 00 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 00 00 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 00 fd 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 06 00 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 06 00 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 06 fe 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 06 01 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 07 01 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 06 01 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 06 05 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 00 06 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 00 06 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 fe 06 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 fd 07 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 fa 03 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 fa fc 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 fd fa 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 00 f9 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 01 fa 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 fb fa 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......
> ACL data: handle 41 flags 0x02 dlen 10
L2CAP(d): cid 0x0041 len 6 [psm 19]
HIDP: Data: Input report
0000: 02 00 fa ff 00 .....
> ACL data: handle 41 flags 0x02 dlen 13
L2CAP(d): cid 0x0041 len 9 [psm 19]
HIDP: Data: Input report
0000: 03 00 00 00 00 00 00 20 .......


Attachments:
(No filename) (14.38 kB)
hcidump.out (2.42 kB)
Download all attachments

2005-11-27 19:26:20

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> > > I'm picking up this thread because it is still unresolved...
> > >
> > > 1) Finally I could update from 2.6.12-mh3 to 2.6.14-mh2.
> > > With that I can prove Marcel wrong without repeating myself once
> > > again: the tablet works as bad as before; no visible difference
> > > between these two patched kernels.
> > >
> > > 2) I would like to get some answers to my questions below. Marcel,
> > > why are you ignoring them?
> >
> > I think that I need the tablet by myself to do any further analysis.
>
> That's an option. You live in Germany? How much weeks do you estimate?
> What are you going to resolve? The tablet can be switched to a wacom
> mode where it actually reports absolute data and other details which
> makes it usable as a tablet...
>
> For me it wouldn't be my first kernel hacking, and I thought about
> "repairing" the HID mode first would be a good excersise before going
> further...
>
> Of course I could dig into all the details on my own, but I would be
> faster with a tutor. - So I actually don't understand why you still don't
> answer my questions. Should I copy them again?

maybe the HID inside the Wacom is broken and needs a special quirk. This
wouldn't be the first time. However also the Linux HID code can be at
fault here. You still haven't send in enough information about that
device to tell.

Use "hcitool info..." and "sdptool browse --raw" to get some more
information about the device.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 18:49:02

by Robert Siemer

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

On Sun, Nov 27, 2005 at 07:26:30PM +0100, Marcel Holtmann wrote:
> Hi Robert,
>
> > I'm picking up this thread because it is still unresolved...
> >
> > 1) Finally I could update from 2.6.12-mh3 to 2.6.14-mh2.
> > With that I can prove Marcel wrong without repeating myself once
> > again: the tablet works as bad as before; no visible difference
> > between these two patched kernels.
> >
> > 2) I would like to get some answers to my questions below. Marcel,
> > why are you ignoring them?
>
> I think that I need the tablet by myself to do any further analysis.

That's an option. You live in Germany? How much weeks do you estimate?
What are you going to resolve? The tablet can be switched to a wacom
mode where it actually reports absolute data and other details which
makes it usable as a tablet...

For me it wouldn't be my first kernel hacking, and I thought about
"repairing" the HID mode first would be a good excersise before going
further...

Of course I could dig into all the details on my own, but I would be
faster with a tutor. - So I actually don't understand why you still don't
answer my questions. Should I copy them again?


> Try
> to create a new hcidump which includes all HCI traffic. The latest
> versions even decode HIDP for you. Send in the output of "hciconfig -a".

I will do so in some minutes... Checking my hcidump version.


Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 18:26:30

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hi Robert,

> I'm picking up this thread because it is still unresolved...
>
> 1) Finally I could update from 2.6.12-mh3 to 2.6.14-mh2.
> With that I can prove Marcel wrong without repeating myself once
> again: the tablet works as bad as before; no visible difference
> between these two patched kernels.
>
> 2) I would like to get some answers to my questions below. Marcel,
> why are you ignoring them?

I think that I need the tablet by myself to do any further analysis. Try
to create a new hcidump which includes all HCI traffic. The latest
versions even decode HIDP for you. Send in the output of "hciconfig -a".

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-11-27 17:42:09

by Robert Siemer

[permalink] [raw]
Subject: [Bluez-devel] Re: Jumpy cursor with Wacom Graphire Bluetooth

Hello everybody!

I'm picking up this thread because it is still unresolved...

1) Finally I could update from 2.6.12-mh3 to 2.6.14-mh2.
With that I can prove Marcel wrong without repeating myself once
again: the tablet works as bad as before; no visible difference
between these two patched kernels.

2) I would like to get some answers to my questions below. Marcel,
why are you ignoring them?


On Sat, Oct 08, 2005 at 03:25:33PM +0200, Robert Siemer wrote:

> hcidump is telling me that my tablet sends packets only after six pixels
> of mouse movement or together with button events. - I suppose that some
> parameters exchanged during connection handshake are the cause.
>
> -Who is making the connectinon? (hidp kernel module?)
> -Who can/could influence it's outcome? (hidd userspace daemon? Plays
> hcid an important role?)
> -Has the latency thing something to do with it?
> -Which spec should I first dig into - Bluetooth or HID?
>
>
> I played already around with role switching (forced, voluntary from the
> tablet, none). - Has no influence.
>
> A "hcidump -w" connection dumps are attached. Here inline some tablet
> mouse movements:
>
> panorama:/tmp# hcidump -V -X
> HCI sniffer - Bluetooth packet analyzer ver 1.23
> device: hci0 snap_len: 1028 filter: 0xffffffff
> > ACL data: handle 41 flags 0x02 dlen 10
> L2CAP(d): cid 0x0041 len 6 [psm 0]
> 0000: a1 02 00 fa 02 00 ......
> ^^ ^^
> Curser moved six "entities" to the left. While already sending a packet,
> the tablet also reports some down movements ("02").
>
> > ACL data: handle 41 flags 0x02 dlen 13
> L2CAP(d): cid 0x0041 len 9 [psm 0]
> 0000: a1 03 00 00 00 00 00 00 20 ........
> > ACL data: handle 41 flags 0x02 dlen 10
> L2CAP(d): cid 0x0041 len 6 [psm 0]
> 0000: a1 02 00 fd 06 00 ......
> ^^ ^^
> The same, but moved 06 entities ("pixel") down. Obviously I also moved 3
> pixels left (0xfd).
>
> > ACL data: handle 41 flags 0x02 dlen 13
> L2CAP(d): cid 0x0041 len 9 [psm 0]
> 0000: a1 03 00 00 00 00 00 00 20 ........



Thanks for hints,
Robert


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel