Carl-Daniel,
I am back in the factory BIOS. I have gathered the data for Łukasz and can upload it as soon as you send me a location.
For some reason I couldn't get the option ROM via the Linux kernel, but only from the mapped memory. Basically, there didn't seem to be any rom file in the relevant /sys directory. See below:
[rsimpson@newpercy Libreboot]$ lspci -tv -[0000:00]-+-00.0 Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub +-01.0-[01]----00.0 Advanced Micro Devices, Inc. [AMD/ATI] RV515/M54 [Mobility Radeon X1400] +-1b.0 Intel Corporation NM10/ICH7 Family High Definition Audio Controller +-1c.0-[02]----00.0 Intel Corporation 82573L Gigabit Ethernet Controller +-1c.1-[03]----00.0 Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection +-1c.2-[04-0b]-- +-1c.3-[0c-13]-- +-1d.0 Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 +-1d.1 Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 +-1d.2 Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 +-1d.3 Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 +-1d.7 Intel Corporation NM10/ICH7 Family USB2 EHCI Controller +-1e.0-[15-18]----00.0 Texas Instruments PCI1510 PC card Cardbus Controller +-1f.0 Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge +-1f.1 Intel Corporation 82801G (ICH7 Family) IDE Controller +-1f.2 Intel Corporation 82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] -1f.3 Intel Corporation NM10/ICH7 Family SMBus Controller [rsimpson@newpercy Libreboot]$ ls /sys/devices/pci0000:00/0000:00:01.0/ 0000:00:01.0:pcie01 config driver local_cpus pci_bus resource vendor 0000:00:01.0:pcie08 consistent_dma_mask_bits enable modalias power subsystem 0000:01:00.0 d3cold_allowed firmware_node msi_bus remove subsystem_device broken_parity_status device irq msi_irqs rescan subsystem_vendor class dma_mask_bits local_cpulist numa_node reset uevent [rsimpson@newpercy Libreboot]$
I'll try switching back to coreboot later today.
Cheers,
Richard
On 28/06/15 13:45, Carl-Daniel Hailfinger wrote:
Hi Richard,
On 28.06.2015 12:58, Richard Simpson wrote:
I have to say that knowing that you have the same T60 and that it is working is a big moral boost!
Imagine how I felt when it happened to me. Fortunately that was at a coreboot developer meeting and we had the tools to recover in case it wouldn't have worked.
Yes, the VGA port is working.
Can you possibly expand on your instructions below?
- You suggest that I patch the option ROM myself. Where would I find
instructions on how to do this?
I had hoped that the option ROM patching was straightforward, e.g. having LVDS data or somesuch in there. Comparing hexdumps of a memory-extracted and a biosimage-extracted option ROM showed me that while the differences are clearly visible, their meaning is not obvious (it's not EDID). So this method is probably not going to fly.
- If I decide that I need to extract it from a running system then I
presume that I need to re-flash the factory BIOS. Can I just do this with the same flashrom command that I used to flash coreboot?
You can do this with the same flashrom command you used to flash the image a second time. Please don't use bucts for flashing back from coreboot to factory BIOS, you only need it in the BIOS->coreboot direction. That said, I think Vladimir Serbinenko (phcoder) had a trick on how to modify the original BIOS so that bucts wouldn't be needed any more in either direction.
Łukasz Dmitrowski is one of our GSoC students and part of his project is to try to make such stuff easier in the future. He needs data for that, though. Richard, could you please collect the following data (as root) from the system while it's running the factory BIOS? lspci -nnvvvxxxx dmidecode video BIOS via both extraction methods (please make sure that we can find out which is which) superiotool -deV dmesg /var/log/Xorg.0.log (name may be a bit different, I want a log file from Xorg running on the machine while the factory BIOS is active) flashrom dump of the factory BIOS
Please don't send that data to the mailing list, I'll provide some space for you to upload it.
- On this page (http://www.coreboot.org/VGA_support) two ways of
getting the video BIOS from a running system are listed ('Retrieval via Linux kernel' and 'Extraction from mapped memory'). Does it matter which one I try?
AFAICS the images you get should be identical. Better check them to make sure.
- Can you be a lot more specific about what I should do about the checksum?
Either let SeaBIOS ignore the checksum: # cbfstool build/coreboot.rom add-int -i 0 -n etc/optionroms-checksum Or you correct the checksum of the option ROM itself. IIRC there is some tool to do that, but I coudln't find it in my bash history.
Apologies if all these instructions are in the Wiki and I have been too dumb to find them.
Not sure if all of this is in the wiki. If you think anything is missing, please tell me so I can add it.
Regards, Carl-Daniel
On 27/06/15 23:19, Carl-Daniel Hailfinger wrote:
On 27.06.2015 23:39, Richard Simpson wrote:
I have finally successfully flashed the BIOS on my T60 with coreboot. Sadly, my ATI controlled screen remains completely black. Fortunately I can still get in via ssh. Here is what I can deduce so far.+
AFAICS you have exactly the same T60 as I have.
lspci says: 01:00.0 0300: 1002:7145 (prog-if 00 [VGA controller]) [...] The vgabios which I extracted from the factory bios
Ah yes. Bad idea. AFAIK the factory BIOS patches the VGA optionrom at runtime with the correct values for the LVDS panel. This means you either have to patch the VGA optionrom yourself or you have to extract the VGA optionrom from the memory of the running system. If you extract it from memory, please note that the runtime patching causes the checksum to be incorrect, and you either have to fix the checksum or tell SeaBIOS to ignore the checksum.