iPXE discussion forum
Hangs on "initialising devices" - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Hangs on "initialising devices" (/showthread.php?tid=1072)

Hangs on "initialising devices" - IgniFerroque - 2011-12-12 19:18

I've got a working iPXE setup where undionly.kpxe is fetched from tftp. I recently got a new computer where iPXE stalls at "iPXE initialising devices"

lspci on this computer gives this for the ethernet device:

01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)

It was suggested on the IRC channel to build iPXE with debug messages, so I found that the "iPXE initialising devices" was in core/main.c so I built iPXE like this:

make bin/undionly.kpxe EMBED=../contrib/default.ipxe DEBUG=main

I didn't see any debug message though. Using "DEBUG=undionly,undinet,pxeparent" led to this message:

iPXE initialising devices...UNDINIC 0x18140 using UNDI 0xc2234478

Does anyone have any suggestions on a direction to proceed?

RE: Hangs on "initialising devices" - robinsmidsrod - 2011-12-12 19:25

As far as I can remember, the EMBED= parameter is limited to 15 characters. I'm not sure if that is just the filename or the entire path. But you might want to make it shorter and see if it makes a difference.

With regards to the hang you could try out the gdb debugging via serial cable and see if you see anything. There is a tutorial on the main website that explains how. I'm not exactly sure which modules to enable debugging for, but someone else might be able to give you more details on that.

RE: Hangs on "initialising devices" - IgniFerroque - 2011-12-13 17:24

The EMBED is working because the resulting undionly.kpxe works on several other computers, just not the one described above.

I shortened the length, just to be sure, and got the same results.

RE: Hangs on "initialising devices" - robinsmidsrod - 2011-12-14 11:42

You could try debugging PCI initialization. the parameter to the DEBUG= statement is the name of the .c file inside the src/ directory structure. Try any of the pci-related ones and see if you find something that differs between the working and non-working machines.

You're only testing on real hardware, correct? No virtual machines involved?

RE: Hangs on "initialising devices" - IgniFerroque - 2012-01-04 20:21

I wasn't able to find any DEBUG options that yielded any info.

This is all real hardware with no vms.

I just found this on the etherboot wiki for the RTL8111D (maybe the same as what I have?):

Quote:Realtek RTL8111D

gpxe undionly driver v1.0.1 hangs when “initialising devices…” (although the chipset declares Intel UNDI v2.1 capability upon boot).

How to Fix
Buy another NIC. Really. I tried two and both did never work reliably (link problems – either no link detected or DHCP answers missed – could be a firmware issue, but how do I fix the firmware when I need to boot with that NIC??).
The undionly solution seems to be broken with that chipset. Use r8169 driver instead.

Perhaps this is the same problem? Is there a known update in ipxe for this chipset?