TP-Link TL-WR841ND
这是一个802.11n路由器,拥有以下配置
- 2个可拆卸天线
- 4个100/10 交换口
- 1个100/10 wan口
- 4 MB Flash
注意:TL-WR841N与TL-WR841ND硬件除了天线以外完全一致。TL-WR841N天线不可拆卸。
注意:V5.4,v5.2 等皆算作v5。唯一区别仅在于出厂时的固件。
支持型号
硬件参数
CPU | 内存 | Flash | 网络接口 | USB | Serial | JTag |
---|---|---|---|---|---|---|
AP81@400MHz | 32MB | 4MB | 4×1 | No | Yes | N/A |
Installation
(有人写到)我只在路由器上试了Backfile(10.03),它工作的很好。OpenWRT既可以通过TP-Link的web界面安装(OEM安装)或者通过串口使用TFTP安装。
(另有人写到)10.03.1rc4有很多无线驱动的升级,并且比10.03更加稳定。PPPoE拨号貌似也能正常工作了。
(本页面译者写到) V7.2已经亲测可用,目前为止没有任何不稳定,由于不清楚是从哪个trunk版本起支持V7.2的,所以写的是2010/07/2上的snapshot对应的版本。
OEM easy installation
- (v5版本限定)既然10.03.1 rc版本看上去更加稳定了,我推荐使用 http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin 或者你也可以在这里下载不太稳定的版本 http://downloads.openwrt.org/backfire/10.03/ar71xx/openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin
- 登录到路由器的web界面,进入软件升级页,然后选择你下载的固件并上传。
- 坐等安装成功吧。成功之后就可以通过telnet访问192.168.1.1(telnet只有初次登陆可用,进去之后修改密码,之后只能用ssh)
TFTP install
注意!这种安装方式需要自己修改硬件,从而配置出一个TTL串口。同时还需要一个TFTP服务器。除非你有足够的软硬件经验或者极为渴望挑战新方法,否则不宜轻易尝试^ ^。
此方法多少借鉴了 https://forum.openwrt.org/viewtopic.php?id=24203 的方法,感谢dl3daz。
以下方法为U-boot命令,如果熟悉U-boot可自行处理。 - 下载 http://downloads.openwrt.org/backfire/10.03/ar71xx/openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin 到你的TFTP服务器。
- 将路由器WAN口接入你的网络环境。
- 接好串口,并按照下面“串口”章节获得串口访问。
- 现在我们需要配置路由和TFTP服务器的IP(这里叫做ROUTERIP和SERVERIP,实际使用时请替换成实际ip),在串口中敲入如下命令:
setenv ipaddr ROUTERIP setenv serverip SERVERIP printenv
- 再次检查printenv所输出的IP地址是否是你刚才设定的。现在我们可以使用如下命令通过TFTP启动了“tftpboot 0x80000000 openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin”:
ar7240> tftpboot 0x80000000 openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin Using eth0 device TFTP from server 192.168.32.253; our IP address is 192.168.32.246 Filename 'openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin'. Load address: 0x80000000 Loading: checksum bad ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ###################################################### done Bytes transferred = 3932160 (3c0000 hex)
- 记住最后一行的“3c0000”(可能因为固件大小不同而不同)。现在执行如下命令(记住将其中的3c0000替换成你所看到的数字)
ar7240> erase 0x9f020000 +0x3c0000 ... ar7240> cp.b 0x80000000 0x9f020000 0x3c0000 ar7240> bootm 0x9f020000
- 完成了,像现在OpenWRT将会启动,之后配置就可以按照正常步骤进行了。 U-Boot 1.1.4 (Apr 9 2009 - 12:29:57)
刷回原厂固件
- 从TP-Link官网下载原版固件(注意!!:下载固件版本中*没有*'boot'这个词,比如wr741nv1_en_3_9_18_up_boot(100104).bin就不行),(如果压缩过)解压文件,并重命名为你喜欢的短小精悍的名字,比如tplink.bin。
- 使用scp将固件传送至路由的/tmp上。
- ssh连接至路由,并敲下列命令:
mtd -r write /tmp/tplink.bin firmware
注意: 这只在 TP-Link WR841ND v5上测试过,尽管理论上可行,但我并不保证在v3或者v7上通用
串口
DIY一个串口在TL-WR841N(D)上并不难。你需要一个MAX323或者同级的逻辑电平转换器。针脚如下 RX - TX - GND - +5V (电源接口)
Serial port on a version 3.2 model | Serial port on a version 5 model | Serial port on a version 7.2 model |
---|---|---|
v5版本串口波特率是115200 8N1。 v3.2版本的U-boot在bootloader阶段波特率为9600,内核切换至115200波特率。
设置成功后,你如看到如下U-boot界面:
AP93 (ar7240) U-boot DRAM: sri #### TAP VALUE 1 = 9, 2 = 9 32 MB id read 0x100000ff flash size 4194304, sector count = 64 Flash: 4 MB Using default environment In: serial Out: serial Err: serial Net: ag7240_enet_initialize... No valid address in Flash. Using fixed address : cfg1 0xf cfg2 0x7014 eth0: 00:03:7f:09:0b:ad eth0 up No valid address in Flash. Using fixed address : cfg1 0xf cfg2 0x7214 eth1: 00:03:7f:09:0b:ad ATHRS26: resetting s26 ATHRS26: s26 reset done eth1 up eth0, eth1 Autobooting in 1 seconds
现在你有一秒钟时间敲入“tpl”(不包括引号),之后你就能进入U-boot了。
无线止于130Mbps? 解放至300Mbps
这可能违反当地法规
TL-WR841N v7.2测试无效
1. 用ssh/telnet链接至路由。
2. 进入/etc/config文件夹
cd /etc/config
3. 用vim编辑wireless文件。(vim都不会的你就别装openwrt了吧)
vi wireless
4. 在config 'wifi-device' 'radio0'下面添加
option 'noscan' '1'
5. option 'htmode' 的值应该被修改成HT40+ 或者 HT40-(原作者只测试了 HT40+)
option 'htmode' 'HT40+'
6. 保存并退出。
7. 重启无线(wifi up) 或者直接重启设备。
8. 享受你的300Mbps吧。
通过多余的QSS按钮来开关无线
在WR741ND的wiki上发现并复制过来的。同样能在WR841ND上工作。
(感谢obsy) QSS按钮开关无线 在/etc/hotplug.d/button/下船创建一个新文件取名为01onoff
vi /etc/hotplug.d/button/01onoff
复制如下内容:
#!/bin/sh [ "$BUTTON" = "BTN_1" ] && [ "$ACTION" = "pressed" ] && { SW=$(uci get wireless.@wifi-device[0].disabled) [ $SW == '0' ] && uci set wireless.@wifi-device[0].disabled=1 [ $SW == '0' ] || uci set wireless.@wifi-device[0].disabled=0 wifi }
保存并退出。
基础配置
1.) Backfire(10.03)的交换模块驱动有问题,会导致WAN口崩溃。交换模块驱动在10.03.1中被重写了,所以不会有问题。在10.03版本可以通过修改mtu来防止WAN口崩溃:
uci set network.wan.mtu=1400 uci commit network
当然也可通过修改配置来永久生效:
vi /etc/config/network
在“config interface wan”区域中增加
option mtu 1400 |
硬件
版本 | v3 | v5 | v7.1 | v7.2 |
---|---|---|---|---|
构架: | MIPS | MIPS | MIPS | MIPS |
厂商: | Atheros | Atheros | Atheros | Atheros |
Bootloader: | U-Boot | U-Boot | U-Boot | U-Boot |
SoC: | ? | ? | ? | AR7241-AH1A |
CPU频率: | 400 Mhz | 400 Mhz | 400 Mhz | 400 Mhz |
Flash芯片: | ? | ? | ? | cFeon F32-100HIP (?) |
Flash容量: | 4 MiB | 4 MiB | 4 MiB | 4 MiB |
RAM芯片: | ? | ? | ? | Zentel A3S56D40ETP-G5 |
RAM容量: | 32 MiB | 32 MiB | 32 MiB | 32 MiB |
无线: | ? | ? | ? | Atheros AR9287-BL1A 2.4ghz 802.11bgn |
有限: | ? | ? | ? | ? |
USB: | ? | Unpopulated | ? | ? |
串口: | Yes | Yes | Yes | Yes |
JTAG: | ? | ? | ? | ? |
USB1.1口
在WR841n_v5.1上测试成功
主板全貌:
锡焊 (有红线的表示D+)。R185 和 R183 可以被短接,之后D+/D-就会出现的J1上。
为了让USB正常工作,需要修改下列文件:(当然,前提是你得编译内核和工具链)
1. 修改 target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841nd.c
在#include "dev-leds-gpio.h"后增加一行 #include "dev-usb.h" 在ar71xx_add_device_mdio(0x0)前增加一行ar71xx_add_device_usb();
2. 修改 target/linux/ar71xx/files/arch/mips/ar71xx/setup.c
在ar71xx_detect_mem_size();前增加一行ar71xx_pll_wr(0x08, 0x00001030);
3. 修改 target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig:
config AR71XX_MACH_TL_WR841N_V1 bool "TP-LINK TL-WR841N v1 support" select AR71XX_DEV_M25P80 select AR71XX_DEV_PB42_PCI if PCI select AR71XX_DEV_DSA select AR71XX_DEV_GPIO_BUTTONS select AR71XX_DEV_LEDS_GPIO select AR71XX_DEV_USB default n
可以使用L7805和470uF 100uF 电容来从电源处获得5V供电。
注意: 使用v5.1版本的时候,WR741N的某些文件需要做上述修改,而不是WR841N_N1的对应文件(Kconfig, mach-tl-wr741nd.c)。