#3744 closed bug (fixed)
Wacom Bamboo Fun (small) doesn't work
Reported by: | HaiColon | Owned by: | stippi |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta2 |
Component: | Drivers | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | #4192 | |
Platform: | x86 |
Description
I tried out a "Wacom Bamboo Fun small" graphics tablet on Haiku. It doesn't work at all, the mouse doesn't move when I move the pen over the tablet. There is an error printed in the syslog (see attachment).
If there is anything I can do to help with this, like trying some things out, just tell me what to do.
Attachments (5)
Change History (30)
by , 16 years ago
Attachment: | syslogWacomErrors.txt added |
---|
comment:1 by , 16 years ago
follow-up: 17 comment:2 by , 16 years ago
I felt adventurous and tried changing the source code myself to add my Wacom tablet by using maxX and maxY values for my graphics tablet that I found on the internet. Well, the tablet does react now to the pen, left and right clicking works, but the mouse cursor stays in the top left corner, jiggling around from left to right, but never more than 2 cm to the right and not down at all. And after about a minute my mouse stops working until I unplug the Wacom tablet (that's reproducible, happened every time I tried).
I thought I'd mention this because this looks to me like this could be a bug. As far as I know this should have made the tablet work but then again, I don't even know what those maxX and maxY values are for (resolution of the active space on the tablet in pixels?) and although I did find some of those values that are defined in the Haiku Wacom driver on the internet for some of the models, some others where slightly different in Haiku so maybe Wacom tablets in Haiku need some special values here that are specific to Haiku and that's why it didn't work.
Well, I hope this info helps ;)
comment:3 by , 16 years ago
Owner: | changed from | to
---|
comment:4 by , 15 years ago
The problem is that control transfer 2
fails. This prevents the tablet to go into 'Wacom'-mode, causing the behaviour you see.
As I described in ticket:4192, the Linux driver tries control transfer 2 five times before giving up, because some tablets don't pick it up the first time.
comment:5 by , 15 years ago
by , 15 years ago
Attachment: | wacom_c_v1.patch added |
---|
(patch) try setting the tablet to 'Wacom'-mode five times before giving up
follow-up: 8 comment:6 by , 15 years ago
I also have a Bamboo (although not the Fun version) and I tried this patch but it did not make any difference. here is my syslog:
2009-09-24 07:34:19 KERN: usb hub 64: port 2: new device connected 2009-09-24 07:34:20 KERN: wacom: add_device() - wacom detected 2009-09-24 07:34:20 KERN: wacom: ... success! 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e2500) error: status: 0x18400001; token: 0x002805e1; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 2 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e2560) error: status: 0x184007ff; token: 0x00280569; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 3 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: ==================================== 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e25c0) error: status: 0x18400001; token: 0x002805e1; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 2 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e2620) error: status: 0x184007ff; token: 0x00280569; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 3 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: ==================================== 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e2680) error: status: 0x18400001; token: 0x002805e1; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 2 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e26e0) error: status: 0x184007ff; token: 0x00280569; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 3 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: ==================================== 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e2740) error: status: 0x18400001; token: 0x002805e1; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 2 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e27a0) error: status: 0x184007ff; token: 0x00280569; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 3 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: ==================================== 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e2800) error: status: 0x18400001; token: 0x002805e1; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 2 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: usb error uhci 5: td (0x041e2860) error: status: 0x184007ff; token: 0x00280569; 2009-09-24 07:34:20 KERN: wacom: add_device() - control transfer 3 failed: -2147442667 2009-09-24 07:34:20 KERN: wacom: retData: 0 - 0 2009-09-24 07:34:20 KERN: ==================================== 2009-09-24 07:34:20 KERN: wacom: count: 5 2009-09-24 07:34:20 KERN: wacom: add_device() - set 'Wacom'-mode failed 2009-09-24 07:34:20 KERN: wacom: device_open() open: 2
Hope this helps.
follow-up: 9 comment:7 by , 15 years ago
From looking at that patch it seems like you figured out that these wacoms are just plain normal HID devices and they use the standard (but in this case vendor specific) feature report interface to program the tablet. If this is the case for all these wacom devices, then the whole wacom driver stack should be moved into usb_hid as a WacomDevice. The wacom input_server device add-on right now "parses" the raw data with known offsets, but if these are HID devices then these items should be easily extractable from the normal HIDReport as HIDReportItems. Also the feature report should be available as a normal HIDReport with which the individual fields can be retrieved as HIDReportItems, their data set per SetData() and then the report sent via HIDReport::SendReport(). This would allow for these devices to not need the hardcoded raw data format parsing but use the normal HID reports instead. This would make support for them generic with regards to new devices or devices using a slightly different format.
comment:8 by , 15 years ago
Replying to bga:
Hope this helps.
Well, it tells us that no matter how hard we try setting it to 'Wacom'-mode, it won't listen. :)
When I looked at the code, I was wondering why control transfer 1
goes to interface #0, while control transfer 2
goes to interface #1. So I tried changing the interface number to 0 and 2 and both interface numbers were accepted by my Wacom Graphire 2; setting it to 'Wacom'-mode. I'm guessing that the newer Wacom tablets are a bit pickier as to which interface the control transfer goes, so in the new patch I've changed interface #1 to interface #0. Maybe that will cause the Bamboo to pick it up?
comment:9 by , 15 years ago
Replying to mmlr:
From looking at that patch it seems like you figured out that these wacoms are just plain normal HID devices and they use the standard (but in this case vendor specific) feature report interface to program the tablet. If this is the case for all these wacom devices, then the whole wacom driver stack should be moved into usb_hid as a WacomDevice.
Yes, while looking through the code I was wondering what these send_request
lines specifically did, so I did a bit of digging through the USB and HID specifications and the Linux driver. What I've written in the comments of the patch is essentially what I came up with so far.
The wacom input_server device add-on right now "parses" the raw data with known offsets, but if these are HID devices then these items should be easily extractable from the normal HIDReport as HIDReportItems.
I don't know this for sure yet. I know the Wacom tablet acts as an HID device when setting it to 'Wacom'-mode, but I don't know if the tablet-data it is sending in 'Wacom'-mode is also a normal HIDReport.
follow-ups: 11 15 comment:10 by , 15 years ago
patch v2 does not result into errors anymore, but the device does not work anyway (at least my mouse pointer is not being moved by it).
2009-09-24 22:07:48 KERN: usb hub 64: port 2: new device connected 2009-09-24 22:07:49 KERN: wacom: add_device() - wacom detected 2009-09-24 22:07:49 KERN: wacom: ... success! 2009-09-24 22:07:49 KERN: wacom: retData: 2 - 2 2009-09-24 22:07:49 KERN: ==================================== 2009-09-24 22:07:49 KERN: wacom: count: 0 2009-09-24 22:07:49 KERN: wacom: device_open() open: 2
comment:11 by , 15 years ago
Replying to bga:
patch v2 does not result into errors anymore
That's good to hear! So my guess was correct, the newer tablet are a bit pickier.
, but the device does not work anyway (at least my mouse pointer is not being moved by it).
Yes, that's because the device id's and their corresponding maxX and maxY values have to be added to the input-server addon. Just like HaiColon did in comment:2.
follow-up: 13 comment:12 by , 15 years ago
Thanks a bunch, I applied the patch in hrev33301. When I have access to my Wacom again, I want to look into merging the wacom driver into the HID driver. Or are you interested in giving that a try, idefix? The kernel side for this should be fairly easy. The input_server side needs to be changed such that the kernel driver reports the tablet size and anything else needed by the input_server add-on, and then that add-on should be seriously simplified.
follow-up: 14 comment:13 by , 15 years ago
Replying to stippi:
Thanks a bunch, I applied the patch in hrev33301.
Thanks, but that patch wasn't meant to be applied as it contains some unneeded debugging output and doesn't follow the Haiku Code Guidelines. :)
I have a cleaned-up patch ready for the kernel part, but haven't had the time to update the input-server addon so I didn't post that one yet. Hopefully I'll have some time tomorrow to update the addon part and post the final patch.
When I have access to my Wacom again, I want to look into merging the wacom driver into the HID driver. Or are you interested in giving that a try, idefix?
Looking at the amount of code I've written so far, I don't consider myself to be up for that task. So I think I'll pass. :)
If you have access to your Wacom again, could you test if your Intuos2 still works with this change? I suspect it would, but then again there must be a reason why the original driver had interface #1 as its destination for control transfer 2
.
comment:14 by , 15 years ago
Replying to idefix:
I have a cleaned-up patch ready for the kernel part, but haven't had the time to update the input-server addon so I didn't post that one yet. Hopefully I'll have some time tomorrow to update the addon part and post the final patch.
Earlier than planned: wacom_bamboo.patch
Changes:
- cleaned-up kernel addon
- added four Wacom Bamboo models to input_server addon
This should get the Bamboo tablets working in Haiku.
by , 15 years ago
Attachment: | wacom_bamboo.patch added |
---|
(patch) cleaned-up kernel addon and added four Bamboo models to input_server addon
comment:15 by , 15 years ago
Replying to bga:
patch v2 does not result into errors anymore, but the device does not work anyway (at least my mouse pointer is not being moved by it).
Does the latest patch make your Bamboo tablet work?
comment:16 by , 15 years ago
Yes, it does. Although it only works for a few seconds and then seems to stall completely.
comment:17 by , 15 years ago
Strange, I have no idea what's causing this behaviour but the original reporter also experienced something like that:
HaiColon wrote:
[...] And after about a minute my mouse stops working until I unplug the Wacom tablet (that's reproducible, happened every time I tried).
Does something show up in the syslog when the tablet stops working?
comment:19 by , 15 years ago
Version: | R1/pre-alpha1 → R1/Development |
---|
I doubt it, but hrev34932 might also fix your stalling problem. I've attached an updated patch.
by , 15 years ago
Attachment: | wacom_bamboo2.patch added |
---|
(patch) cleaned-up kernel addon and added four Bamboo models to input_server addon (updated)
comment:20 by , 15 years ago
patch: | → 1 |
---|
comment:21 by , 15 years ago
Is the stalling problem fixed now? I've applied the new patch in hrev36843. Last time I used my Intuos, it worked completely reliable, in fact I have it attached at all times now and it works whenever I want to use it.
comment:22 by , 14 years ago
patch: | 1 → 0 |
---|
comment:23 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
No reply in 9 years, and it's fixed for stippi, so assuming it's fixed elsewhere.
comment:24 by , 5 years ago
Milestone: | R1 → R1/beta2 |
---|
Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone
comment:25 by , 4 weeks ago
Blocking: | 4192 added |
---|
Additional info:
Vendor ID: 056a Device ID: 0017
listusb output: 056a:0017 /dev/bus/usb/0/0 "Wacom Co.,Ltd." "CTE-450" ver. 0116