fujitsu u810 - Touchscreen Error During Install

Asked by MetungKP on 2011-05-12

I'm trying to get all the touch screen functions working on my Fujitsu U810 and I'm getting an error. Help

metungkp1@metungkp1:~$ mkdir fujitsu_touchscreen_driver
mkdir: cannot create directory `fujitsu_touchscreen_driver': File exists
metungkp1@metungkp1:~$ cd fujitsu_touchscreen_driver
metungkp1@metungkp1:~/fujitsu_touchscreen_driver$ wget http://sites.google.com/site/spareinfosite/Home/fujitsu-usb-touchscreen-0.3.5.tar.gz
--2011-05-12 09:42:06-- http://sites.google.com/site/spareinfosite/Home/fujitsu-usb-touchscreen-0.3.5.tar.gz
Resolving sites.google.com... 74.125.224.174, 74.125.224.175, 74.125.224.160, ...
Connecting to sites.google.com|74.125.224.174|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://sites.google.com/site/spareinfosite/Home/fujitsu-usb-touchscreen-0.3.5.tar.gz?attredirects=0 [following]
--2011-05-12 09:42:13-- http://sites.google.com/site/spareinfosite/Home/fujitsu-usb-touchscreen-0.3.5.tar.gz?attredirects=0
Connecting to sites.google.com|74.125.224.174|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://3703214878513185879-a-1802744773732722657-s-sites.googlegroups.com/site/spareinfosite/Home/fujitsu-usb-touchscreen-0.3.5.tar.gz?attachauth=ANoY7crPm-bX91eA3dwljK9aIEsThKzWnkwb8zmzepYE7VH2z-8mRojDmx0NDbRxJbfGxFNUP7EiGEcutw19DEgtAiZT22qDY35qpL34CzCm8BKSBeI_nI51BHgXHDCjfNRLnFWNKuNubS17yPPiBQXRuAJrYhLcdZgKPi9mBADbxdb_6wIo1fLJEcg7YJK5dnDMqI9jymQRyAyqzBPGd2DASf3MGvtRctSyFnJcRWJ2pR3iLWTryqo%3D&attredirects=0 [following]
--2011-05-12 09:42:13-- http://3703214878513185879-a-1802744773732722657-s-sites.googlegroups.com/site/spareinfosite/Home/fujitsu-usb-touchscreen-0.3.5.tar.gz?attachauth=ANoY7crPm-bX91eA3dwljK9aIEsThKzWnkwb8zmzepYE7VH2z-8mRojDmx0NDbRxJbfGxFNUP7EiGEcutw19DEgtAiZT22qDY35qpL34CzCm8BKSBeI_nI51BHgXHDCjfNRLnFWNKuNubS17yPPiBQXRuAJrYhLcdZgKPi9mBADbxdb_6wIo1fLJEcg7YJK5dnDMqI9jymQRyAyqzBPGd2DASf3MGvtRctSyFnJcRWJ2pR3iLWTryqo%3D&attredirects=0
Resolving 3703214878513185879-a-1802744773732722657-s-sites.googlegroups.com... 72.14.213.137
Connecting to 3703214878513185879-a-1802744773732722657-s-sites.googlegroups.com|72.14.213.137|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10655 (10K) [application/x-gzip]
Saving to: `fujitsu-usb-touchscreen-0.3.5.tar.gz.1'

100%[======================================>] 10,655 --.-K/s in 0s

2011-05-12 09:42:14 (148 MB/s) - `fujitsu-usb-touchscreen-0.3.5.tar.gz.1' saved [10655/10655]

metungkp1@metungkp1:~/fujitsu_touchscreen_driver$ tar zxvf fujitsu-usb-touchscreen-0.3.5.tar.gz
fujitsu-usb-touchscreen-0.3.5/
fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c
fujitsu-usb-touchscreen-0.3.5/fujitsu_touchscreen_helper.c
fujitsu-usb-touchscreen-0.3.5/copyright
fujitsu-usb-touchscreen-0.3.5/fujitsu_touchscreen_calibration.py
fujitsu-usb-touchscreen-0.3.5/rc.local
fujitsu-usb-touchscreen-0.3.5/README
fujitsu-usb-touchscreen-0.3.5/Makefile
fujitsu-usb-touchscreen-0.3.5/fujitsu_touchscreen_rotate.py
metungkp1@metungkp1:~/fujitsu_touchscreen_driver$ cd fujitsu-usb-touchscreen-0.3.5
metungkp1@metungkp1:~/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5$ make
make -C /lib/modules/2.6.38-8-generic/build M=/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-8-generic'
  CC [M] /home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.o
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c: In function ‘usb_u810_tablet_probe’:
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:258:2: error: implicit declaration of function ‘usb_buffer_alloc’
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:258:20: warning: assignment makes pointer from integer without a cast
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:311:13: error: ‘struct input_dev’ has no member named ‘absmin’
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:312:13: error: ‘struct input_dev’ has no member named ‘absmin’
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:313:13: error: ‘struct input_dev’ has no member named ‘absmax’
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:314:13: error: ‘struct input_dev’ has no member named ‘absmax’
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:328:11: error: ‘struct input_dev’ has no member named ‘absfuzz’
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:329:11: error: ‘struct input_dev’ has no member named ‘absfuzz’
/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.c:348:2: error: implicit declaration of function ‘usb_buffer_free’
make[2]: *** [/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5/fujitsu_usb_touchscreen.o] Error 1
make[1]: *** [_module_/home/metungkp1/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-8-generic'
make: *** [fujitsu_usb_touchscreen.ko] Error 2
metungkp1@metungkp1:~/fujitsu_touchscreen_driver/fujitsu-usb-touchscreen-0.3.5$

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu linux Edit question
Assignee:
No assignee Edit question
Last query:
2011-05-12
Last reply:
2011-05-21
MetungKP (metungkp) said : #1

Anyone?

Nosam (cybergene) said : #2

Hey I've made a patch, but I'm not a kernel module developer so it may contain bugs I'm not aware of.

First you'll need to get this:
http://katastrophos.net/downloads/fujitsu-usb-touchscreen-0.3.8.tar.gz
Then apply the following patch to fujitsu_usb_touchscreen.c:

--- a/fujitsu_usb_touchscreen.c Sat May 21 16:11:07 2011 +0800
+++ b/fujitsu_usb_touchscreen.c Sat May 21 14:01:19 2011 +0800
@@ -6,9 +6,6 @@
  * Derived from USB Acecad "Acecad Flair" tablet driver (acecad.c)
  * Derived from USB U810 tablet driver from Julian Brown
  *
- * 0.3.9 - 2011.05.21
- * - Updated to work on ubuntu natty [Linux 2.6.38-8] (Nosam)
- *
  * 0.3.8 - 2010.10.04
  * - Updated to work on Linux 2.6.35 (nerd65536)
  *
@@ -63,7 +60,7 @@
 /*
  * Version Information
  */
-#define DRIVER_VERSION "v0.3.9"
+#define DRIVER_VERSION "v0.3.8"
 #define DRIVER_DESC "Fujitsu usb touchscreen driver for u810, u820, p1620, t1010"
 #define DRIVER_LICENSE "GPL"
 #define DRIVER_AUTHOR "zmiq2 <email address hidden>"
@@ -315,17 +312,13 @@
         */
         input_dev->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
                BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
-
- if (!input_dev->absinfo)
- input_dev->absinfo = kcalloc(ABS_CNT, sizeof(struct input_absinfo), GFP_KERNEL);
- WARN(!input_dev->absinfo, "%s(): kcalloc() failed?\n", __func__);

        switch (id->driver_info) {
                case 0:
- input_dev->absinfo[ABS_X].minimum = touch_minx;
- input_dev->absinfo[ABS_Y].minimum = touch_miny;
- input_dev->absinfo[ABS_X].maximum = touch_maxx;
- input_dev->absinfo[ABS_Y].maximum = touch_maxy;
+ input_dev->absmin[ABS_X] = touch_minx;
+ input_dev->absmin[ABS_Y] = touch_miny;
+ input_dev->absmax[ABS_X] = touch_maxx;
+ input_dev->absmax[ABS_Y] = touch_maxy;
                        if (!strlen(u810_tablet->name))
                                snprintf(u810_tablet->name,
                                        sizeof(u810_tablet->name),
@@ -339,8 +332,8 @@
        }

        /* 6 pixels of fuzz. The touch panel appears to be quite noisy. */
- input_dev->absinfo[ABS_X].fuzz = 6;
- input_dev->absinfo[ABS_Y].fuzz = 6;
+ input_dev->absfuzz[ABS_X] = 6;
+ input_dev->absfuzz[ABS_Y] = 6;

        usb_fill_int_urb(u810_tablet->irq, dev, pipe,
                        u810_tablet->data, maxp > 8 ? 8 : maxp,
@@ -360,8 +353,7 @@
        return 0;

  fail2: usb_free_coherent(dev, 8, u810_tablet->data, u810_tablet->data_dma);
- fail1: kfree(input_dev->absinfo);
- input_free_device(input_dev);
+ fail1: input_free_device(input_dev);
        kfree(u810_tablet);
        err("fujitsu_touchscreen::probing::no device found");
        return err;
@@ -370,11 +362,9 @@
 static void usb_u810_tablet_disconnect(struct usb_interface *intf)
 {
        struct usb_u810_tablet *u810_tablet = usb_get_intfdata(intf);
- struct input_dev *dev = u810_tablet->input;

        usb_set_intfdata(intf, NULL);
        if (u810_tablet) {
- kfree(dev->absinfo);
                usb_kill_urb(u810_tablet->irq);
                input_unregister_device(u810_tablet->input);
                usb_free_urb(u810_tablet->irq);

Nosam (cybergene) said : #3

Sorry I got the wrong diff earlier.

Just head to the following repo to get the code:
https://bitbucket.org/cybergene/fujitsu-usb-touchscreen

Can you help with this problem?

Provide an answer of your own, or ask MetungKP for more information if necessary.

To post a message you must log in.