iperf3 -c 192.168.5.3
iperf3 -c 192.168.5.3 -R
iperf3 -c 192.168.5.3 -u -b 0
iperf3 -c 192.168.5.3 -u -b 0 -R
All results are stored in files named xxxr.y
, where:
xxx
- last digits in .dtb-file name
r
- present if reverse mode (-R key) used
y
- test sequence number (0 - 2)
All files I will send further.
Thank you very much for your test. Now the dtb file of 2800
is tentatively used. Please execute the following command and give feedback on the execution result
. This should be added to the comments of the dts file.
cat /sys/class/net/eth0/phydev/phy_id
Thank you very much for the very detailed test report for x96max plus v5.1 (ip1001m phy), your contribution has been recorded in the contributor list. Now unifreq has added that dtb in his relevant kernel. In the future, more users of this network card can benefit from your contribution.
unifreq/linux-5.15.y@bca00ac
unifreq/linux-5.10.y@2d09c24
unifreq/linux-5.4.y@172adad
unifreq/linux-5.17.y@e983ac4
I found my tvbox model X96Max_Plus2_AI has a ip1001m chip. It's ethernet works fine in anroid9.
Recently I tested the armbian system, changed uEnv.txt FDT option to meson-sm1-x96-max-plus-ip1001m.dtb in /dtb/amlogic/ directory and above zips, but the eth0 still doesn't work.
I missed something? need recompile a new kernel?
uname -a
Linux armbian 5.10.113-meson64-dev #2 SMP PREEMPT Wed Apr 27 13:15:52 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
dmesg |grep eth
[ 0.000000] psci: probing for conduit method from DT.
[ 5.519913] meson8b-dwmac ff3f0000.ethernet: IRQ eth_wake_irq not found
[ 5.521299] meson8b-dwmac ff3f0000.ethernet: IRQ eth_lpi not found
[ 5.527612] meson8b-dwmac ff3f0000.ethernet: PTP uses main clock
[ 5.534122] meson8b-dwmac ff3f0000.ethernet: no reset control found
[ 5.540709] meson8b-dwmac ff3f0000.ethernet: User ID: 0x11, Synopsys ID: 0x37
[ 5.547574] meson8b-dwmac ff3f0000.ethernet: DWMAC1000
[ 5.551837] meson8b-dwmac ff3f0000.ethernet: DMA HW capability register supported
[ 5.560032] meson8b-dwmac ff3f0000.ethernet: RX Checksum Offload Engine supported
[ 5.566677] meson8b-dwmac ff3f0000.ethernet: COE Type 2
[ 5.571846] meson8b-dwmac ff3f0000.ethernet: TX Checksum insertion supported
[ 5.579626] meson8b-dwmac ff3f0000.ethernet: Wake-Up On Lan supported
[ 5.585213] meson8b-dwmac ff3f0000.ethernet: Normal descriptors
[ 5.591853] meson8b-dwmac ff3f0000.ethernet: Ring mode enabled
[ 5.596857] meson8b-dwmac ff3f0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 17.816440] meson8b-dwmac ff3f0000.ethernet eth0: no phy at addr -1
[ 17.820112] meson8b-dwmac ff3f0000.ethernet eth0: stmmac_open: Cannot attach to PHY (error: -19)
[ 17.991023] meson8b-dwmac ff3f0000.ethernet eth0: no phy at addr -1
[ 17.993989] meson8b-dwmac ff3f0000.ethernet eth0: stmmac_open: Cannot attach to PHY (error: -19)
[ 18.022483] meson8b-dwmac ff3f0000.ethernet eth0: no phy at addr -1
[ 18.025340] meson8b-dwmac ff3f0000.ethernet eth0: stmmac_open: Cannot attach to PHY (error: -19)
[ 18.068480] meson8b-dwmac ff3f0000.ethernet eth0: no phy at addr -1
sudo apt install device-tree-compiler
这是反编译命令:
dtc -I dtb -O dts -o /tmp/xxxxx.dts xxxxxx.dtb
这是编译命令:
dtc -I dts -O dtb -o xxxxxxx .dtb xxxxxxxx.dts
换成5月9日固件错识依旧。拆了测电压和psergeevich测的数据基本一致,但pin7不同。我测的pin7电压0.17v,与上面的数据电平相反。
我对arm dtb dts转换不是很熟,帮我生成一个dtb文件测试,将不胜感激。
@harrydou123
把你的测量结果发一下,#309 (comment) 他今天反应说现在的dtb在usb使用正常,写入emmc后网络无法使用。
用你的测试结果生成一个dtb试试
测了一下最新版本Armbian_Aml_jammy_server_05.18.2024中的Armbian_22.05.0_Aml_s905x3_jammy_5.10.116_2022.05.18.1932.img镜像,出现多个版本都能重现的问题,只是不同版本phandler冲突值不同。
按照5.10内核补丁提示,比较两个设备树。
diff meson-sm1-x96-max-plus-oc.dts meson-sm1-x96-max-plus-ip1001m.dts
261c261
< rx-internal-delay-ps = <0x320>;
> rx-internal-delay-ps = <0xaf0>;
1821,1822c1821,1822
< ethernet-phy@0 {
< reg = <0x00>;
> ethernet-phy@3 {
> reg = <0x03>;
2699c2699
< compatible = "realtek,rtl8822cs-bt";
> compatible = "brcm,bcm43438-bt";
2709c2709
< status = "disabled";
> status = "okay";
根据上下文,得到meson-sm1-x96-max-plus-ip1001m.dts
1807 mdio-multiplexer@4c000 {
1808 compatible = "amlogic,g12a-mdio-mux";
1809 reg = <0x00 0x4c000 0x00 0xa4>;
1810 clocks = <0x02 0x13 0x1b 0x02 0xb1>;
1811 clock-names = "pclk\0clkin0\0clkin1";
1812 mdio-parent-bus = <0x1d>;
1813 #address-cells = <0x01>;
1814 #size-cells = <0x00>;
1816 mdio@0 {
1817 reg = <0x00>;
1818 #address-cells = <0x01>;
1819 #size-cells = <0x00>;
1821 ethernet-phy@3 {
1822 reg = <0x03>;
1823 max-speed = <0x3e8>;
1824 reset-assert-us = <0x2710>;
1825 reset-deassert-us = <0x13880>;
1826 reset-gpios = <0x1e 0x0f 0x07>;
1827 interrupt-parent = <0x1f>;
1828 interrupts = <0x1a 0x08>;
1829 phandle = <0x13>;
1830 };
1831 };
1833 mdio@1 {
1834 reg = <0x01>;
1835 #address-cells = <0x01>;
1836 #size-cells = <0x00>;
1838 ethernet_phy@8 {
1839 compatible = "ethernet-phy-id0180.3301\0ethernet-phy-ieee802.3-c22";
1840 interrupts = <0x00 0x09 0x04>;
1841 reg = <0x08>;
1842 max-speed = <0x64>;
1843 };
1844 };
1845 };
在系统设置arm中armbian-config中,逐层找到armbian-config--System--Dtc--current.dts,mdio@0中ethernet-phy@3部分未加载。
1778 mdio-multiplexer@4c000 {
1779 compatible = "amlogic,g12a-mdio-mux";
1780 reg = <0x00 0x4c000 0x00 0xa4>;
1781 clocks = <0x02 0x13 0x18 0x02 0xb1>;
1782 clock-names = "pclk\0clkin0\0clkin1";
1783 mdio-parent-bus = <0x1a>;
1784 #address-cells = <0x01>;
1785 #size-cells = <0x00>;
1787 mdio@0 {
1788 reg = <0x00>;
1789 #address-cells = <0x01>;
1790 #size-cells = <0x00>;
1791 };
1793 mdio@1 {
1794 reg = <0x01>;
1795 #address-cells = <0x01>;
1796 #size-cells = <0x00>;
1798 ethernet_phy@8 {
1799 compatible = "ethernet-phy-id0180.3301\0ethernet-phy-ieee802.3-c22";
1800 interrupts = <0x00 0x09 0x04>;
1801 reg = <0x08>;
1802 max-speed = <0x64>;
1803 phandle = <0x11>;
1804 };
1805 };
1806 };
将差别部分
1822 reg = <0x03>;
1823 max-speed = <0x3e8>;
1824 reset-assert-us = <0x2710>;
1825 reset-deassert-us = <0x13880>;
1826 reset-gpios = <0x1e 0x0f 0x07>;
1827 interrupt-parent = <0x1f>;
1828 interrupts = <0x1a 0x08>;
1829 phandle = <0x13>;
1830 };
插入current.dts,由armbian自己生成dtb文件,和hdmi部分的phandle号冲突,报以下错误:
/tmp/tmp.mWkYh9rd2Q/current.dts:1792.56-1801.43: ERROR (explicit_phandles): /soc/bus@ff600000/mdio-multiplexer@4c000/mdio@0/ethernet-phy@3: duplicated phandle 0x13 (seen before at /soc/bus@ff600000/bus@34400/pinctrl@40/hdmitx_ddc)
diff.zip
@harrydou123
meson-sm1-x96-max-plus-ip1001m.dtb.zip
Download this file and unzip it, then overwrite the file with the same name in /boot/dtb/amlogic/meson-sm1-x96-max-plus-ip1001m.dtb and restart it.
Feedback the test results.
How can I get in touch with you. My box is also ip1001M, which can only use 100M rate. Please help to debug it. Thanks
48 - 0v
49 - 0v
50 - 2.53v
51 - 2.53v
53 - 2.53v
7 - 2.53v
8 - 0v
https://github.com/cm9vdA/build-linux/blob/master/boot/dts/amlogic/mainline/deprecated/meson-g12b-magic-cube-x1.dts
ethernet@ff3f0000 {
compatible = "amlogic, g12a-eth-dwmac", "snps,dwmac";
reg = <0x0 0xff3f0000 0x0 0x10000 0x0 0xff634540 0x0 0x8 0x0 0xff64c000 0x0 0xa0 0x0 0xffd01008 0x0 0x4>;
reg-names = "eth_base", "eth_cfg", "eth_pll", "eth_reset";
interrupts = <0x0 0x8 0x1>;
interrupt-names = "macirq";
status = "okay";
clocks = <0x13 0x38>;
clock-names = "ethclk81";
pll_val = <0x9c0040a 0x927e0000 0xac5f49e5>;
analog_val = <0x20200000 0xc000 0x23>;
pinctrl-names = "external_eth_pins";
pinctrl-0 = <0x29>;
mc_val = <0x1609>;
cali_val = <0x80000>;
internal_phy = <0x0>;
phandle = <0xb0>;