Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Solved: After Update 9.0.5 to 9.0.6 my 7'' LCD not working correctly
#11
@scoddy
Thank you for pointing out the solution. For me, the problem occurred only during one update, from version 9.0.5 to 9.0.6. Previous updates did not cause any problems.
I have always used solutions in configuration files that were indicated by the manufacturer of the given equipment.
Does it work without any problems for you: startup option/integrated audio: Kernel Mode
In this setting, it reports no video signal.
I haven't checked your solution yet to see if it will work for me.

Before that, I will try to install the new Moode 9.0.6 system on another SD card and run the LCD without custom modifications.
Reply
#12
I have a error on my current installation:

Code:
pi@moode:~ $ kmsprint -m
terminate called after throwing an instance of 'std::runtime_error'
 what():  failed to find DRM cards
Aborted
pi@moode:~ $ kmsprint
terminate called after throwing an instance of 'std::runtime_error'
 what():  failed to find DRM cards
Aborted
pi@moode:~ $
New fresh installation without extra changes, by default setting with enabling LCD. I have no signal.
Integated audio = Kernel mode (default)
Only all information is displayed while the system is booting and then nothing is displayed. No signal.
Code:
pi@moode:~ $ kmsprint
Connector 0 (32) HDMI-A-1 (disconnected)
  Encoder 0 (31) TMDS
Connector 1 (41) HDMI-A-2 (disconnected)
  Encoder 1 (40) TMDS
I searched the problem and found the solution: https://github.com/raspberrypi/linux/issues/5178

Solution.
Step 1
In the moode generated during installation, clean the config.txt file and add the phrase at the end:

Code:
hdmi_edid_file=1


Step 2
In the cmdline.txt file, I add the following phrase at the very end as a continuation of the command line:

Code:
drm.edid_firmware=edid.dat video=HDMI-A-1:1920x1080@60D



Now everything works.


Code:
pi@moode:~ $ kmsprint
Connector 0 (32) HDMI-A-1 (connected)
  Encoder 0 (31) TMDS
    Crtc 3 (94) 1600x900@60.00 108.000 1600/24/80/96/+ 900/1/3/96/+ 60 (60.00)
      Plane 3 (84) fb-id: 340 (crtcs: 3) 0,0 1600x900 -> 0,0 1600x900 (XR24 AR24 AB24 XB24 RG16 BG16 AR15 XR15 RG24 BG24 YU16 YV16 YU24 YV24 YU12 YV12 NV12 NV21 NV16 NV61 P030 XR30 AR30 AB30 XB30 RGB8 BGR8 XR12 AR12 XB12 AB12 BX12 BA12 RX12 RA12)
        FB 340 1600x900 XR24
      Plane 25 (307) fb-id: 339 (crtcs: 3) 0,0 64x64 -> 803,409 64x64 (XR24 AR24 AB24 XB24 RG16 BG16 AR15 XR15 RG24 BG24 YU16 YV16 YU24 YV24 YU12 YV12 NV12 NV21 NV16 NV61 P030 XR30 AR30 AB30 XB30 RGB8 BGR8 XR12 AR12 XB12 AB12 BX12 BA12 RX12 RA12)
        FB 339 64x64 AR24
Connector 1 (41) HDMI-A-2 (disconnected)
  Encoder 1 (40) TMDS
Reply
#13
I'm glad you got your display working but I have to say I'm a bit confused by your solution.

The fact that the kmsprint commands aborted according to your first point suggests to me that your display's HDMI interface is returning an invalid EDID. That happens---sometimes it's just a cable issue, sometimes it's the fault of the maker of the HDMI interface.

I don't understand your second point which begins "Only all the information ...".

In any case, as I read the Raspberry Pi Foundation documentation for Bookworm systems, one should be able to bypass reading the EDID from the display by adding only the following to cmdline.txt
Code:
video=HDMI-A-1:1920x1080@60D

which forces the kms driver to use a specific resolution and refresh rate.

The extra cmdline.txt option which you added
Code:
drm.edid_firmware=edid.dat

seems odd because 1) it's telling the system to choose a resolution and refresh rate from values defined in a file named edid.dat, which contradicts the other addition, and 2) it's pointing to a nonexistent file unless you added one and didn't tell us (the RPF documentation is ambiguous about the location of this file). The accompanying config.txt entry is a legacy option which tells the system to read the EDID from the file named edid.dat in the /boot partition. Again, this file doesn't exist unless you added one.

I'm guessing Raspberry Pi OS ignores the  drm.edid_firmware= directive and uses the video= directive when the kms driver initializes. Similarly, I'm guessing the legacy config.txt entry is ignored but describing such options the RPF documentation uses the weasel words "no longer officially supported".

Finally, your last kmsprint output doesn't agree with the above. It says the display resolution being used is 1600x900 when you told the system to use 1900x1080.

When you get a chance, could you post the output of the command  fbset -s ? If you're really adventuresome, could you also try booting with only the video= entry in cmdline.txt and without the config.txt entry?

As an aside, I've been having my doubts about some of the Raspberry Pi documentation revisions regarding Bookworm. I've been getting some conflicting results from some tests of my own with a 3.5-in HDMI display, which is why I ask.

Regards,
Kent
Reply
#14
@TheOldPresbyope

I followed your description, i.e. I deleted the entry from the cmdline.txt file: 
After starting everything works fine.
Code:
drm.edid_firmware=edid.dat


and from the config.txt file the entry:



Code:
hdmi_edid_file=1

Now kmsprint report:

Code:
pi@moode:~ $ kmsprint -m
Connector 0 (32) HDMI-A-1 (connected)
   0 1920x1080@60.00  148.500 1920/88/44/148/-   1080/4/5/36/-      60 (60.00) U|D
   1 1600x900@60.00   108.000 1600/24/80/96/+    900/1/3/96/+       60 (60.00) D
   2 1440x810@59.98    95.004 1440/72/152/224/-  810/1/3/25/+       60 (59.98)
   3 1280x720@60.00    74.250 1280/110/40/220/+  720/5/5/20/+       60 (60.00) D
   4 1280x720@59.94    74.176 1280/110/40/220/+  720/5/5/20/+       60 (59.94) D     16:9
   5 1152x648@60.01    59.918 1152/48/120/168/-  648/1/3/19/+       60 (60.01)
   6 1024x576@59.97    46.970 1024/40/104/144/-  576/1/3/17/+       60 (59.97)
   7 800x450@60.05     27.759 800/16/80/96/-     450/1/3/12/+       60 (60.05)

Code:
pi@moode:~ $ kmsprint
Connector 0 (32) HDMI-A-1 (connected)
  Encoder 0 (31) TMDS
    Crtc 3 (96) 1600x900@60.00 108.000 1600/24/80/96/+ 900/1/3/96/+ 60 (60.00)
      Plane 3 (86) fb-id: 342 (crtcs: 3) 0,0 1600x900 -> 0,0 1600x900 (XR24 AR24 AB24 XB24 RG16 BG16 AR15 XR15 RG24 BG24 YU16 YV16 YU24 YV24 YU12 YV12 NV12 NV21 NV16 NV61 P030 XR30 AR30 AB30 XB30 RGB8 BGR8 XR12 AR12 XB12 AB12 BX12 BA12 RX12 RA12)
        FB 342 1600x900 XR24
      Plane 25 (309) fb-id: 341 (crtcs: 3) 0,0 64x64 -> 791,534 64x64 (XR24 AR24 AB24 XB24 RG16 BG16 AR15 XR15 RG24 BG24 YU16 YV16 YU24 YV24 YU12 YV12 NV12 NV21 NV16 NV61 P030 XR30 AR30 AB30 XB30 RGB8 BGR8 XR12 AR12 XB12 AB12 BX12 BA12 RX12 RA12)
        FB 341 64x64 AR24
Connector 1 (42) HDMI-A-2 (disconnected)
  Encoder 1 (41) TMDS

My display connect with 1600x900 px, no 1920x1080.
Nothing changes.



This write that mode is 1920x1080.
Code:
pi@moode:~ $ fbset -s

mode "1920x1080"
    geometry 1920 1080 1920 1080 16
    timings 0 0 0 0 0 0 0
    rgba 5/11,6/5,5/0,0/0
endmode

Where is the truth ?
Reply
#15
Sorry. At this point, I'm out of suggestions.

Regards,
Kent
Reply


Forum Jump: