Page 1 of 5 123 ... LastLast
Results 1 to 10 of 46

Thread: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

  1. #1
    Join Date
    Jul 2005
    Beans
    123
    Distro
    Ubuntu Development Release

    Asus EeePC T91MT multitouch touchscreen [Lucid 10.04/Maverick 10.10]

    MAVERICK UPDATE: I have attached a multitouch-kernel-source package modified for maverick (it also includes the hid-core.c and hid-quirks.c changes. Maverick users should just install the attached package and ignore most of the following instructions except for the rotate button fix.

    MAVERICK UPDATE2: jtjs posted that there is now a utouch PPA with working DKMS multitouch hid-mosart drivers for Maverick.
    sudo add-apt-repository ppa:utouch-team/utouch
    sudo apt-get update
    sudo apt-get install hid-mosart-dkms
    If you have already installed the maverick deb below, you should probably uninstall it first. After install and reboot, check your using hid-mosart with lsmod.

    MAVERICK UPDATE3: Probably not much use but while playing around I also made a multitouch-kernel-source 1.556 with the hid-mosart multitouch patches (multitouch is already in the utouch-team PPA).

    --------------------------
    Lucid:

    Add the multitouch PPA:
    Code:
    sudo add-apt-repository ppa:chasedouglas/multitouch
    sudo apt-get update 
    sudo apt-get install multitouch-kernel-source
    Edit /usr/src/multitouch-1.5/drivers/hid/hid-core.c
    Comment out line 1554 so it looks like:
    Code:
    //{ HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT)},

    Edit /usr/src/multitouch-1.5/drivers/hid/usbhid/hid-quirks.c
    Add the following line after "} hid_blacklist[] = {"
    Code:
    { USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT, HID_QUIRK_MULTI_INPUT },
    Recompile the multitouch drivers (this takes a while)
    Code:
    sudo dpkg-reconfigure multitouch-kernel-source
    Now when you reboot you should have a working touchscreen. There is also a fix for ensuring the input is correct when rotated.

    Calibration can be done using the T101's eGalax calibrator:
    Code:
    cd /tmp && wget "http://www.philmerk.de/dwl/deb/eeepc-t101mt-calibrator-0.0.2-1-i386.deb" && dpkg -i eeepc-t101mt-calibrator-0.0.2-1-i386.deb
    Then run with:
    Code:
    sudo egalax_calibrator_x11
    Or the the “System>Administration>Calibrate touch screen” menu entry

    To get the input rotation working (you also need to fix to get the silver button working in the T91MT howto), add the following to the end of /etc/acpi/rotatescreen.sh:
    Code:
    INPUTDEV="9"
    ROTATION=`cat /var/lib/acpi-support/screen-rotation`
    case $ROTATION in
        normal) xinput set-int-prop $INPUTDEV "Evdev Axes Swap" 8 0
           xinput set-int-prop $INPUTDEV "Evdev Axis Inversion" 8 0 0;;
        left) xinput set-int-prop $INPUTDEV "Evdev Axes Swap" 8 1
           xinput set-int-prop $INPUTDEV "Evdev Axis Inversion" 8 1 0;;
        right) xinput set-int-prop $INPUTDEV "Evdev Axes Swap" 8 1
           xinput set-int-prop $INPUTDEV "Evdev Axis Inversion" 8 0 1;;
        inverted) xinput set-int-prop $INPUTDEV "Evdev Axes Swap" 8 0
           xinput set-int-prop $INPUTDEV "Evdev Axis Inversion" 8 1 1;;
    esac
    If you want a program for manual xrandr rotation:
    Code:
    cd /tmp && wget "http://philmerk.de/dwl/deb/egalax-multitouch-driver-common.deb" && dpkg -i philmerk.de/dwl/deb/egalax-multitouch-driver-common.deb
    sudo sed -i  's/eGalax/AsusTek | tail -n 1/g' /usr/bin/touchrotate
    Then use "touchrotate left" and such.

    In one big copy'n'paste command (except for the /etc/acpi/rotatescreen.sh).
    Code:
    sudo add-apt-repository ppa:chasedouglas/multitouch
    sudo apt-get update 
    sudo apt-get install -y multitouch-kernel-source
    sudo sed -i 's/^.*ASUS_T91MT/\/\/&/g' /usr/src/multitouch-1.5/drivers/hid/hid-core.c
    sudo sed -i 's/^.*ALPS.*$/&\n\t{ USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT, HID_QUIRK_MULTI_INPUT },/g' /usr/src/multitouch-1.5/drivers/hid/usbhid/hid-quirks.c
    sudo dpkg-reconfigure multitouch-kernel-source
    cd /tmp && wget "http://www.philmerk.de/dwl/deb/eeepc-t101mt-calibrator-0.0.2-1-i386.deb" "http://philmerk.de/dwl/deb/egalax-multitouch-driver-common.deb" && sudo dpkg -i egalax-multitouch-driver-common.deb && sudo dpkg -i eeepc-t101mt-calibrator-0.0.2-1-i386.deb
    sudo sed -i  's/eGalax/AsusTek | tail -n 1/g' /usr/bin/touchrotate
    echo "event=hotkey (ATKD|HOTK) 0000007b\naction=/etc/acpi/rotatescreen.sh" | sudo tee /etc/acpi/events/asus-rotate-t91
    -----------old--------------
    I have been having a go at getting the touchscreen running under Lucid now that we have a (mostly) working video driver.

    I know that it should work as there is a video of it.

    Right now I can't even get the basic dev entries to show up. /dev/input/eventX (there are 1-7 but none the touchscreen according to lsinput), /dev/usb/* (usb directory doesn't exist) or /dev/hidinput devices to show up. Nothing appears in /proc/bus/input/devices, xinput list, lshw. It works fine under 9.10 using the modified evtouch drivers. The problem might be that Lucid no longer ships with HAL but I haven't yet worked out how to go about generating /dev/ nodes.

    From what I see posted, the T91MT uses the Mosart driver (although someone on the T101MT post claimed the egalax driver would also work with it but I haven't found anyone actually claiming to have the T91MT working at all on Lucid).

    The mosart driver was backported to the Lucid 10.04 kernel and ships with it as hid-mosart, although there is a bit on the ENAC kernel howto specific for Ubuntu 10.04 claiming that it still requires a hid.h patch.

    There is a Ubuntu multitouch-dev mailing list (unfortunately readonly) and ppa with the ENAC drivers that where missing from 10.04 as a DKMS (mainly the egalax one). This seems to include the hid.h changes too. This seems like it would be the simplest solution since it doesn't require a kernel recompile.

    But on boot neither mosart or egalax modules are autoloaded. Loading mosart manually doesn't seem to register in /var/log/messages or dmesg although it could just be silent. 'xinput list' doesn't show anything. It's loaded according to lsmod though. After loading the module nothing new shows up in dev, proc, lshw and so on.

    I have also tried the 2.6.34 kernel, looking at the hid.h file in source it appears to have the id's changed the way the ENAC site says so it should work without a recompile. 2.6.34 doesn't seem to be shipping with the hid-egalax module, but the mosart one is in there. I get the same problem as with the PPA packages.

    There is a usbtouchscreen module, I tried modprobing that without any success. (I saw another thread saying you had to do it before usbhid but that didn't help).

    There is also the official eGalax drivers. I had a bit of a go but ran into problems (installed but didn't seem to make a kernel module, but I didn't look to closely). There are also the pre-compiled ones the t101mt people are using. Still not sure if egalax is actually compatible with the T91MT though.

    I would be happy even with single touch, I had a go at using the modified evtouch source that was used for 9.10 but it no longer compiles on 10.04 (even though the shipped evtouch package still the same version number as it was in 9.10, the Ubuntu build version number is a bit different though). I might have another go later at moving the T91MT code into the Ubuntu package. Although the bug list seems to indicate that there are problems with some bits of evtouch on 10.04. Also if I did get it compiling there is still no HAL, so that would have to be worked around (unless whatever bit is supposed to be creating input device nodes kicks in).

    The device does seem to be listed in lsusb, its the 2nd one (the first is the bluetooth module I believe):
    Code:
    Bus 004 Device 003: ID 0b05:b703 ASUSTek Computer, Inc. 
    Bus 004 Device 002: ID 0486:0185 ASUS Computers, Inc. 
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 006: ID 058f:6335 Alcor Micro Corp. SD/MMC Card Reader
    Bus 001 Device 005: ID 13d3:509b IMC Networks 
    Bus 001 Device 002: ID 058f:6335 Alcor Micro Corp. SD/MMC Card Reader
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    EDIT1: I dumped a bunch of printk messages into all the functions in hid-mosart.c, dpkg-reconfigured multitouch-kernel-source functions, verified they where in hid-mosart.ko via strings, insmod'd the module and none of them fired. So obviously the driver isn't loading for whatever reason. Maybe the hid.h hack is needed outside of hid.ko and the other multitouch-kernel-source bits. Will look at recompiling the kernel later, or dumping printk's into other hid areas to see why it's not loading. Also enabled hid_dbg, nothing in /sys/kernel/debug/hid and no new dmesg information, other than a confirm that the debug mode was on.

    /sys/bus/usb/devices/4-1/ seems to be the touchscreen entry (cat /sys/bus/usb/devices/4-1/product outputs MultiTouch and the idVendor/idProduct match). There is a /sys/bus/hid/drivers/mosart directory but doesn't have anything of interest. There is also /dev/bus/usb/004 but it doesn't out put anything useful with cat (without a driver I guess it wouldn't).

    Also /sys/kernel/debug/usb shows a rawish list of all the usb devices including the drivers (which is "(none)" for the MultiTouch entry reconfirming the lack of driver loading.
    Attached Files Attached Files
    Last edited by H3g3m0n; December 8th, 2010 at 04:38 PM. Reason: newer information

  2. #2
    Join Date
    May 2010
    Location
    Cangas, Galiza (Spain)
    Beans
    15

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]


  3. #3
    Join Date
    Apr 2009
    Beans
    1

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

    I also noticed that lshal did not report the input device that is assumed to exist in other guides for T91MT. I managed to fix this by writing the vendor and product from lsusb to usbtouchscreen/new_id.

    Code:
    modprobe usbtouchscreen
    echo 0486 0185 > /sys/bus/usb/drivers/usbtouchscreen/new_id
    After this /dev/input/event8 was created and was able to verify input from touchscreen using evtest /dev/input/event8. I'm not sure where the best place to put this, but for now I placed it in /etc/rc.local so that its created at startup.

    The driver doesn't compile for me either and I can't seem to get it to working properly in X yet. It looks like you have made progress on that front so maybe this little bit plus your fixes will be all thats needed to get this working.

  4. #4
    Join Date
    Jul 2005
    Beans
    123
    Distro
    Ubuntu Development Release

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

    That made the dev entry for me and is providing output.

    The cursor is actually responding in Xorg without any further tweaks, but it's extremely buggy. It's very off coordinate wise so calibration would be needed (the usbtouchscreen modules does seem to support some raw arguments if nothing else).

    The main problem is that it seems to lag very badly. The mouse button gets stuck as being held down. It doesn't seem to be an Xorg config problem as 'cat /dev/input/event8' only outputs occasional bursts of data. The usbtouchscreen does seem to have min_press, max_press and rept_size variables in the source code, but they don't seem to be module parameters so I'm not sure how to activate them right now.

    It doesn't seem to be using the mosart drivers which I believe show up as some kind of hiddev nodes.

    I had a go at echoing the ids to the hiddev, usbhid which didn't seem to do anything. Then when I tried /sys/bus/hid/drivers/mosart/new_id I got a "write error: Invalid argument.".

    No entries showed up in the logs from my hid-mosart printk taps so nothing is calling the module.
    Last edited by H3g3m0n; June 22nd, 2010 at 04:11 AM.

  5. #5
    Join Date
    Aug 2009
    Beans
    1
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

    *UPDATE*
    Success!

    There's some work to get multitouch support working in Lucid, but it isn't quite there yet. It's sort-of half there, and half not. Because of this, the HID device that previously worked in Karmic is blacklisted from being attached to the hiddev driver.

    Here's what I did to get my touchscreen working under Lucid:

    (I will fill in details on this when I get home from work this evening, but here are the highlights)

    1) Add chase douglas's PPA
    2) Un-blacklist the T91MT's touchscreen from hiddev
    3) Recompile (dpkg-reconfigure multitouch-kernel-source)
    4) Add a hal FDI file for the touchscreen from the Karmic how-to
    5) Add a multitouch quirk (0x40) to the module option for usbhid (otherwise the axis's get reported incorrectly)
    6) modify /etc/rc.local to rmmod and modprobe the module (I think my initrd loads usbhid before modules.conf.d gets read)
    7) add the udef rules in /etc/udev/rules.d from the Karmic how-to\
    8) Adjust the /etc/acpi/ rotate screen script to flip axises/invert stuff for screen rotation (thanks to Sarvatt!)
    Last edited by warewolf; July 9th, 2010 at 02:00 PM.

  6. #6
    Join Date
    Apr 2006
    Beans
    Hidden!

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

    So you're saying this was done intentionally? That would explain a lot.
    Thank you for figuring this out, I have been watching these threads for quite a while with some disappointment.

    PS: if people are searching the forum and looking at the last post date to see if there has been anything new, they won't know about an edited post.
    Last edited by jtjs; July 11th, 2010 at 12:00 AM.

  7. #7
    Join Date
    Apr 2006
    Beans
    Hidden!

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

    Please follow the instructions given by H3g3m0n in the first post, they cover everything here and more.

    This is what is needed to get the touch screen working:
    1) as warewolf mentioned, install chase douglas's PPA and then install multitouch-kernel-source, this is a modified version of hiddev, easier to work with than the full ubuntu kernel sources.
    sudo add-apt-repository ppa:chasedouglas/multitouch
    sudo apt-get update
    sudo apt-get install multitouch-kernel-source
    2) edit /usr/src/multitouch-1.5/drivers/hid/hid-core.c to comment out line 1554.. That is where the touchscreen has been blacklisted.
    3) edit /usr/src/multitouch-1.5/drivers/hid/usbhid/hid-quirks.c to add the multi-input quirk for the T91MT, refer to the line commented out in step 2, it has the necessary identifiers.
    3)recompile the multitouch-kernel-source package: sudo dpkg-reconfigure multitouch-kernel-source
    4) Restart, the screen should now work.

    You can get right click emulation in gnome using the accessibility options.

    If you need to calibrate your screen, the egalax calibrate package that Plippo made seems to work(my screen didn't need calibrating, so I can't confirm that, but it's output suggests it does work)

    I tried Plippo's twofing daemon, edited the udev rule so that it would use the t91mt's touchscreen, it does see the screen, but doesn't seem to work, perhaps it is too egalax specific to work?

    Thank you warewolf for figuring this one out.
    Last edited by jtjs; July 13th, 2010 at 06:35 PM. Reason: fixed typo, instruct people to follow H3g3m0n's edited post

  8. #8
    Join Date
    Jul 2005
    Beans
    123
    Distro
    Ubuntu Development Release

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

    Ok, it's working great for me here too.

    No udev rules, hal fdi, /etc/modules or xorg.conf files are needed.

    The only problem was that its line 1554 not 1556 as mentioned in jtjs's post.

    1554 (correct device for me):
    Code:
    //{ HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT)},
    1556:
    Code:
    //{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_LCM2)},
    Was this just a typo or are we possibly dealing with 2 different models of touchscreen?

    Also doesn't seem to be using the mosart module, but whatever works...
    Last edited by H3g3m0n; July 12th, 2010 at 02:01 AM.

  9. #9
    Join Date
    Apr 2006
    Beans
    Hidden!

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

    it was a typo, I'll fix my post

  10. #10
    Join Date
    Jul 2005
    Beans
    123
    Distro
    Ubuntu Development Release

    Re: Asus EeePC T91MT multitouch touchscreen [Lucid 10.04]

    The egalax calibrate from the T101MT thread seems to work fine for me.

    The touchrotate script works too (although it helps if you change the 'auto' resolver to the Asus one so you don't have to specify the input id).

    I've put step by step instructions on the original post and http://wiki.eeeuser.com/ubuntu_9.10_on_the_t91_t91mt

Page 1 of 5 123 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

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