|
楼主 |
发表于 2024-3-29 01:33
|
显示全部楼层
我这设备换内存板子有接触不良的毛病已经放弃了,方法给你自己折腾吧😄
TL-WR802N V1版完整固件解决无线正常,LAN不能分配IP的问题及相关方法
====================================
硬件要求:
TL-802N_v1版,硬改8+32M或以上
固件:用户:root
密码:无
Openwrt/LEDE功能不说了吧,按需求自己添加功能
====================================
一, 解决思路:
增加wan口,改默认的lan模式改为wan模式,并设置物理接口
唯一的。(在已刷的固件上,进行修改不能起作用,所以只能编译固件来实现)
====================================
二、具体修改步骤
====================================
1, 修正编译固件的大小,根据自己flash大小去修改,默认是4M,修改为8M/16M,
文件路径:
target/linux/ar71xx/image/tiny-tp-link.mk
例如:
$(Device/tplink-8mlzma)
$(Device/tplink-16mlzma)
保存并退出
—————————————————————————
2, 使能WR802N路由器编译项(有的源码无需修改)
文件路径:
target/linux/ar71xx/config-4.14
将# CONFIG_ATH79_MACH_TL_WR802N-V1 is not set
改为CONFIG_ATH79_MACH_TL_WR802N-V1 =y
保存并退出
—————————————————————————
3, 发找到~/openwrt/target/linux/ar71xx/base-files/etc/board.d
在02_network改:
删掉:tl-wr802n-v1\
增加
tl-wr802n-v1)
ucidef_set_interface_wan ″eth0″
ucidef_set_interface_lan ″eth1″
—————————————————————————
4, ~/openwrt/package/base-files/files/etc/board.d
中的99-default_network文件修改wan与lan 口
ucidef_set_interface_lan 'eth0'
[ -d /sys/class/net/eth1 ]&& ucidef_set_interface_wan 'eth1'
这个修正
ucidef_set_interface_lan 'eth0' /* lan ‘eth1” */
[ -d /sys/class/net/eth1 ]&& ucidef_set_interface_wan 'eth1' /* 改为waN ‘eth0” */
把LAN和WAN互换
—————————————————————————
5, ~/openwrt/target/linux/ar71xx/files/arch/mips/ath79中的mach-tl-wr802n.c修正wan 和Lan的定义修正(这里尊重yuestar大神代码原型,以下代由他给提供的修正,把-后面的代删除,增加+以后的代码)
71-82
- /* LAN */
- ath79_switch_data.phy4_mii_en = 1;
- ath79_eth0_data.phy_if_mode =PHY_INTERFACE_MODE_MII;
- ath79_eth0_data.duplex = DUPLEX_FULL;
- ath79_eth0_data.speed = SPEED_100;
- ath79_eth0_data.phy_mask = BIT(4);
- ath79_init_mac(ath79_eth0_data.mac_addr, mac,1);
- ath79_register_eth(0);
-
- ath79_init_mac(tmpmac, mac, 0);
- ath79_register_wmac(ee, tmpmac);
—————————————————————————
71-89
+ /* LAN */
+ ath79_eth1_data.phy_if_mode =PHY_INTERFACE_MODE_GMII;
+ ath79_eth1_data.duplex = DUPLEX_FULL;
+ ath79_switch_data.phy_poll_mask |= BIT(4);
+ ath79_init_mac(ath79_eth1_data.mac_addr, mac,1);
+ ath79_register_eth(1);
+
+ /* WAN */
+ ath79_switch_data.phy4_mii_en = 1;
+ ath79_eth0_data.phy_if_mode =PHY_INTERFACE_MODE_MII;
+ ath79_eth0_data.duplex = DUPLEX_FULL;
+ ath79_eth0_data.speed = SPEED_100;
+ ath79_eth0_data.phy_mask = BIT(4);
+ ath79_init_mac(ath79_eth0_data.mac_addr, mac,1);
+ ath79_register_eth(0);
+
+ ath79_init_mac(tmpmac, mac, 0);
+ ath79_register_wmac(ee, tmpmac);
—————————————————————————
6, 以上修正完成了以后都要保存,然后再行按L大神的编译方法进行固件编译。
====================================
三、安装编译环境
首先装好 Ubuntu 64bit,推荐 Ubuntu 18LTS x64
命令行输入 sudo apt-get update ,然后输入 sudoapt-get -y install build-essential asciidoc binutils bzip2 gawk gettext gitlibncurses5-dev libz-dev patch python3.5 python2.7 unzip zlib1g-dev lib32gcc1libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-fullmsmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-devautoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3gperf wget
====================================
四、编译固件
使用 git clone https://github.com/coolsnowwolf/openwrt 命令下载好源代码
然后 cd openwrt 进入目录
./scripts/feedsupdate -a
./scripts/feedsinstall -a
makemenuconfig
make -j8download V=s 下载dl库(国内请尽量全局打倒美帝)
输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件。
—————————————————————————
====================================
|
|