This is an old revision of the document!


Driver FAQ

How do I check if a network card is supported?

When a PCI network card is detected, its PCI ID is used to identify it and choose an appropriate driver. Each network card driver has a list of PCI IDs it supports.

The format of a PCI ID is VVVV:DDDD, where the VVVV field is called the Vendor ID and the DDDD field is called the Device ID.

  1. Find out the PCI ID of the network card:
    • On Linux using lspci -nn. Look for Ethernet controller.
    • In gPXE using show net0/busid. Ignore for first byte, e.g. busid 01:10:ec:81:39 → PCI ID 10ec:8139.
  2. Check if there is a gPXE driver for this PCI ID:
    • Ask gpxebot on #etherboot IRC like this: gpxebot: lspci 10ec:8139.
    • Search the gPXE source code for the Device ID, looking for lines of code like this:
PCI_ROM(0x10ec, 0x8139, "rtl8139", "Realtek 8139", 0),

What if there is no driver for my network card?

Can open source Linux or BSD drivers be used with gPXE?

How can I use the UNDI driver if there is no native driver?

Why write native drivers if UNDI works with every network card?


QR Code
QR Code faq:drivers (generated for current page)