Table of Contents

Driver test: UNDI API


iPXE normally operates in polling mode with interrupts disabled. Drivers may choose to support the use of interrupts, but this is not required.

Interrupt-based operation can be tested by using iPXE to boot into the undionly.kpxe build of iPXE.


Create a 512MB file containing pseudo-random data, using e.g.:

  dd if=/dev/urandom of=512mb bs=1M count=512

Download undionly.kpxe.

Copy both your pseudo-random data file and undionly.kpxe to a web server on your local network.

Test sequence

  1. Before starting, ensure the network cable is connected to a network which provides a DHCP server and a web server which can serve your pseudo-random data file and undionly.kpxe.
  2. Use ifstat to identify the name of your network interface (hereafter assumed to be net0).
  3. Open the interface and obtain an IP address using dhcp net0.
  4. Download and boot undionly.kpxe using chain.
  5. Press Ctrl-B to enter the iPXE shell provided by undionly.kpxe.
  6. Use ifstat to verify that undionly.kpxe has detected a single interface net0 with the correct MAC address and using the undionly driver.
  7. Open the interface and initiate a DHCP request using dhcp net0.
  8. Verify that the DHCP command completes without an error.
  9. Download the pseudo-random data file using imgfetch.
  10. Use imgstat to verify that the downloaded file has the correct size.
dev/drvtest/undiapi.txt ยท Last modified: 2021/01/23 11:36 by mcb30
Recent changes RSS feed CC Attribution-Share Alike 4.0 International Driven by DokuWiki
All uses of this content must include an attribution to the iPXE project and the URL
References to "iPXE" may not be altered or removed.