Skip to content

mb/google/puff: program RTL8168 MAC into ERI#31

Draft
jackadam1981 wants to merge 1 commit into
MrChromebox:MrChromebox-2603from
jackadam1981:codex/kaisa-rtl8168-eri-mac
Draft

mb/google/puff: program RTL8168 MAC into ERI#31
jackadam1981 wants to merge 1 commit into
MrChromebox:MrChromebox-2603from
jackadam1981:codex/kaisa-rtl8168-eri-mac

Conversation

@jackadam1981

Copy link
Copy Markdown

Summary

This fixes the PXE MAC address on Google Puff-derived KAISA systems (Acer Chromebox CXI4) with the onboard Realtek RTL8111/8168 controller.

On the tested KAISA unit, Linux still reported the correct VPD-backed MAC address, but the firmware PXE path showed an all-zero MAC address (00:00:00:00:00:00). The board already selects RT8168_GET_MAC_FROM_VPD, so coreboot reads the right address, but the RTL8168 hardware also needs the address programmed into the ERI registers for this controller revision before the PXE stack uses it.

Changes

  • Select RT8168_PUT_MAC_TO_ERI for the Puff baseboard so KAISA programs the VPD MAC into the controller ERI registers.
  • Treat PCI revision ID 0x15 / decimal 21 like revision 9 in the RTL8168 ERI MAC programming path.

Hardware details

The tested onboard NIC is:

Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)

rev 15 is hexadecimal, so this is PCI revision ID 0x15 / decimal 21, matching the new case 21 path.

Validation

Built a 2603 release ROM for KAISA with PXE + iPXE enabled, using the MrChromebox 2603 coreboot/EDK2 sources plus this two-line change.

Test ROM:

coreboot_edk2-kaisa-mrchromebox_2603_release_pxe_ipxe_rt8168_eri_rev21_20260528-142302.rom
sha256: 5258185a9a1419d6bb17f1c7c7a7dd4a2b2fed28fd361b33f5981ae324ffd503

Flashed on a real Acer Chromebox CXI4 / KAISA using the MrChromebox firmware utility. The utility preserved VPD, RW_MRC_CACHE, and SMMSTORE during the custom flash. After reboot, the PXE screen showed the MAC address instead of all zeros.

@MrChromebox

Copy link
Copy Markdown
Owner

this looks good, I think I'll break this up into 2 commits, and apply it to other chromeboxes with RT81xx. Fizz uses Rev 0x15 as as well, I need to check the others.

@MrChromebox

Copy link
Copy Markdown
Owner

here's what I upstreamed, thoughts? https://review.coreboot.org/c/coreboot/+/93049

@MrChromebox

Copy link
Copy Markdown
Owner

the above patch series has been cherry-picked back into 2603

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants