Date: Tue, 22 Jun 2010 05:50:32 HST From: osp@aloha.com To: freebsd-questions@freebsd.org Subject: Fujitsu T1010 digitizer Message-ID: <201006221550.o5MFoWXs032320@yoda.pixi.com>
next in thread | raw e-mail | index | archive | help
I am looking for help in getting a Fujitsu touch panel working with FreeBSD 8.0 and Gnome. I have here what I have so far, what I need is some advice on what to do next. Someone who goes by "zmiq2" has developed a basic but functional set of programs that do what I need, for Ubuntu. That code identifies the Fujitsu digitizer as vendor ID 0x0430 and device ID 0x0530. Here is some of that code: #include <linux/kernel.h> #include <linux/slab.h> #include <linux/module.h> #include <linux/init.h> #include <linux/usb/input.h> /* * Version Information */ #define DRIVER_VERSION "v0.3.5" #define DRIVER_DESC "Fujitsu usb touchscreen driver for u810, u820, p1620, t1010" #define DRIVER_LICENSE "GPL" #define DRIVER_AUTHOR "zmiq2 <zzmiq2@gmail.com>" .. #define USB_VENDOR_ID_FUJITSU 0x0430 #define USB_DEVICE_ID_U810TABLET 0x0530 .. My Fujitsu T1010 triple boots FreeBSD 8.0, Windows 7, and Ubuntu. I have this interface working in Ubuntu. Minimal but functional. This is from my FreeBSD /var/run/dmesg.boot (external USB mouse attached). Look closely at ugen4.2: .. uhub1: 2 ports with 2 removable, self powered uhub0: 2 ports with 2 removable, self powered uhub2: 2 ports with 2 removable, self powered uhub4: 2 ports with 2 removable, self powered uhub5: 2 ports with 2 removable, self powered uhub6: 2 ports with 2 removable, self powered Root mount waiting for: usbus7 usbus3 Root mount waiting for: usbus7 usbus3 uhub3: 6 ports with 6 removable, self powered uhub7: 6 ports with 6 removable, self powered ugen1.2: <Logitech> at usbus1 ums0: <Logitech USB Optical Mouse, class 0/0, rev 2.00/43.01, addr 2> on usbus1 ums0: 8 buttons and [XYZ] coordinates ID=0 ugen4.2: <Fujitsu Component> at usbus4 Root mount waiting for: usbus7 ums1: <Fujitsu Component USB Touch Panel, class 0/0, rev 1.10/50.01, addr 2> on usbus4 ugen7.2: <Namtai Corp.> at usbus7 Trying to mount root from ufs:/dev/ad4s3a ugen4.3: <vendor 0x0c24> at usbus4 ubt0: <vendor 0x0c24 product 0x0022, class 224/1, rev 2.00/48.39, addr 3> on usbus4 .. More info from usbconfig: $ sudo usbconfig dump_info ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen3.1: <EHCI root HUB Intel> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen4.1: <UHCI root HUB Intel> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen5.1: <UHCI root HUB Intel> at usbus5, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen6.1: <UHCI root HUB Intel> at usbus6, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen7.1: <EHCI root HUB Intel> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen1.2: <USB Optical Mouse Logitech> at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen4.2: <USB Touch Panel Fujitsu Component> at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen7.2: <Sirius USB2.0 Camera Namtai Corp.> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen4.3: <product 0x0022 vendor 0x0c24> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON $ sudo usbconfig -u 4 -a 2 dump_device_desc ugen4.2: <USB Touch Panel Fujitsu Component> at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0008 idVendor = 0x0430 idProduct = 0x0530 bcdDevice = 0x5001 iManufacturer = 0x0001 <Fujitsu Component> iProduct = 0x0002 <USB Touch Panel> iSerialNumber = 0x0000 <no string> bNumConfigurations = 0x0001 Here we see that idVendor and idProduct match the values used in the Ubuntu interface. Back in dmesg.boot we see that this device is assigned to ums1. $ ll /dev/um* crw-r--r-- 1 root operator - 0, 114 Jun 22 02:59 /dev/ums0 crw-r--r-- 1 root operator - 0, 116 Jun 22 02:59 /dev/ums1 (Yes, I was working at three in the morning!) Just for fun I tried cat /dev/ums1 but got "Device busy." So, how do I open this device and read what it is sending, and how do I send something useful to x.org? I don't think I can just read it as a mouse, it will need scaling, rotation, and some help generating button 2 and button 3 events. All help appreciated! Gary Dunn Open Slate Project osp@aloha.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006221550.o5MFoWXs032320>