Page 1 of 1

Luckfox Pico Mini 预留的百兆以太网接口外接交换机之后如何配置设备树、内核等开启它使其正常工作?

Posted: 2026-01-21 9:13
by trzhongty
如题所示,Luckfox Pico Mini B (使用内置SPI Flash)通过直接焊接的方式,将4根百兆以太网引脚连接到交换机RJ45口上,希望开启百兆以太网功能。
连接原理图如下:
Luckfox Pico Mini以太网连接原理图
Luckfox Pico Mini以太网连接原理图
(由于是同一块PCB,共GND,不需要变压器隔离)
在出产默认的镜像开机之后,可以看到RJ45以太网指示灯,正常亮起,并闪烁
登陆开发板,使用ifconfig查看,没有eth0,只有lo和usb0,(当前是USB adb shell 登陆)

Code: Select all

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3180 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3180 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:235212 (229.6 KiB)  TX bytes:235212 (229.6 KiB)

usb0      Link encap:Ethernet  HWaddr 16:09:6E:A4:DC:EB
          inet addr:172.32.0.93  Bcast:172.32.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1100 errors:0 dropped:386 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:184043 (179.7 KiB)  TX bytes:0 (0.0 B)
克隆了镜像构建工程,./build launch
选择了Luckfox Pico Mini、SPI FLASH、buildroot
然后编辑了config/dts_config设备树文件编辑,修改gmac为okay

Code: Select all

&gmac {
	status = "okay";
};
其他未更改,全量编译,然后烧录,然后启动。
此时以太网指示灯,不再亮起,也不再闪烁,始终保持熄灭。
登陆开发板使用ifconfig指令如下,出现了eth0网卡。

Code: Select all

[root@luckfox debug]# ifconfig
eth0      Link encap:Ethernet  HWaddr A6:EB:39:15:64:C0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:48

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3180 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3180 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:235212 (229.6 KiB)  TX bytes:235212 (229.6 KiB)

usb0      Link encap:Ethernet  HWaddr 16:09:6E:A4:DC:EB
          inet addr:172.32.0.93  Bcast:172.32.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1100 errors:0 dropped:386 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:184043 (179.7 KiB)  TX bytes:0 (0.0 B)
查看部分gmac、phy的日志如下

Code: Select all

[root@luckfox ]# dmesg | grep -i gmac
[   11.769046] rk_gmac-dwmac ffa80000.ethernet eth0: PHY [stmmac-0:02] driver [RK630 PHY] (irq=POLL)
[   11.769458] rk_gmac-dwmac ffa80000.ethernet eth0: No Safety Features support found
[   11.769479] rk_gmac-dwmac ffa80000.ethernet eth0: PTP not supported by HW
[   11.769799] rk_gmac-dwmac ffa80000.ethernet eth0: configuring for phy/rmii link mode
[root@luckfox ]# dmesg | grep -i phy
[   10.637419] rkcif rkcif-mipi-lvds: failed to get dphy hw node
[   10.742250] rockchip-csi2-dphy-hw ff3e8000.csi2-dphy-hw: csi2 dphy hw probe successfully!
[   10.758925] rockchip-csi2-dphy csi2-dphy0: csi2 dphy0 probe successfully!
[   11.769046] rk_gmac-dwmac ffa80000.ethernet eth0: PHY [stmmac-0:02] driver [RK630 PHY] (irq=POLL)
[   11.769799] rk_gmac-dwmac ffa80000.ethernet eth0: configuring for phy/rmii link mode
尝试使用“ip link set eth0 up” 无效果
尝试使用udhcpc -i eth0 获取IP无效果

Code: Select all

[root@luckfox ]# udhcpc -i eth0
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: broadcasting discover
参考AI建议,尝试修改设备树如下无效果

Code: Select all

/**********ETH**********/
&gmac {
    status = "okay";
    phy-mode = "rmii";
    clock_in_out = "output"; /* 这是一个关键点,RV1103内部PHY有时需要MAC提供时钟,或反之,默认通常是 input,但如果由于布线差异,建议检查这里 */
    
    /* 强制指定 PHY 句柄,虽然 dtsi 里有,但这里显式引用更保险 */
    phy-handle = <&rmii_phy>;
};

/* 极其重要:确保 MDIO 节点下的 PHY 也是开启的 */
&mdio {
    status = "okay";
    rmii_phy: ethernet-phy@2 {
        status = "okay"; 
        /* 有些版本内核需要指定内部PHY的特定配置,保持默认通常即可,但确保 status okay */
    };
};
均上所属,请问要如何正确配置,才能使Luckfox Pico Mini B的以太网接口 在SPI Flash启动buildroot工作?如有必要可以关闭mipi csi摄像头、或其他引脚(如果冲突的话)

Re: Luckfox Pico Mini 预留的百兆以太网接口外接交换机之后如何配置设备树、内核等开启它使其正常工作?

Posted: 2026-01-21 10:25
by Luckfox Taylor
软件上只需配置:

Code: Select all

&gmac {
	status = "okay";
};

硬件上我们只验证过斑梨这个网口是可以的:https://detail.tmall.com/item.htm?id=733192379434
mini-b-ifconfig.png
mini-b-eth0.jpg