设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย

 找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 455|回复: 17

中兴E8820V2比较完美的DTS,以及个人编译的固件分享。

[复制链接]
发表于 2025-6-22 22:20 | 显示全部楼层 |阅读模式
本帖最后由 ROOTQb 于 2025-7-8 00:45 编辑

为啥要在2025年的现在搞这个7621,16m闪存,64m内存的玩意呢,因为有它。家里nas虚拟机开的旁路由业已实现一切所需,正好有一个8年前电信宽带送的E8820V2,就拿出来折腾了,不准备硬改,因为可预见的将来不会再搞这类硬路由硬改,所以硬改一套设备要是买来就用一次,还不如直接来个rax3000m或者360T7,还不用如此艰苦卓绝的适配DTS。


总而言之,经历了长达一年断断续续的研究和编译,终于搞出来一个比较完美的DTS了,但是主要适配21.02.7版本,稳定版更好在国内源装软件包,snapshot的软件包后续再想装真的很烦(也因此没有去折腾LEDE,他的配置很不一样,尤其是交换机,要调蛮多东西的),最后用了immortalwrt,目前稍作修改搞了一个能适配24.10.1版本编译成功的DTS,但是23和24版本无论如何都会oom,除非深度极限精简,不然不硬改内存大概率搞不了23和24版本了。
前期准备工作参考了中兴E8820V2(电信天翼宽带类似新路由3歌华链)-拆机及OpenWrt固件-OPENWRT专版-恩山无线论坛,来自yumeimm,github上的siwind,一直有在增补E8820V2的DTS,但是有些小问题,最新6.6内核版本也会oom,此外kwrt也就是openwrt.ai中也有E8820V2,但是应该也是自动编译的,目前没有不硬改内存能用的版本。
注意mac和eeprom中无线参数的复制。BREED没有适配E8820V2,而且闭源,需要HEX修改,不过已经有人分享了改好的。
以下是DTS

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7621.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>

/ {
        compatible = "zte,e8820v2", "mediatek,mt7621-soc";
        model = "ZTE E8820V2";

        aliases {
                led-boot = &led_sys;
                led-failsafe = &led_sys;
                led-running = &led_sys;
                led-upgrade = &led_sys;
                label-mac-device = &gmac0;
        };

        chosen {
                bootargs = "console=ttyS0,115200 rootfstype=squashfs,jffs2"; // 定义了TTL,没有这个TTL不能用,yumeimm的固件ttl乱码就是缺这个,此外注意不要添加ethphy0中断
        };

        memory@0 {
                device_type = "memory";
                reg = <0x0 0x4000000>;
        };

        reserved-memory {
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
               
                pcie_mem: pcie-mem@60000000 {
                        compatible = "shared-dma-pool";
                        reg = <0x60000000 0x800000>;
                        no-map;
                };
        };

        leds {
                compatible = "gpio-leds";

                led_sys: sys {
                        label = "white:system";
                        gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
                };

                power {
                        label = "white:power";
                        gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
                };
        };

        keys {
                compatible = "gpio-keys";

                reset {
                        label = "reset";
                        gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RESTART>;
                };

                wps {
                        label = "wps";
                        gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WPS_BUTTON>;
                };
        };
};

&spi0 {
        status = "okay";

        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <25000000>;
                broken-flash-reset;
                m25p,fast-read;

                partitions {
                        compatible = "fixed-partitions";
                        #address-cells = <1>;
                        #size-cells = <1>;

                        partition@0 {
                                label = "u-boot";
                                reg = <0x0 0x30000>;
                                read-only;
                        };

                        partition@30000 {
                                label = "u-boot-env";
                                reg = <0x30000 0x10000>;
                                read-only;
                        };

                        factory: partition@40000 {
                                label = "factory";
                                reg = <0x40000 0x10000>;
                                read-only;
                        };

                        partition@50000 {
                                compatible = "openwrt,uimage", "denx,uimage";
                                label = "firmware";
                                reg = <0x50000 0xfb0000>;
                        };
                };
        };
};

&pcie {
        status = "okay";
        ranges = <0x02000000 0 0x60000000 0x60000000 0 0x1000000>,
                 <0x01000000 0 0x00000000 0x1e160000 0 0x00010000>;
        memory-region = <&pcie_mem>;
        reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>,
                      <&gpio 4 GPIO_ACTIVE_LOW>;
};

&gmac1 {
        status = "disabled";  // mt7621有2个gmac但是E8820V2有一个未连接,不确定是否可以通过硬改启用
};

&switch0 {
        mediatek,mcm;
        mediatek,portmap = "llllw"; // 4个LAN + 1个WAN
        reset-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
        mediatek,init-delay-ms = <100>;  // 增加100ms初始化延迟
        
        ports {
                port@0 {
                        status = "okay";
                        label = "lan1";
                        phy-mode = "auto";
                };

                port@1 {
                        status = "okay";
                        label = "lan2";
                        phy-mode = "auto";
                };

                port@2 {
                        status = "okay";
                        label = "lan3";
                        phy-mode = "auto";
                };

                port@3 {
                        status = "okay";
                        label = "lan4";
                        phy-mode = "auto";
                };

                port@4 {
                        status = "okay";
                        label = "wan";
                        phy-mode = "auto";
                };

                cpu_port: port@6 {
                        status = "okay";
                        label = "cpu";
                        ethernet = <&gmac0>;
                        phy-mode = "rgmii"; // 固定CPU连接参数,这个交换机是内置的,直连的,没有自动协商,网口再多总带宽也就1g
                        fixed-link {
                                speed = <1000>;
                                full-duplex;
                        };
                };
        };
};

&gmac0 {
        status = "okay";
        label = "eth0";
        phy-mode = "rgmii";
        mtd-mac-address = <&factory 0xe000>;
        mtd-mac-address-increment = <1>;
};

&pcie0 {
        wifi@0,0 {
                compatible = "pci14c3,7603";
                reg = <0x0000 0 0 0 0>;
                mediatek,mtd-eeprom = <&factory 0x0>;
                ieee80211-freq-limit = <2400000 2500000>;
                led {
                        led-active-low;
                };
        };
};

&pcie1 {
        wifi@0,0 {
                compatible = "pci14c3,7662";
                reg = <0x0000 0 0 0 0>;
                mediatek,mtd-eeprom = <&factory 0x8000>;
                ieee80211-freq-limit = <5000000 6000000>;
                led {
                        led-sources = <2>;
                        led-active-low;
                };
        };
};

&state_default {
        gpio {
                groups = "i2c", "uart2", "uart3", "wdt";
                function = "gpio";
        };
};


仍需要在/target/linux/ramips/image中修改mt7621.mk
define Device/zte_e8820v2
  $(Device/dsa-migration)
  $(Device/uimage-lzma-loader)
  IMAGE_SIZE := 16064k
  DEVICE_VENDOR := ZTE
  DEVICE_MODEL := E8820V2
  DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb2 \
          kmod-usb-ledtrig-usbport
endef
TARGET_DEVICES += zte_e8820v2
可以在里面加上kmod-usb3或者编译的时候自己选上,虽然是2.0的口,但是usb打印机需要

在/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds中可以添加led参数,主要控制电源和系统灯,至于无线网络的两个灯,没找到对应的gpio,交给#include <dt-bindings/leds/common.h>就好
zte,e8820v2)
    ucidef_set_led_netdev "sys" "SYS_LED" "white:system" "eth0" "tx rx"
    ucidef_set_led_timer "power" "POWER_LED" "white:power" "100" "8000"
        ;;
至于编译好的immortalwrt21.02.7,里面加入了桥接依赖,用来无线连接主路由,还有usb打印机和kms,基本没加别的了,反正稳定版,后面再装也不难。
游客,如果您要查看本帖隐藏内容请回复



2025-07-01更新,之前没发现,E8820V2虽然只有一个usb2.0接口,但MT7621是内置一个3.0和一个2.0控制器的,不知道中兴是咋搞的,这个usb2.0的接口实际上似乎用了3.0向下兼容,要安装kmod-usb3,不然接口不能用
之前以为只是打印机不能用是错误的理解,不装kmod-usb3是完全不能用usb接口。
MT7621AT,双核四线程,用breed超频大部分应该都能稳1100mhz,可以冲一下1200mhz,目前没发现时间异常,也许是老版本才会有的问题
需要注意21.02.7是5.4内核,mt76开源驱动版本也没有完全支持WPA3,注意手动调整为WPA2并关闭管理帧保护,如果强开wpa3有几率让mt7612en掉驱动

最近试了一下用usb外接扩展,编译去掉了网络打印机,增加了猫猫的支持,用外接usb扩展根目录,加上手动分配swap区,整体流畅度跃升,甚至可以稳定跑猫,不过因为实际需求只是加速一下github,所以转发速度没有做测试。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
发表于 2025-6-23 06:33 | 显示全部楼层
谢楼主分享。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-23 08:03 | 显示全部楼层
16+64还是有点小了,动动手,改到32+128还是比较容易的,256的内存是否支持要看cpu

点评

主要是breed的问题,硬改后相对应的需要调整参数,256内存适配的breed没看到人分享,breed又已经在22年停更,又闭源,各种HEX修改分享的都是成品,没看到分享位置的,最终还是得靠已知路由器的区别,一个个对比找哪  详情 回复 发表于 2025-6-23 20:51
这7621支持1G的内存  详情 回复 发表于 2025-6-23 18:03
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-23 08:06 | 显示全部楼层
谢谢分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-23 18:00 来自手机 | 显示全部楼层
情怀了,,,
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-23 18:03 | 显示全部楼层
ca972008 发表于 2025-6-23 08:03
16+64还是有点小了,动动手,改到32+128还是比较容易的,256的内存是否支持要看cpu ...

这7621支持1G的内存

点评

老兄,是bit的单位,1G是128M,其实应该是支持256M内存,  详情 回复 发表于 2025-6-23 23:29
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-23 20:51 来自手机 | 显示全部楼层
ca972008 发表于 2025-6-23 08:03
16+64还是有点小了,动动手,改到32+128还是比较容易的,256的内存是否支持要看cpu ...

主要是breed的问题,硬改后相对应的需要调整参数,256内存适配的breed没看到人分享,breed又已经在22年停更,又闭源,各种HEX修改分享的都是成品,没看到分享位置的,最终还是得靠已知路由器的区别,一个个对比找哪些位置对应什么参数,要付出的努力太大了,配齐一套硬改工具,又足够直接买个更容易刷机的产品了,2025年了,确实没有动力搞e8820v2的硬改了。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-23 23:29 | 显示全部楼层
q865945646 发表于 2025-6-23 18:03
这7621支持1G的内存

老兄,是bit的单位,1G是128M,其实应该是支持256M内存,

点评

有可能是的,问题是厂家不一定设计全回路,比如有的需要补电阻,电容,芯片支持和实际支持可能是不一样的。查了下参数,这机器居然是16+256的,那换个32M的闪存还是比较简单的,有手就行。内存还是算了,新手弄不好  详情 回复 发表于 2025-6-24 07:56
我说的就是1GB 不是1Gb  发表于 2025-6-23 23:58
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-24 07:56 | 显示全部楼层
ca972008 发表于 2025-6-23 23:29
老兄,是bit的单位,1G是128M,其实应该是支持256M内存,

有可能是的,问题是厂家不一定设计全回路,比如有的需要补电阻,电容,芯片支持和实际支持可能是不一样的。查了下参数,这机器居然是16+256的,那换个32M的闪存还是比较简单的,有手就行。内存还是算了,新手弄不好连板子都要报废
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-24 09:47 | 显示全部楼层
没找到 对应的gpio
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-28 17:26 | 显示全部楼层
下载看看
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-6-30 10:29 | 显示全部楼层
用来无线连接主路由,还有usb打印机和kms
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-7-1 06:43 | 显示全部楼层
辛苦,感谢分享
RE: 中兴E8820V2比较完美的DTS,以及个人编译的固件分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-7-6 01:11 | 显示全部楼层
666

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-7-10 10:29

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表