From: Ryan G. <ry...@gm...> - 2008-10-14 02:42:25
|
There are some specific questions I have related to the lirc-imon driver in the CVS head. I've been hammering away at this problem for a while, and I've posted some pretty detailed information about what I've been going over at a forum here: http://codeka.com/forums/viewtopic.php?f=3&t=69 Some specific questions I have: In the code, the setup code is defined: /* setup packet is '21 09 0200 0001 0008' */ control_req->bRequestType = 0x21; control_req->bRequest = 0x09; control_req->wValue = cpu_to_le16(0x0002); control_req->wIndex = cpu_to_le16(0x0100); control_req->wLength = cpu_to_le16(0x0800); I'm not familiar with cpu_to_le16 as well as I should - but I do know that when I use this code, my usbmon traces show that it's not sending 21 09 0200 0001 0008 as it shoudl be - but it's sending out 21 09 0002 0100 0800 - so the setup code is flawed. Fixing it to be the way that would make sense for me makes the setup codes I see in usbmon match what the setup code for the device should be. The question I have is - does this code actually work? Why does it not work on my x86_64 build? The next question I have has to do with the actual sending of packets. It seems that the bits are being padded with ' ' instead of 0x00 - In the case of the LCD, it seems that the stuff I've traced prefers 0x00's - and not 0x20 because it is not dealing with ASCII characters, but actual bits? Also, when I get rid of the sequence byte and have it just output 8 bytes at a time, I can send commands via perl and get it to display stuff on the screen like I could when it was functioning against an earlier version. if I put back in the sequence bits, it wont do anything. I've posted a lot more depth on that forum - but these are some questions that any answers to would help. It would be extremely helpful if someone with a working 0x152c 0x0038 imon device could trace some output over usbmon that is going to the LCD display so I can compare it against what is being put out over USB on my system and see why mine isn't working at all. Thanks, Ryan Gardner |