eGalax USB touch panel on ExoPC Slate vs. FreeBSD and X11
Bill Paul
wpaul at FreeBSD.ORG
Fri Nov 16 00:11:34 UTC 2012
Okay. I have my doubts that anyone will be able to answer this question
but I'm going to try anyway.
I have an ExoPC Slate tablet with FreeBSD 9.0 freshly installed on it,
and it has the following touch screen device:
ugen0.2: <eGalax Inc.> at usbus0
ums0: <eGalax Inc. USB TouchController, class 0/0, rev 1.10/10.06, addr 2> on usbus0
tablet# usbconfig -u 0 -a 2 dump_device_desc
ugen0.2: <USB TouchController eGalax Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x0eef
idProduct = 0x72a1
bcdDevice = 0x1006
iManufacturer = 0x0001 <eGalax Inc.>
iProduct = 0x0002 <USB TouchController>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
I put the complete dmesg.boot from FreeBSD 9.0 on the tablet at:
http://people.freebsd.org/~wpaul/exopc/dmesg.boot
This device is detected by the ums(4) driver as a USB mouse. However, it
doesn't quite work right as the ums(4) driver doesn't support multitouch
gestures. It senses taps on the screen as button presses, but the cursor
doesn't move.
My question is:
Can someone please tell me how to get this device to work with Xorg in
FreeBSD (in this case, FreeBSD 9.0)?
Here are some things I'd prefer you didn't tell me:
- "Try the uep(4) driver!" Yes, I know about the uep(4) driver. It's for
a different class of device. It doesn't support this one.
- "Try this patch!" I'm hoping for an officially supported solution
rather than an experimental patch. I mean, it's not that I don't
appreciate someone's hard work and all, but these things have been
around for a while now; you'd think support for it would already
be integrated. And besides, it works with Linux. (You don't know
how long I've been wanting to say that.)
- "Go to this web page!" This _might_ be an acceptable answer _IF_ the
said page contains specific instructions which are known to work. I
already searched through many web pages before I came here.
- "Hey Bill, why don't you just write your own driver?" Because I don't
write FreeBSD drivers anymore, and I certainly don't write USB HID
drivers, and because fuck you, that's why. (Note: I said that last
part with a smile on my face, just in case it wasn't clear. Sometimes
people have a hard time grasping my particular brand of humor.)
This particular touch screen is basically a USB HID class device. I
suspect there's some kind of gimmick you can do with libusb to get it
to work with the X server, but I've already spent some time on various
experimenmts and come up empty. As I said, I'm hoping there's official
support for this kind of device, and I just need to know the right
magic incantation to turn it on.
Any help would be appreciated.
-Bill
--
=============================================================================
-Bill Paul (510) 749-2329 | Member of Technical Staff,
wpaul at windriver.com | Master of Unix-Fu - Wind River Systems
=============================================================================
"I put a dollar in a change machine. Nothing changed." - George Carlin
=============================================================================
More information about the freebsd-questions
mailing list