[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.

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."

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

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
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