[coreboot] Trouble with T60p (whine and trackpoint dead)

David Griffith dave at 661.org
Thu May 12 07:34:01 CEST 2016


I'm trying out Coreboot on a Thinkpad T60p.  I followed the instructions 
at https://github.com/bibanon/Coreboot-ThinkPads/wiki/ThinkPad-T60p until 
I got the flashing part.  There it wasn't clear where the 
lenovobios_firstflash and lenovobios_secondflash scripts were to be found. 
On IRC, someone pointed me to 
https://github.com/rabcyr/libreboot/blob/master/lenovobios_firstflash.  I 
used that and got what seems like a failure[1].  A few minutes after this, 
the laptop decided to go to sleep and I couldn't wake it.  I rebooted and 
evidently somehow Coreboot and SeaBIOS took.

Now I suppose I'm at the stage where I do the second flashing.  In the 
meantime, the trackpoint stick and buttons won't work anymore and there's 
an intermittent high-pitched whine from the left side of the keyboard.

Did I actually succeed in flashing my T60p?  Did I do anything wrong?  How 
do I fix the trackpoint and get rid of the whine?


[1]
$ sudo ./lenovobios_firstflash ~/coreboot/build/coreboot.rom

if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root"
    exit 1
fi
if (( $# != 1 )); then
         echo "Usage: ./lenovobios_firstflash yourrom.rom"
         echo "usage: ./lenovobios_firstflash path/to/yourrom.rom"
         echo "You need to specify exactly 1 file"
         exit 1
fi
Usage: ./lenovobios_firstflash yourrom.rom
usage: ./lenovobios_firstflash path/to/yourrom.rom
You need to specify exactly 1 file
dave at osiris:~/libreboot_util$ sudo ./lenovobios_firstflash 
~/coreboot/build/coreboot.rom

if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root"
    exit 1
fi
if (( $# != 1 )); then
         echo "Usage: ./lenovobios_firstflash yourrom.rom"
         echo "usage: ./lenovobios_firstflash path/to/yourrom.rom"
         echo "You need to specify exactly 1 file"
         exit 1
fi
if [ ! -f $1 ]; then
         echo "File not found!"
         exit 1
fi

bucts="unknown"
flashromsst="unknown"
flashrommacronix="unknown"
if [ -f "DEBLOB" ]; then
         bucts="./bucts/bucts"
         flashromsst="./flashrom/flashrom_lenovobios_sst"
         flashrommacronix="./flashrom/flashrom_lenovobios_macronix"
elif [ $(uname -i) = "i686" ] || [ $(uname -m) = "i686" ]; then
         bucts="./bucts/i686/bucts"
         flashromsst="./flashrom/i686/flashrom_lenovobios_sst"
         flashrommacronix="./flashrom/i686/flashrom_lenovobios_macronix"
elif [ $(uname -i) = "x86_64" ] || [ $(uname -m) = "x86_64" ]; then
         bucts="./bucts/x86_64/bucts"
         flashromsst="./flashrom/x86_64/flashrom_lenovobios_sst"
         flashrommacronix="./flashrom/x86_64/flashrom_lenovobios_macronix"
else
         echo "This script must be run on an i686 or x86_64 host. x86_64 is 
recommended."
         exit 1
fi
uname -i)
uname -i
uname -m)
uname -m

# Set bucts
# this means we are working in src
if [ ! -f "$bucts" ]; then
         echo "BUCTS failed. Make sure BUC.TS is 1, or else you will brick 
your machine. ABORTING so as to protect against bricking the machine."
         exit 1
fi

$(echo $bucts) 1
echo $bucts)
echo $bucts
bucts utility version 'withoutgit'
Using LPC bridge 8086:27b9 at 0000:1f.00
Current BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is 
untranslated
Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are 
swapped

$(echo $flashromsst) -p internal -w $1
echo $flashromsst)
echo $flashromsst
flashrom v0.9.8-unknown on Linux 3.2.0-4-686-pae (i686)
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found chipset "Intel ICH7M".
Enabling flash write... WARNING: SPI Configuration Lockdown activated.
OK.
Found SST flash chip "SST25VF016B" (2048 kB, SPI) mapped at physical 
address 0xffe00000.
Reading old flash chip contents... done.
Erasing and writing flash chip... spi_block_erase_20 failed during command 
execution at address 0x0
Reading current flash chip contents... done. Looking for another erase 
function.
spi_block_erase_52 failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase 
function.
Transaction error!
spi_block_erase_d8 failed during command execution at address 0x1f0000
Reading current flash chip contents... done. Looking for another erase 
function.
spi_chip_erase_60 failed during command execution
Reading current flash chip contents... done. Looking for another erase 
function.
spi_chip_erase_c7 failed during command execution
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents... done.
Apparently at least some data has changed.
Your flash chip is in an unknown state.
Get help on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom at flashrom.org with the subject "FAILED: <your board name>"!
-------------------------------------------------------------------------------
DO NOT REBOOT OR POWEROFF!
$(echo $flashrommacronix) -p internal -w $1
echo $flashrommacronix)
echo $flashrommacronix
flashrom v0.9.8-unknown on Linux 3.2.0-4-686-pae (i686)
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found chipset "Intel ICH7M".
Enabling flash write... WARNING: SPI Configuration Lockdown activated.
OK.
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found 
automatically.

-- 
David Griffith
dave at 661.org

A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?



More information about the coreboot mailing list