-
Notifications
You must be signed in to change notification settings - Fork 5.2k
fix auto-sense in lirc_rpi driver #1581
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix auto-sense in lirc_rpi driver #1581
Conversation
On a Raspberry Pi 2, the lirc_rpi driver might receive spurious interrupts and change it's low-active / high-active setting. When this happens, the IR remote control stops working. This patch disables this auto-detection if the 'sense' parameter was set in the device tree, making the driver robust to such spurious interrupts.
Looks okay to me. @pelwell okay with you? |
I don't understand the failure mechanism - if a spuriously long pulse is interpreted as an inverted space, causing the sense to be inverted, the following real space (which is seen as a long pulse) should cause the sense to flip back again, unless in normal use you never see a long space - but I see no problem with the patch. |
Hmm, occasionally the sense bit did flip back after a while - probably at the first signal after 15 seconds of complete 'silence'. I'm not 100% sure if that explained all error cases that I encountered, but with this fix my remote control worked very reliably. |
See: raspberrypi/linux#1581 kernel: enable gembird joypad support See: raspberrypi/linux#1589 kernel: Added HiFiBerry Digi+ Pro driver See: raspberrypi/linux#1583 kernel: overlays: Add assert_falling_edge to pps-gpio overlay See: raspberrypi/linux#1590 kernel: Experimental graphics driver DSI support See: raspberrypi/linux#1556 firmware: Add customisation project board type firmware: platform: Enable Bluetooth on custom firmware: gencmd: Add support for hdmi_cvt and hdmi_timings See: #637 firmware: arm_display: Allow source aspect ratio to be configured See: #638 firmware: mmal: Allow /dev/vchiq to be opened initialised prior to mmal_vc_init
See: raspberrypi/linux#1581 kernel: enable gembird joypad support See: raspberrypi/linux#1589 kernel: Added HiFiBerry Digi+ Pro driver See: raspberrypi/linux#1583 kernel: overlays: Add assert_falling_edge to pps-gpio overlay See: raspberrypi/linux#1590 kernel: Experimental graphics driver DSI support See: raspberrypi/linux#1556 firmware: Add customisation project board type firmware: platform: Enable Bluetooth on custom firmware: gencmd: Add support for hdmi_cvt and hdmi_timings See: raspberrypi/firmware#637 firmware: arm_display: Allow source aspect ratio to be configured See: raspberrypi/firmware#638 firmware: mmal: Allow /dev/vchiq to be opened initialised prior to mmal_vc_init
- kernel: fix auto-sense in lirc_rpi driver See: raspberrypi/linux#1581 - kernel: enable gembird joypad support See: raspberrypi/linux#1589 - kernel: Added HiFiBerry Digi+ Pro driver See: raspberrypi/linux#1583 - kernel: overlays: Add assert_falling_edge to pps-gpio overlay See: raspberrypi/linux#1590 - kernel: Experimental graphics driver DSI support See: raspberrypi/linux#1556 - firmware: Add customisation project board type - firmware: platform: Enable Bluetooth on custom - firmware: gencmd: Add support for hdmi_cvt and hdmi_timings See: #637 - firmware: arm_display: Allow source aspect ratio to be configured See: #638 - firmware: mmal: Allow /dev/vchiq to be opened initialised prior to mmal_vc_init
See: raspberrypi/linux#1581 kernel: enable gembird joypad support See: raspberrypi/linux#1589 kernel: Added HiFiBerry Digi+ Pro driver See: raspberrypi/linux#1583 kernel: overlays: Add assert_falling_edge to pps-gpio overlay See: raspberrypi/linux#1590 kernel: Experimental graphics driver DSI support See: raspberrypi/linux#1556 firmware: Add customisation project board type firmware: platform: Enable Bluetooth on custom firmware: gencmd: Add support for hdmi_cvt and hdmi_timings See: raspberrypi#637 firmware: arm_display: Allow source aspect ratio to be configured See: raspberrypi#638 firmware: mmal: Allow /dev/vchiq to be opened initialised prior to mmal_vc_init
Hope this is the right branch - anyway, the lirc_rpi driver didn't change too much recently.
This reliably fixed my problems with infrared remote controls.
On a Raspberry Pi 2, the lirc_rpi driver might receive spurious
interrupts and change it's low-active / high-active setting.
When this happens, the IR remote control stops working.
This patch disables this auto-detection if the 'sense' parameter
was set in the device tree, making the driver robust to such
spurious interrupts.