[gPXE-devel] [PATCH] [sky2] Disable interrupts by default

Stefan Hajnoczi stefanha at gmail.com
Tue Aug 3 06:07:10 EDT 2010


On Tue, Aug 3, 2010 at 10:09 AM, Gilles Martin <gilles.martin at psi.ch> wrote:
> Le mardi 03 août 2010 à 09:28 +0100, Stefan Hajnoczi a écrit :
>> On Tue, Aug 3, 2010 at 8:50 AM, Gilles Martin <gilles.martin at psi.ch> wrote:
>> > 2. With the undionly.kpxe it works but not very well:
>> >
>> > dhcp net0
>> > chain http://myserver/undionly.kpxe
>> >
>> > This runs fine.
>> >
>> > dhcp net0 gives systematically first time it runs a timeout (I tried
>> > several times):
>> >
>> > dhcp net0 (net0 00:17:42:1d:29:b7).............. Connection timed out
>> > (0x4c106035)
>> > Could not configure net0: Connection timed out (0x4c106035)
>> > Could not configure any interface.
>> > gPXE> dhcp net0
>> > DHCP (net0 00:17:42:1d:29:b7)....ok
>> >
>> > And then it loads the Tiny Core Linux without any problems.
>>
>> I wonder if interrupts aren't working the first time around.  Tests to
>> reveal more:
>>
>> 1. Instead of running the first DHCP, just use ifopen net0 and then
>> wait for 1 minute.  Then try dhcp net0.  If the dhcp succeeds then
>> this may be a link or Spanning Tree Protocol issue (although I'm not
>> sure because undionly.kpxe was loaded successfully in the first
>> place).
>
> I tried this, waited 2 minutes, and this doesn't change anything.
>
>>
>> 2. Run two DHCPs but hit Ctrl+C to abort the first DHCP right away.
>> Then run dhcp net0 again.  If the second DHCP works, then the issue
>> may be a sky2 lifecycle issue where interrupts don't work until we do
>> DHCP the second time.
>
> This is working well.

Thanks for trying these tests!  These two results are evidence that
this is a sky2 driver issue.

>
>>
>> 3. Build with debug messages: make DEBUG=sky2:10.  The output during
>> the first dhcp would be interesting.
>
> I don't know how to capture debug messages, that's my problem...

When there is a lot of debug output the serial console can be used to
send debug output to another machine over a serial cable.  Add #define
CONSOLE_SERIAL to config/local/console.h and rebuild to enable serial.

Alternatively, a patch to send the console log over TCP was posted but
is not yet in mainline gPXE:
http://www.mail-archive.com/gpxe@etherboot.org/msg01115.html

Stefan


More information about the gPXE-devel mailing list