Can not find mgbe in the r38.4

Hi,I am currently using the r38.4 version of the BSP package and have found that mgbe is no longer available. The following error appears in the dmesg log

root@tegra-ubuntu:/home/tj_software# dmesg |grep nvethernet
[   11.131711] nvethernet a808a10000.ethernet: Adding to iommu group 46
[   11.136442] nvethernet a808a10000.ethernet: Virtualization is not enabled
[   11.136450] nvethernet a808a10000.ethernet: failed to read skip mac reset flag, default 0
[   11.136452] nvethernet a808a10000.ethernet: failed to read MDIO address
[   11.136456] nvethernet a808a10000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[   11.136458] nvethernet a808a10000.ethernet: Failed to read nvida,disable-rx-checksum, so setting to default - rx checksum offload enabled
[   11.136461] nvethernet a808a10000.ethernet: setting to default DMA bit mask
[   11.136650] nvethernet a808a10000.ethernet: failed to parse PHY DT
[   11.136667] nvethernet a808a10000.ethernet: failed to parse DT
[   11.154736] nvethernet a808b10000.ethernet: Adding to iommu group 47
[   11.156567] nvethernet a808b10000.ethernet: Virtualization is not enabled
[   11.156571] nvethernet a808b10000.ethernet: failed to read skip mac reset flag, default 0
[   11.156573] nvethernet a808b10000.ethernet: failed to read MDIO address
[   11.156576] nvethernet a808b10000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[   11.156577] nvethernet a808b10000.ethernet: Failed to read nvida,disable-rx-checksum, so setting to default - rx checksum offload enabled
[   11.156578] nvethernet a808b10000.ethernet: setting to default DMA bit mask
[   11.156627] nvethernet a808b10000.ethernet: failed to parse PHY DT
[   11.156643] nvethernet a808b10000.ethernet: failed to parse DT
[   11.163642] nvethernet a808d10000.ethernet: Adding to iommu group 48
[   11.165623] nvethernet a808d10000.ethernet: Virtualization is not enabled
[   11.165627] nvethernet a808d10000.ethernet: failed to read skip mac reset flag, default 0
[   11.165629] nvethernet a808d10000.ethernet: failed to read MDIO address
[   11.165639] nvethernet a808d10000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[   11.165642] nvethernet a808d10000.ethernet: Failed to read nvida,disable-rx-checksum, so setting to default - rx checksum offload enabled
[   11.165645] nvethernet a808d10000.ethernet: setting to default DMA bit mask
[   11.165699] nvethernet a808d10000.ethernet: failed to parse PHY DT
[   11.169290] nvethernet a808d10000.ethernet: failed to parse DT
[   11.212100] nvethernet a808e10000.ethernet: Adding to iommu group 50
[   11.213964] nvethernet a808e10000.ethernet: Virtualization is not enabled
[   11.219590] nvethernet a808e10000.ethernet: failed to read skip mac reset flag, default 0
[   11.219592] nvethernet a808e10000.ethernet: failed to read MDIO address
[   11.219596] nvethernet a808e10000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[   11.219600] nvethernet a808e10000.ethernet: Failed to read nvida,disable-rx-checksum, so setting to default - rx checksum offload enabled
[   11.219604] nvethernet a808e10000.ethernet: setting to default DMA bit mask
[   11.222718] nvethernet a808e10000.ethernet: failed to parse PHY DT
[   11.222720] nvethernet a808e10000.ethernet: failed to parse DT

root@tegra-ubuntu:/home/tj_software# ifconfig |grep mgbe
root@tegra-ubuntu:/home/tj_software#

On my Thor

lsmod|grep nvethernet
nvethernet           2928640  1 tegra_capture_coe
nvpps                  28672  2 mttcan,nvethernet

If absent
sudo modprobe nvethernet


sudo ethtool mgbe0_0

hi,whitesscott

i have that , I noticed that it might be because I commented out nvpps in the device tree, as I thought it wasn’t being used. I’ll try enabling it.I’m not sure if they are related.

root@tegra-ubuntu:/home/tj_software# lsmod |grep nvethernet
nvethernet           2961408  1 tegra_capture_coe
nvpps                  28672  2 mttcan,nvethernet
root@tegra-ubuntu:/home/tj_software#

source/nvidia-oot/Documentation/devicetree/bindings/nvpps/nvpps.txt

Nvpps is a Linux Kernel mode driver to support Time domain correlation feature on
Nvidia Tegra SOCs

sudo dmesg | grep nvpps
[ 8.153013] nvpps c230000.nvpps: nvpps_probe
[ 8.168607] nvpps c230000.nvpps: primary-emac : ethernet@a808a10000
[ 8.174915] nvpps c230000.nvpps: ts-capture-interval set to 1000ms
[ 8.186344] nvpps c230000.nvpps: PPS GPIO not provided in DT, only Timer mode available
[ 8.200663] nvpps c230000.nvpps: Initial operating mode selected as TIMER
[ 8.219712] nvpps c230000.nvpps: nvpps cdev(499:0)
[ 8.230006] nvpps nvpps0: Using Lock threshold value(in ns) : 20000
[ 8.236290] nvpps c230000.nvpps: tsc_res_ns(1)

Hi,whitesscott

It seems it’s not the reason. I have enabled it now, but mgbe is still not available.Have you also updated to version 7.1? Is everything working fine on your side?

root@tegra-ubuntu:/# dmesg |grep nvpps
[   11.406728] nvpps c230000.nvpps: nvpps_probe
[   11.419433] nvpps c230000.nvpps: primary-emac : ethernet@a808a10000
[   11.430957] nvpps c230000.nvpps: ts-capture-interval set to 1000ms
[   11.443191] nvpps c230000.nvpps: PPS GPIO not provided in DT, only Timer mode available
[   11.464046] nvpps c230000.nvpps: Initial operating mode selected as TIMER
[   11.481970] nvpps c230000.nvpps: nvpps cdev(498:0)
[   11.491660] nvpps nvpps0: Using Lock threshold value(in ns) : 20000
[   11.523114] nvpps c230000.nvpps: tsc_res_ns(1)
root@tegra-ubuntu:/# ifconfig |grep mgbe
root@tegra-ubuntu:/#
root@tegra-ubuntu:/#
root@tegra-ubuntu:/#




I edited /etc/apt/sources.list.d/nvidia-l4t-apt-source.list. changed 38.2 to 38.4 apt update && apt upgrade and things are functional.

See if the device is up?

sudo ethtool mgbe0_0

sudo nmcli device show

IF=mbge0_0   # set to your device number
sudo ip link set "$IF" down
sleep 1
sudo ip link set "$IF" up

I didn’t upgrade directly. Right now, none of the ports are showing up.

root@tegra-ubuntu:/# IF=mbge0_0   # set to your device number
sudo ip link set "$IF" down
sleep 1
sudo ip link set "$IF" up
Cannot find device "mbge0_0"
Cannot find device "mbge0_0"
root@tegra-ubuntu:/# sudo ethtool mgbe0_0
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
No data available
root@tegra-ubuntu:/#

ip -br link
ls -l /sys/class/net

ls -d /sys/bus/platform/devices/*ethernet* 2>/dev/null
ls -d /sys/bus/platform/devices/*a808* 2>/dev/null

sudo modprobe -r nvethernet
sudo modprobe nvethernet

Sorry. I transposed a letter in mgbe0_0 above.

hi,whitesscott

it doesn’t matter . even with the correct spelling of mgbe0_0, the device can’t be found .

sudo apt search nvidia-l4t-kernel-oot-modules
nvidia-l4t-kernel-oot-modules/stable,now 6.8.12-tegra-38.4.0-20251230160601 arm64 [installed]
NVIDIA OOT Kernel Module Drivers Package

to make sure it’s installed?

what does this show

ip -br link

Hi,whitesscott


root@tegra-ubuntu:/home/tj_software# ip -br link
ls -l /sys/class/net

ls -d /sys/bus/platform/devices/*ethernet* 2>/dev/null
ls -d /sys/bus/platform/devices/*a808* 2>/dev/null

sudo modprobe -r nvethernet
sudo modprobe nvethernet
lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
can0             DOWN           <NOARP,ECHO>
can1             DOWN           <NOARP,ECHO>
can2             DOWN           <NOARP,ECHO>
can3             DOWN           <NOARP,ECHO>
l4tbr0           UP             86:9a:d3:67:3b:6e <BROADCAST,MULTICAST,UP,LOWER_UP>
usb0             UP             62:25:f6:cc:f4:89 <BROADCAST,MULTICAST,UP,LOWER_UP>
usb1             DOWN           62:25:f6:cc:f4:8b <NO-CARRIER,BROADCAST,MULTICAST,UP>
total 0
lrwxrwxrwx 1 root root 0 Jul 11 18:53 can0 -> ../../devices/platform/bus@0/81102f0000.mttcan/net/can0
lrwxrwxrwx 1 root root 0 Jul 11 18:53 can1 -> ../../devices/platform/bus@0/8110300000.mttcan/net/can1
lrwxrwxrwx 1 root root 0 Jul 11 18:53 can2 -> ../../devices/platform/bus@0/8110330000.mttcan/net/can2
lrwxrwxrwx 1 root root 0 Jan  1  1970 can3 -> ../../devices/platform/bus@0/8110340000.mttcan/net/can3
lrwxrwxrwx 1 root root 0 Jul 11 18:53 l4tbr0 -> ../../devices/virtual/net/l4tbr0
lrwxrwxrwx 1 root root 0 Jul 11 18:53 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx 1 root root 0 Jul 11 18:53 usb0 -> ../../devices/platform/bus@0/a808670000.usb/gadget.0/net/usb0
lrwxrwxrwx 1 root root 0 Jul 11 18:53 usb1 -> ../../devices/platform/bus@0/a808670000.usb/gadget.0/net/usb1
/sys/bus/platform/devices/a808a10000.ethernet
/sys/bus/platform/devices/a808b10000.ethernet
/sys/bus/platform/devices/a808d10000.ethernet
/sys/bus/platform/devices/a808e10000.ethernet
/sys/bus/platform/devices/a8082e0000.pinmux
/sys/bus/platform/devices/a808300000.gpio
/sys/bus/platform/devices/a808400000.pcie
/sys/bus/platform/devices/a808420000.pcie
/sys/bus/platform/devices/a808440000.pcie
/sys/bus/platform/devices/a808480000.pcie
/sys/bus/platform/devices/a808670000.usb
/sys/bus/platform/devices/a808680000.padctl
/sys/bus/platform/devices/a808880000.uphy_apmu
/sys/bus/platform/devices/a808a10000.ethernet
/sys/bus/platform/devices/a808b10000.ethernet
/sys/bus/platform/devices/a808d10000.ethernet
/sys/bus/platform/devices/a808e10000.ethernet
modprobe: FATAL: Module nvethernet is in use.
root@tegra-ubuntu:/home/tj_software# ip -br link

hi,whitesscott

I think I found the reason this time. After uninstalling and reloading, I realized the speed was written incorrectly with an extra 0. It seems it was a misunderstanding. I’ll modify the device tree again. Thank you for your help!

root@tegra-ubuntu:/home/tj_software# modprobe nvethernet
[  246.814770] swphy: unknown speed
[  246.814803] nvethernet a808a10000.ethernet: failed to parse PHY DT
[  246.814820] nvethernet a808a10000.ethernet: failed to parse DT
[  246.819085] nvethernet a808b10000.ethernet: failed to parse PHY DT
[  246.825371] nvethernet a808b10000.ethernet: failed to parse DT
[  246.832097] swphy: unknown speed
[  246.834460] nvethernet a808d10000.ethernet: failed to parse PHY DT
[  246.849480] nvethernet a808e10000.ethernet: failed to parse PHY DT
[  246.855760] nvethernet a808e10000.ethernet: failed to parse DT
root@tegra-ubuntu:/home/tj_software#

Good luck.

I was just about to say

sudo dtc -I fs -O dts /sys/firmware/devicetree/base > /tmp/running.dts
grep -n "ethernet" -n /tmp/running.dts

grep returned following for me

1379:           ethernet@a808e10000 {
2039:           ethernet@a808d10000 {
3030:           ethernet@a808b10000 {
7020:           ethernet@A808910000 {
7117:           ethernet@a808a10000 {
9530:           mgbe2 = "/bus@0/ethernet@a808d10000";
9612:           mgbe0 = "/bus@0/ethernet@a808a10000";
9895:           mgbe3 = "/bus@0/ethernet@a808e10000";
9969:           mgbe1 = "/bus@0/ethernet@a808b10000";

Now, it comes back. Thanks again!

1 Like