Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#38 Need support for device 0xed

closed
Ping Cheng
None
5
2013-02-27
2011-12-20
Piotr
No

If possible please add support for device 0xed.
[ 4.793344] usb 2-1.6: New USB device found, idVendor=056a, idProduct=00ed
[ 4.793355] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4.793364] usb 2-1.6: Product: ISD-V4
[ 4.793371] usb 2-1.6: Manufacturer: Tablet
It's tablet PC Panasonic Toughbook CF-H2

Discussion

1 2 > >> (Page 1 of 2)
  • Favux
    Favux
    2011-12-20

    Sorry, typo. Should read "lsusb -vvvv"

     
  • Piotr
    Piotr
    2011-12-20

    lsusb-vv output

     
    Attachments
  • Piotr
    Piotr
    2011-12-20

    Hello Favoux,
    thank you for fast response.
    I attached the output of lsusb -vv to the thread.
    Can you tell me, what should I change in the source code to make my devices working?

     
  • Favux
    Favux
    2011-12-20

    You didn't tell me what the touchscreen is. I'll assume non-wacom so we don't need to get it working with the Wacom drivers. Also I don't know your kernel/X server version. I'll assume you have at least 2.6.38 so then we can follow Chris' lead with the Samsung patch and instrucitions in the fourth post I linked you to.

    So in wacom_wac.c in the input-wacom 2.6.38 folder add:
    static const struct wacom_features wacom_features_0xED =
    { "Wacom ISDv4 ED", WACOM_PKGLEN_GRAPHIRE, 20782, 15637, 255,
    0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
    In the same place the EC was added:
    static const struct wacom_features wacom_features_0xE6 =
    { "Wacom ISDv4 E6", WACOM_PKGLEN_TPC2FG, 27760, 15694, 255,
    0, TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
    static const struct wacom_features wacom_features_0xED =
    { "Wacom ISDv4 ED", WACOM_PKGLEN_GRAPHIRE, 20782, 15637, 255,
    0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
    static const struct wacom_features wacom_features_0x47 =
    { "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023,
    31, INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
    And:
    { USB_DEVICE_WACOM(0xED) },
    like so:
    { USB_DEVICE_WACOM(0xE6) },
    { USB_DEVICE_WACOM(0xED) },
    { USB_DEVICE_WACOM(0x47) },

    Quoting Chris' instructions:
    wget http://downloads.sourceforge.net/project/linuxwacom/xf86-input-wacom/input-wacom/input-wacom-0.12.0.tar.bz2
    bzip2 -dc input-wacom-0.12.0.tar.gz2 | tar xvof -
    cd input-wacom-0.12.0
    patch -p1 < w_ec.diff
    ./configure

    To test if this driver works:

    cd 2.6.38
    sudo insmod ./wacom.ko

    If it does, then you'll want to install under /lib/modules so it loads
    each time (instructions are printed to screen after successful run of
    "./configure" above.

     
  • Favux
    Favux
    2011-12-20

    BTW look at the code and/or the patch to get all the indents the same in the code you add. That's important. Unfortunately the format gets lost when posted here.

     
  • Piotr
    Piotr
    2011-12-21

    I use kernel 2.6.37.1-1.2-desktop (openSuse 11.4), so I guess I need to change the wacom_wac.c in the input-wacom 2.6.36 folder, right? I can install the newest version of suse with the newest kernel if it's necessary.
    My X server version is X.Org X Server 1.9.3
    The touchscreen is wacom, you can see it in the attached lsusb output (search for Touch screen) and I do care about getting it working.

     
  • Piotr
    Piotr
    2011-12-21

    When I tried to compile the source code I got the following error:
    /home/piotr/input-wacom-0.12.0/2.6.36/wacom_wac.c: In function âwacom_mt_touchâ:
    /home/piotr/input-wacom-0.12.0/2.6.36/wacom_wac.c:703:4: error: implicit declaration of function âinput_mt_get_valueâ

     
  • Favux
    Favux
    2011-12-21

    Alright, 4095 does sound familiar. I'll buy that as Wacom touchscreen dimensions.

    So we need to change your first entry in wacom_wac.c to this:
    static const struct wacom_features wacom_features_0xED =
    { "Wacom ISDv4 ED", WACOM_PKGLEN_GRAPHIRE, 20782, 15637, 255,
    0, TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES };

    Notice this time it is similar to the entry for the E6.

    After you compile that and get your new wacom.ko we'll need to also change xf86-input-wacom. You'll want to use at least 0.12.0 and cloning the repository would be better. That's because the last of the latest rounds of gesture improvements, scroll/zoom, was committed after 0.12.0 came out. We'll need to add a line to wcmUSB.c and wcmValidateDevice.c similar to the E6 line.

     
  • Favux
    Favux
    2011-12-21

    Instructions for cloning xf86-input-wacom are here: https://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Xf86-input-wacom

    In the /src folder of the downloaded xf86-input-wacom you'll find the two files that need to be modified.

    In wcmUSB.c at about line #276 add:
    { WACOM_VENDOR_ID, 0xED, 100000, 100000, &usbTabletPC }, /* TabletPC 0xED */
    so it looks like:
    { WACOM_VENDOR_ID, 0xE6, 100000, 100000, &usbTabletPC }, /* TabletPC 0xE6 */
    { WACOM_VENDOR_ID, 0xED, 100000, 100000, &usbTabletPC }, /* TabletPC 0xED */

    /* IDs from Waltop's driver, available http://www.waltop.com.tw/download.asp?lv=0&id=2.

    Then in wcmValidateDevice.c add:
    case 0xED: /* TPC with 2FGT */
    so it looks like:
    case 0xE2: /* TPC with 2FGT */
    case 0xE3: /* TPC with 2FGT */
    case 0xE6: /* TPC with 2FGT */
    case 0xED: /* TPC with 2FGT */
    TabletSetFeature(priv->common, WCM_TPC);
    break;

    The same format caveat, the identation, applies. Then compile xf86-input-wacom and install it. Hopefully after a reboot things will be working.

     
  • Piotr
    Piotr
    2011-12-21

    I added the entry:
    static const struct wacom_features wacom_features_0xED =
    { "Wacom ISDv4 ED", WACOM_PKGLEN_GRAPHIRE, 20782, 15637, 255,
    0, TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
    to file wacom_wac.c, but I have still the compilation error, when I run ./configure

    /home/piotr/input-wacom-0.12.0/2.6.36/wacom_wac.c: In function âwacom_mt_touchâ:
    /home/piotr/input-wacom-0.12.0/2.6.36/wacom_wac.c:703:4: error: implicit declaration of function âinput_mt_get_valueâ

    The function wacom_mt_touch is not defined.

     
  • Piotr
    Piotr
    2011-12-21

    I was wrong the function input_mt_get_value is not defined. It's used in kernel's version 2.36 but I don't see it in next version, maybe I should upgrade to the newest version.

     
  • Favux
    Favux
    2011-12-21

    Well I was trying to avoid your original mt.h error. The multi-touch header is only available in the 2.6.38 kernel or later. I don't know why that doesn't work with the 2.6.36 kernel.

     
  • Piotr
    Piotr
    2011-12-22

    I upgraded my linux and now I have kernel version: 3.1.0-1.2-desktop and X Server 1.10.4.
    I managed to compile and install xf86-input-wacom and input-wacom-0.12.0, but it doesn't work :(
    xsetwacom --list devices doesn't show any device.
    I don't know what it's wrong.

     
  • Favux
    Favux
    2011-12-24

    Munix9's bug report that input-wacom "0.12.0 & 0.12.1 broken for kernel 2.6.37 - ID: 3463769": http://sourceforge.net/tracker/index.php?func=detail&aid=3463769&group_id=69596&atid=525124 adds some more information on the OpenSUSE 2.6.37 build problem. But I still don't get it. I read the if statement as "greater than" 2.6.37 before including mt.h, which is correct. But with the addition of the 2.6.38 folder to input-wacom that's irrelevant. Since the 2.6.36 folder in input-wacom is now only used to build the 2.6.36 and 2.6.37 kernels the three lines for the if for the mt.h include should be removed from wacom_wac.c and wacom_w80001.c anyway.

    I'm surprised you didn't get any response. We're being told the packet length is 8 and I am sure the E6 is a tabletPC with a stylus and 2FGT. So we should be able to model our entry in wacom_wac.c on the E6's entry, i.e.:
    static const struct wacom_features wacom_features_0xED =
    { "Wacom ISDv4 ED", WACOM_PKGLEN_TPC2FG, 20782, 15637, 255,
    0, TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
    Don't forget to add:
    { USB_DEVICE_WACOM(0xED) },
    And the xf86-input-wacom entries should be the same. Good luck!

     
  • Piotr
    Piotr
    2011-12-28

    65-xorg-wacom.rules

     
    Attachments
  • Piotr
    Piotr
    2011-12-28

    50-wacom.conf

     
    Attachments
  • Piotr
    Piotr
    2011-12-28

    52-wacom.conf

     
    Attachments
  • Piotr
    Piotr
    2011-12-28

    It starts to work :) but I need additional help.
    The touchscreen doesn't work after system starts. I need to run insmod wacom.ko to make it running.
    Maybe my configuration files are wrong. I attached them to the thread.
    I got following entries in log file, after run command insmod wacom.ko:
    Dec 28 16:02:05 linux kernel: [ 1888.245113] input: Wacom ISDv4 ED Pen as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input11
    Dec 28 16:02:05 linux kernel: [ 1888.248276] input: Wacom ISDv4 ED Finger as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.1/input/input12
    Dec 28 16:02:05 linux kernel: [ 1888.249296] usbcore: registered new interface driver wacom
    Dec 28 16:02:05 linux kernel: [ 1888.249305] wacom: v1.53:USB Wacom tablet driver
    Dec 28 16:02:05 linux udevd[6029]: failed to execute '/lib/udev/check_driver' 'check_driver wacom /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input11/event11 usb': No such file or directory
    Dec 28 16:02:05 linux udevd[6030]: failed to execute '/lib/udev/check_driver' 'check_driver wacom /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.1/input/input12/event12 usb': No such file or directory

     
  • Favux
    Favux
    2011-12-28

    Good! It looks like you have it working now.

    Did you copy the newly compiled wacom.ko into your current kernel's modules directory? The location is in the tail end of the compile output and the command is usually, from the input-wacom folder:
    sudo cp ./2.6.38/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko

    The check_driver in the error is a little program called in the wacom.rules file in /lib/udev/rules.d that checks if something else tried to bind to the Wacom event(s) and if so rebind it to the Wacom driver. It is actually probably a legacy thing and no longer really needed.

     
  • Piotr
    Piotr
    2011-12-28

    Yes, it works, thank you very much for your help :)

    Yes, I copied it to suitable directory after successful compilation.

     
  • Favux
    Favux
    2011-12-28

    Outstanding!

    After you test it for a while, calibration etc., could you report back if things are good? That way I can prepare some patches to submit to add the ED to the drivers. That would be appreciated.

     
  • Piotr
    Piotr
    2012-01-05

    I tested it for a while and it seems to work correctly.
    You can add patches to this device.

    Thank you once again for your support.

     
  • Papp  Laszlo
    Papp Laszlo
    2012-05-10

    Hey! Facing the issue!

    I have tried the wacom linux drivers from git, but I did not get the situation sorted out for the same toughbook model.

    What am I doing wrong ? The original reporter did not get a reply in the end. Was this patch "forgotten" for integration ? Could you please clarify ?

    I would need a working touchscreen as soon as possible with the same device. What is the way now ? Thank you in advance!

     
  • Piotr
    Piotr
    2012-05-10

    Hello djszapi,

    I managed to run only the digitizer, the touchscreen doesn't work unfortunately. If I will have time, I will try to solve it once again.
    If you will add the changes to the source code, which are mentioned in this thread, the digitizer should work.

     
1 2 > >> (Page 1 of 2)