This translation is older than the original page and might be outdated. See what has changed.

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。唯一区别仅在于出厂时的固件。

支持型号

版本/型号 序列号 OpenWrt版本支持 与型号相关的注意点
v3 - 10.03 Report
v5 - 10.03 Report
v5 - 10.03.1-rc4 工作的很好
v5.x - Trunk r24535 trunk版本工作得很好
v7.1 - Trunk r23134 飞碟外形,trunk版本支持
v7.2 - Trunk r27340 飞碟外形,trunk版本支持,但wifi led不工作

硬件参数

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对应的版本。

- (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)

注意!这种安装方式需要自己修改硬件,从而配置出一个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了。

这可能违反当地法规

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吧。

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: ? ? ? ?

在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)。

如何自己编译固件

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2018/06/06 20:08
  • by tmomas