Handling NextWindow Touchscreen (multitouch) via the nwfermi (proprietary) driver

Bug #379313 reported by Jamie Lennox
154
This bug affects 22 people
Affects Status Importance Assigned to Milestone
nwfermi
Won't Fix
Undecided
Unassigned
xorg (Ubuntu)
Won't Fix
Wishlist
Unassigned
Declined for Maverick by Bryce Harrington

Bug Description

Binary package hint: xserver-xorg-input-evdev

Ubuntu 9.04/8.10 and probably other.

The NextWindow touch screen is used on the HP TouchSmart systems however doesn't work out of the box on 8.10 or 9.04.

Firstly it is allocated to a synaptic touchpad driver initially which is wrong, but can be overcome with the appropriate HAL fdi to change to evdev.

Secondly (and this is a most likely a problem of either the hardware or X), it reports X, Y values using ABS_RX, ABS_Z rather than the expected ABS_X, ABS_Y. The evtouch driver will work because it accepts these as alternatives.

Lastly, because the system is multi-touch aware it reports to the xserver that it has buttons. This causes it to be misclassified by evdev as a touchpad rather than a touchscreen.

The following patch fixes the problem for me but is obviously not a general solution. This is against packaged version 1:2.1.1-1ubuntu4:

--- src/evdev.c.orig 2010-05-22 16:08:14.000000000 +1000
+++ src/evdev.c 2009-05-22 16:09:30.000000000 +1000
@@ -382,10 +382,12 @@

  case EV_ABS:
      switch (ev.code) {
+ case ABS_Z:
      case ABS_X:
   pEvdev->abs_x = value;
   abs = 1;
   break;
+ case ABS_RX:
      case ABS_Y:
   pEvdev->abs_y = value;
   abs = 1;
@@ -1368,11 +1370,11 @@
         xf86Msg(X_INFO, "%s: Found x and y absolute axes\n", pInfo->name);
  pEvdev->flags |= EVDEV_ABSOLUTE_EVENTS;
  if (TestBit(BTN_TOUCH, key_bitmask)) {
- if (num_buttons) {
+/* if (num_buttons) {
                 xf86Msg(X_INFO, "%s: Found absolute touchpad\n", pInfo->name);
                 pEvdev->flags |= EVDEV_TOUCHPAD;
                 pEvdev->old_x = pEvdev->old_y = -1;
- } else {
+ } else */ {
                 xf86Msg(X_INFO, "%s: Found absolute touchscreen\n", pInfo->name);
                 pEvdev->flags |= EVDEV_TOUCHSCREEN;
                 pEvdev->flags |= EVDEV_BUTTON_EVENTS;

ProblemType: Bug
Architecture: amd64
DistroRelease: Ubuntu 9.04
NonfreeKernelModules: nvidia
Package: xserver-xorg-input-evdev 1:2.1.1-1ubuntu4 [modified: usr/lib/xorg/modules/input/evdev_drv.so]
ProcEnviron:
 LANG=en_AU.UTF-8
 SHELL=/bin/bash
ProcVersion: Linux version 2.6.28-11-generic (buildd@crested) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #42-Ubuntu SMP Fri Apr 17 01:58:03 UTC 2009
SourcePackage: xserver-xorg-input-evdev
Uname: Linux 2.6.28-11-generic x86_64

Revision history for this message
Jamie Lennox (jamielennox) wrote :
Revision history for this message
komputes (komputes) wrote :

We can confirm this with HP TouchSmart dx9000 which has the unnamed touchscreen device on the USB bus as ID "1926:0003". This touchscreen does not work out of the box. I figure "1926:0003" is the touchscreen since it shows up in dmesg as NextWindow Touchscreen:

[ 7.762373] usbcore: registered new interface driver hiddev
[ 7.767059] input: NextWindow Touchscreen as /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/input/input3
[ 7.769073] generic-usb 0003:1926:0003.0001: input,hidraw0: USB HID v1.00 Keyboard [NextWindow Touchscreen] on usb-0000:00:1d.0-1/input0
[ 7.771743] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:23/input/input4
[ 7.776112] generic-usb 0003:1926:0003.0002: hiddev96,hidraw1: USB HID v1.00 Device [NextWindow Touchscreen] on usb-0000:00:1d.0-1/input1
[ 7.777120] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
[ 7.780169] input: NextWindow Touchscreen as /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.2/input/input5
[ 7.784108] generic-usb 0003:1926:0003.0003: input,hiddev97,hidraw2: USB HID v1.00 Mouse [NextWindow Touchscreen] on usb-0000:00:1d.0-1/input2

Jamie can you please confirm that
1) You have "1926:0003" as a device in your lsusb output (just making sure we have the same touchscreen)
2) Having xserver-xorg-input-evdev and xserver-xorg-input-evtouch allows you to use the touchscreen (regardless of the orientation issue)

Also, besides confirming these can you attach you dmesg and lsusb output.

Once complete, I will confirm this. Thanks!

Side note: USB ID should be named properly as "NextWindow Touchscreen" in the Linux USB ID database.

Changed in xserver-xorg-input-evdev (Ubuntu):
status: New → Incomplete
Revision history for this message
komputes (komputes) wrote :
Revision history for this message
komputes (komputes) wrote :
Revision history for this message
komputes (komputes) wrote :
Revision history for this message
Jamie Lennox (jamielennox) wrote :

1926:003 is a device

Revision history for this message
Jamie Lennox (jamielennox) wrote :

/proc/bus/input/devices confirms that the device registers as NextWindow Touchscreen

Revision history for this message
Jamie Lennox (jamielennox) wrote :

dmesg (though older attached above)

Revision history for this message
Jamie Lennox (jamielennox) wrote :

I can confirm on hardy (haven't tried on jaunty) that evdev and evtouch can cooperate however the 11-x11-synaptics.fdi is assumed to be the driver.

I've also been using a different touchscreen on a different machine and used the same technique to fix it (see patch), so i was thinking that perhaps this was a kernel reporting issue as again the axis were incorrectly reported and synaptics then touchpad was assumed.

The current patch i'm using is attached which fixes at least the NextWindow, the eGalax is the other device though the egalax uses different axis again and requires xinput config to use.

Anything else i can do let me know.

Revision history for this message
komputes (komputes) wrote :

Thank you for your prompt response Jamie.

I have subscribed Bryce Harington, who can hopefully share his knowledge and shed some light on this bug.

Bryce, please let either Jamie or I know if anything else is needed to move this forward.

Changed in xserver-xorg-input-evdev (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
komputes (komputes) wrote :

Thank you for your prompt response Jamie.

I have subscribed Bryce Harrington, who can hopefully share his knowledge and shed some light on this bug.

Bryce, please let either Jamie or I know if anything else is needed to move this forward.

Bryce Harrington (bryce)
tags: added: jaunty
Revision history for this message
Petteri Hirvonen (pete-sciwi) wrote :

I've got the same kind of issue in jaunty. I have an open frame lcd touchscreen which identifies as "nextwindow touchscreen", it has got the same id 1926:0003 in lsusb without a name. I guess it is manyfactured by chi lin tech.
http://www.chilintech.com.tw/index.asp?le=english
What can i do to make it work, how to use the patch?

Revision history for this message
Petteri Hirvonen (pete-sciwi) wrote :

I just installed karmic, same issue..

Revision history for this message
akoutsoulelos (akoutsoulelos) wrote :

I've just installed 9.10 on the new HP Touchsmart 600-1050, facing the same problem, though the touchscreen is pointed as "1926:0006" on bus 003 device 004 (usb). Also no input is connected to the device and no device is created.

I also tried newer kernel (2.6.32.2) but with no success...

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Please try with a lucid livecd.

Changed in xserver-xorg-input-evdev (Ubuntu):
status: Confirmed → Incomplete
importance: Undecided → Medium
Revision history for this message
Lance R. Vick (lrvick) wrote :

Also can confirm akoutsoulelos post on my HP Touchsmart 600-1050.

Will try lucid livecd soon...

Revision history for this message
Lance R. Vick (lrvick) wrote :

Writing this from a lucid livecd.

Only thing dmesg had to say was:

[ 7.155279] generic-usb 0003:1926:0006.0003: hiddev97,hidraw2: USB HID v1.11 Device [NextWindow Touchscreen] on usb-0000:00:04.0-7/input1

Sadly touch is not working and catting /dev/input/event1 gives me no output.

I will go ahead and dump everything in case someone sees something I do not.

Revision history for this message
Lance R. Vick (lrvick) wrote :
Revision history for this message
Lance R. Vick (lrvick) wrote :
Revision history for this message
Lance R. Vick (lrvick) wrote :
Revision history for this message
Lance R. Vick (lrvick) wrote :
Revision history for this message
Lance R. Vick (lrvick) wrote :
Revision history for this message
Lance R. Vick (lrvick) wrote :
Revision history for this message
Lance R. Vick (lrvick) wrote :
Revision history for this message
Lance R. Vick (lrvick) wrote :
Revision history for this message
Ignacio Huerta (iox8) wrote :

I have a Dell Inspiron One Touch with Nextwindow Touchscreen. Sadly, I believe it is a different model as lsusb reports:

Bus 002 Device 002: ID 1926:007a

I have managed to make it appear in /dev/input/event6 with the commands:

sudo modprobe usbtouchscreen
sudo sh -c "echo 1926 007a > /sys/bus/usb/drivers/usbtouchscreen/new_id"

After that, I've tried evtest:

evtest /dev/input/event6

But the screen is sending no input when I touch it. I'm not sure if my problem is from xserver-xorg-input-evdev package, or maybe usbtouchscreen module. Any idea?

Revision history for this message
Lance R. Vick (lrvick) wrote :

Update:

I poked around in a set of vanilla 2.6.33-rc4 kernel sources and found that the ONLY NextWindow device listed in drivers/hid/usb-hids.c is 1926:0003. I swapped that to 1926:0006, recompiled, then ran:

sudo sh -c "echo 1926 0006 > /sys/bus/usb/drivers/usbtouchscreen/new_id"

And I get an event6 that I can actually cat output from on touch, which is a start!

Revision history for this message
Lance R. Vick (lrvick) wrote :

Just ran evtest.

Spams random values so fast it is hard to tell it is even responding to touch... but... it stops after a while when i stop touching it, and starts up again the instant i touch it ;-)

The values are all over the place from 1 to 1071 for x and 200 to 600 for y though.

Though the "Touch" events do indeed start and stop based on me touching or not touching, they do not seem to have anything to do with _where_ I touch and seem almost totally random.

Revision history for this message
Liam Manderson (liam-icb) wrote :

Similar to Lance, using the I managed to get my touchscreen running as event7 and I can cat output, but when I run evtest on it, it reacts to my touching the screen, but the output values seem random. I remember reading (addmitedly for an earlier model nextwindow touchscreen) that some patching of evtouch was necessary to deal with its multitouch input.

Has there been any movement on this issue?

Revision history for this message
Liam Manderson (liam-icb) wrote :

Since my last post I have been trying out the ubuntu 10.04 alpha3 live cd (on my hp touchsmart 600-1050). Once again by running:

sudo sh -c "echo 1926 0006 > /sys/bus/usb/drivers/usbtouchscreen/new_id"

I get the touchscreen registering as event7 and I can get output via cat and evtest. Unlike in 9.10, the when I touch the screen it does trigger cursor movement and clicks but once again they seem to be more or less random. The only pattern being that it starts and stops when I touch the screen.

Revision history for this message
Ignacio Huerta (iox8) wrote :

Update:

After exchanging a few emails with NextWindow support, they finally sent me a driver, a "prototype written for ubuntu". I'm attaching the file they sent me. I don't have much information about it, but it works great with Ubuntu Karmic i386! These are the steps I took:

- Install Ubuntu 9.10 i386.

- Install the driver (nwfermi-0.1_i383.deb)

- Install some extra software: joystick (for testing) and xserver-xorg-input-evtouch.

- Load the module:
     sudo modprobe nw-fermi

- Activate the input device:
     sudo sh -c "echo 1926 007a > /sys/bus/usb/drivers/nwfermi/new_id"

- After this, the device "/dev/input/event6" is working. Testing:
     sudo evtest /dev/input/event6

- Restart Xorg (restart the session)

Moreover, I tweaked to work after reboot:

- Add "nw-fermi" to /etc/modules

- Add boot script to /etc/rc.local
        sh -c "echo 1926 007a > /sys/bus/usb/drivers/nwfermi/new_id"

I hope this works for someone, I had never seen "nw-fermi" before. If it's new code, we should probably ask NextWindow to release the code.

Revision history for this message
HolySmoke (7-admin-localhorst-tv) wrote :

I can confirm that these exact steps do work for the NextWindow 0x007a (as built into the Dell Inspiron One) in a current Jaunty build.

Big thanks to iox

Revision history for this message
Ignacio Huerta (iox8) wrote :

You are welcome!

I just wrote to NextWindow confirming their prototype driver is working on 1926:007a, and asking them to release the code/info. Let's see what happens :).

Revision history for this message
Ignacio Huerta (iox8) wrote :

NextWindow's answer: "the code will contain some very highly sensitive intellectual property". So they are not planning to release the code. That's bad news :(.

Well, maybe someone can use the closed source driver to code an open one. What I'm gonna do right now is to give them some ideas about software patents. I invite anyone to copy-paste http://www.gnu.org/philosophy/fighting-software-patents.html and send it to <email address hidden>. Share the code!

Revision history for this message
djp (djpnewton) wrote :

Hi guys,

I just want to clarify for everyone that there are two classes of Nextwindow Touchscreens here.

1) 1900 Model, usb id: 1926:0003

  These touchscreens have a standard mouse and digitizer HID data supplied from the device and can be used with evdev or evtouch drivers.

2) 1950 Model, usb ids 1926:0006,~0060-0099

  There are a bunch of different hardware ids in this class (above is a rough range). These touchscreens are kinda like the winmodems of the touchscreen world (hence the need for nwfermi).

Let me know if you have any questions.

Cheers

Dan

Revision history for this message
robireland (rob-robscreative) wrote :

Hi Dan,
How do I get the touchscreen working on my touchsmart 300-1000 which is showing up as 1926:0006

cheers
rob

Revision history for this message
djp (djpnewton) wrote :

Hi Rob,

all you should need to do is install the nwfermi package attached to message #31 of this bug.

After that it should work (you might need to reboot, or insmod the driver and restart X)

If you have a 1950 device that isnt 1926:0006 you will have to follow the other instructions in message #31 (adding the hardware ID to /sys/bus/usb/drivers/nwfermi/new_id)

Revision history for this message
robireland (rob-robscreative) wrote :

Thanks for the quick reply, Dan.

I tried the different installs, and I get the same thing regardless. It works for anything from a couple of seconds to a couple of minutes. Then the mouse buttons stop working and a few seconds later machine just stops dead and won't accept any input from anything forcing me to do a hard reboot.

Revision history for this message
Ignacio Huerta (iox8) wrote :

Looks like a problem with nwfermi :(. You could try writing to NextWindow to see if they send you a better driver: <email address hidden>

Revision history for this message
djp (djpnewton) wrote : Re: [Bug 379313] Re: Handling NextWindow Touchscreen (multitouch)
Download full text (3.5 KiB)

Hmm there is probably a bug with one of the driver locks (if anyone wants to
help review the code the source to the kernel module is included with the
nwfermi package)

What kernel are you using?

On Tue, Apr 6, 2010 at 1:11 PM, robireland <email address hidden> wrote:

> Thanks for the quick reply, Dan.
>
> I tried the different installs, and I get the same thing regardless. It
> works for anything from a couple of seconds to a couple of minutes.
> Then the mouse buttons stop working and a few seconds later machine just
> stops dead and won't accept any input from anything forcing me to do a
> hard reboot.
>
> --
> Handling NextWindow Touchscreen (multitouch)
> https://bugs.launchpad.net/bugs/379313
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in “xserver-xorg-input-evdev” package in Ubuntu: Incomplete
>
> Bug description:
> Binary package hint: xserver-xorg-input-evdev
>
> Ubuntu 9.04/8.10 and probably other.
>
> The NextWindow touch screen is used on the HP TouchSmart systems however
> doesn't work out of the box on 8.10 or 9.04.
>
> Firstly it is allocated to a synaptic touchpad driver initially which is
> wrong, but can be overcome with the appropriate HAL fdi to change to evdev.
>
> Secondly (and this is a most likely a problem of either the hardware or X),
> it reports X, Y values using ABS_RX, ABS_Z rather than the expected ABS_X,
> ABS_Y. The evtouch driver will work because it accepts these as
> alternatives.
>
> Lastly, because the system is multi-touch aware it reports to the xserver
> that it has buttons. This causes it to be misclassified by evdev as a
> touchpad rather than a touchscreen.
>
> The following patch fixes the problem for me but is obviously not a general
> solution. This is against packaged version 1:2.1.1-1ubuntu4:
>
> --- src/evdev.c.orig 2010-05-22 16:08:14.000000000 +1000
> +++ src/evdev.c 2009-05-22 16:09:30.000000000 +1000
> @@ -382,10 +382,12 @@
>
> case EV_ABS:
> switch (ev.code) {
> + case ABS_Z:
> case ABS_X:
> pEvdev->abs_x = value;
> abs = 1;
> break;
> + case ABS_RX:
> case ABS_Y:
> pEvdev->abs_y = value;
> abs = 1;
> @@ -1368,11 +1370,11 @@
> xf86Msg(X_INFO, "%s: Found x and y absolute axes\n", pInfo->name);
> pEvdev->flags |= EVDEV_ABSOLUTE_EVENTS;
> if (TestBit(BTN_TOUCH, key_bitmask)) {
> - if (num_buttons) {
> +/* if (num_buttons) {
> xf86Msg(X_INFO, "%s: Found absolute touchpad\n",
> pInfo->name);
> pEvdev->flags |= EVDEV_TOUCHPAD;
> pEvdev->old_x = pEvdev->old_y = -1;
> - } else {
> + } else */ {
> xf86Msg(X_INFO, "%s: Found absolute touchscreen\n",
> pInfo->name);
> pEvdev->flags |= EVDEV_TOUCHSCREEN;
> pEvdev->flags |= EVDEV_BUTTON_EVENTS;
>
> ProblemType: Bug
> Architecture: amd64
> DistroRelease: Ubuntu 9.04
> NonfreeKernelModules: nvidia
> Package: xserver-xorg-input-evdev 1:2.1.1-1ubuntu4 [modified:
> usr/lib/xorg/modules/input/evdev_drv.so]
>...

Read more...

Revision history for this message
robireland (rob-robscreative) wrote : Re: Handling NextWindow Touchscreen (multitouch)

hi iox, I've sent couple of emails over the past couple of weeks to no avail.

Dan, my current kernel is 2.6.31-20-generic-pae , and it did the same thing on the generic 20 and 14

thanks

Revision history for this message
djp (djpnewton) wrote :

Thanks Rob,

I have installed that kernel and I cannot reproduce the issue.

Are there any more details you can give me about your PC?

Revision history for this message
robireland (rob-robscreative) wrote :

Sure, I'll attach some outputs. I'm still a noob and trying to get my head around this stuff, so I haven't made much sense of it. It's tantalisingly great while it works. Wobbly windows is perfect for touch screen.

Revision history for this message
robireland (rob-robscreative) wrote :
Revision history for this message
robireland (rob-robscreative) wrote :
Revision history for this message
robireland (rob-robscreative) wrote :
Revision history for this message
robireland (rob-robscreative) wrote :

thanks again

Revision history for this message
robireland (rob-robscreative) wrote :

I'm not sure if that crash report was the correct one. I tried it again and a couple more appeared that seem different.

Revision history for this message
robireland (rob-robscreative) wrote :
Revision history for this message
Anisse Astier (anisse) wrote :

I ported nw-fermi to 2.6.33.2 in the attached patch; just a few kfifo API adjustments, and I put the 007a device by default.

For those using nw-fermi, did you calibrate the screen? Did you modify your xorg.conf?

Revision history for this message
Ignacio Huerta (iox8) wrote :

No, I didn't need to calibrate the screen or modify xorg.conf, it worked perfectly after the steps on #31.

tags: added: patch
Revision history for this message
robireland (rob-robscreative) wrote :

For the time that it does work, it works great. What I have found is that when I reboot, it works without crashing on the login screen. It crashes when I login and then touch the display. If I logout, it will then crash on the next login screen when I touch the display.

does anyone know how I can find out what devices I might be able to disable to find out whether there is a clash?

Revision history for this message
robireland (rob-robscreative) wrote :

My last comment is incorrect. It does stop working on the login screen, it just takes a lot longer for that to happen.
I've just found out that ubuntu doesn't crash but continues to work away. The power button works, but plugging in any usb device doesn't .

Revision history for this message
Kim Botherway (dj-dvant) wrote :
Download full text (3.8 KiB)

Does not work well at all on a 64 bit kernel:

Apr 12 22:05:59 kim-touch kernel: [ 1111.966242] BUG: scheduling while atomic: swapper/0/0x10010000
Apr 12 22:05:59 kim-touch kernel: [ 1111.966250] Modules linked in: nw_fermi nfs lockd nfs_acl auth_rpcgss sunrpc binfmt_misc ppdev snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm
snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi fbcon tileblit snd_seq_midi_event font bitblit softcursor edac_core snd_seq fglrx(P) vga16fb vgastate pl2303 video lp edac_mce_amd usbserial shpchp output snd_timer rt3090sta
(C) joydev i2c_piix4 snd_seq_device parport psmouse serio_raw uvcvideo videodev snd soundcore snd_page_alloc v4l1_compat usbhid v4l2_compat_ioctl32 hid lirc_mceusb lirc_dev usb_storage r8169 mii ahci
Apr 12 22:05:59 kim-touch kernel: [ 1111.966338] CPU 0:
Apr 12 22:05:59 kim-touch kernel: [ 1111.966342] Modules linked in: nw_fermi nfs lockd nfs_acl auth_rpcgss sunrpc binfmt_misc ppdev snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm
snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi fbcon tileblit snd_seq_midi_event font bitblit softcursor edac_core snd_seq fglrx(P) vga16fb vgastate pl2303 video lp edac_mce_amd usbserial shpchp output snd_timer rt3090sta
(C) joydev i2c_piix4 snd_seq_device parport psmouse serio_raw uvcvideo videodev snd soundcore snd_page_alloc v4l1_compat usbhid v4l2_compat_ioctl32 hid lirc_mceusb lirc_dev usb_storage r8169 mii ahci
Apr 12 22:05:59 kim-touch kernel: [ 1111.966422] Pid: 0, comm: swapper Tainted: P C 2.6.32-20-generic #29-Ubuntu NY758AA-ABG 300-1040a
Apr 12 22:05:59 kim-touch kernel: [ 1111.966427] RIP: 0010:[<ffffffff81038acb>] [<ffffffff81038acb>] native_safe_halt+0xb/0x10
Apr 12 22:05:59 kim-touch kernel: [ 1111.966445] RSP: 0018:ffffffff8178bea8 EFLAGS: 00000246
Apr 12 22:05:59 kim-touch kernel: [ 1111.966449] RAX: 0000000000000000 RBX: ffffffff8178bea8 RCX: 0000000000000000
Apr 12 22:05:59 kim-touch kernel: [ 1111.966455] RDX: ffffc90000000108 RSI: 0000000000000086 RDI: 0000000000000086
Apr 12 22:05:59 kim-touch kernel: [ 1111.966460] RBP: ffffffff81013b0e R08: ffffffff817b8740 R09: 0000000000000001
Apr 12 22:05:59 kim-touch kernel: [ 1111.966465] R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff810934c0
Apr 12 22:05:59 kim-touch kernel: [ 1111.966470] R13: ffffffff8178be48 R14: 0000000000000000 R15: 00000000ffffffff
Apr 12 22:05:59 kim-touch kernel: [ 1111.966476] FS: 00007faac4d31710(0000) GS:ffff880028200000(0000) knlGS:00000000f6c1db70
Apr 12 22:05:59 kim-touch kernel: [ 1111.966482] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
Apr 12 22:05:59 kim-touch kernel: [ 1111.966487] CR2: 000000000237f5ec CR3: 00000001003bc000 CR4: 00000000000006f0
Apr 12 22:05:59 kim-touch kernel: [ 1111.966492] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Apr 12 22:05:59 kim-touch kernel: [ 1111.966497] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Apr 12 22:05:59 kim-touch kernel: [ 1111.966502] Call Trace:
Apr 12 22:05:59 kim-touch kernel: [ 1111.966513] [<ffffffff81092c5c>] ? clockevents_notify+0x4c/0x160
Apr 12 22:05:59 kim...

Read more...

Revision history for this message
akoutsoulelos (akoutsoulelos) wrote :

I confirm the same issue with robireland on an 600-1050...

It seems that almost none driver is working, as the network (wired and wireless) is down also!

Revision history for this message
akoutsoulelos (akoutsoulelos) wrote :

I forgot: It's a new installation with 10.04 and no calibration was needed...

Revision history for this message
robireland (rob-robscreative) wrote :

I couldn't figure anything out and got disappointed that I couldn't use the functionality of the machine, so I put win7 back on. Tried ubuntu as guest in virtualbox, and it all works great. OK, so that's not the best answer for here, so I'll keep an ubuntu partition and keep trying.

Revision history for this message
akoutsoulelos (akoutsoulelos) wrote :

Don't give up...

It seems that the driver blocks the whole usb controller. The bad thing is that no input is possible when the driver is active, so it is not possible to find out why... I think that the input devices are in conflict somehow...

I didn't change my xorg.conf as after the first reboot it worked just fine, but for a couple of minutes before the input was lost...

My question is: if I install nw-fermi.deb will evtest show on what input device is connected to the touchscreen or a reboot is defently needed??

Revision history for this message
akoutsoulelos (akoutsoulelos) wrote :

OK, I did a more extended search.

I installed nw-fermi.deb and rebooted into recovery mode to check which input
event is assigned to the touchscreen using evtest. The results are:

Nor eth or wlan managed to start and the a usb stick I plugged did not even get power!!!

Seconds after getting into prompt the screen filled up with
  BUG: scheduling while atomic: swapper/0/0x100100000
sometimes (the time was not the same) I got
  BUG: scheduling while atomic: rsyslogd/917/0x10010000 or
  BUG: scheduling while atomic: rsyslogd/922/0x10010000
and the system freezed, propably a kernel panic.

I tried to get a dmesg and the results started after 100' and the same message was repeated:
  [ 100.656521]
  [ 100.656521] Pid: 0, comm: swapper Tainted: P C (2.6.32-21-generic-pae #32-Ubuntu) VN421AA-ABU 600-1050uk
  [ 100.656521] EIP: 0060:[<c03a799b>] EFLAGS: 00000282 CPU: 0
  [ 100.656521] EIP is at acpi_idle_enter_simple+0x117/0x148
  [ 100.656521] EAX: c0882b4c EBX: 000005c6 ECX: 00000017 EDX: 02d82000
  [ 100.656521] ESI: 00000000 EDI: f761944c EBP: c078df48 ESP: c078df28
  [ 100.656521] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
  [ 100.656521] CR0: 8005003b CR2: 097ee810 CR3: 32a88000 CR4: 000406f0
  [ 100.656521] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
  [ 100.656521] DR6: ffff0ff0 DR7: 00000400
  [ 100.656521] Call Trace:
  [ 100.656521] [<c03a76b1>] acpi_idle_enter_bm+0xc7/0x29a
  [ 100.656521] [<c04c359a>] cpuidle_idle_call+0x7a/0x100
  [ 100.656521] [<c0108634>] cpu_idle+0x94/0xd0
  [ 100.656521] [<c059dbf8>] rest_init+0x58/0x60
  [ 100.656521] [<c07e08fd>] start_kernel+0x351/0x357
  [ 100.656521] [<c07e03d8>] ? unknown_bootoption+0x0/0x19e
  [ 100.656521] [<c07e00bb>] i386_start_kernel+0xaa/0xb1
  [ 101.441533] BUG: scheduling while atomic: swapper/0/0x10010000
  [ 101.445522] Modules linked in: snd_hda_codec_realtek uvcvideo nw_fermi fbcon tileblit font bitblit softcursor joydev btusb bluetooth videodev v4l1_compat lirc_mceusb lirc_dev video output snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device psmouse serio_raw snd usblp nvidia(P) vga16fb vgastate rt3090sta(C) soundcore snd_page_alloc i2c_nforce2 agpgart lp parport usbhid hid usb_storage ahci forcedeth

Finally, I managed the a evtest and found out that the touchscreen is assigned to event5.

So I'll try creating a new xorg.conf to force touchscreen connect to event5.

The above patch is only for 2.6.33.2 kernel or not? I may try newer kernels to see if this bug insists...

Revision history for this message
Bryce Harrington (bryce) wrote :

[This is an automatic notification.]

Hi Jamie,

This bug was reported against an earlier version of Ubuntu, can you
test if it still occurs on Lucid?

Please note we also provide technical support for older versions of
Ubuntu, but not in the bug tracker. Instead, to raise the issue through
normal support channels, please see:

    http://www.ubuntu.com/support

If you are the original reporter and can still reproduce the issue on
Lucid, please run the following command to refresh the report:

  apport-collect 379313

If you are not the original reporter, please file a new bug report, so
we can work with you as the original reporter instead (you can reference
bug 379313 in your report if you think it may be related):

  ubuntu-bug xorg

If by chance you can no longer reproduce the issue on Lucid or if you
feel it is no longer relevant, please mark the bug report 'Fix Released'
or 'Invalid' as appropriate, at the following URL:

  https://bugs.launchpad.net/ubuntu/+bug/379313

Changed in xserver-xorg-input-evdev (Ubuntu):
status: Incomplete → New
status: New → Incomplete
tags: added: needs-retested-on-lucid-by-june
Revision history for this message
Jamie Lennox (jamielennox) wrote :
Download full text (3.8 KiB)

hey all,

just did a fresh install of lucid (32bit) and touch screen is working out of the box.

According to above message i should probably close it but not sure if i should as others are still having problems.

relevant dmesg:

[ 2.498018] input: NextWindow Touchscreen as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/input/input3
[ 2.498118] input: NextWindow Touchscreen as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/input/input4
[ 2.498170] generic-usb 0003:1926:0003.0001: input,hidraw0: USB HID v1.00 Keyboard [NextWindow Touchscreen] on usb-0000:00:1d.0-1/input0
[ 2.501024] generic-usb 0003:1926:0003.0002: hiddev96,hidraw1: USB HID v1.00 Device [NextWindow Touchscreen] on usb-0000:00:1d.0-1/input1
[ 2.509986] input: NextWindow Touchscreen as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.2/input/input5
[ 2.510107] input: NextWindow Touchscreen as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.2/input/input6
[ 2.510751] generic-usb 0003:1926:0003.0003: input,hiddev97,hidraw2: USB HID v1.00 Mouse [NextWindow Touchscreen] on usb-0000:00:1d.0-1/input2

relevant Xorg.log:
(II) config/udev: Adding input device NextWindow Touchscreen (/dev/input/event3)
(**) NextWindow Touchscreen: Applying InputClass "evdev keyboard catchall"
(**) NextWindow Touchscreen: always reports core events
(**) NextWindow Touchscreen: Device: "/dev/input/event3"
(II) NextWindow Touchscreen: Found keys
(II) NextWindow Touchscreen: Configuring as keyboard
(II) XINPUT: Adding extended input device "NextWindow Touchscreen" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "pc105"
(**) Option "xkb_layout" "us"
(II) config/udev: Adding input device NextWindow Touchscreen (/dev/input/event4)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device NextWindow Touchscreen (/dev/input/event5)
(**) NextWindow Touchscreen: Applying InputClass "evdev pointer catchall"
(**) NextWindow Touchscreen: always reports core events
(**) NextWindow Touchscreen: Device: "/dev/input/event5"
(II) NextWindow Touchscreen: Found 3 mouse buttons
(II) NextWindow Touchscreen: Found scroll wheel(s)
(II) NextWindow Touchscreen: Found relative axes
(II) NextWindow Touchscreen: Found absolute axes
(II) NextWindow Touchscreen: Found x and y absolute axes
(II) NextWindow Touchscreen: Configuring as mouse
(**) NextWindow Touchscreen: YAxisMapping: buttons 4 and 5
(**) NextWindow Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "NextWindow Touchscreen" (type: MOUSE)
(EE) NextWindow Touchscreen: failed to initialize for relative axes.
(II) NextWindow Touchscreen: initialized for absolute axes.
(II) config/udev: Adding input device NextWindow Touchscreen (/dev/input/js0)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device NextWindow Touchscreen (/dev/input/mouse1)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device NextWindow Touchscreen (/dev/input/event6)
(**) NextWindow Touchscreen: Applying InputClass "evdev tablet catchall"
(**) NextWindow Touchscreen: always ...

Read more...

Revision history for this message
Jamie Lennox (jamielennox) wrote :
Revision history for this message
akoutsoulelos (akoutsoulelos) wrote :

I did a clean install of Lucid and I get the same messages as Jamie, showing that everything is ok, but I get the messages as above on #59

So, should I start an new bug report for that or may we keep this one ??

Revision history for this message
madbiologist (me-again) wrote :

Some early open source work to support multi-touch in the evdev input driver is described at http://www.phoronix.com/scan.php?page=news_item&px=ODMxMw

Revision history for this message
djp (djpnewton) wrote :

I have attached a new release of nwfermi (0.2).

updates include:
 - new device ids
 - fixed bug in usb completion routine (was using GFP_KERNEL instead of GFP_ATOMIC)
 - "/rawmouse" command line parameter to ConsoleDriver daemon to disable mouse filtering (right click, drag thresholds etc)
 - support for new kfifo api in post 2..6.33 kernels

Hopefully this should result in a more stable driver for all users of nwfermi.

Cheers

Daniel

Revision history for this message
Jeff Bower (ubuntu-ebower) wrote :

Thanks @djp, this new release works great on my HP Touchsmart 600-1005xt! Any hope that 1) it will be possible to create a 64-bit version and 2) it can be included in the Ubuntu release? Barring 2, I'd love to see it in a custom repository somewhere so I can make sure to nab any updates.

Revision history for this message
Kim Botherway (dj-dvant) wrote :

Thank you very much, it works perfectly on my HP Touchsmart 300 with Lucid 64bit.

Revision history for this message
Raphaël Salique (raphael-salique) wrote :

works perfectly on my HP Touchsmart 300 with Lucid 32bit ! Thank you very much

Revision history for this message
akoutsoulelos (akoutsoulelos) wrote :

I conform that it works on HP 600-1050 with 10.04 perfectly!

Thanx Daniel!

Revision history for this message
hifi25nl (hifi25nl) wrote :

I have installed NW Fermi Touchscreen Driver 0.2, compiled nw-fermi for 64 bit system. All is working fine.

I would like to ask: ConsoleDriver is 32 bit?!!

A strange thing is that, at boot, after "..populating dev..." I have three messages similar to this (I had to write down with my pen):

Translib[1252]: !WARNING! _Process_Stream missed packet /home/daniel/projects/1950_driver/Driver/Translib/Parser.c; LINE 94;

etc.....

daniel???

Revision history for this message
Jeff Bower (ubuntu-ebower) wrote :

In order to run on the Maverick Beta kernel, you'll need to manually compile the module. First extract the .deb contents somewhere (I use /tmp/nwfermi as an example) and run the following:
cd /tmp/nwfermi/usr/src/nwfermi-0.2
sed -i 's/usb_buffer_alloc/usb_alloc_coherent/g' nw-fermi.c
sed -i 's/usb_buffer_free/usb_free_coherent/g' nw-fermi.c
make
sudo cp nw-fermi.ko /lib/modules/$(uname -r)/updates/dkms
sudo insmod /lib/modules/$(uname -r)/updates/dkms
sudo depmod -a

Sadly, no uTouch support seems to be available.

Revision history for this message
Claudio Blanco (claudioblan) wrote :

djdvant, i have the same computer than yours. Can you explain me the way you make your touchsmart work?
I have a 64 bits 10.04 ubuntu installation.
Thank in advance, and sorry about my english.

Revision history for this message
Kim Botherway (dj-dvant) wrote :

By doing a dpkg -i --force-architecture which was the lazy way of doing it

I should have done it properly by using ar to extract the deb, then extract the data.tar.gz then compile the kernel module like in post #71.

Revision history for this message
Jeff Bower (ubuntu-ebower) wrote :

However, unless you're running a very new kernel you can probably omit the "sed" lines if you're just compiling for 64-bit. This should work as a quick step-by-step:

wget https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/379313/+attachment/1455604/+files/nwfermi-0.2_i386.deb
ar x nwfermi-0.2_i386.deb
tar -zxmvf data.tar.gz
cd usr/src/nwfermi-0.2

# Only uncomment if running Maverick or you get USB-related compiler errors
#sed -i 's/usb_buffer_alloc/usb_alloc_coherent/g' nw-fermi.c
#sed -i 's/usb_buffer_free/usb_free_coherent/g' nw-fermi.c

make
sudo cp nw-fermi.ko /lib/modules/$(uname -r)/updates/dkms
sudo insmod /lib/modules/$(uname -r)/updates/dkms
sudo depmod -a

Revision history for this message
Kim Botherway (dj-dvant) wrote :

Hi Everyone,

I have updated the package to run on Maverick. The sed patches above have already been run.

Revision history for this message
Peter Adamka (malmo) wrote :

djdvant:
Thanks, driver compiles fine on maverick 64b. Also devices are created well and X identifies it.
But, when trying to 'evtest' the device, i got no response.
In xorg.conf, I got only conf for nvidia.
Are there some aditional steps needed?

Revision history for this message
djp (djpnewton) wrote :

Hi guys, thanks for all the feedback so far it has been really useful.

Here is a new release (nwfermi 0.4):
  - support for more devices (3XXX model touchscreens)
  - support for api changes in Linux 2.6.34 (thanks again for the feedback here on this)
  - 64 bit package
  - support for multiple devices

Cheers to all,
Dan

Revision history for this message
djp (djpnewton) wrote :
Revision history for this message
Kim Botherway (dj-dvant) wrote :

Here is the deb ready for Maverick both i386 and amd64

Revision history for this message
WebNuLL (babciastefa) wrote :

Can i use multi-touch function using this driver?

Bus 001 Device 005: ID 1926:0086 NextWindow 1950 HID Touchscreen

Single touch works with nw-fermi-0.2, but now im installing nw-fermi-0.4 and i will test it after X restart.

Revision history for this message
WebNuLL (babciastefa) wrote :

I found some patches for evdev, but i dont know how to test these patches.

http://lists.x.org/archives/xorg-devel/2010-June/009471.html

The patches brings multitouch functions to evdev, i checked my evdev from Maverick and i dont have these patches applied.

So there is a question; does nw-fermi supports multitouch?

If it supports i think there is possibility to run multitouch by patching evdev to support more than one pointer.

Revision history for this message
WebNuLL (babciastefa) wrote :

I also tested the driver on Gentoo, but i cannot calibrate my screen at now, if i will find some free time i will try again with it.

WebNuLL (babciastefa)
tags: added: maverick
Revision history for this message
djp (djpnewton) wrote : Re: [Bug 379313] Re: Handling NextWindow Touchscreen (multitouch)

On Sat, Oct 9, 2010 at 9:56 PM, WebNuLL <email address hidden> wrote:
> Can i use multi-touch function using this driver?
>

nwfermi does not support linux multi-touch yet, but I hope to include
this in a future release

Revision history for this message
WebNuLL (babciastefa) wrote : Re: Handling NextWindow Touchscreen (multitouch)

djp, thanks - im really waiting for this feature, i recently bought the LCD with touchscreen and i never used multi-touch on it..

Can you make a PPA(Package repository for Ubuntu on launchpad) for nw-fermi?

To help you with distribution of your driver i can make repository with nw-fermi on Gentoo and Arch Linux.

Revision history for this message
Philip Guyton (phil-lxnet) wrote :
Download full text (3.2 KiB)

First, thanks to all those working on the nw_fermi module.
But I'm afraid I'm getting nothing from either cat or evtest.

With vanilla 10.04.1 64 bit with all updates plus nvidia driver and the xserver-xorg-input-evtouch package.
and nwfermi-0.2_i386.deb recompiled as per message by Jeff Bower post #74 omitting the seds as running 2.6.32-25-generic
running on a Sony Vaio all in one VPCL12M1E

from /var/log/messages
.
Oct 13 17:37:28 ubuntuvaio kernel: [ 2.959812] generic-usb 0003:1926:0065.0003: hiddev97,hidraw2: USB HID v1.11 Device [NextWindo
w Touchscreen] on usb-0000:00:1a.2-2/input1
.
.
Oct 13 17:37:28 ubuntuvaio kernel: [ 10.346964] input: Nextwindow Fermi Touchscreen as /devices/virtual/input/input9
Oct 13 17:37:28 ubuntuvaio kernel: [ 10.347064] nwfermi 5-2:1.0: NextWindow Fermi device now attached to nwfermi-192
Oct 13 17:37:28 ubuntuvaio kernel: [ 10.347092] usbcore: registered new interface driver nwfermi
.

sudo lsinput

/dev/input/event9
   bustype : (null)
   vendor : 0x0
   product : 0x0
   version : 0
   name : "Nextwindow Fermi Touchscreen"
   bits ev : EV_SYN EV_KEY EV_ABS

lsusb gives:-
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 002: ID 046d:c52f Logitech, Inc.
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 1926:0065
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0489:e00f Foxconn / Hon Hai
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 054c:0374 Sony Corp.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 05ca:18b5 Ricoh Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

As per Peter Adamka post #76 I have only the nvidia config.

xorg log:-
(II) config/udev: Adding input device Nextwindow Fermi Touchscreen (/dev/input/event9)
(**) Nextwindow Fermi Touchscreen: Applying InputClass "evdev pointer catchall"
(**) Nextwindow Fermi Touchscreen: always reports core events
(**) Nextwindow Fermi Touchscreen: Device: "/dev/input/event9"
(II) Nextwindow Fermi Touchscreen: Found 3 mouse buttons
(II) Nextwindow Fermi Touchscreen: Found absolute axes
(II) Nextwindow Fermi Touchscreen: Found x and y absolute axes
(II) Nextwindow Fermi Touchscreen: Configuring as mouse
(**) Nextwindow Fermi Touchscreen: YAxisMapping: buttons 4 and 5
(**) Nextwindow Fermi Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "Nextwindow Fermi Touchscreen" (type: MOUSE)
(II) Nextwindow Fermi Touchscreen: initialized for absolute axes.
(II) config/udev: Adding input device Nextwindow Fermi Touchscreen (/dev/input/js1)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device Nextwindow Fermi Touchscreen (/dev/input/mouse3)
(II) No input driver/identifier specified (ignoring)

Any pointers on what I may have missed would be much appreciated as it is very frustrating to be so close yet dis-functional.
Note...

Read more...

Revision history for this message
WebNuLL (babciastefa) wrote :

Maybe you need /usr/sbin/ConsoleDriver to run?

I think your udev is not loading ConsoleDriver.

Just try it.

Revision history for this message
djp (djpnewton) wrote : Re: [Bug 379313] Re: Handling NextWindow Touchscreen (multitouch)

> djp, thanks - im really waiting for this feature, i recently bought the
> LCD with touchscreen and i never used multi-touch on it..
>
> Can you make a PPA(Package repository for Ubuntu on launchpad) for nw-
> fermi?
>

I will look into it, I havent made a PPA before but in the long term I
guess it will help ease distribution

Revision history for this message
djp (djpnewton) wrote :

> Maybe you need /usr/sbin/ConsoleDriver to run?
>
> I think your udev is not loading ConsoleDriver.
>
> Just try it.
>

WebNull, could be correct (check "ps -e | grep "ConsoleDriver").

There should be a udev rules file
("/etc/udev/rules/40-nw-fermi.rules") which starts ConsoleDriver, you
could try changing the udev logging (udevcontrol log_priority) to see
if it is executing properly when nw-fermi probes.

Revision history for this message
djp (djpnewton) wrote : Re: Handling NextWindow Touchscreen (multitouch)

A quick update to fix driver compilation on newer kernels

Revision history for this message
djp (djpnewton) wrote :
Revision history for this message
WebNuLL (babciastefa) wrote :

In ArchLinux i had the same problem, udev really not worked.
I executed /usr/sbin/ConsoleDriver but there was no reaction too, and nw-fermi was loaded.

I dont know what happened but i changed OS from Arch Linux to Ubuntu because of this situation with udev & kernel.

Revision history for this message
dmr (dmreagan) wrote :

Hi everyone,

I'm trying to use a Dell SX2210Tb touch monitor on Maverick 64-bit using nwfermi-0.4.2. The touch device reports as 1926:0064, and is listed as /dev/input/event5. I've followed the steps from post #31, but I'm not seeing any activity from evtest. Is this device supported by nwfermi?

Thanks,

Dave

Revision history for this message
WebNuLL (babciastefa) wrote :

I think it is supported.

webnull@webnull-desktop:/$ cat /usr/src/nwfermi-0.4.2/nw-fermi.c |grep 0064
 { USB_DEVICE(0x1926, 0x0064) }

Your device is on supported list i think - "/* table of devices that work with this driver */".

Revision history for this message
WebNuLL (babciastefa) wrote :

Try:
sudo modprobe nw-fermi
sudo /usr/sbin/nwfermi_daemon /daemon

Revision history for this message
dmr (dmreagan) wrote :

Thanks for the quick response. The modprobe command didn't do anything, since lsmod shows that the nwfermi module is already loaded. I don't understand what the daemon line does, but when I typed it in, it responded with "daemonizing process!" Afterward, I didn't see any change in behavior from evtest.

Revision history for this message
WebNuLL (babciastefa) wrote :

Try: sudo /usr/sbin/nwfermi_daemon

It will not demonize the process, you will see the output but i think there will be no output if device/driver is not working.

Revision history for this message
WebNuLL (babciastefa) wrote :

I installed 2.6.36-1 kernel from repository and nw-fermi was compiled successfully on this kernel.

But module does not compiled automatically.

Revision history for this message
Julien Negros (djiock) wrote :

Hello there

I'm trying to get touch work on dell inspiron one, I followed your instructions and everything goes fine until

sudo insmod /lib/modules/$(uname -r)/updates/dkms

which gives me the error "insmod: can't read '/lib/modules/2.6.35-22-generic/updates/dkms/': Is a directory"

so I guess

sudo depmod -a

Doesn't do anything... And I'm new to this king of manipulations, what should we do next ? Just a modprob ? And it's supposed to work instantaneously ?

Thanks !

Revision history for this message
WebNuLL (babciastefa) wrote :

insmod /lib/modules/$(uname -r)/updates/dkms/nw-fermi.ko

or more simple:

modprobe nw-fermi

But this second works only if you update module dependencies (depmod -a)

Revision history for this message
Julien Negros (djiock) wrote :

Yes ! I thought I tried with nw-fermi, but maybe I did something wrong, it's working perfectly know !

Thanks to you and djp to provide us this driver.

Do you think my grandfather will be able to use multi-touch on his first computer anytime soon or is it to difficult to implement ? :)

Revision history for this message
WebNuLL (babciastefa) wrote :

Im waiting for multi-touch too. But i think its difficult to implement. It can take a long time to bring multi-pointer support to this driver.

Revision history for this message
WebNuLL (babciastefa) wrote :

Working on 2.6.37-2 kernel

Revision history for this message
WebNuLL (babciastefa) wrote :
WebNuLL (babciastefa)
tags: added: natty
Revision history for this message
Bryce Harrington (bryce) wrote :

Chase - could you take a look at this bug report and let us know how it fits with the multitouch development efforts?

Changed in xserver-xorg-input-evdev (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Chase Douglas (chasedouglas) wrote :

This bug has a lot of data and comments in it. Could someone provide a summary of where things stand? What does this bug represent at this point? Is this bug really against 11.04 now, or are people looking for support for previous Ubuntu releases?

Thanks

Revision history for this message
Bryce Harrington (bryce) wrote : Re: [Bug 379313] Re: Handling NextWindow Touchscreen (multitouch)

On Tue, Nov 30, 2010 at 05:56:35PM -0000, Chase Douglas wrote:
> This bug has a lot of data and comments in it. Could someone provide a
> summary of where things stand? What does this bug represent at this
> point? Is this bug really against 11.04 now, or are people looking for
> support for previous Ubuntu releases?

Well, I'm mainly interested in what the support situation for this
hardware should be in 11.04 and going forward, as I doubt any of this
would qualify for SRU.

Chase, key comments to look at here appear to be:
  Proprietary driver: #31 (original) and 89-90 (latest)
  evdev patches: #81

I'm not sure what the restrictions are on the proprietary driver as far
as redistribution and so on, but the question is whether the MT work
you're doing will cover this hardware sufficiently by itself?

If not, then what would you need from the hardware vendor to include
support in evdev/linux?

If including support in the open does not look feasible for now, do you
have any thoughts on the proprietary driver?

Revision history for this message
Chase Douglas (chasedouglas) wrote : Re: Handling NextWindow Touchscreen (multitouch)

Thanks Bryce!

The MT work in X has taken a different form from what was proposed in the message linked in comment #31. However, we are getting near to having an XI 2.1 protocol extension for MT set. I hope to introduce some of the MT work into Natty soon.

Kernel drivers need to be written for the MT evdev protocol to work properly. Either the slotted or non-slotted protocol will work, though slotted is better. If the kernel presents working MT evdev data, it will work with the X MT solution. It sounds like the NextWindow proprietary driver does not handle MT data quite yet though. The proprietary nature of the driver will have no affect on its ability to function in the MT stack in ubuntu.

Proprietary MT drivers will always be a second class citizen on Ubuntu because they are not installed by default. In fact, this is the first time I've ever heard of a proprietary MT driver being used in Ubuntu. I would strongly recommend NextWindow to open the code or even just the specifications of the hardware so users have the best experience possible.

In short: Yes, the proprietary driver will work when it is updated for MT support. Nothing extra will be needed in evdev or elsewhere.

Revision history for this message
WebNuLL (babciastefa) wrote :

Question to author of this driver - there is any progress to bring multi-touch on this driver?

Revision history for this message
djp (djpnewton) wrote : Re: [Bug 379313] Re: Handling NextWindow Touchscreen (multitouch)

On Thu, Dec 2, 2010 at 1:31 AM, WebNuLL <email address hidden> wrote:

> Question to author of this driver - there is any progress to bring
> multi-touch on this driver?
>
>
Yes, this is going to be my priority now over the next few weeks

Revision history for this message
Mohamed IKBEL Boulabiar (boulabiar) wrote :

On Wed, Dec 1, 2010 at 9:24 PM, djp <email address hidden> wrote:
> On Thu, Dec 2, 2010 at 1:31 AM, WebNuLL <email address hidden> wrote:
>
>> Question to author of this driver - there is any progress to bring
>> multi-touch on this driver?
>>
>>
> Yes, this is going to be my priority now over the next few weeks

2 weeks ago I asked NextWindow and they answered me here:
http://twitter.com/#!/NextWindow/status/5389587354484736

i

Revision history for this message
WebNuLL (babciastefa) wrote :

Dnia 2010-12-01, śro o godzinie 20:24 +0000, djp pisze:
> On Thu, Dec 2, 2010 at 1:31 AM, WebNuLL <email address hidden> wrote:
>
> > Question to author of this driver - there is any progress to bring
> > multi-touch on this driver?
> >
> >
> Yes, this is going to be my priority now over the next few weeks
>

Thank you, im waiting for it.

Revision history for this message
Bryce Harrington (bryce) wrote : Re: Handling NextWindow Touchscreen (multitouch)

Thanks Chase. It sounds like support on the open source has some blockers, so for this bug report let's focus on the nwfermi driver.

@djp, thanks for posting the .debs. It appears this contains a GPL'd kernel driver installable via dkms, and a closed binary nwfermi_daemon which is invoked using udev. Can you specify what the distribution terms are for nwfermi_daemon? Is it permissible for us to package and ship it in Ubuntu as a closed source driver?

Because this driver does not depend on anything particular on the X side, I guess xserver-xorg-input-evdev is not the best component for it to be filed against, but I'm not certain of what package would be better (linux?) so will leave it here for now.

Changed in xserver-xorg-input-evdev (Ubuntu):
importance: Medium → Wishlist
status: Confirmed → Triaged
Revision history for this message
Bryce Harrington (bryce) wrote :

djp, you mentioned earlier an interest in posting this to a PPA. Do you need help with this? Do you have a plan in place for how you want to be distributing it to go into the PPA?

I think once that is sorted out, it would make it straightforward for us to even consider incorporating this into multiverse with other closed source drivers, which would make it even easier for Ubuntu users to install it. I'm not sure what the process is for getting additional closed source drivers accepted there, so that may or may not be feasible, but once it's packaged for PPA I'd be willing to investigate for you, if you'd like.

summary: - Handling NextWindow Touchscreen (multitouch)
+ Handling NextWindow Touchscreen (multitouch) via the nwfermi
+ (proprietary) driver
Revision history for this message
djp (djpnewton) wrote : Re: [Bug 379313] Re: Handling NextWindow Touchscreen (multitouch)
Download full text (4.0 KiB)

@Bryce,

Yes some pointers on PPA packaging would be appreciated.

I will check what the distribution terms are and get back to you.

Thanks a lot,
Dan

On Fri, Dec 3, 2010 at 1:47 PM, Bryce Harrington
<email address hidden>wrote:

> djp, you mentioned earlier an interest in posting this to a PPA. Do you
> need help with this? Do you have a plan in place for how you want to be
> distributing it to go into the PPA?
>
> I think once that is sorted out, it would make it straightforward for us
> to even consider incorporating this into multiverse with other closed
> source drivers, which would make it even easier for Ubuntu users to
> install it. I'm not sure what the process is for getting additional
> closed source drivers accepted there, so that may or may not be
> feasible, but once it's packaged for PPA I'd be willing to investigate
> for you, if you'd like.
>
> ** Summary changed:
>
> - Handling NextWindow Touchscreen (multitouch)
> + Handling NextWindow Touchscreen (multitouch) via the nwfermi
> (proprietary) driver
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/379313
>
> Title:
> Handling NextWindow Touchscreen (multitouch) via the nwfermi (proprietary)
> driver
>
> Status in “xserver-xorg-input-evdev” package in Ubuntu:
> Triaged
>
> Bug description:
> Binary package hint: xserver-xorg-input-evdev
>
> Ubuntu 9.04/8.10 and probably other.
>
> The NextWindow touch screen is used on the HP TouchSmart systems however
> doesn't work out of the box on 8.10 or 9.04.
>
> Firstly it is allocated to a synaptic touchpad driver initially which is
> wrong, but can be overcome with the appropriate HAL fdi to change to evdev.
>
> Secondly (and this is a most likely a problem of either the hardware or X),
> it reports X, Y values using ABS_RX, ABS_Z rather than the expected ABS_X,
> ABS_Y. The evtouch driver will work because it accepts these as
> alternatives.
>
> Lastly, because the system is multi-touch aware it reports to the xserver
> that it has buttons. This causes it to be misclassified by evdev as a
> touchpad rather than a touchscreen.
>
> The following patch fixes the problem for me but is obviously not a general
> solution. This is against packaged version 1:2.1.1-1ubuntu4:
>
> --- src/evdev.c.orig 2010-05-22 16:08:14.000000000 +1000
> +++ src/evdev.c 2009-05-22 16:09:30.000000000 +1000
> @@ -382,10 +382,12 @@
>
> case EV_ABS:
> switch (ev.code) {
> + case ABS_Z:
> case ABS_X:
> pEvdev->abs_x = value;
> abs = 1;
> break;
> + case ABS_RX:
> case ABS_Y:
> pEvdev->abs_y = value;
> abs = 1;
> @@ -1368,11 +1370,11 @@
> xf86Msg(X_INFO, "%s: Found x and y absolute axes\n", pInfo->name);
> pEvdev->flags |= EVDEV_ABSOLUTE_EVENTS;
> if (TestBit(BTN_TOUCH, key_bitmask)) {
> - if (num_buttons) {
> +/* if (num_buttons) {
> xf86Msg(X_INFO, "%s: Found absolute touchpad\n",
> pInfo->name);
> pEvdev->flags |= EVDEV_TOUCHPAD;
> pEvdev->old_x ...

Read more...

Revision history for this message
Bryce Harrington (bryce) wrote :

Hi djp,

Since PPAs require uploading source packages rather than pre-built debs, what you'll need to do is create a wrapper source package, that contains the precompiled binaries. The "build" process for this package would merely copy the appropriate binary into place.

I don't know if there is official documentation for doing this, but here's a guide that explains it with examples:

http://www.debian-administration.org/articles/529

Hope this helps, let me know if you have more questions.

Revision history for this message
Mathijs (c-launchpad-thijsje-nl) wrote :

Hi,

@djp: Can you perhaps give a status update of the nw-fermi driver that includes mutlitouch capabilities?
@djp: have you also looked at the nwtool? It says it is able to set modes and save settings, (like those modes described in the Windows API).
You can find nwtool here: https://patchwork.kernel.org/patch/64411/

Regards,

Mathijs

Revision history for this message
WebNuLL (babciastefa) wrote :

djp, can you also add calibration possibility via xinput?

I can calibrate eGalax touchscreen in Samsung Q1 Tablet PC with this command:
xinput set-int-prop "Touchkit HID-USB Touchscreen" "Evdev Axis Calibration" 32 80 3950 150 3900

It works perfectly, can it be possible with nwfermi?

Im installing Gentoo today, i dont know nwfermi will works correctly on it, can you implement calibration function to driver?

Revision history for this message
WebNuLL (babciastefa) wrote :

Im now using NextWindow touchscreen on Gentoo Linux and it works fine.
Its not callibrated (on Ubuntu too) - i can touch all but corners of screen.

Revision history for this message
Aymeric (mulx) wrote :

After installing the nwfermi package on Ubuntu 10.04 my Samsung 22” Lapfit Touchscreen Monitor (LD220Z) work with the touchscreen.
Like #118 it's not calibrated, I can touch the left corners but not the right.
From the documentation of my screen, it seem to be multi-touch, but I don't know what application I can use to know if multi-touch work or not, so it's untested.

Revision history for this message
djp (djpnewton) wrote :

@Bryce, cheers that is helpful I will try to make a PPA early next year. I do have one question, is it possible to put a EULA type agreement (do not sue us etc) into a deb or PPA?

@Mathijs, there will a multitouch release in January, I havent seen nwtool but I will take a look

@WebNuLL @ Aymeric, we already have a calibration facility, I will explain how to use it in this new release

I am attaching fermi 0.4.5, the main fixes here are:
  - nwfermi_daemon udev coldboot doesnt always work
  - configuration settings are available via named pipe

To start the calibration procedure run the following command:
  ‘echo -e "C\x02\x21\x01" > /tmp/nwfermi0-tl-in’

The cursor will move to four locations around the screen and to complete calibration you just need to touch and hold at the cursor positions untill they move to the next location. Upon successful calibration settings will be saved to "/etc/nextwindow/nw-fermi/XXXX_XXXXXX_DriverSettings.dat", you can delete this file to return to factory defaults.

I hope this is helpful you all.

Cheers,
Dan

Revision history for this message
djp (djpnewton) wrote :
Revision history for this message
WebNuLL (babciastefa) wrote :

I compiled kernel module, copied to /lib/modules/2.6.36-gentoo-r5/kernel/drivers/usb/nw-fermi.ko where i had old module.

killall nwfermi_daemon -9
rmmod nw-fermi
modprobe nw-fermi

The mouse automaticaly is moving fastly from down right to up left corner very fast when i touch some point on screen i got old calibration and screen working normally without any changes on calibration.

I will try today on Ubuntu (i have dualboot with Gentoo) to check whats wrong.

Revision history for this message
Jiandong Zheng (ezjd) wrote :

What is the purpose of the user space daemon (nwfermi_daemon) since driver already uses event interface? As I am trying to use Dell touch screen monior with ARM dev board, it won't work for me because I can't find the armel daemon.

djp, can you also release armel deb?

Thanks!

Revision history for this message
Bryce Harrington (bryce) wrote : Re: [Bug 379313] Re: Handling NextWindow Touchscreen (multitouch) via the nwfermi (proprietary) driver

On Fri, Dec 24, 2010 at 02:28:50AM -0000, djp wrote:
> @Bryce, cheers that is helpful I will try to make a PPA early next year.
> I do have one question, is it possible to put a EULA type agreement (do
> not sue us etc) into a deb or PPA?

You can put it into the deb.

The PPA has a description field, but it's purely informational and
doesn't support click-thru-agreement type behavior. It's good for
putting directions or caveats.

Regarding EULAs in debs, I've never done this myself, but you can put a
question into the preinst script. Some more info (and a tutorial):

  http://stackoverflow.com/questions/2154352/including-license-agreement-in-deb-file

Not sure how that'd work in conjunction with a PPA, so you'll want to
test it. IIRC, it just does a text prompt on the command line, but
hopefully that'll get you in the right direction.

Some packages like mscorefonts and iirc some java packages include
install-time eula agreements, which might be worth studying. Fwiw I
think fglrx and nvidia do *not* require click thru's, but I'm not sure
how they handle the EULA agreement - perhaps the way they solved it
would be worth looking at as an alternate approach.

Revision history for this message
Bryce Harrington (bryce) wrote :

Alright, I'm going to move this bug report off -evdev and back to just xorg for now (actually I think it really should belong to the kernel, but we'll continue tracking it with X for now).

It sounds like this package will be requiring an EULA, which makes me doubtful it's something we can distribute with Ubuntu itself. Thus I'll decline the nominations and drop the natty tag for now.

affects: xserver-xorg-input-evdev (Ubuntu) → xorg (Ubuntu)
Changed in xorg (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Bryce Harrington (bryce) wrote :

djp, I would recommend that you create a nwfermi project in launchpad for tracking the driver. You can do this here:

https://launchpad.net/projects/+new

It's pretty easy, and I'd do it for you but I think you'd be better as the owner of it so you have full control.

Once you have a project set up, you can attach one or more PPAs to it, and we can move this bug report over to it. It will have its own bug tracker, and you can add public or private mailing lists if you'd like. It should be straightforward but if you have any questions, feel free to contact me directly.

tags: removed: jaunty maverick natty needs-retested-on-lucid-by-june patch
Revision history for this message
djp (djpnewton) wrote :

Ok I have created a launchpad project for nwfermi (https://launchpad.net/nwfermi). Future nwfermi releases will be posted there and anyone interested should be able to post bug reports, questions, etc.

I havent made much progress with creating a source package for the ppa yet (the various different tools and methods are overwhelming me!) but should have a multitouch release ready shortly.

Cheers again for all the help Bryce.

Revision history for this message
djp (djpnewton) wrote :

A annoncement for anyone who was waiting for multitouch support. There is now a new release (0.5) at https://launchpad.net/nwfermi/trunk/nwfermi0.5

Revision history for this message
WebNuLL (babciastefa) wrote :

I tested nwfermi0.5 on Ubuntu and Gentoo Linux but multi-touch is still not working.

My device:
Bus 001 Device 008: ID 1926:0086 NextWindow 1950 HID Touchscreen

I just see single mouse, cant touch more than one point on screen - its looks like single touch.

On Ubuntu i just installed package and restarted computer, on Gentoo Linux i copied all files, built kernel module, modified xorg configuration - it should work but it isn't.

Revision history for this message
Aymeric (mulx) wrote :

Same as WebNuLL, on Ubuntu Lucid after installing package and restarted computer, multitouch don't work.

Revision history for this message
WebNuLL (babciastefa) wrote :

Here is /var/log/Xorg.0.log

Xorg recognizing device, but i think it not classifying it as multi-touch capable.

Revision history for this message
WebNuLL (babciastefa) wrote :

I tried many combinations of input xorg settings in 70-nwfermi.conf but it still doesn't work.

Any help?

Revision history for this message
WebNuLL (babciastefa) wrote :

Im not a C programmer but i debugged the code, and found that kernel module is always handling touchscreen as mouse.

Revision history for this message
djp (djpnewton) wrote :

As far as I know the X included with ubuntu does not handle multitouch input directly. Ubuntu has a multitouch framework called uTouch (not installed on the desktop edition by default (https://wiki.ubuntu.com/Multitouch).

If you want to relatively easily test if the kernel multitouch information is being supplied a good example is the PyMT demo (https://wiki.ubuntu.com/Multitouch/PyMT).

Although my X input driver might be blocking the gesture daemon somehow...

Anyhow post bug reports at https://bugs.launchpad.net/nwfermi

Revision history for this message
Chase Douglas (chasedouglas) wrote :

djp,

For full multitouch support both in Ubuntu 10.10 and future releases, the X evdev input module should be used. In 10.10 this will enable support for the uTouch stack, and in 11.04 this will allow for multitouch support through the X window system.

One should not need to use a different X input module. If you are using a different X input module, please provide more information so we can figure out the best way forward.

Just to clarify, Ubuntu 10.10 desktop edition has uTouch support as well, but the only package with uTouch integration is the Unity window manager. Since Unity doesn't come with 10.10 by default, it seems like uTouch is missing even though it's still there :). Natty will have more integration across multiple apps, and the desktop edition will ship Unity by default too.

Thanks!

Revision history for this message
Bryce Harrington (bryce) wrote :

Moving this bug report from 'xorg' to the new 'nwfermi' project. At this time this driver is not shipped with the ubuntu distribution but rather provided by a PPA, so support will be at https://bugs.launchpad.net/nwfermi/ and the Ubuntu distro task is a 'Wont Fix'. (Actually, maybe some day it will be included in ubuntu once distribution terms are sorted and so on, but that bridge can be crossed in its own time.)

I would recommend people file reports about new issues as new bugs rather than adding to this bug report. I expect djp will prefer to close this bug report now that the issues can be handled individually, but I'll leave that to him. :-)
https://bugs.launchpad.net/nwfermi/+filebug

Changed in xorg (Ubuntu):
status: In Progress → Won't Fix
Revision history for this message
WebNuLL (babciastefa) wrote :

Ubuntu, and Ubuntu but how about Gentoo? How i can run this driver on other Linux based operating systems for desktop x86/amd64 computers?

Revision history for this message
Tom Dickson (8-launchpad-bombcar-com) wrote :

Has anyone been able to get this to work on 10.04-1 x64? I had it working in 32 mode, but now I can't seem to get it to work on the Sony VAIO VPCL135FX. My Xorg.log shows:

(II) config/udev: Adding input device Nextwindow Fermi Touchscreen (/dev/input/event10)
(**) Nextwindow Fermi Touchscreen: Applying InputClass "evdev pointer catchall"
(**) Nextwindow Fermi Touchscreen: Applying InputClass "nw fermi"
(II) LoadModule: "nextwindow"
(II) Loading /usr/lib/xorg/modules/input/nextwindow_drv.so
(II) Module nextwindow: vendor="X.Org Foundation"
 compiled for 1.9.0, module version = 0.0.1
 Module class: X.Org XInput Driver
 ABI class: X.Org XInput driver, version 11.0
(WW) module ABI major version (11) doesn't match the server's version (7)
(**) Option "Device" "/dev/input/event10"
(II) Nextwindow Fermi Touchscreen: Using device /dev/input/event10.
(**) Option "UseTouchHelp" "1"
(II) Nextwindow Fermi Touchscreen: Using touch help.
(**) Option "DragThreshold" "10"
(**) Option "RightClickTimeout" "1200"
(**) Option "DoubleClickTimeout" "500"
(**) Nextwindow Fermi Touchscreen: always reports core events
(II) XINPUT: Adding extended input device "Nextwindow Fermi Touchscreen" (type: TOUCHSCREEN)
(II) Nextwindow Fermi Touchscreen: On.
(II) config/udev: Adding input device Nextwindow Fermi Touchscreen (/dev/input/js0)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device Nextwindow Fermi Touchscreen (/dev/input/mouse3)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device Macintosh mouse button emulation (/dev/input/event2)
(**) Macintosh mouse button emulation: Applying InputClass "evdev pointer catchall"
(**) Macintosh mouse button emulation: always reports core events
(**) Macintosh mouse button emulation: Device: "/dev/input/event2"
(II) Macintosh mouse button emulation: Found 3 mouse buttons
(II) Macintosh mouse button emulation: Found relative axes
(II) Macintosh mouse button emulation: Found x and y relative axes
(II) Macintosh mouse button emulation: Configuring as mouse
(**) Macintosh mouse button emulation: YAxisMapping: buttons 4 and 5
(**) Macintosh mouse button emulation: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE)
(II) Macintosh mouse button emulation: initialized for relative axes.
(II) config/udev: Adding input device Macintosh mouse button emulation (/dev/input/mouse0)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device Sony Vaio Jogdial (/dev/input/event9)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device Sony Vaio Jogdial (/dev/input/mouse2)
(II) No input driver/identifier specified (ignoring)

but nothing seems to work.

Revision history for this message
djp (djpnewton) wrote :

@Chase,

Thanks for the info. My xorg input module has a touch helper to detect right clicks etc (like the tablet pc service in windows), I am trying to get permission to convert this into a patch for possible inclusion into xorg evdev. I saw your evdev hooks into grails and have been testing the same with my driver but in the future hope to be able to use evdev directly.

@Bryce, cheers

@All,

I am closing this bug now. Please feel free to log individual questions or issues:
 - https://bugs.launchpad.net/nwfermi
 - https://answers.launchpad.net/nwfermi

Changed in nwfermi:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.