简述

  • TP-LINK TL-WR740N是普联技术有限公司推出的SOHO无线路由器,支持IEEE 802.11b/g/n无线标准,最高传输速率150Mbps。采用CCA空闲频道检测技术,可自动避开信道干扰并捆绑空闲信道,有效提升无线信号稳定性与带宽利用率 。兼容802.11b/g标准,硬件采用AR9331芯片组,配备32MB RAM和4MB FLASH存储器,设有1个10/100Mbps WAN口及4个同规格LAN口 。支持WPS快速安全设置、WDS无线桥接及IP QoS带宽控制功。

硬件改动

  • 1.原装16MB内存改为64MB,亲测可用型号三星K4H511638N-LCCC是一颗32Mx16Bit DDR:
    • 更换DDR;
    • R59原来NC贴0R电阻;
  • 2.接通调试串口:
    • R173由NC贴0R电阻;
    • 主板背面TP17飞线到TP27,TP18飞行到TP28;
  • 3.更换16MB NorFlash:
    • 先烧录breed不死u-boot(下载方法见下文);
    • 焊接替换NorFlash;
      在这里插入图片描述
      在这里插入图片描述

刷uboot

breed下载链接
打开breed下载链接,选择有ar9331的bin文件,本例下载"breed-ar9331-wr710n_wr720n.bin" 和"breed-ar9331.bin"都可以使用
在这里插入图片描述

编程器烧录breed-ar9331.bin
在这里插入图片描述

将烧录完成的Norflash焊接到板子,连接好串口(串口设置:115200,8,11N)
在这里插入图片描述

原生软硬件启动日志:
在这里插入图片描述
修改硬件升级breed启动日志:
在这里插入图片描述
在这里插入图片描述

刷openwrt固件

  • 下载openwrt固件,没找到TL-WR740N对应的型号找个相近的先试试,估计这款路由器太老旧了。
    在这里插入图片描述
  • 路由器网线直连PC,浏览器输入192.168.1.1即可登录到Breed Web控制台。
    在这里插入图片描述
  • 固件更新->选择文件->上传->更新
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
固件是跑起来了,但貌似不能正常工作!!!
在这里插入图片描述
白折腾了。。。日后兴致来了再下载openwrt源码编译个固件试试!

openwrt源码编译固件(2026.02.03)

今天来了兴致继续用折腾。编译环境搭建:
ubuntu 控制台操作如下:

update更新

    sudo apt-get update

安装编译需要的组件:

	sudo apt-get install gcc 
    sudo apt-get install g++ 
    sudo apt-get install binutils 
    sudo apt-get install patch 
    sudo apt-get install bzip2 
    sudo apt-get install flex 
    sudo apt-get install bison 
    sudo apt-get install make 
    sudo apt-get install autoconf 
    sudo apt-get install gettext 
    sudo apt-get install texinfo 
    sudo apt-get install unzip 
    sudo apt-get install sharutils 
    sudo apt-get install subversion 
    sudo apt-get install libncurses5-dev 
    sudo apt-get install ncurses-term 
    sudo apt-get install zlib1g-dev 
    sudo apt-get install gawk
    sudo apt-get install asciidoc
    sudo apt-get install libz-dev
    sudo apt-get install libssl-dev
    sudo apt-get install ocaml-nox

下载固件

git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git branch -a # 查看远端分支
git checkout v2x.xx  # 切换到需要的分支

添加软件扩展包源
将feeds.conf.default修改为feeds.conf:
cp feeds.conf.default feeds.conf

更新扩展,安装扩展:
./scripts/feeds update -a
./scripts/feeds install -a

make defconfig	# 生成默认配置
make menuconfig # 根据板子配置

编译:
make # 不显示编译过程
make V=99 # 显示编译过程
make -j$(nproc) V=s # 多进程编译 , 输出显示过程

make是编译命令,V=99表示输出debug信息,V一定要大写,如果要让CPU全速编译,就加上 -j 参数,第一次编译最好不带-j参数。

编译完成后,固件生成目录:
在这里插入图片描述
make menuconfig
选择对应板型:
在这里插入图片描述

修改编译固件16M:
openwrt/target/linux/ath79/image/common-tp-link.mk
在这里插入图片描述

修改:openwrt/target/linux/ath79/image/tiny-tp-link.mk
在这里插入图片描述

修改flash分区表(否则启动kernel异常):
openwrt/target/linux/ath79/dts/ar9331_tplink_tl-wr740n-v5.dts

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

/**
#include "ar9331_tplink_tl-wr741nd-v4.dtsi"

/ {
	model = "TP-Link TL-WR740N v5";
	compatible = "tplink,tl-wr740n-v5", "qca,ar9331";
};
**/


// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "ar9331.dtsi"

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

/ {
	model = "TP-Link TL-WR740N v5";
	compatible = "tplink,tl-wr740n-v5", "qca,ar9331";

	aliases {
		led-boot = &led_system;
		led-failsafe = &led_system;
		led-running = &led_system;
		led-upgrade = &led_system;
		label-mac-device = &wmac;
	};

	keys {
		compatible = "gpio-keys";

		reset {
			label = "reset";
			linux,code = <KEY_RESTART>;
			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
			debounce-interval = <60>;
		};

		wps {
			label = "wps";
			linux,code = <KEY_WPS_BUTTON>;
			gpios = <&gpio 26 GPIO_ACTIVE_HIGH>;
			debounce-interval = <60>;
		};
	};

	leds {
		compatible = "gpio-leds";

		pinctrl-names = "default";
		pinctrl-0 = <&switch_led_disable_pins>;

		lan1 {
			label = "green:lan1";
			gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
		};

		lan2 {
			label = "green:lan2";
			gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
		};

		lan3 {
			label = "green:lan3";
			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
		};

		lan4 {
			label = "green:lan4";
			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
		};

		qss {
			label = "green:qss";
			gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
		};

		led_system: system {
			label = "green:system";
			gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
		};

		wan {
			function = LED_FUNCTION_WAN;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
		};

		wlan {
			function = LED_FUNCTION_WLAN;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "phy0tpt";
		};
	};
};

&spi {
	status = "okay";

	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <25000000>;

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

			uboot: partition@0 {
				label = "u-boot";
				reg = <0x000000 0x020000>;
				read-only;

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

					macaddr_uboot_1fc00: macaddr@1fc00 {
						compatible = "mac-base";
						reg = <0x1fc00 0x6>;
						#nvmem-cell-cells = <1>;
					};
				};
			};

			partition@20000 {
				compatible = "tplink,firmware";
				label = "firmware";
				reg = <0x020000 0x15d0000>;
			};

			partition@15f0000 {
				label = "art";
				reg = <0x15f0000 0x010000>;
				read-only;

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

					cal_art_1000: calibration@1000 {
						reg = <0x1000 0x440>;
					};
				};
			};
		};
	};
};

&eth0 {		/* WAN interface, initialized last as eth1 */
	status = "okay";

	nvmem-cells = <&macaddr_uboot_1fc00 1>;
	nvmem-cell-names = "mac-address";

	gmac-config {
		device = <&gmac>;

		switch-phy-addr-swap = <1>;
		switch-phy-swap = <1>;
	};
};

&eth1 {		/* LAN interface, initialized first as eth0 */
	status = "okay";

	nvmem-cells = <&macaddr_uboot_1fc00 0>;
	nvmem-cell-names = "mac-address";
};

&wmac {
	status = "okay";

	nvmem-cells = <&macaddr_uboot_1fc00 0>, <&cal_art_1000>;
	nvmem-cell-names = "mac-address", "calibration";
};


重新刷入编译固件,开机要等一段时间:ifconfig有输出后浏览器输入访问192.168.1.1即可访问浏览器页面。
在这里插入图片描述
在这里插入图片描述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐