[coreboot] T60 with ATI has black screen

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Sun Jun 28 14:45:49 CEST 2015


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