From: Peter H. <pet...@wh...> - 2010-07-25 22:02:50
|
On Sun, Jul 25, 2010 at 01:43:52PM +0530, Ajay Ramaswamy wrote: > Hi, > Today I had some time to hack at this further > > 1 I am running Fedora 13 > > 2 My patch continues to apply to linuxwacom-0.8.8-7 > > and after patching / installing / it loads > > usbcore: registered new interface driver wacom > wacom: v1.52-pc-0.3:USB Wacom tablet driver > > > 3. Next for the X driver I got the src.rpm from koji and applied the following > patch > xorg-x11-drv-wacom-0.10.7-2 > > 4 I added ths to the end of /usr/share/X11/xorg.conf.d/50-wacom.conf > > Section "InputClass" > Identifier "Wacom class" > MatchProduct "Tablet ISD-V4" > MatchDevicePath "/dev/input/event*" > Driver "wacom" > Option "ForceDevice" "ISDV4" > EndSection > > > It shows up in my Xorg.0.log > > BUT > the tablet does not work - I need your help to proceed further, because I dont > know how to debug this. enable debugging and see if you get any events. Option "CommonDBG" and Option "DebugLevel" for the InputClass section will do. Also, before X starts try to run evtest against the device file and see if the device sends any events at all. The log you attached looks good, there's no obvious problems. Cheers, Peter > On Tuesday 04 May 2010 9:38:25 am Ping Cheng wrote: > > Hi Ajay, > > > > If your modified kernel driver works for you, you are half way there. > > The next step is to add your device to your /etc/X11/xorg.conf file. > > Refer to > > http://linuxwacom.sourceforge.net/index.php/howto/x11 for details. > > > > I assume you are running an Xorg server version 1.6.4 or earlier. If > > not, please let us know. > > > > We will merge your patch to linuxwacom.once you prove the X Wacom > > driver also works, > > > > Ping > > > > BTW, I wonder if your device worked as a mouse or not before using > > your own kernel driver? Which kernel version are you running? > > > > On Mon, May 3, 2010 at 6:02 PM, Ajay Ramaswamy <lin...@ra...> > wrote: > > > Hello, > > > > > > I am the happy new owner of this laptop and find that the linuxwacom > > > driver does not support it. I searched through the mailing lists and > > > found no help - so I see this as a chance to fire up my very rusty > > > programming skills and try and help make this hardware work under > > > linux. > > > > > > As I understand it the wacom kernel module must first recognize the > > > tablet - for that the USB ID on the lenovo (17ef:6004) is different > > > from the normal Wacom (056a:????) - so this is my first attempt at > > > getting this to work after building this and copying it to > > > /lib/modules/ ... and depmod ; modprobe wacom dmesg just shows > > > > > > usbcore: registered new interface driver wacom > > > wacom: v1.52-pc-0.1:USB Wacom tablet driver > > > > > > after that when I run > > > > > > sudo ./wacdump -c usb -f ctq /dev/input/event7 > > > > > > I can see - > > > MODEL=Unknown > > > ROM=1.1-0 > > > CLS=USB VNDR=Unknown DEV=Unknown SUB=UNKNOWN > > > > > > now when I move the stylus over the digitizer - TOOLTYPE=PEN the POS_X > > > & POS_Y change over the range correctly and seem to correspond to the > > > 4 corners of the screen, touching the tip shows TOUCH=DOWN, pressing > > > the button on the stylus shows STYLUS=DOWN, turning the stylus over > > > shows TOOLTYPE=ERASER, pressing the stylus in pen mode indicates > > > PRESSURE in the range 0-255 > > > > > > I now presume that the kernel driver has loaded and has taken control > > > of the digitizer - how do I take this forward to make it run properly > > > with the Xorg driver and how do I contribute these changes so that > > > others can use this too? > > > > > > Thanks > > > > > > Ajay > > > > > > ------------------------------------------------------------------------- > > > ----- > > > > > > _______________________________________________ > > > Linuxwacom-devel mailing list > > > Lin...@li... > > > https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel > diff -Naur xf86-input-wacom-0.10.7/src/wcmUSB.c xf86-input-wacom-0.10.7-w700/src/wcmUSB.c > --- xf86-input-wacom-0.10.7/src/wcmUSB.c 2010-06-18 11:45:54.000000000 +0530 > +++ xf86-input-wacom-0.10.7-w700/src/wcmUSB.c 2010-06-28 07:48:32.154351390 +0530 > @@ -458,7 +458,10 @@ > { WALTOP_VENDOR_ID, 0x500, 2540, 2540, &usbBamboo }, > { WALTOP_VENDOR_ID, 0x501, 2540, 2540, &usbBamboo }, > { WALTOP_VENDOR_ID, 0x502, 5080, 5080, &usbIntuos4 }, > - { WALTOP_VENDOR_ID, 0x503, 5080, 5080, &usbIntuos4 } > + { WALTOP_VENDOR_ID, 0x503, 5080, 5080, &usbIntuos4 }, > + > + /* Add in Lenovo W700 Palmrest digitizer */ > + { LENOVO_VENDOR_ID, 0x6004, 5080, 5080, &usbCintiqV5 } /* Cintiq 12WX */ > }; > > static Bool usbWcmInit(LocalDevicePtr local, char* id, float *version) > diff -Naur xf86-input-wacom-0.10.7/src/xf86Wacom.c xf86-input-wacom-0.10.7-w700/src/xf86Wacom.c > --- xf86-input-wacom-0.10.7/src/xf86Wacom.c 2010-06-18 11:45:55.000000000 +0530 > +++ xf86-input-wacom-0.10.7-w700/src/xf86Wacom.c 2010-06-28 07:42:26.426350127 +0530 > @@ -782,6 +782,7 @@ > { > case WACOM_VENDOR_ID: > case WALTOP_VENDOR_ID: > + case LENOVO_VENDOR_ID: > return TRUE; > default: > break; > diff -Naur xf86-input-wacom-0.10.7/src/xf86WacomDefs.h xf86-input-wacom-0.10.7-w700/src/xf86WacomDefs.h > --- xf86-input-wacom-0.10.7/src/xf86WacomDefs.h 2010-06-18 11:45:55.000000000 +0530 > +++ xf86-input-wacom-0.10.7-w700/src/xf86WacomDefs.h 2010-06-28 07:41:24.315351886 +0530 > @@ -30,6 +30,7 @@ > /* vendor IDs on the kernel device */ > #define WACOM_VENDOR_ID 0x056a > #define WALTOP_VENDOR_ID 0x172F > +#define LENOVO_VENDOR_ID 0x17EF > > #define DEFAULT_SUPPRESS 2 /* default suppress */ > #define MAX_SUPPRESS 100 /* max value of suppress */ > diff -Naur linuxwacom-0.8.6/src/2.6.30/modules.order linuxwacom-0.8.6-ajay/src/2.6.30/modules.order > --- linuxwacom-0.8.6/src/2.6.30/modules.order 1970-01-01 05:30:00.000000000 +0530 > +++ linuxwacom-0.8.6-ajay/src/2.6.30/modules.order 2010-05-04 05:24:53.000604569 +0530 > @@ -0,0 +1 @@ > +kernel//home/ajayr/rpmbuild/BUILD/linuxwacom-0.8.6/src/2.6.30/wacom.ko > diff -Naur linuxwacom-0.8.6/src/2.6.30/wacom.h linuxwacom-0.8.6-ajay/src/2.6.30/wacom.h > --- linuxwacom-0.8.6/src/2.6.30/wacom.h 2010-04-10 04:32:14.000000000 +0530 > +++ linuxwacom-0.8.6-ajay/src/2.6.30/wacom.h 2010-05-03 08:03:11.674591299 +0530 > @@ -103,6 +103,7 @@ > MODULE_LICENSE(DRIVER_LICENSE); > > #define USB_VENDOR_ID_WACOM 0x056a > +#define USB_VENDOR_ID_LENOVO 0x17ef > > struct wacom { > dma_addr_t data_dma; > diff -Naur linuxwacom-0.8.6/src/2.6.30/wacom_wac.c linuxwacom-0.8.6-ajay/src/2.6.30/wacom_wac.c > --- linuxwacom-0.8.6/src/2.6.30/wacom_wac.c 2010-04-10 04:32:14.000000000 +0530 > +++ linuxwacom-0.8.6-ajay/src/2.6.30/wacom_wac.c 2010-05-04 04:52:29.628522872 +0530 > @@ -1320,11 +1320,17 @@ > { "Wacom ISDv4 E3", WACOM_PKGLEN_TPC2FG, 26202, 16325, 255, 0, TABLETPC2FG }; > static const struct wacom_features wacom_features_0x47 = > { "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, 31, INTUOS }; > +static const struct wacom_features wacom_features_0x6004 = > + { "ISD-V4", WACOM_PKGLEN_INTUOS, 53020, 33440, 1023, 63, WACOM_BEE }; > > #define USB_DEVICE_WACOM(prod) \ > USB_DEVICE(USB_VENDOR_ID_WACOM, prod), \ > .driver_info = (kernel_ulong_t)&wacom_features_##prod > > +#define USB_DEVICE_LENOVO(prod) \ > + USB_DEVICE(USB_VENDOR_ID_LENOVO, prod), \ > + .driver_info = (kernel_ulong_t)&wacom_features_##prod > + > const struct usb_device_id wacom_ids[] = { > { USB_DEVICE_WACOM(0x00) }, > { USB_DEVICE_WACOM(0x10) }, > @@ -1394,6 +1400,7 @@ > { USB_DEVICE_WACOM(0xE2) }, > { USB_DEVICE_WACOM(0xE3) }, > { USB_DEVICE_WACOM(0x47) }, > + { USB_DEVICE_LENOVO(0x6004) }, > { } > }; > MODULE_DEVICE_TABLE(usb, wacom_ids); |