Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 11
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Need calibration numbers for Genius G-Pen 560

    I've got the driver installed but the cursor's all over the place. For some reason the included calibration utility in the Wizardpen driver just doesn't want to work for me.

    So if anyone has the calibration numbers for the Genius G-Pen 560 for the xorg.conf file, I'd be most appreciative.

    I'm running Ubuntu Feisty.

  2. #2

    The problem with G-PEN 560 is not with calibration tool, but with kernel driver.

    By default this tables works exactly as mouse: provide ONLY relative coordinates and no info about pressure.

    After I try to use tablet with windows drivers in vmware - all become fine. I tryed to use it with usbhid driver - all works perfectly except for buttons - them doesn't work at all. Then I watch data it sends with an slightly modified acecad tablet driver - in message with lenght 8 bytes it send s all what we need - absolute coordinates, pressure, button states.

    After reboot tablet continues to work fine, but after disconnecting it - it becomes to send relative coordinates. So I think windows drivers loads some firmware in it before using, because usb configuration but be reset after rediscovering usb devices on reboot.

  3. #3
    Okay, let me be entirely certain before I try to screw up my system by trying to fix it (again; that's not a slur on the advice I was given so much as a testament to my "madd skillz" ), let me make sure I've got the proper prescription: VMWare Player running Windows and the tablet drivers installed there. Will the Player-based Windows properly process the data I need into the Linux-based GIMP and other programs, or do I have to install WinGIMP and the like into the Player as well?

  4. $spacer_open
  5. #4
    no, you should first unload usbhid module, then start vmware and connect to it your tablet. After tablet initialization in windows your can shut down vmware, load driver usbhid and use tablet in linux applications (see instructions on - WizardPen Driver)

    Or you can try following program
    It just sends one setup packet to device, but after it tablet sends absolute coordinates and pressure.
    The action for initializing tablet are almost the same as with vmware:
    1. unload usbhid
    2. run ./init-gpen
    3. load usbhid

    Please, reply how it will work.

  6. #5
    OK, I extracted the tarball you linked to, and here's what I get when I attempt to make:

    dyankee23@cynosure:~/init-gpen$ make
    gcc -lusb -o init-gpen init-gpen.c
    init-gpen.c:2:17: error: usb.h: No such file or directory
    init-gpen.c: In function ‘find_tablet’:
    init-gpen.c:15: error: ‘usb_busses’ undeclared (first use in this function)
    init-gpen.c:15: error: (Each undeclared identifier is reported only once
    init-gpen.c:15: error: for each function it appears in.)
    init-gpen.c:15: error: dereferencing pointer to incomplete type
    init-gpen.c:16: error: dereferencing pointer to incomplete type
    init-gpen.c:16: error: dereferencing pointer to incomplete type
    init-gpen.c:17: error: dereferencing pointer to incomplete type
    init-gpen.c:18: error: dereferencing pointer to incomplete type
    init-gpen.c:18: error: dereferencing pointer to incomplete type
    init-gpen.c: In function ‘main’:
    init-gpen.c:56: warning: assignment makes pointer from integer without a cast
    make: *** [init-gpen] Error 1
    I'm sorry if I'm missing something basic here. I already tried reading the man page and can't figure out what I'm doing wrong.

  7. #6
    You have not libusb headers in your system. You have to install libusb development libraries and headers before building applications, which use libusb (libusb-devel for redhat, fedora, centos)

  8. #7
    OK, got libusb and related files, and make made with the making.

    So here's how it went down, step by step:

    Command: (In home folder) modprobe -r usbhid
    Effect: Blinking light on tablet currently plugged into my front USB port goes out.

    Command: (after changing directory to init-gpen) ./init-gpen
    Effect: Message returns "1 byte sent" or words to that effect. I'm away from my own computer right now.

    Command: (after changing directory back to home) modprobe usbhid
    Effect: Blinking light returns to the tablet, but now computer ignores all tablet input, instead of the simple lack of pressure sensitivity it displayed before.

  9. #8
    I was hope it works not only for me . There was one bug in that code (I'm new in usb programming ), if you want, you can check fixed version:
    In case of success program will report
    hex init-gpen # ./init-gpen
    3 bytes: 02 10 01

    Please, note that wizardpen driver for xorg doesn't handle correctly device plug/unplug and driver manipulations. Try to restart X-server.

    You can still try to use tablet driver in windows in vmware and then go back to linux and try to use it.

    Does your tablet report relative or absolute coordinates by default ?

  10. #9
    Have you interested in wizardpen-driver driver as yet? I've made some changes in init-gpen utility. Now it's possible to reinitialize G-Pen even it's busy (usually attached to usbhid). Look at this patch:

    diff -ur init-gpen-0.01/init-gpen.c
    --- init-gpen-0.01/init-gpen.c	2007-09-06 13:12:31.000000000 +0400
    +++	2008-04-29 02:35:45.000000000 +0400
    @@ -1,6 +1,9 @@
     #include <stdio.h>
     #include <usb.h>
     #include <string.h>
    +#include <errno.h>
    +#include <sys/ioctl.h>
    +#include <linux/usbdevice_fs.h>
     #define VID_KYE 0x0458
     #define PID_GPEN 0x5003
    @@ -37,6 +40,25 @@
    +/* thanks to OpenPCD team */
    +int usb_get_fd(usb_dev_handle *uh)
    +    return *((int *)uh);
    +int __usb_reattach_kernel_driver_np(usb_dev_handle *dev, int interface)
    +    struct usbdevfs_ioctl command;
    +    command.ifno = interface;
    +    command.ioctl_code = USBDEVFS_CONNECT;
    + = NULL;
    +    return ioctl(usb_get_fd(dev), USBDEVFS_IOCTL, &command);
     int main(int argc, char **argv)
     	struct usb_device *gpen;
    @@ -56,6 +78,14 @@
     	h = usb_open(gpen);
    +        if(usb_detach_kernel_driver_np(h, 0) < 0) {
    +		printf("Can't detach a kernel driver from interface\n");
    +		usb_close(h);
    +		return 2;
    +        }
     	if(usb_claim_interface(h, 0) < 0) {
     		printf("Can't claim interface on usb device. Possibly device is busy\n");
    @@ -67,6 +97,11 @@
     	print_bytes(buf, n);
     	usb_release_interface(h, 0);
    +        __usb_reattach_kernel_driver_np(h, 0);

  11. #10
    Thanks, but I've found that this tablet works fine with aiptek kernel driver, and patch already commited - linux/kernel/git/aegl/linux-2.6.git/commit

    So in 2.6.26 it will work in absolute mode by default.

    There is another problem with it: xorg driver wizardpen doesn't work with xorg-7.3, I've fixed some issues and merged several patches from acecad dirver. You can get it from git repository Index of /stuff/xf86-input-wizardpen.git
    # git-clone

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts