Issue #538 has been updated by Brian L.
Nico Huber wrote in #note-6:
A good step to gather more information may be to return to the vendor BIOS and confirm that Linux can directly read the EDID from hardware (if you haven't yet), and to fetch the active VBT. For the former I would use `i2cdump`, e.g.:
$ # to find the i2c bus number $ grep panel /sys/class/i2c-adapter/i2c-?/name /sys/class/i2c-adapter/i2c-2/name:i915 gmbus panel $ # so on my system it's i2c-*2* $ sudo modprobe i2c-dev $ sudo i2cdump -y 2 0x50 # 2 is the bus, 0x50 the EDID address No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX ...
As mentioned before, there are no issues getting edid once vendor bios is flashed, so I didn't provide the above info to you. However, I am not sure if this is interesting. The following output is from a booted session where internal panel was not working correctly:
``` [root@x230 card0-LVDS-1]# pwd /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1 [root@x230 card0-LVDS-1]# ls connector_id device edid firmware_node power subsystem waiting_for_supplier ddc dpms enabled modes status uevent [root@x230 card0-LVDS-1]# cat edid [root@x230 card0-LVDS-1]# i2cdump -y 3 0x50 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 ff ff ff ff ff ff 00 42 29 08 10 00 00 00 00 ........B)??.... 10: 29 13 01 03 80 16 0c 78 0a a3 95 8c 57 53 8c 28 )??????x????WS?( 20: 29 50 57 00 00 00 01 01 01 01 01 01 01 01 01 01 )PW...?????????? 30: 01 01 01 01 01 01 2d 11 00 a0 40 58 13 20 30 20 ??????-?.?@X? 0 40: 3a 00 de 7d 00 00 00 18 74 0b 00 a0 40 58 13 20 :.?}...?t?.?@X? 50: 30 20 3a 00 de 7d 00 00 00 18 97 08 00 a0 40 58 0 :.?}...???.?@X 60: 13 20 30 20 3a 00 de 7d 00 00 00 18 00 00 00 fe ? 0 :.?}...?...? 70: 00 50 51 33 51 69 2d 30 31 0a 20 20 20 20 00 e5 .PQ3Qi-01? .? 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ b0: ff ff 54 31 31 32 33 30 34 31 4e 53 31 30 ff ff ..T1123041NS10.. c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ ```
---------------------------------------- Bug #538: [Soft Brick] x230 Dock Causes Internal Display to "Permanently" Malfunction https://ticket.coreboot.org/issues/538#change-1840
* Author: Brian L * Status: New * Priority: High * Target version: none * Start date: 2024-05-14 * Affected hardware: Lenovo x230 ---------------------------------------- Environment: - Lenovo x230 - Stock screen replaced with Pixel Qi (not sure if relevant) (plug & play LVDS) - Coreboot using Heads (coreboot + linuxboot) - Official lenovo docking station connected to external monitor via DisplayPort
Bug Trigger: Using Heads/coreboot fine for years with my Pixel Qi screen modded x230. I then bought a Lenovo docking station. Booted up, everything worked fine. Disconnected from dock, booted up, and there was no bios screen. Screen did not turn on until taken over by Linux Kernel. Once in userspace, wayland could no longer identify the monitor as a Pixel Qi or its proper resolution. EDID is blank. Booting with docking station allows bios to show on external display.
Restarting did *not* fix the issue, reflashing heads did *not* fix the issue, flashing skulls (coreboot + seabios) did *not* fix the issue.
Flashing stock bios *did fix* the issue. I can now see BIOS screen and get proper EDID in userspace whether on the dock or not. *However* reflashing coreboot again, even coming from stock bios working state, and I immediately now no longer get a BIOS screen or EDID, even without ever introducing the dock again. Essentially now bricked with anything but stock bios.