[gPXE] Dell T300 w/Broadcom chip: gpxe hangs during dhcp
Michael Brown
mbrown at fensystems.co.uk
Tue Feb 23 17:04:49 EST 2010
On Tuesday 23 February 2010 21:14:02 Peter Scheie wrote:
> Grrr. It was working: I booted the Dell multiple times with it, loading
> from a flash drive. Today, the day before I give a presentation on gpxe to
> all the tech managers, I tried it again, and now it's failing with this
> output:
>
> ...using driver undipci
> UNDIROM 0x858c4 matched PCI 14e4:165a (00000000)
> UNDI 0x589d4 loading UNDI ROM 0x858c4 to CS 93d4 DS 9007 for PCI 02:00.0
> UNDI 0x859d4 loader failed: Error 0x000000c8
> ...probe failed
>
> Why would it work one day and then stop the next day (aside from the
> obvious Murphyesque "Because you were going to demo it tomorrow.")?
FWIW, error 0x000000c8 is PXENV_STATUS_LOADER_NO_PXE_STRUCT. This seems to be
a fairly meaningless message, given that the UNDI loader routine is
responsible for creating the !PXE structure.
You could try changing the value of HIGHMEM_LOADPOINT in
arch/i386/prefix/libprefix.S. There's an element of Russian roulette about
using the UNDI ROM loader: the UNDI ROM is likely to have stored some data it
needs at a PMM-allocated location in high memory. Unfortunately, by the time
gPXE loads from a flash drive, PMM is no longer available so we cannot tell
which areas we need to avoid.
HIGHMEM_LOADPOINT can sensibly be redefined to any even megabyte, e.g.
.equ HIGHMEM_LOADPOINT, ( 6 << 20 )
or
.equ HIGHMEM_LOADPOINT, ( 8 << 20 )
There is no "guaranteed safe" value.
Michael
More information about the gPXE
mailing list