(2016-03-16 18:32)Fimlore Wrote: What do I need to do to retrieve the wireless MAC address if present in the device?
I'm using Undionly.kpxe and ipxe.efi to boot to ipxe, but only the LAN-cards are recognized.

With undionly.kpxe, you will only ever be able to see the NIC that was used to load iPXE. This is an architectural limitation of the PXE specification.

With ipxe.pxe or ipxe.efi, you will be able to see all NICs for which iPXE has an available driver. This can be a native iPXE driver (preferred) or a fallback UNDI/SNP/NII driver provided by the platform firmware.

If you are not seeing the wireless cards in ifstat even when using ipxe.efi, then that suggests that there is no iPXE native driver for your wireless NICs, and that there is no SNP/NII driver for those NICs provided by the platform firmware.

If that is the case, then there is no way to retrieve the MAC address. The solution would be to create an iPXE driver for your wireless NICs. That is, however, quite a lot of work.

(2016-03-16 18:32)Fimlore Wrote: What do I need to do to retrieve the wireless MAC address if present in the device?
I'm using Undionly.kpxe and ipxe.efi to boot to ipxe, but only the LAN-cards are recognized.

With undionly.kpxe, you will only ever be able to see the NIC that was used to load iPXE. This is an architectural limitation of the PXE specification.

With ipxe.pxe or ipxe.efi, you will be able to see all NICs for which iPXE has an available driver. This can be a native iPXE driver (preferred) or a fallback UNDI/SNP/NII driver provided by the platform firmware.

If you are not seeing the wireless cards in ifstat even when using ipxe.efi, then that suggests that there is no iPXE native driver for your wireless NICs, and that there is no SNP/NII driver for those NICs provided by the platform firmware.

If that is the case, then there is no way to retrieve the MAC address. The solution would be to create an iPXE driver for your wireless NICs. That is, however, quite a lot of work.

Michael

Ifstat indeed only shows the net0 interface. I have build the efi file with make, are there any options i might have disabled that prevent the fallback drivers from working, or are all drivers always included.

BtW, i only changed the general.h file, all other files were left as is.

What is the legacy alternative to the ipxe.efi? I thought that was undionly?

(2016-03-16 19:24)Fimlore Wrote: Ifstat indeed only shows the net0 interface. I have build the efi file with make, are there any options i might have disabled that prevent the fallback drivers from working, or are all drivers always included.

No; ipxe.efi always includes all drivers.

Quote:What is the legacy alternative to the ipxe.efi? I thought that was undionly?

The alternative is undionly.kpxe if you want to always use the firmware-provided fallback driver, or ipxe.pxe if you want to always use an iPXE native driver.

The UEFI version of iPXE has the advantage of being able to decide whether to use a native driver or a fallback driver at runtime. ipxe.efi has the capability to use either. This is a feature which is not (currently) available in the BIOS version of iPXE.

(2016-03-16 19:24)Fimlore Wrote: Ifstat indeed only shows the net0 interface. I have build the efi file with make, are there any options i might have disabled that prevent the fallback drivers from working, or are all drivers always included.

No; ipxe.efi always includes all drivers.

Quote:What is the legacy alternative to the ipxe.efi? I thought that was undionly?

The alternative is undionly.kpxe if you want to always use the firmware-provided fallback driver, or ipxe.pxe if you want to always use an iPXE native driver.

The UEFI version of iPXE has the advantage of being able to decide whether to use a native driver or a fallback driver at runtime. ipxe.efi has the capability to use either. This is a feature which is not (currently) available in the BIOS version of iPXE.

Michael

Clear, thanks.

The UEFI and BIOS are two very different beast I see, .. They both have some serious limitations in what is possible and what is not.

If, somehow I need to provide the wireless Mac to my customers, ill have to boot into Windows pe and load the Windows driver.

How often are the drivers in ipxe updated? Or isn't that on a regular basis

(2016-03-16 19:39)Fimlore Wrote: If, somehow I need to provide the wireless Mac to my customers, ill have to boot into Windows pe and load the Windows driver.

As a long shot, you could try looking in the SMBIOS information. There is a small chance that the MAC address might be reflected there. You can test by booting into Linux and running "dmidecode". Any information that you see there can also be extracted by iPXE.

Quote:How often are the drivers in ipxe updated? Or isn't that on a regular basis

As and when someone either (a) does the work to develop one, or (b) pays for said work to be done.

(2016-03-16 19:43)mcb30 Wrote: As and when someone either (a) does the work to develop one, or (b) pays for said work to be done.

Michael

I see, the reason I asked if it might have been something I could support in the (near) future or something that might be far fetched. We receive all sorts of hardware with the request to register the Macs of all NICS, since all hardware is specific for Windows, Windows should always have the driver.
The SMBIOS is a valid option, but not all vendors add it, experience learned,

Just as a matter of interest,
Is it possible to load a Linux driver after booting into ipxe, or does it has to be created with the drivers

(2016-03-16 19:55)Fimlore Wrote: I see, the reason I asked if it might have been something I could support in the (near) future or something that might be far fetched. We receive all sorts of hardware with the request to register the Macs of all NICS, since all hardware is specific for Windows, Windows should always have the driver.
The SMBIOS is a valid option, but not all vendors add it, experience learned,

OK. If you need to access NICs that are supported only under Windows then yes, booting into Windows is inevitable. You can probably speed up the process by using http://ipxe.org/wimboot, if you aren't already doing so.

Quote:Just as a matter of interest,
Is it possible to load a Linux driver after booting into ipxe, or does it has to be created with the drivers

No; you can't directly use a Linux driver in iPXE. It's often possible to use the Linux driver as a starting point for creating an iPXE driver, though I personally prefer to create drivers from scratch instead.

Just be aware that if you want to do this in UEFI mode then the kernel must have CONFIG_EFI_STUB enabled.

Exactly what you need to include in the initrd to make it display the inventory information you need depends on what kind of inventory information you want to store.

This is not a new problem, and I'm sure there are Linux distros that already do this. Check the list of distros at DistroWatch.com and see if you can find one. I also think PuppetLabs Razor does something similar, but I might be mistaken.

Just be aware that if you want to do this in UEFI mode then the kernel must have CONFIG_EFI_STUB enabled.

Exactly what you need to include in the initrd to make it display the inventory information you need depends on what kind of inventory information you want to store.

This is not a new problem, and I'm sure there are Linux distros that already do this. Check the list of distros at DistroWatch.com and see if you can find one. I also think PuppetLabs Razor does something similar, but I might be mistaken.

Thanks, i didnt know about distrowatch. Ill certainly have a look there.