Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet
Little trouble here... I've mounted debugfs, but usb dir just show devices list file. Have I to activate some other debug in kernel conf ? (this is a first time for me) Le mardi 03 janvier 2012 à 10:23 -0600, Chris Bagwell a écrit : On Tue, Jan 3, 2012 at 4:21 AM, Mike Rolland none...@gmail.com wrote: I was beginning to loose my self in all this advices. I had needs to clean my brain and go from start, so like suggest Chris, I revert all and change my kernel like this to separate multi device thing and clarify my-self : Index: drivers/hid/hid-ids.h === --- drivers/hid/hid-ids.h +++ drivers/hid/hid-ids.h 2012-01-03 13:05:37.030924428 +0400 @@ -135,6 +135,7 @@ #define USB_DEVICE_ID_ASUSTEK_MULTITOUCH_YFO 0x0186 #define USB_VENDOR_ID_ASUSTEK 0x0b05 +#define USB_DEVICE_ID_ASUSTEK_DIGITIZER 0x179f #define USB_DEVICE_ID_ASUSTEK_LCM 0x1726 #define USB_DEVICE_ID_ASUSTEK_LCM2 0x175b Index: drivers/hid/usbhid/hid-quirks.c === --- drivers/hid/usbhid/hid-quirks.c +++ drivers/hid/usbhid/hid-quirks.c 2012-01-03 13:08:07.210924957 +0400 @@ -91,6 +91,7 @@ { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_DIGITIZER, HID_QUIRK_MULTI_INPUT }, /* experimental */ { 0, 0 } }; All reports are in the attached file because the 40ko mailing list limits. My conclusion are : Device is known as 2 devices. - touchscreen - mouse So, I wonder if we shouldn't point on 1 of this device to start Wacom driver change (or both, depends). The wacom driver has been coded such that it skips over that mouse device when querying the device and I *think* sends a command to device that says stop sending mouse data and start sending pen data (I'm not positive about this for TABLETPC's). On the EeeNote webpage tablet is implicitly declare as a Wacom one, and windows drivers for digitizer is from Wacom. There is no doubt about this. With experimental changes evtest stay squared in the left corner, and the first time I launched after driver change cursor was effectively squared there. It does do several things that seem like Wacom devices but I'm starting to suspect its a new version of hardware that sends a new packet format. Now, with revert to initial and quirk, mouse event are good and acts like mouse cursor in a 1024x768 pixel rectangle (nearby). Touchscreen mode report no events in evtest and really don't know how configure it with evdev and Xorg, so I can't tell you more. This makes some sense I think. When an interface support multiple report types, it will send only the first one until something tells it to send the other type. I've seen some eGalax touchscreens that put the touchscreen first and mouse second so by default it sends touchscreen coordinates. Wacom devices have always put mouse first in HID reports I've seen. So I guess that means you will require a custom driver to set up your digitizer correctly and probably its the wacom driver where it needs to do this. Because there is no error in kernel compilation, I suppose I didn't make mistakes with my change, I missed something and don't know what (probably because I'm not a hacker, lol) M. note: evtestX reports events with modified wacom drv in long X movement. evtestY, the same for Y movement. The reports showed the X doing something reasonable but a little questionable while the Y log seemed totally wrong. Here is one more thing to try so that we can get some needed information. Hopefully, your distribution auto-mounts the /sys/kernel/debug filesystem. If not, you can google and see how to mount that. One of your earlier lsusb outputs showed that your device is on USB bus #2 and is device 008 on that bus. If you move things around, it can change so verify that is still true for next steps. Bus 002 Device 008: ID 0b05:179f ASUSTek Computer, Inc. You can log packets coming from USB bus #2 by running this as root: cat /sys/kernel/debug/usb/usbmon/2u | tee /tmp/usb2.log The pipe part is optional but I like to do that so I can see and log whats going on. If you have a lot of devices on that bus then the output could be noisy. You can usually filter the output to just your device #008 with grep: cat /sys/kernel/debug/usb/usbmon/2u | grep 2:008 | /tmp/usb2.log The lines that say Ii:2:008 are interrupt packets coming from hardware. When you put pen on screen, you should see a burst of them. Can you send a few of those? Then we can see if if can reverse engineer the packet format. Chris
Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet
I looked into EeeNote kernel source code, but internaly tablet screen is managed by serial, not usb, so no way to find something from this side. I can try to find X11 asus wacom driver but not sure i can. I will try to extract something from the tablet itself, there is a tablet mode interface to switch to external digitizer, so maybe ... hopping I should have something to tell you at the end of the week. M. Le mercredi 04 janvier 2012 à 09:24 -0600, Chris Bagwell a écrit : It wasn't the debug interface I was looking for (its the HID debug interface which filters packets) but it gives enough info to see whats happening. The device is stuck in mouse mode and only sending 5 byte mouse packets. Its not responding to the standard Tablet PC request to go into Wacom mode. There is some unique command that probably needs to be sent to device to switch modes but there is no way to guess this value. You could see if Asus released the source code to their probably custom wacom driver and use it. Or if your able to get debugfs and usbmon working on Asus's original Linux distro, you can monitor the USB packet it sends when you do a rmmod followed by a insmod of their driver. Then we'd know what to add to modern wacom drivers. Without the info, I'm afraid we are at a dead end. Chris 2012/1/4 Mike Rolland none...@gmail.com: well, i have no /sys/kernel/debug/usb/usbmon/2u but there is a /sys/kernel/debug/hid/0003\:0B05\:179F.0001/rdesc and /sys/kernel/debug/hid/0003\:0B05\:179F.0001/events events start from upleft corner to upright, bottom, bottom left and diagonal from upleft to bottom right. hope it helps M. Le mercredi 04 janvier 2012 à 12:56 +0400, Mike Rolland a écrit : Little trouble here... I've mounted debugfs, but usb dir just show devices list file. Have I to activate some other debug in kernel conf ? (this is a first time for me) Le mardi 03 janvier 2012 à 10:23 -0600, Chris Bagwell a écrit : On Tue, Jan 3, 2012 at 4:21 AM, Mike Rolland none...@gmail.com wrote: I was beginning to loose my self in all this advices. I had needs to clean my brain and go from start, so like suggest Chris, I revert all and change my kernel like this to separate multi device thing and clarify my-self : Index: drivers/hid/hid-ids.h === --- drivers/hid/hid-ids.h +++ drivers/hid/hid-ids.h 2012-01-03 13:05:37.030924428 +0400 @@ -135,6 +135,7 @@ #define USB_DEVICE_ID_ASUSTEK_MULTITOUCH_YFO 0x0186 #define USB_VENDOR_ID_ASUSTEK 0x0b05 +#define USB_DEVICE_ID_ASUSTEK_DIGITIZER 0x179f #define USB_DEVICE_ID_ASUSTEK_LCM 0x1726 #define USB_DEVICE_ID_ASUSTEK_LCM2 0x175b Index: drivers/hid/usbhid/hid-quirks.c === --- drivers/hid/usbhid/hid-quirks.c +++ drivers/hid/usbhid/hid-quirks.c 2012-01-03 13:08:07.210924957 +0400 @@ -91,6 +91,7 @@ { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_DIGITIZER, HID_QUIRK_MULTI_INPUT }, /* experimental */ { 0, 0 } }; All reports are in the attached file because the 40ko mailing list limits. My conclusion are : Device is known as 2 devices. - touchscreen - mouse So, I wonder if we shouldn't point on 1 of this device to start Wacom driver change (or both, depends). The wacom driver has been coded such that it skips over that mouse device when querying the device and I *think* sends a command to device that says stop sending mouse data and start sending pen data (I'm not positive about this for TABLETPC's). On the EeeNote webpage tablet is implicitly declare as a Wacom one, and windows drivers for digitizer is from Wacom. There is no doubt about this. With experimental changes evtest stay squared in the left corner, and the first time I launched after driver change cursor was effectively squared there. It does do several things that seem like Wacom devices but I'm starting to suspect its a new version of hardware that sends a new packet format. Now, with revert to initial and quirk, mouse event are good and acts like mouse cursor in a 1024x768 pixel rectangle (nearby). Touchscreen mode report no events in evtest and really don't know how configure it with evdev and Xorg, so I can't tell you more. This makes some sense I think. When an interface support multiple report types, it will send only the first one until something tells it to send the other type. I've seen some eGalax touchscreens that put the touchscreen first and mouse second so by default it sends touchscreen coordinates. Wacom devices have always put mouse
Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet
Well, anyway, I have compiled kernel driver and xf86 driver with change. Like suggested Ping, I add ASUSTEK to ignore list in hid-core.c, but I'm not sure I added this in the right way. { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, 0x179F) }, Favux is probably right, there something in the name important. Device after change is recognize as ISD-V4. this the results from logs: lsusb : no change xorg.conf.d : the one I use Section InputClass Identifier Wacom class # MatchProduct ASUSTek|Digitizer previous one MatchProduct ASUSTek|Digitizer|ISD|ISD-V4 new one MatchDevicePath /dev/input/event* Driver wacom #Section InputDevice #Option Type stylus # Option Type touch # Option Type pad Option Type pen # Option Type mouse Option Mode Absolute Option USBon Option ForceDevice ISDV4 Option KeepShape on Option TopX 0 # 5 Option TopY 0 # 10 Option BottomX 1 # 16480 # 1 Option BottomY 6250 # 12410 # 6250 Option MaxX 1 # 16480 Option MaxY 6250 # 12410 Option Tilt on # Inclinaison Option Button1 1 Option Button2 3 Option Button3 2 Option PressCurve0,25,75,100 EndSection syslog : Jan 1 13:04:53 hpm kernel: hub 2-1:1.0: unable to enumerate USB device on port 2 Jan 1 13:05:12 hpm kernel: usb 2-1.2: new full speed USB device number 8 using ehci_hcd Jan 1 13:05:12 hpm kernel: usb 2-1.2: New USB device found, idVendor=0b05, idProduct=179f Jan 1 13:05:12 hpm kernel: usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Jan 1 13:05:12 hpm kernel: usb 2-1.2: Product: Eee Note Digitizer Jan 1 13:05:12 hpm kernel: usb 2-1.2: Manufacturer: ASUSTek Computer, Inc. Jan 1 13:05:12 hpm kernel: usb 2-1.2: SerialNumber: 1 Jan 1 13:05:13 hpm mtp-probe: checking bus 2, device 8: /sys/devices/pci:00/:00:1d.0/usb2/2-1/2-1.2 Jan 1 13:05:13 hpm mtp-probe: bus: 2, device: 8 was not an MTP device Jan 1 13:05:13 hpm kernel: input: ISD-V4 Pen as /devices/pci:00/:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/input/input14 Jan 1 13:05:13 hpm kernel: usbcore: registered new interface driver wacom Jan 1 13:05:13 hpm kernel: wacom: v1.52:USB Wacom tablet driver Xorg.0.log [ 422.727] (II) config/udev: Adding input device ISD-V4 Pen (/dev/input/event14) [ 422.727] (**) ISD-V4 Pen: Applying InputClass evdev tablet catchall [ 422.728] (**) ISD-V4 Pen: Applying InputClass Wacom class [ 422.728] (II) LoadModule: wacom [ 422.728] (II) Loading /usr/lib64/xorg/modules/input/wacom_drv.so [ 422.728] (II) Module wacom: vendor=X.Org Foundation [ 422.728] [ 422.728] compiled for 1.10.1, module version = 0.12.0 [ 422.728]Module class: X.Org XInput Driver , module version = 0.12.0 [ 422.728]Module class: X.Org XInput Driver [ 422.728]ABI class: X.Org XInput driver, version 12.2 ABI class: X.Org XInput driver, version 12.2 [ 422.728] (II) Using input driver 'wacom' for 'ISD-V4 Pen' (II) Using input driver 'wacom' for 'ISD-V4 Pen' [ 422.728] (II) Loading /usr/lib64/xorg/modules/input/wacom_drv.so (II) Loading /usr/lib64/xorg/modules/input/wacom_drv.so [ 422.728] (**) ISD-V4 Pen: always reports core events [ 422.729] (**) Option Device /dev/input/event14(**) Option Device /dev/input/event14 [ 422.729] [ 422.729] (**) Option Type pen [ 422.729] (EE) ISD-V4 Pen: Invalid type 'pen' for this device. [ 422.762] (EE) PreInit returned 8 for ISD-V4 Pen [ 422.762] (II) UnloadModule: wacom [ 422.762] (II) Unloading wacom (II) Unloading wacom [ 422.762] (II) config/udev: Adding input device ISD-V4 Pen (/dev/input/mouse1) [ 422.762] (II) No input driver/identifier specified (ignoring) Le vendredi 30 décembre 2011 à 15:09 -0600, Favux ... a écrit : Hi Mike, Well in wacom_wac.c there is also: #define USB_DEVICE_LENOVO(prod) \ USB_DEVICE(USB_VENDOR_ID_LENOVO, prod), \ .driver_info = (kernel_ulong_t)wacom_features_##prod below the wacom one at about line #1522. Then there are the appropriate entries for the Lenovo product using its Product ID. That's what I was thinking of. So at about line #1509: static const struct wacom_features wacom_features_0x6004 = { ISD-V4, WACOM_PKGLEN_GRAPHIRE, 12800, 8000, 255, 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; And again at about line #1615: { USB_DEVICE_LENOVO(0x6004) }, Unfortunately your lsusb seems truncated so we don't seem to have your max X and Y dimensions. Also it bothers me the packet length seems to be 9. I think tablet PCs are 8. That said you'd be much better off following Chris' guidance. Assuming you have
[Linuxwacom-devel] linuxwacom project - asustek eeenote tablet
Le jeudi 29 décembre 2011 à 17:00 +, Ping Cheng a écrit : Hi Mike, Yes, I am interested to help. And I am grateful that you have and are interested in supporting linuxwacom project. You are the people that I am still working on the project ;). Nice. I already done this kind of action with V4L for a DVB-T. Great experience. Diff atteched in files or at the end of threads. Please post your changes to linuxwacom-devel@lists.sourceforge.net and cc me (pingli...@gmail.com). We’ll move forward from there. Ok, change are in ASUS_diff.patch (I use Patcher for diff, I'm too noob for something else). What's work? double clic on pen touch button1, nothing else. Driver declare device as stylus but report this is not a stylus device. evdev says this is a touch pad: [ 8049.553] (II) XINPUT: Adding extended input device ASUSTek Computer, Inc. Eee Note Digitizer (type: TOUCHPAD) I tried many xorg config type (stylus, pen, pad, touch) and only touch was accepted: [ 1853.426] (EE) ASUSTek Computer, Inc. Eee Note Digitizer: Invalid type 'stylus' for this device. All my xorg.con.d are made like this: Section InputClass Identifier Wacom class MatchProduct ASUSTek|Digitizer MatchDevicePath /dev/input/event* Driver wacom #Section InputDevice Option Type stylus # Option Type touch # Option Type pad # Option Type pen # Option Type mouse etc... for info: lsusb reports: Bus 002 Device 012: ID 0b05:179f ASUSTek Computer, Inc. Device Descriptor: bLength18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize016 idVendor 0x0b05 ASUSTek Computer, Inc. idProduct 0x179f bcdDevice1.29 iManufacturer 1 ASUSTek Computer, Inc. iProduct2 Eee Note Digitizer iSerial 3 1 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 4 pen report data bmAttributes 0xc0 Self Powered MaxPower2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 2 Mouse iInterface 4 pen report data HID Device Descriptor: bLength 9 bDescriptorType33 bcdHID 1.10 bCountryCode 33 US bNumDescriptors 1 bDescriptorType34 Report wDescriptorLength 201 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes3 Transfer TypeInterrupt Synch Type None Usage Type Data wMaxPacketSize 0x0009 1x 9 bytes bInterval 4 Device Status: 0x0001 Self Powered I do have a question for you here though. What problem related to “have to change Graphire4 associated tablet model to Intuos4 to get mine work”? We’d love to make the driver work better, you know ;). I had to remember first (more than one year ago) and test again with different tablet mode. Finally issue was the button. Graphire4 model doesn't recognize secondary button. Intuos3/4 get it but think it's the enter key command. Didn't get success,anyway, to configure it as real secondary button (2 and 3 recognize as the same button). Best regards, Ping Hope you get what you need. The problem is that driver (evdev,wacom) blocks on TOUCHPAD reported status. Best regards. Mike. From: Mike Rolland [mailto:none...@gmail.com] Sent: Thursday, December 29, 2011 1:05 AM To: Ping Cheng Subject: linuxwacom project - asustek eeenote debug help Hi, I've recently acquire an eeenote EA800 tablet, I'm no a coder or other linux hacker but I'm an advanced user who can understand how it's works. I'd previously (long time ago) change some lines in xf86WacomDefs.h, xf86Wacom.c, wcmUSB.c to get my WALTOP tablet works, project has now add all WALTOP tablets, even if I have to change Graphire4 associated tablet model to Intuos4 to get mine work. I was wondering if you, or other project members, were interested to help me to add eeenote digitizer to the correct tablet model. I have already add some line in xf86WacomDefs.h, xf86Wacom.c and modify wcmUSB.c to make it recognize as usbTabletPC (like
Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet
Effectively, wacom.h has a LENOVO line: #define USB_VENDOR_ID_LENOVO 0x17ef So I add ASUSTEK. I didn't see something else relevant in other kernel wacom libs (there is probably some). My only problem is that I absolutely don't remember how to compile a single driver in kernel tree. If someone could help. (I know, real y noob...) M. Le samedi 31 décembre 2011 à 00:21 +0400, Mike Rolland a écrit : Le vendredi 30 décembre 2011 à 11:37 -0600, Chris Bagwell a écrit : On Fri, Dec 30, 2011 at 10:17 AM, Favux ... favux...@gmail.com wrote: Hi Mike, Is this the Eee Note EA800? An e-ink e-book reader with an active stylus with 256 pressure levels and no touch? http://www.asus.com/Eee/Eee_Note/Eee_Note_EA800/ If so it apparently is a Wacom digitizer. But there is no Wacom digitizer in the lsusb output? Just the Bus 002 Device 012: ID 0b05:179f ASUSTek Computer, Inc.? To get it working the first thing you would probably need to do is add it to the wacom.ko. Using input-wacom would probably be more convenient than working with your kernel. We'll need to see what the experts say but something along the lines of adding the ASUSTek Vendor ID like the Lenovo ID was added to, for example, wacom.h and wacom_wac.c. Although the apparent digitizer is given an Asus product ID, which doesn't follow Wacom conventions, I wouldn't be surprised if it is in fact a Wacom (tabletPC?) digitizer already entered. What is your Distribution and release? Kernel, Xorg, and xf86-input-wacom versions? Could you attach the output of: lsusb for the digitizer to your next post? Favux I have two additional requests. * Please run lsusb -vvv as root. This is only way to get the full HID report. I believe this does not always work if a kernel input driver has latched onto the device. Already done. * Run dmesg | grep ASUSTek and look for line telling if kernel driver has been installed for this device. [root@hpm mike]# dmesg | grep ASUSTek usb 2-1.2: Manufacturer: ASUSTek Computer, Inc. input: ASUSTek Computer, Inc. Eee Note Digitizer as /devices/pci:00/:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/input/input14 generic-usb 0003:0B05:179F.0002: input,hiddev0,hidraw1: USB HID v1.10 Mouse [ASUSTek Computer, Inc. Eee Note Digitizer] on usb-:00:1d.0-1.2/input0 I googled for this USB ID and got one result where it said its being detected as a generic HID Mouse. This would not be a good thing and all your work in xf86-input-wacom or xf86-input-evdev will be in vain until kernel side issue is resolved. Not really sure about that. Often the problem comes only from XF86 driver, but like I told to Favux, I will have a look to wacom dev kernel libs. The first time I made my homebrew with my WALTOP tablet, I remember I change something in kernel driver. So... Chris Chris -- Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox___ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel