Closed pcollinson closed 10 months ago
Normally the EDID is only re-read when hotplug deasserts/reasserts to indicate display has changed its reported features (or a different display is attached).
I wonder if a hardware fault it triggering this unwantedly?
Can you try adding vc4.force_hotplug=1
to cmdline.txt (on existing line) which should cause the hotpug line to be ignored.
Thanks for the speedy response.
Adding vc4.force_hotplug=1
makes the screen stay on - so is an improvement, it's no longer turning off as the system switches from the firmware boot to the kernel boot.
However, it's made no difference to the report
EDID block 0 (tag 0x00) checksum is invalid, remainder is 24
which still happens 3 times a minute.
I tried adding back in the EDID binaries, installing the compiled code in /lib/firmware/edid
and adding:
drm.edid_firmware=edid/1280x1024.bin
into the kernel command line.
I now get:
kernel: [drm] Got built-in EDID base block and 0 extensions from "edid/1280x1024.bin" for connector "HDMI-A-1"
but it happens 6 times a minute. So I've removed it. However, is it using a cached copy of the data or actually re-reading the file every time?
Just be good to get rid of this printf down to a single repeat.
If you unplug hdmi cable do the 3 (or 6) times a minute messages continue?
The vc4.force_hotplug=1
should mean the Pi doesn't see the disconnect, so I'd expect it to continue.
If it does, that rules out the display as provoking the message.
The other test is to try a clean install of bookworm (with vc4.force_hotplug=1
) and check if messages occur.
If they don't then perhaps some installed (but not default) software is triggering it.
OK. It looks like the display is triggering this, sorry I didn't think of that.
Turning the display off - no change. Unplugging when off or on: logs stop. Plugging back in again: logs start again. So it looks like something in this early display is doing it. It must be over 20 years old.
I found I could do a Factory Reset on the display - but that had no effect.
So I'll unplug the screen when not needed.
Thanks for your assistance.
The only thing I can think of that the display is doing to provoke this is toggling the hotplug detect line.
But I'd expect vc4.force_hotplug=1
to hide that. Just to confirm, that setting is working can you show output of:
cat /proc/cmdline
cat /sys/module/vc4/parameters/force_hotplug
Hotplug is definitely working....
~# cat /proc/cmdline
coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=0 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyAMA0,115200 console=tty1 root=PARTUUID=09701a8f-02 rootfstype=ext4 fsck.repair=yes rootwait plymouth.ignore-serial-consoles video=HDMI-A-1:1280x1024@60 vc4.force_hotplug=1 cfg80211.ieee80211_regdom=GB
~# cat /sys/module/vc4/parameters/force_hotplug
1
Perhaps the designers wanted to detect DVI or VGA input and switch automatically - which I think it does.
Describe the bug
I have an ancient flat screen (Dell 1706FPVt) with a DVI interface plugged into an RP3B+ with a DVI to HDMI interface. For bookworm, I've included
video=HDMI-A-1:1280x1024@60
on the kernel command line. The screen works fine but every minute I get three messages like:written on the console. So researching this, I find that the approved way of adding such devices is to add a compiled appropriate EDID file, provided with the kernel source in
tools/edid
. So I tried this. The code compiles easily from a Makefile and generates the/lib/firmware/edid
files. However, the only change is that I now get is a message flood saying that it's loading the information, again three times a minute and flooding logs.Maybe I can stop this output by changing
/proc/sys/kernel/printk
. It seems not.I've also tried switching between X11 and Wayland, there is no discernible difference.
Now this isn't anything like a show stopper, but it's shortening the life of my storage devices and anything like this is just annoying because it wipes out logs that might be important.
Steps to reproduce the behaviour
Use vanilla bookworm on an RPI3B+, with a DVI screen connected using a DVI to HDMI adapter. Change the kernel command line to include an appropriate screen setting for the device.
Device (s)
Raspberry Pi 3 Mod. B+
System
Logs
dmesg is currently 1927 lines showing the error above.
Additional context
No response