Hey all with newer Bamboo HW, I'm hoping you can help me capture some raw USB data from these devices and I'll compare them to my Bamboo and see if I can figure anything out.
Here is some instructions for logging USB packets on most modern linux kernels. On Fedora, the "usbmon" support is always compiled into kernel so no "modprobe usbmon" is needed. Also, the kernel debug filesystem is always mounted so no need to mount either. In case this isn't true on your box, here are command to enable support for logging usb packets: # mount -t debugfs none_debugs /sys/kernel/debug # modprobe usbmon Next, we need to find out which USB bus your Wacom is on. Its easiest from "lsusb" if you have that installed. Here is output for mine showing it on Bus 2 and Device 35. Bus 002 Device 035: ID 056a:00d1 Wacom Co., Ltd You can also get it by running 'less /sys/kernel/debug/usb/devices' and looking for Wacom. The first line shows Bus and Dev#. T: Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 35 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=056a ProdID=00d1 Rev= 1.06 S: Manufacturer=Wacom Co.,Ltd. S: Product=CTH-460 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr= 98mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=wacom E: Ad=81(I) Atr=03(Int.) MxPS= 9 Ivl=4ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=wacom E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=4ms OK, now we can log some packets. Here is example I run for logging USB packets on my USB Bus 2 (must be ran as root): #cat /sys/kernel/debug/usb/usbmon/2u > /tmp/usbmon.txt The "2" of "2u" part needs to match your bus#. Please log some very small snippets of data and send them my way. Do very little movement or finger combinations to make readable by me. I'd appreciate it if you do this sequence: #cat /sys/kernel/debug/usb/usbmon/2u > /tmp/usbmon-1fg.txt Press 1 finger in lower right corner of pad (within white lines though). Start with low pressure and slowly move to firm pressure and then release. Control-C to end. The goal is to get as many 1 finger bits set in X/Y/Pressure fields. #cat /sys/kernel/debug/usb/usbmon/2u > /tmp/usbmon-2fg.txt Same as previous but use 2 fingers. #cat /sys/kernel/debug/usb/usbmon/2u > /tmp/usbmon-3fg.txt Same as previous but use 3 fingers. #cat /sys/kernel/debug/usb/usbmon/2u > /tmp/usbmon-4fg.txt Same as previous but use 3 fingers. Thats it. For those wanting to attempt debugging, here is an example line from my output: c7a67d00 2310234233 C Ii:2:035:2 0:4 20 = 02002881 e0012e81 e0012a00 00000000 81110000 If you have other noisy USB devices on this bus then you may need to filter the file. Here is how you can filter for Bus 2 Dev#35 interrupt responses: # grep "C li:2:035:2" /tmp/usbmon-1fg.txt > /tmp/usbmon-1fg-filtered.txt After the equal sign is the packet sent by Wacom hardware. Each 2 hex numbers represents 8-bit char. If you treat the whole thing as an array, here is mapping used for touch packet of original Bamboo Pen and Touch devices: data[2] = 1st finger pressure (data[3] << 8 | data[4]) & 0x7ff = 1st finger X coord (data[5] << 8 | data[6]) & 0x7ff = 1st finger Y coord data[11] = 2nd finger pressure (data[12] << 8 | data[13]) & 0x7ff = 2nd finger X coord (data[14] << 8 | data[15]) & 0x7ff = 2nd finger Y coord So from my example, I touched 1 finger with pressure 0x28 and X/Y = [0x81e0,0x012e]. What we are trying to do is isolate the bits/bytes that change when you move your fingers and which change when only pressure of your finger changes. In this packet, there is only space comfortably for 2 fingers. If this newer hardware can report more than 2 fingers then they must have been re-arranging/reducing resolution/squishing things together. The pressure is something that makes most since to steal bits from. But they could also be sending 2 packets with something in it saying this is for fingers 1&2 and this packet is for fingers 3&4. Dunno how they chose to do it. Chris ------------------------------------------------------------------------------ WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel