iPXE discussion forum

Full Version: Flashing RTL8111B/RTL8111C
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Im trying to flash iPXE into a PCIe RTL8111B/RTL8111C. VEN DEV id is 10ec:8168. (integrated into a ASUS P6T SE Motherboard)

Have tried with numerious flash tools, RTFLASH.EXE, flashrom.exe etc.
None of them can see the card.

The RTFLASH.EXE one is pretty old, 2000 something. Anyone know where I can get a newer one?

Or does anyone know a way to flash the ROM?
Onboard components don't usually have a separate ROM, they're all bundled inside the BIOS.

An integrated/on-board network card must usually be flashed by modifying the BIOS firmware of the motherboard. You'll need to find the appropriate tool for your BIOS, swap out the existing PXE ROM inside the BIOS image file, rewrite it (make sure checksums match) and then flash your updated BIOS to your motherboard.

This is generally something I don't recommend, unless your motherboard has a recovery function, as it can easily cause a bricked motherboard if you do anything wrong. Use chainloading instead. Most of the RTL8111s I've encountered do that quite well.
Solved it, but did stuck into Another problem.

Used MMTool to modify the latest ROM to insert a iPXE I did compile replacing the PXE rom inside the BIOS, did work on the first try without any checksum rewriting, guess the MMtool did that for me.
Finding the right PCI option rom was not a problem either, I only needed to look at the vendor/PCI IDs and pick the matching one:

[Image: LdBvpDP.png]

Then flashed it:

[Image: dQjkHi1l.jpg]

After reboot, SUCESS!:

[Image: g5u0yRfl.jpg]

Into the iPXE works:
[Image: oev9zaNl.jpg]

Also it boots the example bootscript provided successfully... BUT...

The computer has 6 GB of RAM and wont boot a 200mb WIM image:
[Image: c93sT80l.jpg]

Whats the problem?
It links me to this site:
Are you pressing Ctrl-B at the first instance you get it up during POST? That is most likely too early, as it is during the BIOS init phase. There is a diagram at networkboot.org/fundamentals that illustrates the BIOS boot process. If you're pressing Ctrl-B during the yellow process it's too early. You should do it during the blue process. If you try to use iPXE directly during the yellow process (init) then memory and such things might not be completely initialized and you get odd problems.
I did set iPXE farthest up in boot order and press CTRL+B at the first instance. Its no yellow or blue, theres only a White CTRL+B prompt, then nothing more. If I dont press CTRL+B Quick enough, screen becomes permanently black (propably because no PXE file is served in DHCP).
m just using the prompt to test.

Having further problems with sanboot, Ill create a new thread about sanboot.
The screen is always white on black. I meant the yellow/blue parts of the diagram. The first time you see iPXE it is for the BIOS init phase. You should NOT press Ctrl-B during this time. Then you should get it once more when it tries to boot the devices in the boot order. That is when you should press Ctrl-B to get to the iPXE shell.
Same here:
It turned out that I was CTRL+Bing too early. The reason I didn't get the second prompt was something I noticed when carefully watching the boot process....

under 0,1 seconds, it flashed "NVRAM: Unable to copy PCI Boot Rom [Insufficent Space]"
or something similiar.

Turned out my ROM image was too large. Shaving off features by modifying general.h in config folder leaving only iSCSI, HTTP, script intepreter and menu function, so it come under 64kb solved all problems.

That also solved my SANBOOT problems in my other thread.
On my P8Z77-V LX UEFI board I have a RtkUndiDxeX64_0 module.
Can I replace it with the .efirom ixpe module? What's the status of UEFI implementation?
Btw I have the same Realtek Chip 10ec8168 and I didn't get the board to iSCSI boot my windows.

best regards
Reference URL's