Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2012-01-09 Thread Chris Bagwell
I'd like to summarize where we are with Eee Note's for mailing list archive.

Mike was able to log some USB packets when using tablet under Windows
and sent them to me directly.  This showed that the device works
almost exactly like a Bamboo tablet.  We were assuming it was more
TabletPC and thats why we were not having success.

Packets started flowing correctly after adding the USB PID to
hid-core's blacklist and then using this in Wacom driver:

+static const struct wacom_features wacom_features_0x179F =
+   { EeeNote ASUSTek Digitizer, WACOM_PKGLEN_BBFUN, 16480, 12410, 255,
+ 0, BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES };

There is one outstanding issue.  This device does not use the same
bits to indicate in-proximity that Bamboo's/TabletPC's are using but
everything else is the same.  For the short term, you can edit the
file wacom_wac.c and modify the function wacom_bpt_pen().  Look for
line that says:

  prox = (data[1]  0x20) == 0x20;   --- Linux 3.3 or later

or

  prox = (data[1]  0x30) == 0x30;  --- Linux 3.2 or earlier

and change that to:

  prox = (data[1]  0x10) == 0x10;

I will see if there is a bit that is common between all products that
we can use for in-proximity or if there is some kind of if() statement
we can add to work with multiple product types.

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


Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2012-01-04 Thread Mike Rolland
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

2012-01-04 Thread Chris Bagwell
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 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 

Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2012-01-04 Thread Mike Rolland
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

2012-01-03 Thread Chris Bagwell
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

--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev

Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2012-01-02 Thread Chris Bagwell
On Mon, Jan 2, 2012 at 3:13 AM, Mike Rolland none...@gmail.com wrote:
 Ok, let's dance for all your demands.
 Nevertheless, there's no pen click or move events on screen in normal mode.

 ### kernel diff :

 Index: drivers/input/tablet/wacom.h
 ===
 --- drivers/input/tablet/wacom.h
 +++ drivers/input/tablet/wacom.h 2011-12-31 19:19:08.452177869 +0400

 @@ -104,6 +104,7 @@

 #define USB_VENDOR_ID_WACOM 0x056a
 #define USB_VENDOR_ID_LENOVO 0x17ef
 +#define USB_VENDOR_ID_ASUSTEK 0x0b05



 struct wacom {
 Index: drivers/input/tablet/wacom_wac.c
 ===
 --- drivers/input/tablet/wacom_wac.c
 +++ drivers/input/tablet/wacom_wac.c 2011-12-31 12:31:10.224185924 +0400
 @@ -1503,6 +1503,9 @@
 static const struct wacom_features wacom_features_0x6004 =
 { ISD-V4,   WACOM_PKGLEN_GRAPHIRE,  12800,  8000,  255,
   0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
 +static const struct wacom_features wacom_features_0x179F =
 + { ISD-V4,   WACOM_PKGLEN_GRAPHIRE,  12800,  8000,  255,

 +   0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };

 #define USB_DEVICE_WACOM(prod) \
 USB_DEVICE(USB_VENDOR_ID_WACOM, prod), \
 @@ -1517,6 +1520,10 @@
 USB_DEVICE(USB_VENDOR_ID_LENOVO, prod), \
 .driver_info = (kernel_ulong_t)wacom_features_##prod

 +#define USB_DEVICE_ASUSTEK(prod) \
 + USB_DEVICE(USB_VENDOR_ID_ASUSTEK, prod), \

 + .driver_info = (kernel_ulong_t)wacom_features_##prod
 +
 const struct usb_device_id wacom_ids[] = {
 { USB_DEVICE_WACOM(0x00) },
 { USB_DEVICE_WACOM(0x10) },
 @@ -1607,6 +1614,7 @@
 { USB_DEVICE_WACOM(0xE6) },
 { USB_DEVICE_WACOM(0x47) },
 { USB_DEVICE_LENOVO(0x6004) },
 + { USB_DEVICE_ASUSTEK(0x179F) },
 { }
 };
 MODULE_DEVICE_TABLE(usb, wacom_ids);

 ### xf86 diff : (I place back in wcwUSB to 2450, 2540 )

All of your X changes are not needed and could cause harm; especially
if you mismark it as a Protocol 5 device. I would remove them to be
safe.

More info in case your interested on protocol:

http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Wacom_Protocol_Overview



 Index: wcmUSB.c
 ===
 --- wcmUSB.c
 +++ wcmUSB.c 2012-01-02 01:03:03.050073315 +0400
 @@ -284,7 +284,10 @@
 { WALTOP_VENDOR_ID, 0x27,  8,  8, usbGraphire3  },
 { WALTOP_VENDOR_ID, 0x28,  8,  8, usbGraphire3  },
 { WALTOP_VENDOR_ID, 0x30,  8,  8, usbGraphire4  },
 - { WALTOP_VENDOR_ID, 0x31,  8,  8, usbGraphire4  },
 + /* WALTOP original strings */
 + /*{ WALTOP_VENDOR_ID, 0x31,  8,  8, usbGraphire4  }, */
 + /* WALTOP exprimental strings (medio 85837) */
 + { WALTOP_VENDOR_ID, 0x31, 20, 20, usbIntuos4  },
 { WALTOP_VENDOR_ID, 0x32, 10, 10, usbBambooFun  },
 { WALTOP_VENDOR_ID, 0x33, 10, 10, usbBambooFun  },
 { WALTOP_VENDOR_ID, 0x34,  8,  8, usbBamboo1    },
 @@ -308,10 +311,12 @@
 { WALTOP_VENDOR_ID, 0x503, 20, 20, usbIntuos4   },

 /* N-Trig devices */
 - { NTRIG_VENDOR_ID,  0x01, 44173, 36772, usbTabletPC    },
 + { NTRIG_VENDOR_ID,  0x01, 44173, 36772, usbTabletPC },

 /* Add in Lenovo W700 Palmrest digitizer */
 - { LENOVO_VENDOR_ID, 0x6004, 2540, 2540, usbTabletPC   } /* Pen-only */
 + { LENOVO_VENDOR_ID, 0x6004, 2540, 2540, usbTabletPC }, /* Pen-only */
 + /* ASUSTek EeeNote digitizer (experimental) */
 + { ASUSTEK_VENDOR_ID, 0x179f, 2540, 2540, usbTabletPC }
 };

 static Bool usbWcmInit(InputInfoPtr pInfo, char* id, float *version)
 Index: xf86Wacom.c
 ===
 --- xf86Wacom.c
 +++ xf86Wacom.c 2011-12-30 12:31:02.932275049 +0400
 @@ -494,6 +494,7 @@
 case WALTOP_VENDOR_ID:
 case HANWANG_VENDOR_ID:
 case LENOVO_VENDOR_ID:
 + case ASUSTEK_VENDOR_ID:
 return TRUE;
 default:
 break;
 Index: xf86WacomDefs.h
 ===
 --- xf86WacomDefs.h
 +++ xf86WacomDefs.h 2011-12-30 12:43:22.773258878 +0400
 @@ -34,6 +34,7 @@
 #define NTRIG_VENDOR_ID 0x1b96
 #define HANWANG_VENDOR_ID 0x0b57
 #define LENOVO_VENDOR_ID 0x17ef
 +#define ASUSTEK_VENDOR_ID 0x0b05

 #define DEFAULT_SUPPRESS 2  /* default suppress */
 #define MAX_SUPPRESS 100    /* max value of suppress */

 ### evtest log :

 [root@hpm mike]# evtest /dev/input/event14
 Input driver version is 1.0.1
 Input device ID: bus 0x3 vendor 0xb05 product 0x179f version 0x129
 Input device name: ISD-V4 Pen
 Supported events:
   Event type 0 (Sync)
   Event type 1 (Key)
     Event code 320 (ToolPen)
     Event code 321 (ToolRubber)
     Event code 330 (Touch)
     Event code 331 (Stylus)
     Event code 332 (Stylus2)
   Event type 3 (Absolute)
     Event code 0 (X)
   Value  0
   Min    0
   Max    12800
   Fuzz   4
     Event code 1 (Y)
   Value  0
   Min    0
   Max 8000
   Fuzz   4
     Event code 24 

Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2012-01-02 Thread Chris Bagwell
To speed your testing out, here is an alternative to try.

In case this is a non-wacom digitizer or even if is a wacom digitizer
but you'd like to use it in HID-compliant mode they sometimes have,
you can try to get HID core to work with it in correct mode.

As I mentioned in earlier email, the issue is that a mouse and a
digitizer is being combined into a single input device.  You can add a
quirk to hid-core for your device that will break them into 2
devices.

To do this, revert all your wacom_wac changes and your hid-core changes.

Instead edit the file linux/drivers/hid/usbhid/hid-quirks.c.
Copypaste a line that has the HID_QUIRK_MULTI_INPUT and replace its
VID/PID with your digitizer values.  Here is an example of such lines.

{ USB_VENDOR_ID_PLAYDOTCOM,
USB_DEVICE_ID_PLAYDOTCOM_EMS_USBII, HID_QUIRK_MULTI_INPUT },

This HID-compliant device will not work with xf86-input-wacom though.
You will also need to revert and xorg.conf files so that the device is
correctly matched to xf86-input-evdev.

Chris

On Mon, Jan 2, 2012 at 11:10 AM, Chris Bagwell ch...@cnpbagwell.com wrote:
 On Mon, Jan 2, 2012 at 3:13 AM, Mike Rolland none...@gmail.com wrote:
 Ok, let's dance for all your demands.
 Nevertheless, there's no pen click or move events on screen in normal mode.

 ### kernel diff :

 Index: drivers/input/tablet/wacom.h
 ===
 --- drivers/input/tablet/wacom.h
 +++ drivers/input/tablet/wacom.h 2011-12-31 19:19:08.452177869 +0400

 @@ -104,6 +104,7 @@

 #define USB_VENDOR_ID_WACOM 0x056a
 #define USB_VENDOR_ID_LENOVO 0x17ef
 +#define USB_VENDOR_ID_ASUSTEK 0x0b05



 struct wacom {
 Index: drivers/input/tablet/wacom_wac.c
 ===
 --- drivers/input/tablet/wacom_wac.c
 +++ drivers/input/tablet/wacom_wac.c 2011-12-31 12:31:10.224185924 +0400
 @@ -1503,6 +1503,9 @@
 static const struct wacom_features wacom_features_0x6004 =
 { ISD-V4,   WACOM_PKGLEN_GRAPHIRE,  12800,  8000,  255,
   0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
 +static const struct wacom_features wacom_features_0x179F =
 + { ISD-V4,   WACOM_PKGLEN_GRAPHIRE,  12800,  8000,  255,

 +   0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };

 #define USB_DEVICE_WACOM(prod) \
 USB_DEVICE(USB_VENDOR_ID_WACOM, prod), \
 @@ -1517,6 +1520,10 @@
 USB_DEVICE(USB_VENDOR_ID_LENOVO, prod), \
 .driver_info = (kernel_ulong_t)wacom_features_##prod

 +#define USB_DEVICE_ASUSTEK(prod) \
 + USB_DEVICE(USB_VENDOR_ID_ASUSTEK, prod), \

 + .driver_info = (kernel_ulong_t)wacom_features_##prod
 +
 const struct usb_device_id wacom_ids[] = {
 { USB_DEVICE_WACOM(0x00) },
 { USB_DEVICE_WACOM(0x10) },
 @@ -1607,6 +1614,7 @@
 { USB_DEVICE_WACOM(0xE6) },
 { USB_DEVICE_WACOM(0x47) },
 { USB_DEVICE_LENOVO(0x6004) },
 + { USB_DEVICE_ASUSTEK(0x179F) },
 { }
 };
 MODULE_DEVICE_TABLE(usb, wacom_ids);

 ### xf86 diff : (I place back in wcwUSB to 2450, 2540 )

 All of your X changes are not needed and could cause harm; especially
 if you mismark it as a Protocol 5 device. I would remove them to be
 safe.

 More info in case your interested on protocol:

 http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Wacom_Protocol_Overview



 Index: wcmUSB.c
 ===
 --- wcmUSB.c
 +++ wcmUSB.c 2012-01-02 01:03:03.050073315 +0400
 @@ -284,7 +284,10 @@
 { WALTOP_VENDOR_ID, 0x27,  8,  8, usbGraphire3  },
 { WALTOP_VENDOR_ID, 0x28,  8,  8, usbGraphire3  },
 { WALTOP_VENDOR_ID, 0x30,  8,  8, usbGraphire4  },
 - { WALTOP_VENDOR_ID, 0x31,  8,  8, usbGraphire4  },
 + /* WALTOP original strings */
 + /*{ WALTOP_VENDOR_ID, 0x31,  8,  8, usbGraphire4  }, */
 + /* WALTOP exprimental strings (medio 85837) */
 + { WALTOP_VENDOR_ID, 0x31, 20, 20, usbIntuos4  },
 { WALTOP_VENDOR_ID, 0x32, 10, 10, usbBambooFun  },
 { WALTOP_VENDOR_ID, 0x33, 10, 10, usbBambooFun  },
 { WALTOP_VENDOR_ID, 0x34,  8,  8, usbBamboo1    },
 @@ -308,10 +311,12 @@
 { WALTOP_VENDOR_ID, 0x503, 20, 20, usbIntuos4   },

 /* N-Trig devices */
 - { NTRIG_VENDOR_ID,  0x01, 44173, 36772, usbTabletPC    },
 + { NTRIG_VENDOR_ID,  0x01, 44173, 36772, usbTabletPC },

 /* Add in Lenovo W700 Palmrest digitizer */
 - { LENOVO_VENDOR_ID, 0x6004, 2540, 2540, usbTabletPC   } /* Pen-only */
 + { LENOVO_VENDOR_ID, 0x6004, 2540, 2540, usbTabletPC }, /* Pen-only */
 + /* ASUSTek EeeNote digitizer (experimental) */
 + { ASUSTEK_VENDOR_ID, 0x179f, 2540, 2540, usbTabletPC }
 };

 static Bool usbWcmInit(InputInfoPtr pInfo, char* id, float *version)
 Index: xf86Wacom.c
 ===
 --- xf86Wacom.c
 +++ xf86Wacom.c 2011-12-30 12:31:02.932275049 +0400
 @@ -494,6 +494,7 @@
 case WALTOP_VENDOR_ID:
 case HANWANG_VENDOR_ID:
 case LENOVO_VENDOR_ID:
 + case ASUSTEK_VENDOR_ID:
 return TRUE;
 default:
 

Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2012-01-01 Thread Mike Rolland
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 

Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2011-12-31 Thread Favux ...
Almost.  I think I would be trying:

Index: drivers/input/tablet/wacom.h
===
--- drivers/input/tablet/wacom.h
+++ drivers/input/tablet/wacom.h 2011-12-31 12:23:30.520195972 +0400
@@ -104,6 +104,7 @@

#define USB_VENDOR_ID_WACOM 0x056a
#define USB_VENDOR_ID_LENOVO 0x17ef
+#define USB_VENDOR_ID_ASUS 0x0b05


struct wacom {
Index: drivers/input/tablet/wacom_wac.c
===
--- drivers/input/tablet/wacom_wac.c
+++ drivers/input/tablet/wacom_wac.c 2011-12-31 12:31:10.224185924 +0400
@@ -1503,6 +1503,9 @@

static const struct wacom_features wacom_features_0x6004 =
{ ISD-V4,   WACOM_PKGLEN_GRAPHIRE,  12800,  8000,  255,
  0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
+static const struct wacom_features wacom_features_0x179F =
+   { ASUS Wacom ISDv4 179F, WACOM_PKGLEN_GRAPHIRE, 16480,  12410,  255,
+ 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };

#define USB_DEVICE_WACOM(prod) \
USB_DEVICE(USB_VENDOR_ID_WACOM, prod), \
@@ -1517,6 +1520,10 @@

USB_DEVICE(USB_VENDOR_ID_LENOVO, prod), \
.driver_info = (kernel_ulong_t)wacom_features_##prod

+#define USB_DEVICE_ASUS(prod)  \
+   USB_DEVICE(USB_VENDOR_ID_ASUS, prod),   \
+   .driver_info = (kernel_ulong_t)wacom_features_##prod
+
const struct usb_device_id wacom_ids[] = {
{ USB_DEVICE_WACOM(0x00) },
{ USB_DEVICE_WACOM(0x10) },
@@ -1607,6 +1614,7 @@
{ USB_DEVICE_WACOM(0xE6) },
{ USB_DEVICE_WACOM(0x47) },
{ USB_DEVICE_LENOVO(0x6004) },
+ { USB_DEVICE_ASUS(0x179F) },
{ }
};
MODULE_DEVICE_TABLE(usb, wacom_ids);

I'm not sure of the label ASUS Wacom ISDv4 179F, we need Ping and
the others to weigh in on it.  If we go with this naming convention
then the Lenovo should become
Lenovo Wacom ISDv4 6004

I just slapped this quickly on your diff., so check it over.  Also
some ident.s changed because you appear not to be following the
standard.  Probably how your text editor's formatting is set up, or
your diff. program.

Favux

--
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


Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2011-12-31 Thread Chris Bagwell
On Sat, Dec 31, 2011 at 2:51 AM, Mike Rolland none...@gmail.com wrote:
 Ok, this evterst main display:
 I attach full log in file.

 [root@hpm mike]# evtest /dev/input/event14
 Input driver version is 1.0.1
 Input device ID: bus 0x3 vendor 0xb05 product 0x179f version 0x110
 Input device name: ASUSTek Computer, Inc. Eee Note Digitizer
 Supported events:
   Event type 0 (Sync)
   Event type 1 (Key)
     Event code 272 (LeftBtn)
     Event code 273 (RightBtn)
     Event code 274 (MiddleBtn)
     Event code 330 (Touch)
   Event type 2 (Relative)
     Event code 0 (X)
     Event code 1 (Y)
     Event code 8 (Wheel)

Yes, this is the part that shows why its not working out of the box.
Having both relative and absolute X/Y events will confuse
xf86-input-evdev into making your touchscreen act like a touchpad.

Also, there is no PEN/STYLUS described which may or may not confuse
xf86-input-wacom (I forget were we are at there.  I tried to make it
optional but do not remember if I was successful).

This proves you'll have to get a custom kernel driver handling this
device before it will work with xf86-input-*.

Chris

   Event type 3 (Absolute)
     Event code 0 (X)
   Value  0
   Min    0
   Max    16480
     Event code 1 (Y)
   Value  0
   Min    0
   Max    12410
     Event code 24 (Pressure)
   Value  0
   Min    0
   Max  255
   Event type 4 (Misc)
     Event code 4 (ScanCode)
 Testing ... (interrupt to exit)

 Le vendredi 30 décembre 2011 à 16:45 -0600, Chris Bagwell a écrit :

 On Fri, Dec 30, 2011 at 2:21 PM, Mike Rolland none...@gmail.com wrote:
 Le vendredi 30 décembre 2011 à 11:37 -0600, Chris Bagwell a écrit :

  * 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

 OK, this is the part I want to concentrate on.  That USB HID v1.10
 Mouse part means its probably being reported to userland as a strange
 mouse+pen combo device.  Its related to the HID report for digitizer
 declaring a mouse (required by Microsoft for tabletPC's I think even
 if its not really used).

 To better see what kernel is doing, you'll need to install the
 evtest app from your distro's repo.  Run it as root and from a
 console (not from X) or it will hide some stuff from you.

 evtest /dev/input/eventtX  --- The value for X is usually found from
 trail and error.

 Please send what this displays.  You can pipe to a file as well
 (evtest /dev/input/eventX  log).


 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...

 In last year, I think problem areas have moved.  xf86-input-wacom and
 xf86-input-evdev have become quite stable for new
 digitizers/tabletPC's and touchscreens without modifications.  The
 issues are almost always in kernel now for new hardware.

 I see people go to great lengths though to hack up xf86-input-*
 instead of fixing the real kernel side issue and try to ignore that
 invalid mouse information.

 When we see the mouse+touchscreen issue in recent times, the cure is
 to get the hid-multitouch driver to control the touchscreen.

 In your case, its a mouse+pen so I'm not sure what driver its supposed
 to be routed to.  If the Asus web page that Favux is to be trusted,
 its a Wacom digitizer and so maybe it should be handled by wacom
 driver.  I have seen Wacom commonly use 0x81 as Endpoint address for
 PEN's so thats a good sign.

 I'd try the hint given by Favux and update the file wacom_wac.c from
 input-wacom package to understand Eee product ID's.

 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


[Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2011-12-30 Thread Mike Rolland
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

2011-12-30 Thread Favux ...
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

--
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


Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2011-12-30 Thread Chris Bagwell
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.
 * Run dmesg | grep ASUSTek and look for line telling if kernel
driver has been installed for this device.

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.

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


Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2011-12-30 Thread Mike Rolland
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


Re: [Linuxwacom-devel] linuxwacom project - asustek eeenote tablet

2011-12-30 Thread Chris Bagwell
On Fri, Dec 30, 2011 at 2:21 PM, Mike Rolland none...@gmail.com wrote:
 Le vendredi 30 décembre 2011 à 11:37 -0600, Chris Bagwell a écrit :

  * 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

OK, this is the part I want to concentrate on.  That USB HID v1.10
Mouse part means its probably being reported to userland as a strange
mouse+pen combo device.  Its related to the HID report for digitizer
declaring a mouse (required by Microsoft for tabletPC's I think even
if its not really used).

To better see what kernel is doing, you'll need to install the
evtest app from your distro's repo.  Run it as root and from a
console (not from X) or it will hide some stuff from you.

evtest /dev/input/eventtX  --- The value for X is usually found from
trail and error.

Please send what this displays.  You can pipe to a file as well
(evtest /dev/input/eventX  log).


 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...

In last year, I think problem areas have moved.  xf86-input-wacom and
xf86-input-evdev have become quite stable for new
digitizers/tabletPC's and touchscreens without modifications.  The
issues are almost always in kernel now for new hardware.

I see people go to great lengths though to hack up xf86-input-*
instead of fixing the real kernel side issue and try to ignore that
invalid mouse information.

When we see the mouse+touchscreen issue in recent times, the cure is
to get the hid-multitouch driver to control the touchscreen.

In your case, its a mouse+pen so I'm not sure what driver its supposed
to be routed to.  If the Asus web page that Favux is to be trusted,
its a Wacom digitizer and so maybe it should be handled by wacom
driver.  I have seen Wacom commonly use 0x81 as Endpoint address for
PEN's so thats a good sign.

I'd try the hint given by Favux and update the file wacom_wac.c from
input-wacom package to understand Eee product ID's.

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