Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
undionly no packets received
2017-07-10, 20:59 (This post was last modified: 2017-07-11 07:22 by NiKiZe.)
Post: #1
undionly no packets received
I have been testing new hardware with an Intel i350 chipset. We have a fully functioning setup that we have been using iPXE for awhile, but seems like the new hardware is not working with our existing setup. I have even rebuilt from todays latest git repo and tried with the exact same results. Right away it shows TXE when i go to the cmd line.

Code:
iPXE 1.0.0+ (0600d) -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP iSCSI TFTP AoE ELF MBOOT PXE bzImage Menu PXEXT

iPXE> ifstat
net0: 0c:c4:7a:f9:3b:0a using undionly on 0000:11:00.0 (closed)
  [Link:up, TX:0 TXE:1 RX:0 RXE:0]
  [TXE: 1 x "Network unreachable (http://ipxe.org/28086011)"]

iPXE> ifopen
iPXE> set net0/ip 10.102.196.36
iPXE> set net0/netmask 255.255.254.0
iPXE> route
net0: 10.102.196.36/255.255.254.0 gw 10.102.197.254

iPXE> ping 10.102.197.254
0 bytes from <none>: seq=1: Connection timed out (http://ipxe.org/4c1b2035)
0 bytes from <none>: seq=2: Connection timed out (http://ipxe.org/4c1b2035)

iPXE> ipstat
IP version 4:
  InReceives:0 InMcastPkts:0 InBcastPkts:0 InOctets:0
  InHdrErrors:0 InAddrErrors:0 InUnknownProtos:0 InTruncatedPkts:0
  ReasmReqds:0 ReasmOKs:0 ReasmFails:0
  InDelivers:0 OutRequests:17 OutNoRoutes:0
  OutTransmits:17 OutMcastPkts:0 OutBcastPkts:0 OutOctets:1486

iPXE> ifstat
net0: 0c:c4:7a:f9:3b:0a using undionly on 0000:11:00.0 (open)
  [Link:up, TX:25 TXE:18 RX:0 RXE:0]
  [TXE: 1 x "Network unreachable (http://ipxe.org/28086011)"]
  [TXE: 17 x "Connection timed out (http://ipxe.org/4c376035)"]
iPXE> route
net0: 10.102.196.36/255.255.254.0 gw 10.102.197.254

iPXE> pciscan addr
iPXE> echo ${addr}
0x0
iPXE> echo ${addr:busdevfn}
0000:00:00.0

DHCP fails to obtain a lease, but it does broadcast where the server sees the DHCPREQUEST and makes an offer.

We are currently using the chainloading method to configure the ROMs
Code:
# class to point iPXE back to ipxescript cgi
class "ipxe" {  
    match if option user-class = "iPXE";
    option bootfile-name = concat("http://pxe/cgi-bin/boot.cgi?hostname=", config-option host-name);                                                                                                        
# class to chainload ipxe from standard pxe rom
class "ipxe-chainloader" {
    match if not exists user-class;
    filename "ipxe/undionly.kpxe";                                                                                    
}

At this point i am pretty baffled as to how to make this work. Any advice or guidance would be greatly appreciated.
Find all posts by this user
Quote this message in a reply
2017-07-11, 07:21
Post: #2
RE: ipxe network stack not functioning
You are using undionly so a bug in the undi stack is one guess.
Have you tried ipxe.pxe instead which should have native drivers for that nic?
Some newer hardware have a less tested undi stack, so testing in efi mode with snponly.efi might also be interesting to see just how much is broken.

make bin/undionly.kpxe DEBUG=unidonly
should enable debug output that might give you some more insight on what is going wrong.

as you said yourself iPXE is working on other hardware, so I think your subject is wrong, it is the UNDI stack not working, so will update the subject.

There is other threads with mostly the same problem, see here for example.

Use GitHub Discussions
VRAM bin
Visit this user's website Find all posts by this user
Quote this message in a reply
2017-07-11, 19:23 (This post was last modified: 2017-07-11 19:25 by eray.)
Post: #3
RE: ipxe network stack not functioning
(2017-07-11 07:21)NiKiZe Wrote:  You are using undionly so a bug in the undi stack is one guess.
Have you tried ipxe.pxe instead which should have native drivers for that nic?
Some newer hardware have a less tested undi stack, so testing in efi mode with snponly.efi might also be interesting to see just how much is broken.

make bin/undionly.kpxe DEBUG=unidonly
should enable debug output that might give you some more insight on what is going wrong.

as you said yourself iPXE is working on other hardware, so I think your subject is wrong, it is the UNDI stack not working, so will update the subject.

There is other threads with mostly the same problem, see here for example.

I used the ipxe.pxe image and it works great. I tried to build the DEBUG image for undionly and used the steps from http://ipxe.org/download#debug_builds as well, but I am not seeing any more output than without the DEBUG mode. I am using a serial console connection to view the host, but I believe it should be echoing there..

Code:
make bin/undionly.kpxe DEBUG=undionly:8
Seems to have no effect.
Find all posts by this user
Quote this message in a reply
2017-07-11, 19:35
Post: #4
RE: ipxe network stack not functioning
(2017-07-11 19:23)eray Wrote:  I used the ipxe.pxe image and it works great. I tried to build the DEBUG image for undionly and used the steps from http://ipxe.org/download#debug_builds as well, but I am not seeing any more output than without the DEBUG mode. I am using a serial console connection to view the host, but I believe it should be echoing there..

Code:
make bin/undionly.kpxe DEBUG=undionly:8
Seems to have no effect.
Good that native drivers work that way we know that it is only the UNDI stack or firmware that is causing your issue with undionly.kpxe

On that page you linked there is this explanation:
The numeric debug level (3 in this example) is a bitmask:
Value Meaning
1 Enable basic debug messages
2 Enable verbose debug messages (e.g. one message per event)
4 Enable extra-verbose debug messages (e.g. one message per byte)
8 Enable I/O tracing (e.g. one message per readl()/writel() call)


With DEBUG=undionly:8 you have only enabled the I/O tracing and not the other (more important) ones. If you really want to enable all (you don't, see below) then you should have 8+4+2+1 = 15 so DEBUG=undionly:15

However as I said it is unlikely that you want all since it will give just to much information, just build with my suggested
Code:
make bin/undionly.kpxe DEBUG=undionly
to enable the basic debug mode (the :1 part is default so not needed)

Use GitHub Discussions
VRAM bin
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)