openSUSE 11.4 and njytouch touch screen - Problems

No :frowning: Well, I get a

S
open failed

lsusb gives me a “Bus 003 Device 005: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen” however… I don’t understand how it on the one hand detects it properly and on the other does not.

Hi
Because they are two different things, the touchscreen device connected
via USB (the tkusb driver) and then the rest of the elctronics
implementation and code from njytouch.

Hmm ok, there are other commands in the diag and driver bin
directories.

–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.7-desktop
up 2 days 7:48, 4 users, load average: 0.34, 0.24, 0.17
GPU GeForce 8600 GTS Silent - Driver Version: 280.13

Hi Malcolm,
I was thinking that maybe the USB driver might not be installed properly so I tried to manually build the tkusb driver from the eGalax directory, just in case. While the setup file had not produced any errors, the manual build process ran into some problems. First it complained about semaphore.h not found, so I changed the directory from asm/semaphore.h to linux/semaphore.h. But now I get the following error:

make -C /lib/modules/2.6.37.6-0.7-desktop/build SUBDIRS=/tmp/eGalaxTouch64/USBSrc modules
make[1]: Entering directory `/usr/src/linux-2.6.37.6-0.7-obj/x86_64/desktop'
make -C ../../../linux-2.6.37.6-0.7 O=/usr/src/linux-2.6.37.6-0.7-obj/x86_64/desktop/. modules
  CC [M]  /tmp/eGalaxTouch64/USBSrc/tkusb.o
/tmp/eGalaxTouch64/USBSrc/tkusb.c: In function ‘DoSendData’:
/tmp/eGalaxTouch64/USBSrc/tkusb.c:47:22: warning: passing argument 7 of ‘usb_fill_control_urb’ from incompatible pointer type
/usr/src/linux-2.6.37.6-0.7/include/linux/usb.h:1237:20: note: expected ‘usb_complete_t’ but argument is of type ‘void (*)(struct urb *, struct pt_regs *)’
/tmp/eGalaxTouch64/USBSrc/tkusb.c: In function ‘irq_tscreen’:
/tmp/eGalaxTouch64/USBSrc/tkusb.c:146:13: warning: passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
/usr/src/linux-2.6.37.6-0.7/include/linux/usb.h:1309:20: note: expected ‘usb_complete_t’ but argument is of type ‘void (*)(struct urb *, struct pt_regs *)’
/tmp/eGalaxTouch64/USBSrc/tkusb.c: In function ‘lauch_int_read’:
/tmp/eGalaxTouch64/USBSrc/tkusb.c:180:23: warning: passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
/usr/src/linux-2.6.37.6-0.7/include/linux/usb.h:1309:20: note: expected ‘usb_complete_t’ but argument is of type ‘void (*)(struct urb *, struct pt_regs *)’
/tmp/eGalaxTouch64/USBSrc/tkusb.c: In function ‘probe_tscreen’:
/tmp/eGalaxTouch64/USBSrc/tkusb.c:681:5: error: implicit declaration of function ‘init_MUTEX’
make[4]: *** [/tmp/eGalaxTouch64/USBSrc/tkusb.o] Error 1
make[3]: *** [_module_/tmp/eGalaxTouch64/USBSrc] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37.6-0.7-obj/x86_64/desktop'
make: *** [all] Error 2

I have a feeling that without a USB driver none of the other diag programs will work, correct? :slight_smile: I’ll post the tkusb.o file in SUSE Paste

Thanks for all your help!

Hi
So this is the error, you will need to fix the ownership of tkusb.c if it’s not writeable.


You need to change line 681 to;

sema_init( &scr->scrSem,1 );

and line 822 to;

sema_init( &disconnect_sem,1 );

Hi Malcolm,
even though I was now able to build the tkusb.ko module, and I used the instructions to have the kernelmodule loaded and the usbtouch module removed and all that, it did not do anything. I still get the same dmesg output, the PanelInfo does not work.

Curious thing: the eGalax installer reports that a HID USB connector was found, but when I run the application it states that no controller was found.

I looked at the njy usb tkusb.c file hoping that the fix might also work there, but it looks completely different from the eGalax one.

Hi
Which application, the eGalax one?

–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.7-desktop
up 2 days 22:07, 8 users, load average: 0.17, 0.27, 0.29
GPU GeForce 8600 GTS Silent - Driver Version: 280.13

Yeah, the eGalax one (eGalax/Tool/Utility_FC4), but also the other diag tool did not work (njy /touchkit/diag/PanelInfo) :frowning:

Hi
Did you restart the system before running the eGalax one?

–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.7-desktop
up 3 days 3:34, 4 users, load average: 0.17, 0.11, 0.13
GPU GeForce 8600 GTS Silent - Driver Version: 280.13

Hey Malcolm,
yes I did, and I also tried the installation routine (setup.sh), and rebooted again. I also checked if the kernel module was loaded. Everything seems to be OK - except that it does not work with my controller. I am just wondering if they changed some bits or flags or so that make it incompatible?

Hi
Hmmm, now I can’t remember if there was something to do for my eGalax.
I will dig it out tomorrow and build the driver on my netbook to see if
it comes up.

–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.7-desktop
up 3 days 5:30, 5 users, load average: 0.41, 0.24, 0.18
GPU GeForce 8600 GTS Silent - Driver Version: 280.13

Thanks so much!

Hi
OK, so with SLED 11 SP1 and the eGalax driver it works fine. For
openSUSE 11.4 and 12.1 the screen works, however it is rotated
90degrees out :frowning: So for me this is a bug that I probably need to raise.

The eGalax driver stops it working, so this probably needs to be raised
with the egalax folks since I think their driver is only good for up
to openSUSE11.3.

In your case I have asked one of the Kernel maintainers to
see if those initial errors in your first post are quirks and need to
add to the quirks.c file (Have a look in the Tumbleweed subforum for my
post).

Can you provide more info on the model/size of your device? Mine is
just a 7" 1024x768.

Can you try with a 12.1 live cd? You can download from here;

–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.7-desktop
up 3 days 23:05, 4 users, load average: 0.01, 0.10, 0.18
GPU GeForce 8600 GTS Silent - Driver Version: 280.13

Hi Malcolm,
I have a 19" model, I am not sure about the exact resolution, but I will try to find out. I will also download the 12.1 CD and see what happens. I have tried before with an Ubuntu CD where I got the same error. I will keep you posted. I have also subscribed to your tumbleweed thread.

Thanks for all your help!

Hi Malcolm,
if you’re asking about my display resolution, it’s 1280x1024 tough that should not really matter, should it?

I tried the 12.1 live CD and got the same error, although the dmesg output looked a little different cosmetically:

  165.459048] usb 2-3: new low speed USB device number 4 using ohci_hcd
  165.649070] usb 2-3: New USB device found, idVendor=0eef, idProduct=0001
  165.649076] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
  165.649080] usb 2-3: Product: \xffffffd0\xffffff89\xffffff89
  165.649082] usb 2-3: Manufacturer: \xffffffd0\xffffff89\xffffff89
  165.670084] generic-usb: probe of 0003:0EEF:0001.0004 failed with error -32

and

Bus 002 Device 004: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0eef D-WAV Scientific Co., Ltd
  idProduct          0x0001 eGalax TouchScreen
  bcdDevice            1.00
  iManufacturer           1 ?
  iProduct                2 ?
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 ?
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               44mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.12
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     141
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)

This probably means much more to you than to me… I don’t know what to do next. I guess I’ll just wait if we hear back from Greg KH or anybody else who might know.

Hi
No, more out on interest should be fun to work with :wink:

Yes, I believe it’s a bug, so really need to wait.

So every thing else works ok on your system, just not the touchscreen?

–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.7-desktop
up 4 days 23:41, 7 users, load average: 0.31, 0.31, 0.43
GPU GeForce 8600 GTS Silent - Driver Version: 280.13

Hehe. Interest is a wonderful thing, that’s why I haven’t given up but want to figure out where the problem is :slight_smile: BTW, the way the community works and the great help from guys like you makes me very proud to be a Linux user!

So, yes, other than the touchscreen my system works fine. I really like what I saw of 12.1 so far - can’t wait for it to come out!

Hi
OK I’ve sent an email to the list as suggested by gregkh, you can see
an archive here; MARC: Mailing list ARChives

–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.7-desktop
up 5 days 19:14, 4 users, load average: 0.02, 0.08, 0.12
GPU GeForce 8600 GTS Silent - Driver Version: 280.13

Thank you, I will keep my eyes open and check the mailing list.

Hi
OK, did you see the post on the mailing list?

Open your browser and open this file;
file:///usr/src/linux-2.6.37.6-0.7/Documentation/usb/usbmon.txt

debugfs should already be mounted, just need to modprobe usbmon.

This then needs to be sent to the thread in the mailing list…

–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.7-desktop
up 6 days 16:37, 3 users, load average: 0.17, 0.16, 0.14
GPU GeForce 8600 GTS Silent - Driver Version: 280.13

Hi Malcolm,
I created the output, see SUSE Paste. I’ll also send an email to the list. I hope the output is long enough I am not sure how much they need since it’s all numbers to me :slight_smile:
Thanks!