Bug 183032 - [uep] uep driver not working with eGalax touchcontroller
Summary: [uep] uep driver not working with eGalax touchcontroller
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: usb (show other bugs)
Version: 9.2-RELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-usb (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-16 21:00 UTC by walker_643
Modified: 2019-01-20 21:32 UTC (History)
2 users (show)

See Also:


Attachments
file.txt (1.23 KB, text/plain)
2013-10-16 21:00 UTC, walker_643
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description walker_643 2013-10-16 21:00:00 UTC
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:

http://149.20.54.209/showthread.php?p=158199
http://forums.freebsd.org/archive/index.php/t-28521.html


Major Points:

- 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.

Thank you.

Fix: Patch attached with submission follows:
How-To-Repeat: Attempt to use an eGalax touchscreen with FreeBSD 9.x using the uep driver
Comment 1 Brock Williams 2013-10-25 17:06:23 UTC
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

Section "InputDevice"
    Identifier     "Panel1"
    Driver         "mouse"
    Option         "Protocol" "usb"
    Option         "Device" "/dev/uhid0"
	Option	"Collection"	"2"
	Option "FlipXY" "true"
#	Option "InvX" "True"
#	Option "InvY" "True"
	Option "AngleOffset" "90"
EndSection

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
into Xorg.

Brock
-- 
Brock Williams  brock@cottonwoodcomputer.com
Cottonwood Computer Solutions, Inc.
www.cottonwoodcomputer.com      406-896-4910
Comment 2 walker_643 2013-10-28 14:58:44 UTC
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.

Ian
Comment 3 Brock Williams 2014-01-22 23:40:12 UTC
This is a multi-part message in MIME format.
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2014-04-16 01:51:42 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-usb

reclassify.
Comment 5 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:00:27 UTC
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
Comment 6 Hans Petter Selasky freebsd_committer freebsd_triage 2018-08-05 08:59:53 UTC
Hi, There are X-org patches to autodetect this device:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678

--HPS