[coreboot] T60 with ATI has black screen
Richard Simpson
coreboot at huskydog.org.uk
Sun Jun 28 16:51:49 CEST 2015
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 at 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 at 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 at 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?
>>
>> 1) 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.
>
>
>> 2) 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.
>
>
>> 3) 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.
>
>
>> 4) 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.
>>>
>
>
More information about the coreboot
mailing list