On Sat, Jan 14, 2012 at 5:55 PM, <[email protected]> wrote: > Hello Everyone, > This is my first involvement in this project so please let me know if > I'm posting in the wrong place or anything. > My name's Mark Johnson, I'm mainly a web developer but dabble quite a > bit. > > The reason for my posting is that I recently purchased a Boogie Board > Rip[1]. As well as the advertised features it appears as /dev/hidrawx > when plugged in to a Linux box, and sends a stream of binary reporting > any event that happens on the board. Here's its lsusb entry: > > Bus 001 Device 008: ID 2047:ffe7 Texas Instruments > > and dmesg output: > > [48257.380164] generic-usb 0003:2047:FFE7.0006: timeout initializing > reports > [48257.380330] generic-usb 0003:2047:FFE7.0006: hiddev0,hidraw2: USB > HID v1.00 Device [Improv USB Device] on usb-0000:00:02.1-4.2/input1 >
There are two Linux HID drivers: hiddev and hidraw. If its a standard HID input device, then hiddev will control it and you'd most likely already be using it with either xf86-input-evdev or xf86-input-wacom without needed to write this email. Something went wrong and its being controlled by hidraw. I'll guess that that first line is a hint why it chose hidraw driver. > Now, I've been able to decode the binary to work out which bytes are > referring to which events, and write a Ruby script[2] to report each > event as they happen. It strikes me that when plugged in the device is > essentially a graphics tablet, there's just no driver to allow it to be > used as such. So my questions are: > Would it be possible and appropriate to add support for the device to > this project, if it's not a Wacom device? No. We wouldn't add this to xf86-input-wacom or wacom kernel driver. > Given that I am but a lowly web developer, would anyone be willing to > use the information I've gathered so far (and any more I'm able to > provide) to do so? > If the answer to either of the above questions is no, would anyone be > willing to mentor me through the process of writing a device driver, or > point me in the direction of a project that might be able to help? I would be happy to give some hints. First up, you might want to look for the linux-input mailing list and join it. Thats were most kernel driver discussions occur and you'll get better help for device drivers there. Next, it would be very useful to see your HID report for this device. If your hardware is not owned by any device drivers then running this as root would show us your HID report "lsusb -vvvv". But your device is controlled by hidraw so probably will blank out the important parts. I've not do this before but following web page shows how you could unbind your device from hidraw then you can run lsusb command: http://lwn.net/Articles/143397/ You would be most lucky if you could get your tablet working with standard hiddev driver. Sometimes adding "quirks" for your product ID is all it takes. Since your dmesg complained about initializing the HID report, you may have one that doesn't like GET's. You can edit the linux kernel file linux/drivers/hid/usbhid/hid-quirks.c and add a line to an array for your devices vendor and product ID. Here is an example line that hadds NOGET and MULTI_INPUT for an EGALAX device: { USB_VENDOR_ID_DWAV, USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER, HID_QUIRK_MULTI_INPUT | HID_QUIRK_NOGET } Try recompiling your kernel with only that addition. If that doesn't seem to help then you'll have to write a custom driver for a non-cofrmant HID device. I suggest looking at the driver linux/drivers/hid/hid-ntrig.c as a template for creating a new driver for your device. There are also some more tablet drivers under linux/drivers/input/tablet that may be good examples as well. The ones under drivers/input/tablets are for devices that are not remotely HID compatible. Good luck, Chris > > Thanks for reading! > Mark > > [1] > http://improvelectronics.com/boogie-board-LCD-writing-tablet/boogie-board-rip-LCD-writing-tablet.html > [2] https://github.com/marxjohnson/rubyboard > > ------------------------------------------------------------------------------ > RSA(R) Conference 2012 > Mar 27 - Feb 2 > Save $400 by Jan. 27 > Register now! > http://p.sf.net/sfu/rsa-sfdev2dev2 > _______________________________________________ > Linuxwacom-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel ------------------------------------------------------------------------------ RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 _______________________________________________ Linuxwacom-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
