Bugzilla – Bug 7214
IR Driver Uses Incorrect Frequency (Was: IR electrically poor)
Last modified: 2009-09-08 09:18:07 UTC
I ran a quick scope test on Jive and compared to one of our cheap squeeze remotes and it would appear that Jive's IR performance is poor. If we were to only use this with Squeezebox I would be less inclined to write a bug but the only purpose for this IR is to work with a customers other devices raises great concern. I believe that this issue is the primary cause for the IR test failure on the factory floor. The squeeze remote does not have issues with the same factory test setup.
Thanks, David. Please attach screenshots of the signals in question. Also, we should capture from an IR sensor, it's not clear to me that what's measured electrically is the same as what is seen optically (the IR LED is a non-linear device). We don't have any evidence that there are problems anywhere but on the test line, we need more information to diagnose. Cc'ing Caleb & Felix who may be able to help diagnose.
FWIW, I was able to use the IR test applet to control an SB3 from 25+ feet while it was under direct florescent lighting (through a window from the back yard).
Could this be due to the lighting in SZ? Is it blacked out? We used to have a ton of problems in the lab until the electrician replaced all the ballasts in the overhead lights. I don't quite trust david's measurements because he wasn't measuring the right thing, and he was using an analog scope which makes it difficult (or near impossible) to determine what's sent. There are 2 stages to verify that the IR works: #1 verify that we get enough current through the LED when switching (i.e. that the LED turns on and off properly with the GPIO pin). This is best done with a scope with a current probe. <--- Verifying hardware. #2 Verify the timing of the signals. This is best done with a logic analyzer. <--- Verifying Software -Caleb
I've tested not only with SB3s and TRs, but also controlled my SonyMini Disc (both NEC format) and even my old Revox Receiver (ITT format) from a SBC (MPQ, r1979) successfully. I've just retested it and it still works from normal distance (about 4 meters) in normal light condition (sun lit room). What is the Jive fw revision they are using at the factory? Did it work at one stage in the factory? And if yes, what has changed? Maybe the light? The PC receiving the signal? What is the test command you are sending during factory test? I think you are running 'testir' without any parameters, isn't it? This sends out a SB/TR power toggle command. (i.e. 0x768940BF) How is the signal captured? IR diode? IR receiver used in SB3? Does the PC receiving the IR signal work with lets say a regular remote? Is there a Plasma or LCD screen nearby? (If my LCD TV runs some of my AV equipment sometimes has difficulty to recognize the respective IR remote.) Is the IR receiver in bright light? (If the sun is directly shining onto some of my AV equipment they fail to recognize any IR commands.)
I've downgraded my MPQ SBC to fw r1425 which I believe is the MP version used in the factory and I can either use the IR factory test applet to control a SB3 fine or run 'testir' which turns on and off a SB3 ok too.
Created attachment 2919 [details] IR01
Created attachment 2920 [details] IR02
Created attachment 2921 [details] IR03
Created attachment 2922 [details] IR04
Created attachment 2923 [details] IR05
Created attachment 2924 [details] IR06
Voltage ranges: 2.5V [ 1V [] -13V
IR04 shows the power toggle ir signal, but there is also a 60Hz signal present. I suggest you use a IR receiver from a SB3 which has a filter for the carrier frequency around 40kHz.
Felix: From Caleb "Carrier Frequency is 18 kHz instead of 32"
Created attachment 2927 [details] IR_Caleb
Ok, after the conversation in campfire I think it makes sense to me. MP fw does _not_ have the latest change in regard of the ir driver (jive_irtx.c) and test program (testir.c) as I thought by looking at the revision number and the revision I added the changes. Before my changes to the driver and test program I also had difficulties to get my Sony MiniDisc player to recognize the ir commands and I think I remember that I ended up doubling the carrier frequency. So I believe that when you use an SBC with the latest fw that the carrier frequency should be about correct. SB3 does not seem to have a problem with half the carrier frequency though. That's why it wasn't seen until I tried to control something different. Sorry for the confusion.
We cold replace the IR Receiver device on the test floor with one from a Squeezebox. I guess the SB one allows in a wide range of carrier frequencies, which is probably why we have problems with fluorescent lighting. But, assuming it's a similar 3-pin module, it should work. -Caleb
We are currently testing with an SD card in Jive. I can put a corrected irtest app on the SD card and execute from there. Felix, If you have a compiled irtest handy can you send it too me and I'll run acouple tests to be sure it works. Thanks. If it does, I'll close this.
You would need to replace testir _and_ the ir driver. Unfortunately the ir driver code (jive_irtx.c) gets compiled into the kernel, so I guess that is not an option.
You should be able to test with a Jive running the latest fw and also get testir off from that. However testir alone will not help you as the ir driver needs to match. To test if you have the latest testir run 'testir 5 5 5 5'. If you get the following you have the latest version: # /usr/bin/testir 5 5 5 5 IR Tx OK - #values: 4
Product, target, and priority changed per afternoon meeting. Title changed also to reflect latest findings.
According to David, the current builds have this fixed, this was only an issue in the MP firmware. Whew.
Marking resolved bugs as closed. Please reopen if the issue has not been addressed fully.