Bricking (and unbricking) your board.
I was surprised how easy it was to brick my board. These ideas might be useful to somebody: Before you start messing with PCI & I/O values that might keep their state: - have a lspci -vvvxxx from the factory BIOS - record as much of the boot process from the factory BIOS as possible I wanted to collect the bit masks from my factory BIOS, so I modified the filter to return 0x0 and then 0xffffffff for the PCI registers. That way I could see which bits were being changed. After some of the registers were changed, I couldn't boot the board with Coreboot or the factory BIOS. I used SerialICE to set the PCI values to what they were in a saved run of the factory BIOS, and it booted again. Thanks, Myles
Myles Watson wrote:
I used SerialICE to set the PCI values to what they were in a saved run of the factory BIOS, and it booted again.
Which device were the registers in? //Peter
On Tue, Jul 6, 2010 at 4:00 PM, Peter Stuge <peter@stuge.se> wrote:
Myles Watson wrote:
I used SerialICE to set the PCI values to what they were in a saved run of the factory BIOS, and it booted again.
Which device were the registers in? The HyperTransport controller and the SMBUS controller, but there could be more. I stopped trying to get all the masks correctly when I saw how easy it was to break it.
Thanks, Myles
Hi, Maybe you messed up the power well powered registers? Unplugging the AC power might help, Thanks, Rudolf
On 07/06/2010 05:58 PM, Myles Watson wrote:
I was surprised how easy it was to brick my board. These ideas might be useful to somebody:
Before you start messing with PCI& I/O values that might keep their state:
- have a lspci -vvvxxx from the factory BIOS - record as much of the boot process from the factory BIOS as possible
I wanted to collect the bit masks from my factory BIOS, so I modified the filter to return 0x0 and then 0xffffffff for the PCI registers. That way I could see which bits were being changed. After some of the registers were changed, I couldn't boot the board with Coreboot or the factory BIOS. I used SerialICE to set the PCI values to what they were in a saved run of the factory BIOS, and it booted again.
Wow that is interesting. Even after you disconnected power (ATX connector) and cmos battery it would still keeps those values? -- Thanks, Joseph Smith Set-Top-Linux www.settoplinux.org
Wow that is interesting. Even after you disconnected power (ATX connector) and cmos battery it would still keeps those values? Since I could recover with SerialICE I didn't try it. I was surprised that the factory BIOS wouldn't set the values correctly, though.
Thanks, Myles
On 07/06/2010 06:39 PM, Myles Watson wrote:
Wow that is interesting. Even after you disconnected power (ATX connector) and cmos battery it would still keeps those values? Since I could recover with SerialICE I didn't try it. I was surprised that the factory BIOS wouldn't set the values correctly, though.
I'm not. I have seen some factory bios' that have a sequence in the begining that goes through and writes a bunch of pci registers to their default values and some factory bios' that don't. The devices that keep those values must be strapped to a capacitor or the cmos battery. -- Thanks, Joseph Smith Set-Top-Linux www.settoplinux.org
participants (4)
-
Joseph Smith -
Myles Watson -
Peter Stuge -
Rudolf Marek