eGalax Touchscreens don't appear to be working with FreeBSD 9.2. This has been an ongoing problem, I think, since the 8.x branch. Please refer to these links for existing similar reports:
- uep finds the touchscreen and assigns it to /dev/uep0
- uep0 does not offer any data when the touchscreen events happen
- I have made the appropriate changes to xorg.conf (attached as xorg.txt)
- The touchscreen does not function in Xorg; no cursor movement ever happens.
- The touchscreen is known to work under Windows XP Embedded and Linux (via the evtouch driver)
Lines from dmesg that are important:
> dmesg | grep -iE 'ums|uhid|uep|galax'
ugen3.2: <eGalax Inc.> at usbus3
uep0: <eGalax Inc. USB TouchController, class 0/0, rev 1.10/1.00, addr 2> on usbus3
usbconfig output for the touchscreen:
> usbconfig -u 3 -a 2 dump_device_desc
ugen3.2: <USB TouchController eGalax Inc.> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x0eef
idProduct = 0x0001
bcdDevice = 0x0100
iManufacturer = 0x0001 <eGalax Inc.>
iProduct = 0x0002 <USB TouchController>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Please let me know if any more information could be helpful.
Fix: Patch attached with submission follows:
How-To-Repeat: Attempt to use an eGalax touchscreen with FreeBSD 9.x using the uep driver
I have the same issue and have been trying to figure out a solution
for a while.
From what I can gather, the uep driver is for older non HID compliant
eGalax devices. Apparently eGalax changed the devices but kept the
same device IDs.
2 approaches have shown promise, but so far neither actually works:
1- the latest version of xf86-input-mouse contains a patch from mav@
which includes support for USB HID devices directly. I am able to get
my touchscreen somewhat working using this. You have to compile a
kernel without ums in order for uhid to bind to the device and add
something like this to Xorg
Option "Protocol" "usb"
Option "Device" "/dev/uhid0"
Option "Collection" "2"
Option "FlipXY" "true"
# Option "InvX" "True"
# Option "InvY" "True"
Option "AngleOffset" "90"
On my device, the axes are inverted, and the driver doesn't seem to
respect the FlipXY option, so it isn't of much use.
2- the multimedia/webcamd includes a port of the linux eGalax input
driver. Once installed and bound to the ugen device ( my device is
ugen4.3 so I run "webcamd -d 4.3"), there is a linux style
/dev/input/event0 device which produces data when the screen is
touched. But so far I have found nothing to use this to get events
Brock Williams email@example.com
Cottonwood Computer Solutions, Inc.
Hi Brock -
It sounds like we're in the same situation. I, too, have made the most progress via xf86-input-mouse and been thwarted at the last moment by the incorrectable inverted axis problem. It seems like the best solution now is to add "FlipXY" intelligence to bsd_mouse.c and call it good.
This is a multi-part message in MIME format.
For bugs matching the following criteria:
Status: In Progress Changed: (is less than) 2014-06-01
Reset to default assignee and clear in-progress tags.
Mail being skipped
Hi, There are X-org patches to autodetect this device: