Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add firmware needed for R816{8,9} network devices #195

Merged
merged 1 commit into from
Mar 27, 2024

Conversation

jmbaur
Copy link
Contributor

@jmbaur jmbaur commented Mar 27, 2024

Description of changes

The orin-nano and orin-nx SOMs have realtek NICs that take advantage of firmware that lives in the linux-firmware derivation. Instead of pulling in all of linux-firmware (1GiB+), just pull in what is needed for the r8168 kernel module. Note that in Jetpack 35.3.1 the kernel module was called r8169 and in Jetpack 35.4.1 the kernel module was changed to be r8168. This differs from mainline linux where the kernel module is r8169.

Testing

Tested on an orin-nano-devkit, ensured the initrd built with a config including { boot.initrd.kernelModules = [ "r8168" ]; } includes the corresponding firmware in lib/firmware/rtl_nic. Also ensured that the warning message produced without this PR's changes no longer appears. The warning looks like this:

Starting systemd-udevd version 254.6
[    9.388066] r8169 0008:01:00.0 enP8p1s0: renamed from eth0
bringing up network interface enP8p1s0...
[    9.444051] r8169 0008:01:00.0: Direct firmware load for rtl_nic/rtl8168h-2.fw failed with error -2
[    9.445086] r8169 0008:01:00.0: Unable to load firmware rtl_nic/rtl8168h-2.fw (-2)
[    9.472717] Generic FE-GE Realtek PHY r8169-8-100:00: attached PHY driver [Generic FE-GE Realtek PHY] (mii_bus:phy_addr=r8169-8-100:00, irq=IGNORE)
[    9.596951] r8169 0008:01:00.0 enP8p1s0: Link is Down

The orin-nano and orin-nx SOMs have realtek NICs that take advantage of
firmware that lives in the `linux-firmware` derivation. Instead of
pulling in all of linux-firmware (1GiB+), just pull in what is needed
for the `r8168` kernel module. Note that in Jetpack 35.3.1 the kernel
module was called `r8169` and in Jetpack 35.4.1 the kernel module was
changed to be `r8168`. This differs from mainline linux where the kernel
module is `r8169`.
@jmbaur jmbaur force-pushed the realtek-nic-firmware branch from 0123222 to aed38dd Compare March 27, 2024 22:14
Copy link
Contributor

@Princemachiavelli Princemachiavelli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@danielfullmer danielfullmer merged commit e7c8fc7 into anduril:master Mar 27, 2024
1 check passed
@jmbaur jmbaur deleted the realtek-nic-firmware branch March 27, 2024 23:08
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.

3 participants