[ltp] Thinkpad T40 BIOS upgrade, how to update the ECP? (PXE boot)

Oisin Feeley linux-thinkpad@linux-thinkpad.org
Fri, 16 Mar 2007 13:52:36 -0400


Hi all,

Before you all laugh and point it out to me, I know, I know: mea
culpa, mea maxima culpa.

I made the mistake of not researching how to upgrade the BIOS properly
on the thinkwiki or this mailing list.  I went directly to IBM/Lenovo
and read that they said to upgrade first the BIOS then the ECP, yet I
now read on the thinkwiki that the opposite order may be true.  To
complicate the situation I downloaded the non-diskette versions (for
no good reason) and I now appear to be in a tight situation and would
appreciate some constructive advice.

Hardware:
Thinkpad T40 (2373-8CU), slimbay CD/DVD, no floppy, BIOS (2.11
(1RET84WW)) ECP (2.04)

What I did:
1. Downloaded the latest non-diskette firmwares from ibm
BIOS 3.21 http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50273
wget ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/1ruj35ud.exe

ECP 3.04 http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50279
wget ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/1rhj10u2.exe

2. Extracted the img files from each of these and burnt them
separately to bootable CD's
cabextract 1ruj35ud.exe; mkisofs -b 1RUJ35UD.IMG -o t40bios321.iso
1RUJ35UD.IMG; cdrecord dev=ATA:1,0.0 -eject -v t40bios321.iso

cabextract 1rhj10u2.exe; mkisofs -b 1RHJ10U2.IMG -o t40ecp304.iso
1RHJ10U2.IMG; cdrecord dev=ATA:1,0.0 -eject -v t40ecp304.iso

3. Read the IBM pages and note that they say to update the BIOS first.  e.g.
QUOTE: "- If you need to update the Embedded Controller Program as
well as the BIOS, update the BIOS first."
ttp://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50273

4. Test each bootable CD individually to see if they appear to work.
Both did:  the machine went throught POST, I pressed F12 to get a list
of boot devices and the (IIRC IBM Setup Agent?) presented me with 4
choices: (removable media;  cd; network; IA(something or other).  I
selected the CD and was presented with a light-blue background and
white text detailing the setup process and asking if I wanted to go
ahead.

5. Update the BIOS using the CD created above.  There was a brief
(30s?) pause, then the machine beeped, followed by a longer beep and
then powered off.  Seemed according to plan.

6. Insert the ECP CD created and tested above.  The machine went
through POST, but pressing F12 to get a boot device list results in a
jump to a PXE bootloader screen.  I can then press Ctrl-S to access
the Setup menu of the Intel Boot Agent 4.1.07  which presents me with
some choices, namely:
Network Boot Protocol: PXE/RPL (PXE)
Boot Order: Use Bios Setup Boot Order (no choices)
Show Setup Prompt: Enabled/Disabled (Enabled)
Setup Wait Time: 2s (3s)
Legacy OS Wakeup Support: Enabled/Disabled (Enabled)

7. Read the thinkwiki
http://www.thinkwiki.org/wiki/BIOS_Upgrade
and end up even more confused.

It looks as though what I managed to do was to flash the BIOS with the
new version which does PXE boot only (as is bleedin' obvious from the
title which I didn't read properly "non-diskette firmware").  Or is
this because I flashed the BIOS first?

So I guess I have to set up a TFTP server and copy the ECP update
program into it?  What do I need to copy into the TFTP server?  The
.IMG that I extracted from the .EXE, or the whole .EXE?  I've looked
at http://www.thinkwiki.org/wiki/BIOS_Upgrade#Updating_with_Network_Boot_Image
and don't understand what they mean by "dd format".  I understand that
dd does byte-exact copies, but which part of the "self extracting exe"
am I supposed to copy with it?

Suggestions gratefully received.
Oisin Feeley