I have two Linux boxes (Laptop and HTPC) with gentoo and latest lirc installed. I try to use IRToy (http://dangerousprototypes.com/docs/USB_Infrared_Toy) throught cdc_acm and LIRC's irtoy driver. I wrote lirc.conf for my remote (attached).
Laptop recognizes every press successfully (but as you watch the log - there is some problems too), HTPC in case of frequent pressess works fine, but if I'll pause for 3 seconds, futher buttons pressing doesn't recognizes. I found this thread: http://dangerousprototypes.com/forum/viewtopic.php?f=29&t=965&start=15&hilit=delay+linux+lirc and I think the problem is in this 0xFFFF signal. But I'm not sure. I tried various lirc versions (from 0.9.0 (manualy patched with usb_irtoy driver) to latest git version), various Linux kernels (3.9.0, 3.11.4, 3.19.0) with combinations of USB and ACM configuration parameters, but nothing helped.
Hm... this is hairy stuff. A few remarks:
you read that?
post_data_bits set. This does not look OK to me, but is
probably unrelated.
Last edit: Alec Leamas 2015-02-15
Sory I didn't look into the driver source. I will.
I have no expirence with writing config. It's my naive attempt to resolve the problem.
Few have. What happens if you invoke irrecord using your remote?
Note that irrecord has just had a major overhaul in master which might have destabilized it in some sense. If you run into problems, try 0.9.2.
Also note that I'm pretty sure that if anything should be done, it's about the irtoy driver. Other parts if lircd are most likely not invovled.
Last edit: Alec Leamas 2015-02-16
This config was generated by the irrecord on the Laptop. I think It didn't failed because pressing was frequent, so the device didn't send 0xFFFF. But during phase key mapping the problem appeared (irrecord didn't recornized first pressing because irtoy sent 0xFFFF while I typing key name).
Odd. The laptop log is from using 0.9.3, but the file seems to be recorded with 0.9.0.
Also, having some post_data but no post_data_bits is definitely broken. Can you try to re-record and attach the new config file? No need to do it for all keys, just three (but no less)?
Does the code comment make any sense to you?
I looked into the diriver's code.
In the normal case device sends 0xFFFF on timeout, in my strange case it spams lirc. When the driver meet 0xFFFF, readdata returns LONG_SPACE (it is set to 1000000). I think it will be better to send 0. I suppose LIRC will just ignore this value (thinking it was a timeout) and continue to recongize other remote signals. I'll try to play with code in the weekend, when I have more free time.
Last edit: Kim Merder 2015-02-17
It looks like sime kind of hardware problem (http://dangerousprototypes.com/forum/viewtopic.php?f=29&t=7036&p=60699#p60699). LIRC is fine. I think this ticket is meaningless and can be closed. Thanks for your help.
Last edit: Kim Merder 2015-03-20
OK, then let's close. Thanks for reporting, this might be really valuable for others running into this.