Hi,
I'm trying to debug the MRC.BIN on a T440p (more details here : https://www.reddit.com/r/coreboot/comments/ft4950/t440p_32gb_of_ram/)
However I cannot access the debug logs of the previous boot when I use CBMEM, it seems it's wiped out on the next boot.
Do you know how could I access the ramstage CBMEM logs to see exactly where the MRC.BIN fails ? There is no serial port on the T440p, and the USB 2.0 debug port is not exposed, so it seems that using CBMEM is the only option.
Thank you, Baylee4
Hi Baylee4,
On Fri, Apr 03, 2020 at 01:10:52AM -0000, None via coreboot wrote:
Hi,
There is no serial port on the T440p, and the USB 2.0 debug port is not exposed, so it seems that using CBMEM is the only option.
There is an EHCI debug port on the right side. You just need to enable the USB debug config option.
https://doc.coreboot.org/mainboard/lenovo/t440p.html#working
Regards, Iru
Ok i'll try, thanks a lot !
Hi, Thanks to your help I've set up the USB Debug config option, and retrieved the logs with a Rasperry Pi 4.
However the logs seems truncated, just like if the log buffer is not flushed on the console until it is full ?
For instance the last output showed on the console is :
[...] BS: BS_PAYLOAD_LOAD times (ms): entry 0 run 22 exit 0 ICH-NM10-PCH: watchdog disabled Jumping to boot code at 000fd258(7f688000)
But if I use CBMEM on the machine there is other lines after this one, this is problematic because when I try to debug with the other memory stick the last lines showed on the console are PRE ram initialization :
[...] System Agent: Initializing PCH (SMBUS) System Agent: Initializing PCH (USB) USB
How would it be possible to get full logs when using debug usb ?
Mhh in fact it's even worse than that, when using the USB Debug option some logs are simply not showed on the console, for instance all logs "System Agent: Initializing Memory [...]" are simply not sent over the USB ?
Ok, I solved this by removing the USB Init function from the MRC.BIN, but the previous issue with the truncated logs remains
Hi,
On 03.04.20 21:30, None via coreboot wrote:
However the logs seems truncated, just like if the log buffer is not flushed on the console until it is full ?
For instance the last output showed on the console is :
[...] BS: BS_PAYLOAD_LOAD times (ms): entry 0 run 22 exit 0 ICH-NM10-PCH: watchdog disabled Jumping to boot code at 000fd258(7f688000)
this is the last message coreboot prints. So the logs are not truncated. Maybe you just need to increase the log level ("Console" menu in Kconfig or an nvram option if you enabled USE_OPTION_TABLE). The cbmem console is verbose by default, slower consoles are not.
Nico
Hi,
Got it, thanks for the additional information
In case someone is interested to help with the RAM issue, here is the logs which show where the MRC is failing with the 16GB stick :
calling memory init function 2. calling memory init function 3. enter fcn_fffa78a0 calling memory init function 4. enter fcn_fffb8689 return from frag_fffc2026 with value 0x16 System Agent: Done. Sanity checking heap.
When everything goes fine, fcn_fffb8689 return 0x00, not 0x16
Removing the test which makes the function fails results in RAM being correctly recognized, and a successful MRC.BIN initialization :
System Agent Version 1.6.1 Build 2 memcfg DDR3 clock 1600 MHz memcfg channel assignment: A: 0, B 1, C 2 memcfg channel[0] config (00620040): ECC inactive enhanced interleave mode on rank interleave on DIMMA 16384 MB width x8 or x32 dual rank, selected DIMMB 0 MB width x8 or x32 single rank
However, it fails the memtest+ tests and can't boot the OS (weird graphic glitchs appears on screen), still investigating why