On Sun, 11 Feb 2007, Guenther Sohler wrote:

> Dear Users,
> 
> On ebay I got a usb remote control. This is a ir receiver having a usb plug 
> and an ir remote control sender.
> 
> It is a  Cypress Semiconductor eDio USB Multi Remote Controller
> from Formosa Industrial Computing, Inc.
> lsusb shows
> Bus 003 Device 023: ID 147a:e006 Formosa Industrial Computing, Inc.
> 
> However I want to receive the key strokes
> 
> I tried
> 
> cat /dev/input/event3 | xxd
> 
> But just the first press after plugging in is received. To receive more 
> events you have to plug in again.
> the same applies to evexec, but the data displayed is incorrect

I can't answer all your questions.  From what you say below, it looks like 
the USB stack is working correctly and any problems probably lie in the 
input layer.

> Looking at usbmon output looks like this ( when something is requesting data 
> from the receiver)
> 
> dee5f2e0 614940404 C Ii:023:01 0 4 = 40001b0f
> dee5f2e0 614940421 S Ii:023:01 -115 4 <
> dee5f2e0 615036386 C Ii:023:01 0 4 = 40801b0f
> dee5f2e0 615036401 S Ii:023:01 -115 4 <
> dee5f2e0 615284335 C Ii:023:01 0 4 = 40801b0f
> dee5f2e0 615284353 S Ii:023:01 -115 4 <
> 
> 
> This looks better. Every keystroke is received.
> But i realized thet the data sent is different. For every event there are 4 
> bytes sent
> (but my usb keyboard always sends 8 bytes)

Nothing wrong with that; different devices send messages of different 
lengths.

> I suspect an incompatibility with the usbhid driver which requests 8 bytes 
> but just gets 4 bytes each time and so
> just works out for the 1st event.

No.  Your usbmon log shows that the driver requests 4 bytes.

> I really accept writing my own usb driver(i already have experiance) but my 
> driver is never used for my remote device,
> as usbhid still takes precedence and i cannot remove the usbhid driver, 
> because its not compiled as a module.

You don't have to unload usbhid in order to unbind it.  cd to the 
/sys/bus/usb/drivers/usbhid directory and find the filename corresponding 
to your device.  Let's say it is 1-4:1.0 -- then you can do (as root):

        echo -n 1-4:1.0 >unbind

That will unbind usbhid from the device, leaving it available for your 
driver to claim.

> How can I best properly receive the remote keystrokes without having to parse 
> the usbmon output ?

Find out what's wrong with the input parsing and fix it, so that you don't 
need a special driver.

Alan Stern


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to