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