[coreboot] T60 with ATI has black screen

Richard Simpson coreboot at huskydog.org.uk
Sun Jun 28 12:58:42 CEST 2015


Carl-Daniel,

I have to say that knowing that you have the same T60 and that it is
working is a big moral boost!

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?

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?

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?

4) Can you be a lot more specific about what I should do about the checksum?

Apologies if all these instructions are in the Wiki and I have been too
dumb to find them.

Regards,

	Richard

On 27/06/15 23:19, Carl-Daniel Hailfinger wrote:
> On 27.06.2015 23:39, Richard Simpson wrote:
>> Hello,
>>
>> 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])
>>         Subsystem: 1002:0000
>>         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
>> ParErr- Stepping- SERR- FastB2B- DisINTx-
>>         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
>> <TAbort- <MAbort- >SERR- <PERR- INTx-
>>         Latency: 0, Cache Line Size: 64 bytes
>>         Interrupt: pin A routed to IRQ 16
>>         Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
>>         Region 1: I/O ports at 4000 [size=256]
>>         Region 2: Memory at ec120000 (32-bit, non-prefetchable) [size=64K]
>>         Expansion ROM at ec100000 [disabled] [size=128K]
>>         Capabilities: <access denied>
>>         Kernel driver in use: radeon
>>
>> 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.
> 
> 
>> reports as follows:
>>
>> Image 1:
>> PCI Expansion ROM Header:
>>   Signature: 0x55aa (Ok)
>>   CPU unique data: 0x7e 0xe9 0x6f 0x02 0x00 0x00 0x00 0x00
>>                    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
>>   Pointer to PCI Data Structure: 0x0230
>>
>> PCI Data Structure:
>>   Signature: 0x50434952 'PCIR' (Ok)
>>   Vendor ID: 0x1002
>>   Device ID: 0x7145
>>   Vital Product Data:  0x0000
>>   PCI Data Structure Length: 0x0018 (24 bytes)
>>   PCI Data Structure Revision: 0x00
>>   Class Code: 0x030000 (VGA Display controller)
>>   Image Length: 0x007e blocks (64512 bytes)
>>   Revision Level of Code/Data: 0x090c
>>   Code Type: 0x00 (Intel x86)
>>   Last-Image Flag: 0x80 (last image in rom)
>>   Reserved: 0x0000
>>
>> Platform specific data for x86 compliant option rom:
>>   Initialization Size: 0x7e (64512 bytes)
>>   Entry point for INIT function: 0x275
>>
>> This looks like the right VGA BIOS to me.
>>
>> Once I have added it to the coreboot image I can check the contents as
>> follows:
>>
>> coreboot.rom: 2048 kB, bootblocksize 952, romsize 2097152, offset 0x0
>> alignment: 64 bytes, architecture: x86
>>
>> Name                           Offset     Type         Size
>> cmos.default                   0x0        cmos_default 256
>> cmos_layout.bin                0x140      cmos_layout  1824
>> fallback/dsdt.aml              0x8c0      raw          12037
>> cpu_microcode_blob.bin         0x3800     microcode    94208
>> etc/ps2-keyboard-spinup        0x1a880    raw          8
>> config                         0x1a8c0    raw          4046
>> revision                       0x1b8c0    raw          571
>> (empty)                        0x1bb40    null         17432
>> fallback/romstage              0x1ff80    stage        36524
>> fallback/ramstage              0x28ec0    stage        53635
>> fallback/payload               0x36080    payload      55837
>> pci1002,7145.rom               0x43b00    raw          64512
>> (empty)                        0x53740    null         1754264
>>
>> I would be most grateful for any suggestions as to where I might be
>> going wring or further diagnostics.
> 
> On the first coreboot try I had a black screen as well on my T60 (ATI
> graphics). Funnily enough, the external VGA worked. Could you check if
> that's the case for you?
> 
> Regards,
> Carl-Daniel
> 




More information about the coreboot mailing list