Hello there. I recently aquired an RPi2 and installed OSMC. I noticed that the Pi was turning on my TV every time I rebooted. I searched the forums and found many threads that talk about the config.txt file, ensuring hdmi_ignore_cec_init is set to =1 and such. In fact, a few of these threads just recommend that you just turn off CEC on your TV as the solution. I was not convinced with this “solution” because setting hdmi_ignore_cec to =1 does in fact stop the TV from turning on, but disabled all the CEC goodness I still wanted to use.
After some googling, I found out that the config.txt file on other RPi OS’s usually goes in the FAT32 partition labeled “Recovery”. So I copied the config.txt file from /boot and put it in the root of the Recovery partition (used Samba for that, but i guess SSH or even plugging the SD Card into the computer would have worked), and it works properly now. CEC stuff is working, my remote and other keymaps work wonderfully, and the TV doesn’t turn on every time the RPi reboots for x or y reason.
(Edit: To clarify, the RPi was turning on the TV during the OS boot, long before Kodi launched).
TL;DR: hdmi_ignore_cec_init=1 setting does not work from /boot folder but it works from the “Recovery” partition. Curiously, hdmi_ignore_cec=1 does work from /boot.
It sounds like you’re on a NOOBS installation. NOOBS works like this:
- NOOBS is loaded
- NOOBS looks for default_partition_to_boot
- NOOBS sets the partition to boot from and reboots.
- New partition is used for boot.
hdmi_ignore_cec is therefore necessary for the NOOBS’ recovery config.txt. It’s not appropriate for us to set a global config option.
You have contradicted yourself here. What does cat /etc/fstab show on your system?
Yes, I am on a NOOBS installation.
I realize it does not make sense, which is why I find it curious. Setting hdmi_ignore_cec=1 disables all cec features, including the dreaded TV auto-start, from the config.txt file in the /boot folder; but hdmi_ignore_cec_init=1 does not work from there (atleast for my Pi2).
My fstab is quite simple:
/dev/mmcblk0p5 /boot vfat defaults,noatime 0 0
/dev/mmcblk0p6 / ext4 defaults,noatime 0 0
/dev/sda1 /home/osmc/USB_Storage ntfs-3g permissions,noatime 0 0
It does not work because that config.txt is parsed too late.
On the boot of the Pi, the initial recovery config.txt is read before the partition to boot from is set. it is with this parsing that a lack of hdmi_ignore_cec will cause the TV to turn on. Then by the time the ‘real’ config.txt is read, the TV has been already powered on.
Hope this makes sense – this not a bug, but rather expected behaviour.
It does make sense, I did not realize NOOBS worked this way. I just didn’t find any solutions on the forums, other than “turn CEC off in the TV or live with it”. Thank you for your attention!
Do you have more than one operating system installed on your SD card or just OSMC ?
If you only have OSMC installed just do a fresh install using our own OSMC installer instead of the noobs installer - problem solved.
I have the same issue, but I am not running NOOBS or any other system - I installed OSMC with the official tool as the main OS.
The behavior is definitely caused by CEC, since disabling CEC completely makes the issue go away (and my remote too, lol).
Interestingly, disabling CEC works from the config file…any takes on this?
Can you explain what you mean by this?
Was the entry already there / what did you change?
If I add “HDMI_IGNORE_CEC=1” to the config.txt file, then the device will not turn on my TV, but any CEC bound appliance (e.g. remote) will not work either. This suggests that the config file is read and taken into consideration before the system completely boots.
However, when I remove the above and add “HDMI_IGNORE_CEC_INIT=1” instead, it still turns on my TV upon a reboot - but it should not.
I’ve also tried to tune the CEC settings on my TV, without any success.
For reference, in case it is important: OSMC runs on an RPi3 and the TV is a Samsung H6400.
Are you disabling the active source option in Kodi?
The config.txt option only stops RBP firmware from bringing up the display.
That did the trick. Apologies for my laziness, as an excuse it wasn’t where I would have expected it to be. Still, my bad.