I've been running coreboot on my T440P and trying to fix it up.
I have already resolved some things here: https://github.com/Ph0rk0z/coreboot/pulls Will have to figure out how to contribute this back to coreboot after testing so it can pass code review.
Other things remain, including:
- software changing of keyboard backlight doesn't work on windows (but I fixed it on linux) - lenovo hotkey / mic mute services crash windows (bad pool_caller) - intel haswell -mini hd audio shows exclamation point, will not start. I've read others don't have DP audio working either. - there is an unknown ACPI\VEN_BOOT@DEV_0000 device - card reader doesn't work in windows/linux and crashes windows on warm boot - plug/unplug ac under bios and windows causes screen to go dark for a second - occasionally power button light turns off (fixed by suspend) - TLP stats for charge mAH are off by a factor of 10. - tianocore picks up the windows loader as a boot option but doesn't pick up arch linux, old bios enumerated both. - tianocore menus/graphics are only what looks like 640x480 and don't take up the screen
I'd like to solve the card reader issue but not sure where to start. It appears correctly detected and matches everything on my x250. Any hints to what I should look at?
On Fri, Feb 26, 2021 at 9:38 AM crabstorage@getbackinthe.kitchen wrote:
I've been running coreboot on my T440P and trying to fix it up.
I have already resolved some things here: https://github.com/Ph0rk0z/coreboot/pulls Will have to figure out how to contribute this back to coreboot after testing so it can pass code review.
Other things remain, including:
- software changing of keyboard backlight doesn't work on windows (but I
fixed it on linux)
- lenovo hotkey / mic mute services crash windows (bad pool_caller)
- intel haswell -mini hd audio shows exclamation point, will not start.
I've read others don't have DP audio working either.
- there is an unknown ACPI\VEN_BOOT@DEV_0000 device
that's the coreboot ACPI device, doesn't need a driver
- card reader doesn't work in windows/linux and crashes windows on warm
boot
- plug/unplug ac under bios and windows causes screen to go dark for a
second
- occasionally power button light turns off (fixed by suspend)
- TLP stats for charge mAH are off by a factor of 10.
- tianocore picks up the windows loader as a boot option but doesn't
pick up arch linux, old bios enumerated both.
that requires Arch to add a boot menu entry to the UEFI boot manager. Reinstalling your bootloader will likely do this.
- tianocore menus/graphics are only what looks like 640x480 and don't
take up the screen
that's dependent on how you have coreboot set to initialize the screen. Are you using a VBIOS by chance?
I'd like to solve the card reader issue but not sure where to start. It appears correctly detected and matches everything on my x250. Any hints to what I should look at? _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
that's dependent on how you have coreboot set to initialize the screen. Are you using a VBIOS by chance?
I'm using the coreboot driver. It's a UEFI only build.
I suspect https://github.com/MrChromebox/edk2/commit/cd5b08f9aa34a255c3b39c996a0f47609... but I didn't see it in the coreboot_fb branch. Maybe I should get froggy and merge upstream into tianocore.
On Fri, Feb 26, 2021 at 2:49 PM crabstorage--- via coreboot coreboot@coreboot.org wrote:
that's dependent on how you have coreboot set to initialize the screen. Are you using a VBIOS by chance?
I'm using the coreboot driver. It's a UEFI only build.
what do you mean "coreboot driver"? libgfxinit?
Tianocore (at least, in the default package/branch used by coreboot) simply uses whatever framebuffer coreboot has already set up. It makes no changes to the video mode.
If it's showing 640x480 or some other VESA mode, it's because that's what coreboot has set.
I suspect https://github.com/MrChromebox/edk2/commit/cd5b08f9aa34a255c3b39c996a0f47609... but I didn't see it in the coreboot_fb branch.
no, that only applies to some of my other branches which use an external GOP driver compiled into Tianocore
Maybe I should get froggy and merge upstream into tianocore.
Why would you do that? You can use upstream Tianocore master as-is by simply selecting the Uefipayload option.
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
what do you mean "coreboot driver"? libgfxinit?
Yes, that's what's being used. The first logo looks full sized and the "press enter" message is on the actual bottom of the screen. Then tianocore boots and the logo is the same size but tianocore interface is just slightly bigger. It's all centered in my screen in a 600x600ish square.
Why would you do that? You can use upstream Tianocore master as-is by simply selecting the Uefipayload option.
To check for fixes. I thought the 2 options were coreboot_fb and uefipayloadpkg both from the mrchromebox repo. Tianocore master has 3k more commits than those. I figured out how to try it though and switched to upstream/master... same problem just missing the logo, etc. Does it run at a fixed size or something without scaling?
I'm only 5 days into this so I can for sure be wrong.
On Sat, Feb 27, 2021 at 7:43 AM crabstorage@getbackinthe.kitchen wrote:
what do you mean "coreboot driver"? libgfxinit?
Yes, that's what's being used. The first logo looks full sized and the "press enter" message is on the actual bottom of the screen. Then tianocore boots and the logo is the same size but tianocore interface is just slightly bigger. It's all centered in my screen in a 600x600ish square.
the Tianocore UI is centered in the display, it's not supposed to be full-screen. If the logo is showing at proper/native resolution, then everything is working as intended.
Why would you do that? You can use upstream Tianocore master as-is by simply selecting the Uefipayload option.
To check for fixes. I thought the 2 options were coreboot_fb and uefipayloadpkg both from the mrchromebox repo. Tianocore master has 3k more commits than those. I figured out how to try it though and switched to upstream/master... same problem just missing the logo, etc. Does it run at a fixed size or something without scaling?
I'm only 5 days into this so I can for sure be wrong.
The corebootpayload option use my repo, the uefipayload option uses upstream master. I have an updated branch which uses UefiPayloadPkg (based on EDK-stable 08-2020) with all the fixes ported from the older CorebootPayloadPkg based branch. if you want to try that: * select UEFIPAYLOAD option * set branch to: origin/uefipayloadpkg * select SMMSTORE V2
you should keep using libgfxinit of course
the Tianocore UI is centered in the display, it's not supposed to be full-screen. If the logo is showing at proper/native resolution, then everything is working as intended.
The display resolution may be set as expected, but the text mode output is being restricted by a PCD in UefiPayloadPkg*.dsc. See https://github.com/benjamindoron/edk2_coreboot-dev/commit/b6fd530b8f552d57e5....
However, I'm not certain how it interacts with https://github.com/MrChromebox/edk2/commit/cd5b08f9aa34a255c3b39c996a0f47609... (or what that commit achieved).
On 2021-02-27 12:39, Benjamin Doron wrote:
the Tianocore UI is centered in the display, it's not supposed to be full-screen. If the logo is showing at proper/native resolution, then everything is working as intended.
The display resolution may be set as expected, but the text mode output is being restricted by a PCD in UefiPayloadPkg*.dsc. See https://github.com/benjamindoron/edk2_coreboot-dev/commit/b6fd530b8f552d57e5....
However, I'm not certain how it interacts with https://github.com/MrChromebox/edk2/commit/cd5b08f9aa34a255c3b39c996a0f47609... (or what that commit achieved). _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Thank you, I will try to modify my local copy like that and see if it grows. Noticed text mode options in plain tianocore/master menus and set them to the largest size but had little effect.
I can see how it's "proper" on a smaller screen but at 1080P 14" it's just tiny... on a 2.5-4k it must be microscopic. Original tiano based bios of course fills the screen.
It worked!! Alignment and the font needs a bump but it's full sized now!
So coming back to the cardreader/pcie problem, I have some messages from the kernel:
kernel: pci 0000:00:1c.1: [8086:8c12] type 01 class 0x060400 kernel: pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold kernel: pci 0000:00:1c.1: PCI bridge to [bus 03] kernel: pci 0000:00:1c.1: bridge window [mem 0x82300000-0x823fffff] kernel: pci 0000:00:1c.1: PCI bridge to [bus 03] kernel: pci 0000:00:1c.1: bridge window [mem 0x82300000-0x823fffff] kernel: pcieport 0000:00:1c.1: PME: Signaling with IRQ 27 kernel: pcieport 0000:00:1c.1: AER: enabled with IRQ 27 NetworkManager[462]: <info> [1614527732.3444] rfkill2: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/rfkill2) (driver iwlwifi) kernel: pcieport 0000:00:1c.1: AER: Corrected error received: 0000:00:1c.1 kernel: pcieport 0000:00:1c.1: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID) kernel: pcieport 0000:00:1c.1: device [8086:8c12] error status/mask=00000001/00002000 kernel: pcieport 0000:00:1c.1: [ 0] RxErr (First) kernel: pcieport 0000:00:1c.1: AER: Corrected error received: 0000:00:1c.1 kernel: pcieport 0000:00:1c.1: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID) kernel: pcieport 0000:00:1c.1: device [8086:8c12] error status/mask=00000001/00002000 kernel: pcieport 0000:00:1c.1: [ 0] RxErr (First)
I do not remember getting these on the stock bios. Could be unrelated, card reader is 1c0, wireless card is 1c1. At least according to the tree view:
-[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller +-02.0 Intel Corporation 4th Gen Core Processor Integrated Graphics Controller +-03.0 Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller +-04.0 Intel Corporation Device 0c03 +-14.0 Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI +-16.0 Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 +-19.0 Intel Corporation Ethernet Connection I217-LM +-1a.0 Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 +-1b.0 Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller +-1c.0-[02]----00.0 Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader +-1c.1-[03]----00.0 Intel Corporation Wireless 7265 +-1d.0 Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 +-1f.0 Intel Corporation QM87 Express LPC Controller +-1f.2 Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] -1f.3 Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller
I also have lspci -vv up on pastebin: https://pastebin.com/0hbb0vZg
Only debug on the rtsx_pci driver prints the registers. Any other ideas on troubleshooting this?
I've also made the cbmem dump from one boot: https://pastebin.com/CW4RRKRw and attached the whole log in the hope there is something helpful there or a mismatch between what the kernel is reporting.
Is this why haswell minidp sound is broken?
/** * snd_hdac_i915_set_bclk - Reprogram BCLK for HSW/BDW * @bus: HDA core bus * * Intel HSW/BDW display HDA controller is in GPU. Both its power and link BCLK * depends on GPU. Two Extended Mode registers EM4 (M value) and EM5 (N Value) * are used to convert CDClk (Core Display Clock) to 24MHz BCLK: * BCLK = CDCLK * M / N * The values will be lost when the display power well is disabled and need to * be restored to avoid abnormal playback speed.
https://review.coreboot.org/c/coreboot/+/50143 failed, now it's all refactored, those regs are never set causing the windows driver to fail to load.
From looking at https://github.com/MrChromebox/edk2/blob/coreboot_fb/CorebootPayloadPkg/FbGo... maybe edid isn't being read or correctly reported?