Discussion:
[ipxe-devel] Howto boot from a non-pxe nic?
Oliver Rath
2018-11-25 18:47:16 UTC
Permalink
Hi list,

I have a PC with 3 Nics,

one builtin realtek,
one intel pcie-card
one 10GbE Delock NIC (Tehuti TN40xx Chipset) *without any PXE-funktionality*

Booting from intel works fine. Now I wanted to boot from the 10gbe via
ipxe.usb from an usb-Stick.

Unfortuntatly the ixpe-tools only finds the other NICs, but not the
delock one.

Is there a possibility to force the Delock-Card (via ipxe.usb)?

Tfh!

Oliver
Geert Stappers
2018-11-26 08:54:35 UTC
Permalink
Post by Oliver Rath
Hi list,
I have a PC with 3 Nics,
one builtin realtek,
one intel pcie-card
one 10GbE Delock NIC (Tehuti TN40xx Chipset) *without any PXE-funktionality*
Booting from intel works fine. Now I wanted to boot from the 10gbe via
ipxe.usb from an usb-Stick.
Unfortuntatly the ixpe-tools only finds the other NICs,
but not the Delock one.
Is there a possibility to force the Delock-Card (via ipxe.usb)?
Not force, but source. As in "Use the source Luke".


The problem of the Original Poster is having hardware
that isn't yet supported by iPXE.
And O.P. is not aware that iPXE uses drivers from Linux. [1]

What O.P. needs to do:
* Boot into Linux
* Find PCI ID of the 10GB NIC and which driver it uses
* Combine Linux source and iPXE source
* Do further enginering [2]
* Send a patch to this nice Open Source project


Cheers
Geert Stappers

[1] The same idea as https://www.linuxboot.org/
[2] If it was easy would everbody do it
Oliver Rath
2018-11-26 12:40:09 UTC
Permalink
Hi Geert!
Post by Geert Stappers
Post by Oliver Rath
[..]
Is there a possibility to force the Delock-Card (via ipxe.usb)?
Not force, but source. As in "Use the source Luke".
The problem of the Original Poster is having hardware
that isn't yet supported by iPXE.
I know, that this card is not supported natively. But the bigger thing
for me is, that the card is generally not able to netboot.
Post by Geert Stappers
And O.P. is not aware that iPXE uses drivers from Linux. [1]
Ok, this I didnt know.
Post by Geert Stappers
* Boot into Linux
* Find PCI ID of the 10GB NIC and which driver it uses
* Combine Linux source and iPXE source
Independent of the case, that Im not very experienced in C-Programming,
this probably would *not* solve my problem, because this card have no
(overloadable) Firmware for netboot.

Imho ipxe should show the card (incl. BusID) in the config command. But
this I can try: Implementing the BusID into the ipxe-Source. Mayby this
helps. And normally every nic should work with undionly, shouldnt it?
Post by Geert Stappers
* Do further enginering [2]
* Send a patch to this nice Open Source project
Ive sent patches to Open Source projects (i.e. dnsmasq), thats not the
point. If i were able to do this, I surely will.
Post by Geert Stappers
[1] The same idea as https://www.linuxboot.org/
Thats an interesting alternative!

Tfh!

Oliver
Michael Brown
2018-11-26 12:45:27 UTC
Permalink
Post by Oliver Rath
Post by Geert Stappers
And O.P. is not aware that iPXE uses drivers from Linux. [1]
Ok, this I didnt know.
It's not actually true. It's possible to take a Linux driver as the
starting point for creating an iPXE driver, but it's not just a case of
copying and pasting.
Post by Oliver Rath
Imho ipxe should show the card (incl. BusID) in the config command. But
this I can try: Implementing the BusID into the ipxe-Source. Mayby this
helps. And normally every nic should work with undionly, shouldnt it?
undionly.kpxe uses an UNDI driver provided by the NIC's own PXE
firmware. In your case, it sounds as though there is no existing PXE
firmware, so that won't work.

What are the PCI vendor:device IDs for this NIC?

Michael
Oliver Rath
2018-11-26 13:09:51 UTC
Permalink
Hi Michael,
Post by Oliver Rath
Post by Geert Stappers
And O.P. is not aware that iPXE uses drivers from Linux. [1]
Ok, this I didnt know.
It's not actually true.  It's possible to take a Linux driver as the
starting point for creating an iPXE driver, but it's not just a case
of copying and pasting.
Ok. This makes sense.
Post by Oliver Rath
Imho ipxe should show the card (incl. BusID) in the config command. But
this I can try: Implementing the BusID into the ipxe-Source. Mayby this
helps. And normally every nic should work with undionly, shouldnt it?
undionly.kpxe uses an UNDI driver provided by the NIC's own PXE
firmware.  In your case, it sounds as though there is no existing PXE
firmware, so that won't work.
Exactly. No PXE-Code here.
What are the PCI vendor:device IDs for this NIC?
Vendor:device ID is

FC9d:4022

The card works under linux with this driver:

https://github.com/acooks/tn40xx-driver

Hth,
Oliver

Loading...