• FIXME 本页面的主要依据是 WNDR3700 2012/08/05 05:43 的版本,基本上覆盖了刷机的要领。个人能力有限,如有异议,欢迎及时指出 --- smallerxie 2012/08/07 19:00
  • FIXME 主要段落更新至 WNDR3700 2016/04/26 21:47 版本 --- levi.g 2017/05/31 19:00

网件 WNDR3700 和 WNDR37AV

下表列出了网件 WNDR3700 的多个不同版本。

版本 备注 链接
v1 基于 Atheros ar71xx 平台。也作为 WNDR37AV-100PES, WNDR3700-100PES 销售。
v2 基于 Atheros ar71xx 平台。盒边写明 WNDR3700v2, 也作为 WNDRMAC-100PES, WNDR3700-100PRS 销售。
v3 基于一颗 Broadcom SoC
v4 与 v1 和 v2 类似,基于 Atheros 平台, NAND Flash, PCB 和 WNDR4300 相同, 但仅有 2T2R 。盒边标签上可能有 WNDR3700-100PES (像一些 v1 型号一样)。 论坛帖子
v5 基于一颗 MediaTek SoC。在版本 r49247 提供支持。天线工作不可靠。此版本包装上可能也标记的 WNDR3700-100PES 。 论坛帖子.
WNDR37AV 网件公司所销售的很多本系列路由器的包装盒上都被标记为 WNDR37AV 。但这仅仅是出于市场因素考虑,其硬件是完全相同的(很多用户甚至发现标着“WNDR37AV”的包装盒内部其实是“WNDR3700”或者“WNDR3700v2”的路由器)。 OEM 设备页, 论坛帖子
版本 CPU 内存 闪存 网络 无线 USB Serial JTag Wiki FCC
v1 Atheros AR7161 rev 2 680 MHz 64MiB 8MiB 1 WAN + 4x LAN (GBit) AR9220 [an 2×2:2] + AR9223 [bgn 2×2:2] Yes Yes Yes here here
v2 Atheros AR7161 rev 2 680 MHz 64MiB 16MiB 1 WAN + 4x LAN (GBit) AR9220 [an 2×2:2] + AR9223 [bgn 2×2:2] Yes Yes Yes here here
v3 Broadcom BCM4718A1 480 MHz 64MiB 8MiB 1 WAN + 4x LAN (GBit) BCM4331 [an 2×2:2] + BCM4718A1 [bgn 2×2:2] Yes ? ? here here
v4 Atheros AR9344 560MHz 128MiB 128MiB NAND 1 WAN + 4x LAN (GBit) AR9582 [an 2×2:2] + AR9344 [bgn 2×2:2] Yes Yes Yes here here
v5 MediaTek MT7621ST 880 MHz 128MiB 16MiB 1 WAN + 4x LAN (GBit) MT7612EN [an 2×2:2] + MT7603EN [bgn 2×2:2] Yes Yes ? here here
版本 从非 OpenWrt 固件烧写 升级已有的 OpenWrt 固件
v1 (北美) 15.05.1 Factory image 15.05.1 Upgrade image
v1 (它处) 15.05.1 Factory image 15.05.1 Upgrade image
v2 15.05.1 Factory image 15.05.1 Upgrade image
v3 15.05.1 Factory image Use factory image and backup settings.
v4 15.05.1 Factory image 15.05.1 Upgrade image

要制作定制固件,参见此页

FIXME 本节来自 WNDR3700 smallerxie 2012/08/07 19:00 翻译的 2012/08/05 05:43 版本 --- levi.g 2017/05/31 19:00

版本号 发行日期 S/N 支持的OpenWrt 版本 备注
v1 Backfire 或 WNDR37AV-100PES, WNDR3700-100PES
v2 2011-01 Backfire 10.03.1 包装和侧面标签为 WNDR3700v2,或 WNDRMAC-100PES,WNDR3700-100prs
- 2011-03 Backfire 10.03.1 WNDR3800 是实际上的后继型号
v3 2011-09? ? WNDR3700v3 基于Broadcom芯片, 因此 完全不同于v1或者v2的架构

在安装OpenWrt之后,如果你想知道路由器的版本,可以运行

dmesg | grep m25p80

然后看一下硬件配置 (ver1 是 8 MB , ver2 是 16 MB).

无法通过查看修订编号(Revision Number)来区分路由器的版本,因为这毫无规律。甚至于不同版本的路由器会在包装盒侧面具有相同的EAN条码。唯一能够通过包装盒来区分版本的办法是查看侧面的印刷内容,在“Package Contents”的下方,如果是v2版,会写着“N600 Wireless Dual Band Gigabit Router (WNDR3700v2)”, 而v1版只会简单写着WNDR3700

注:目前中国大陆的行货以带有100PRS后缀的居多。根据网件官网客服的解释,NETGEAR WNDR3700-100PRS 10周年纪念版为近期NETGEAR市场部门与部分网站合作推出的十周年推广活动,系WNDR3700v2版本,其中-100RPS为订货号,表示中文包装,因此100PRS后缀并不代表硬件有差别。 --- Yuchen Xie 2012/08/06 16:00

请注意: 传说某一批v1版本的路由器存在2.4GHz无线会突然丢失的问题,具体是指包装盒上标记 -01R14 或者 -01R1的一批。也有人说 -01R21 或者 -02R01 不存在这个问题,可以稳定工作。而也有人说根据“Board Verion”查看,v4版本也值得信赖。仔细看一下图片,至少可以发现3处都涉及“版本号”。这个问题具体参见http://spreadsheets.google.com/pub?key=0AjNDNODfzgytdEJvZ0N0SkFLejFJZzBHcnFaaUg4OGc&hl=en&output=html.

如何将固件烧写到设备?

请查看 →安装OpenWrt(通用) 并在此阅读有关 WNDR3700 的特殊之处。

FIXME 下面的列表和推荐来自 WNDR3700 smallerxie 2012/08/07 19:00 翻译的 2012/08/05 05:43 版本 --- levi.g 2017/05/31 19:00

  • 硬件版本为v1的这款路由器在Backfire 10.03及以前就被支持,因此不需要手工编译OpenWrt最简单的办法是下载编译好的 稳定镜像文件, 请查找“wndr3700 factory”(推荐SquashFS):
    • openwrt-ar71xx-wndr3700-squashfs-factory.img 06-Apr-2010 2424965
    • openwrt-ar71xx-wndr3700-jffs2-factory.img 06-Apr-2010 3211397
  • v2版在Backfire 10.03.1(发布于2011-12-21)后被支持:
  • v3版目前还不被OpenWrt支持.
  • 也可以选择Trunk版本的编译好的镜像(测试版): http://downloads.openwrt.org/snapshots/trunk/ar71xx/.
  • 你可以编译自己的固件, 可以看这里的 HowTo:build.wndr3700.
  • WNDR3700WNDR3700v2有不同的镜像(因为固件要进行不同的标记)。WNDR3700v2会拒绝WNDR3700的镜像。v2版的镜像从 Backfire 10.03.1-RC5 之后开始发布.

:!: 推荐 SquashFS 版!这里是两个版本的区别:filesystems。如果感兴趣,你可以从这里了解 img 和 bin 格式的区别: .

OEM 简易刷机

在原生 WNDR3700 路由器固件的 GUI 界面中上传 OpenWrt 的固件镜像即可。记住要使用 factory.img 镜像。非北美的用户可能会收到一个关于“OpenWrt总是认为路由器处于北美地区”的警告。但是无须担心,忽略即可。 Netgear WNDR3700 - OpenWrt 新用户

使用 TFTP 进行 OEM 安装(推荐)

上电后,按住路由器底面的“System Restore”键,直到电源灯闪烁绿色。然后按使用 TFTP 安装 OpenWrt中的描述,上传 .img 固件文件(见“Bootloader contains TFTP server”章节)。然而要注意,路由器不会接受过长的文件名!简单命名为 firmware.img 是可以的。上传完成后,电源灯熄灭,烧写过程开始,完成后路由器会重启,电源灯最终稳定保持绿色(开始几次稳定在橙黄色)。

使用串口终端和 TFTP 进行 OEM 安装
  • 使用串口终端连接设备(also accounts for USB Serial Console
  • 按下任意键打断 U-Boot
  • 你可能需要执行 protect off all,以使能 Flash 写入
  • 在 U-Boot 提示符下输入 fsload 命令
  • 在 192.168.1.1 主机上已有 TFTP 服务
  • 现在开始 TFTP 准备好的 image 吧
    • 对于 V1 版本: openwrt-ar71xx-generic-wndr3700-squashfs-factory.img
    • 对于 V2 版本: openwrt-ar71xx-generic-wndr3700v2-squashfs-factory.img
tftp 192.168.1.1
mode binary
put openwrt-ar71xx-generic-wndr3700XXX-squashfs-factory.img
quit

请查看→ 系统升级

请查看→ 基本设置.

FIXME 本节来自 WNDR3700 smallerxie 2012/08/07 19:00 翻译的 2012/08/05 05:43 版本 --- levi.g 2017/05/31 19:00

至少 Backfire 10.03 的镜像 (openwrt-ar71xx-wndr3700-squashfs-factory.img 06-Apr-2010 2424965) 默认没有开启无线功能,这是由于缺少无线芯片所需的某些内核模块,但这很容易修复。用SSH登陆到你的路由器(你可能首先需要使用Telnet连接到路由器并设置一个密码,请参考 首次登陆 ),然后运行以下指令(假设路由器已经有Internet的连接):

# opkg update
# opkg install kmod-ath9k wpad-mini

完成后重启路由器即可。

除通用 OpenWrt 固件发布版,社区上基于此发布管理着不同的定制版本。

OpenWrt 用户论坛可以找到这些声明和更新

一般,这些版本意图扩展功能、优化性能,以及为最终用户提供良好的预设选项。

警告:因定制版大多基于主干(前沿)分支,故更可能有缺陷或倒退。

为定位,一些成员也发布基于稳定分支的定制版本,这减少了潜在的回退,也提供了定制的优势(见下方 hnyman 的版本)。

针对 WNDR3700 ,这里是相对维护期较长,并且更新更频繁的版本(至 2015 年 7 月):

接口

缺省网络配置如下:

Interface Name Description Default configuration
br-lan LAN & WiFi 192.168.1.1/24
eth0 LAN ports (1 to 4) None
eth1 WAN port DHCP
wlan0 WiFi Disabled
wlan1 WiFi Disabled

端口交换(VLAN)

:!: 看上去,内部交换有点问题。在各种笔记本、系统上,在很多 AP 上都有发现。问题现象是有时一个 WIFI 客户端会断路由,会导致这个 WIFI 客户端断网。我的建议是,在 LUCI 界面的 Network → Switch 中不选中“learning and aging”。即便可以方便地把设备当做 HUB 来使用。见 https://dev.openwrt.org/ticket/13612

编号 0~3 是设备外面标记的端口 4~1 ,5 是内部连接到路由的端口。别被误导了:设备外部 端口1 是内部 VLAN 3 。vlan0 = eth0.0, vlan1 = eth0.1 等等。

端口 交换口
CPU (eth0) 5
No port 4
LAN 1 3
LAN 2 2
LAN 3 1
LAN 4 0

WAN 口是个千兆口。任一 VLAN 都可以配置成 LANWAN 下工作。

要在 WAN 口(eth1)上创建 VLANx ,声明一个名为 eth1.x 的接口。 如果情况需要,它可以后续桥接到一个交换口。

对于 LAN 接口,要做两个操作:

  • 声明 eth0.x 接口
  • 为每个交换口定义 switch_vlan 配置

VLAN 定义好后,VLAN0 就不能用作 eth0 了。所以默认路由设置要改,否则交换口的通信都会停止,必须硬重启。

举例如下:

WAN 口配置了 VLAN6 和 VLAN4 。VLAN6 开了 DHCP 。VLAN4 桥接到一个交换口。 LAN 口 1~3 分配给缺省 VLAN1(VLAN0 某种原因用不了)。 LAN 口 4 分配给 VLAN4 并桥接到 WAN

这样,所有通向交换口 4 的流量也会发给 WLAN 的 VLAN4 。Switch port numbering is other way around from physical ports.

config interface lan
  option ifname eth0.1
  option type bridge
  option proto  static
  option ipaddr 192.168.1.1
  option netmask  255.255.255.0

config interface wan
  option ifname eth1.6
  option proto  dhcp
  
config interface vlan4
  option type   bridge
  option ifname "eth0.4 eth1.4"
  option proto  static
  option ipaddr 192.168.20.1
  option netmask  255.255.255.0
  option defaultroute 0

config switch
  option name rtl8366s
  option reset  1
  option enable_vlan 1
  option blinkrate 2

config switch_vlan
  option device rtl8366s
  option vlan   0
  option ports  "5*"

config switch_vlan
  option device rtl8366s
  option vlan   1
  option ports  "1 2 3 5t"

config switch_vlan
  option device rtl8366s
  option vlan   4
  option ports  "0 5t"

注: Attitude Adjustment 12.09 版本的 VLAN 交换设置有缺陷,你得像这样先禁用 VLAN 再打开它:

# swconfig dev rtl8366s vlan 1 set ports '0 1 2 3t 5'
# swconfig dev rtl8366s vlan 1 set ports '0 1 2 3t 5t'

注: 在 Backfire 10.03.1-rc4 Luci-interface 中交换口显示不对,除非你把芯片名加到了 config switch 配置行里。比如 config switch rtl8366s。加了以后,Luci 才能在 Network/Switch 页中正确显示 VLAN 。(参考:https://dev.openwrt.org/ticket/7830

交换机 LED 配置

WNDR3700的交换机支持下面2个LED组:

  • Group 1: 交换机所有端口上的绿色LED
  • Group 2: 交换机所有端口上的橙色LED

每一组都可以被配置为以下16种模式之一:

  • 模式 0: LED熄灭
  • 模式 1: 冲突/全双工指示:检测到冲突时将闪烁,全双工模式下点亮,半双工模式下熄灭。
  • 模式 2: 链路/活动指示:链路连接时点亮,链路活动时(相应端口有数据收发)闪烁。
  • 模式 3: 1000Mb/s网速指示:在1000Mb/s时点亮。
  • 模式 4: 100Mb/s网速指示:在100Mb/s时点亮。
  • 模式 5: 10Mb/s网速指示:在10Mb/s时点亮。
  • 模式 6: 1000Mb/s网速/活动指示:在1000Mb/s时点亮,相应端口有数据收发时将闪烁。
  • 模式 7: 100Mb/s网速/活动指示:在100Mb/s时点亮,相应端口有数据收发时将闪烁。
  • 模式 8: 10Mb/s网速/活动指示:在10Mb/s时点亮,相应端口有数据收发时将闪烁。
  • 模式 9: 10/100Mb/s网速/活动指示:在10/100Mb/s时点亮,相应端口有数据收发时将闪烁。
  • 模式 10: 光纤链路指示:光线链路时点亮。
  • 模式 11: 出错指示:错误时点亮。
  • 模式 12: 链路/活动指示:链路连接时点亮,相应端口有数据发送时闪烁。
  • 模式 13: 链路/活动指示:链路连接时点亮,相应端口有数据接收时闪烁。
  • 模式 14: 主链路(Link on Master)指示:Link Master建立时点亮。
  • 模式 15: LED状态将取自单独的寄存器。

一个简单的配置是:橘色LED指示10/100 Mb/s连接,绿色指示1000 Mb/s连接,且在链路活动时闪烁:

swconfig dev rtl8366s port 1 set led 6
swconfig dev rtl8366s port 2 set led 9

(请注意:swconfig port实际上是led组编号,最后一个数字是预设置的模式。)

你还可以通过这些值来控制LED闪烁的速率: 0 = 43ms, 1 = 84ms, 2 = 120ms, 3 = 170ms, 4 = 340ms, 5 = 670ms.

swconfig dev rtl8366s set blinkrate 2

请注意: 被编译到Backfire 10.03.1-rc4 (或更早版本)中的LED设置和路由器底部的说明不相符。为了使LED状态和标签一致,(绿色LED指示1000Mb/s),可以对port1使用模式6,对port2使用模式9,对port5使用模式2。在后来的trunk和Backfire版本中均已修复这一情况。你可以使用swconfig命令行工具或者直接编辑文件'/etc/config/network'请参考:https://dev.openwrt.org/ticket/8103

熄灭所有 LED

将下面内容加入 rc.local

for i in /sys/class/leds/* ; do echo 0 > "$i"/brightness; done
for i in 0 1 2 3 4; do swconfig dev switch0 port $i set led 0; done

在 Backfire 中激活USB LED

安装软件包 'kmod-leds-wndr3700-usb'.

向 /etc/config/system 增加USB LED 配置入口(你可以手动编辑文件或者使用Luci界面的“/System/LED_Configuration”配置页面)

config 'led'
  option 'name' 'USB LED'
  option 'sysfs' 'wndr3700:green:usb'
  option 'default' '0'

但是到此我们还只能给USB LED附加一个默认的状态,LED并不会自动点亮。你还需要为热插拔设置创建一个入口:

应该增加一个入口 '/etc/hotplug.d/usb/10-usb',然后你的USB LED就可以工作了。不要有其他幻想(比如磁盘活动时将闪烁),但是这可以实现USB磁盘插入时点亮,卸载时熄灭。

文件 /etc/hotplug.d/usb/10-usb 的代码:

#!/bin/sh
# Copyright (C) 2009 OpenWrt.org
case "$ACTION" in
    add)
        # update LEDs
        echo "255" >/sys/devices/platform/wndr3700-led-usb/leds/wndr3700:green:usb/brightness
        ;;
    remove)
        # update LEDs
        echo "0" >/sys/devices/platform/wndr3700-led-usb/leds/wndr3700:green:usb/brightness
        ;;
esac

LED现在应可以随USB设备的插入/卸载而变化。

注意:请参考原网页: https://forum.openwrt.org/viewtopic.php?pid=105502#p105502

监视按钮动作

WNDR3700 当前的按钮定义(r25360)在 Backfire 和 trunk 版本中有不同名称:

Reset WPS WiFi
Backfire BTN_0 BTN_1 BTN_2
Trunk reset wps BTN_2

激活按钮

WiFi 按钮

该按钮已经在 wifitoggle 软件包中自动配置了。只需要在 '/sbin/wifi' 脚本中创建按钮的hotplug事件。

  • 如果至少一个无线开启,按钮将关闭WiFi;
  • 如果两个无线均已关闭,按钮将将根据normal wireless config中的设置开启WiFi。

安装 wifitoggle 和设置的步骤如下:

opkg update
opkg install wifitoggle
uci set wifitoggle.@wifitoggle[0].button=BTN_2
uci set wifitoggle.@wifitoggle[0].timer=0
uci commit wifitoggle
WPS 按钮

There is support for the WPS button removing the wpad-mini package and installing the full version of wpad & hostapd-utils packages.

Here is a central openwrt wps howto: wps_options

If you have a WPS enabled network device (like a modern USB dongle), you can negotiate joining the routers wireless network without manually entering SSID & passkey. You just initiate “WPS authentication” by pushing the similar WPS button on the device (or launching the process by its driver/control software). After the device has initiated the authentication process, you can accept the transaction by using the WPS button on WNDR3700. The connection should then get negotiated, and in most cases in future your PC should remember the received network settings from then on.

After finding the information and browsing the hostapd package sourcecode, the needed actions for enabling the WPS button are pretty simple:

  1. Using WPS authentication in requires replacing the default wpad-mini package with wpad and hostapd-utils. The reason is that the tool “hostapd_cli” and some needed support functions are not included in 'wpad-mini'. WPS authentication itself is launched with a command:
    hostapd_cli -p /var/run/hostapd-phy0 wps_pbc

    It tells the running hostapd daemon to participate in ongoing WPS authentication sequence. It needs to be run separately for each radio (= each existing hostapd process).

  2. And it only works if the '/etc/config/wireless' has been modified to include info about WPS authentication being allowed by adding the option 'wps_pushbutton' '1' to the wifi-iface section of (each) radio. (Looks like the version of hostapd scripts in OpenWrt does not support the full scope of hostapd's capabilities, so many of the config options documented in hostapd docs are left unused.)
  3. That config file is read when radios are turned on, so after editing the config, restart the radios in WNDR3700. At this point, you should be able to test it by running it from command line.
    If the message gets passed to hostapd, you should see there result 'OK' there. Otherwise the result is 'FAIL'.
    root@OpenWrt:~# wifi
    [..]
    root@OpenWrt:~# hostapd_cli -p /var/run/hostapd-phy0 wps_pbc
    Selected interface 'wlan0'
    OK
    root@OpenWrt:~#
  4. Add a hotplug button event script to launch the process. I modified directly the hostapd package source ( /package/hostapd/files/wps-hotplug.sh ), as the hotplug script gets automatically installed to /etc/hotplug.d/button/50-wps with the package. See below.
    The script launches hostapd_cli for each radio and lights the WPS led for 10 seconds. There is no monitoring of the result, or anything like that. It is just a dumb script using the hostapd_cli command to pass the message to the hostapd daemon.
    Note: button is called BTN_1 in Backfire, wps in trunk. /etc/hotplug.d/button/50-wps
    if [ "$ACTION" = "pressed" -a "$BUTTON" = "BTN_1" ]; then
            for dir in /var/run/hostapd-*; do
                    [ -d "$dir" ] || continue
                    logger "WPS button active: $dir"
                    hostapd_cli -p "$dir" wps_pbc
            done
    fi

    /etc/config/wireless

    config 'wifi-iface'
            option 'device' 'radio0'
            option 'network' 'lan'
            option 'mode' 'ap'
            option 'ssid' 'public'
            option 'encryption' 'psk2'
            option 'key' 'SecretKey'
            option 'wps_pushbutton' '1'

    If everything goes ok, you should see in Syslog not only the button events, but also succesful WPS authentication.

Reset 按钮

如果你只想要一个简单的复位按钮的功能,你可以安装 restorefactory 软件包并配置它:

opkg update
opkg install restorefactory

最小的配置是为复位按钮设置正确的值。复位按钮在 trunk 中被称为 'reset' ,在 Backfire final 中被称为 'BTN_0' 。

uci set system.@restorefactory[0].button=reset
uci commit system

在恢复出厂设置后你必须重新安装和配置 restorefactory 软件包。如果你编译了自己的含有已经配置好 restorefactory 的镜像,可以跳过本步。

利用 USB 转串口适配器很容易给设备搭建一个 USB 串口控制台。参考 usb.enabled.routers 来设置。

可以使用你喜欢的软件来连接控制台 - 我用的是 miniterm ,并使用了默认的 9600 波特率: miniterm -b9600 -d/dev/ttyS0

信息

v1 v2 v3 v4
架构: MIPS
芯片制造商: Qualcomm Atheros Qualcomm Atheros Broadcom Qualcomm Atheros
bootloader: crippled U-Boot
片上系统: AR7161 Broadcom AR9344
CPU/主频 MIPS32 24Kc V7.4 680 MHz 1)
闪存颗粒: v1: Spansion S25FL064P (FL064PIF) or Macronix MX25L6405DMI-12G Macronix MX25L12845EWI-10G ? ?
闪存容量: 8192 KiB 16384 KiB 8192 KiB 128 MiB NAND
RAM芯片: 2X Nanya NT5DS16M16CS-5T ? ? ?
RAM: 64 MiB 128 MiB
无线模块: Atheros AR9223 802.11bgn / Atheros AR9220 802.11an ? ? ?
有线模块: Realtek RTL8366SR ? ? ?
Internet: n/a
USB: 有 1 x 2.0
Serial:
JTAG:
Voltage Reg:

照片

Netgear WNDR3700 PCB top side Netgear WNDR3700 PCB bottom side

拆机

警告: 本操作会失去保修!

  • To remove the cover use a Torx (T-8) screwdriver.
  • There are two screws easily visible on the bottom of the case.
  • There are four more screws under the rubber feet. The feet are not glued to the plastic and can easily be removed and pushed back into place once reassembled. The feet have rubber tethers, but you can slide them out gently without damaging them, and later you can reinsert them just as easily. Don't forget to put them in a plastic baggie so you don't lose them!

串口

Internal J1 4-pin connector

Pin OutDescription
Pin13.3V
Pin2TX
Pin3RX
Pin4GND

WNDR3700 串口连接

串口电压 3.3V !!!

COM port settings: Speed:115200, Data bits:8, Stop bits:1, Parity:none, Flow control:none

JTAG

Internal J3 connector

14 Pin header

Pin Out
Pin1TRSTPin2GND
Pin3TDIPin4GND
Pin5TDOPin6GND
Pin7TMSPin8GND
Pin9TCKPin10GND
Pin11RSTPin12NC
Pin13NCPin143.3VDC

See port.jtag for more JTAG details.

VReg

Onboard Voltage Regulator is a STMicroelectronics ST1S10 which is described by ST as a

3A, 900 kHz, monolithic synchronous step-down regulator IC

Full details of the onboard ST1S10 Voltage Regulator are here

http://www.st.com/stonline/stappl/st/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00169322.pdf

There are three total ST1S10 chips near the capacitors on the upper right of the board.

制作

If you have a basic familiarity with RS232 signals and putting together basic electronic components, you should be able to follow these instructions to create a cable to attach to the WNDR3700's serial port.

The author of this section prefers a two-step process, that of using a USB-to-9-pin-serial (DB9) connector for the computer, and then building a separate 9-pin-serial-to-board interface. This allows you to leave the connector plugged into the board all of the time (and close the plastic case of the router!), without having a USB dongle hanging around when not using it. If you use a ribbon cable to connect to the header on the router, you can actually snake it out between the 4-port LAN jack and the WAN jack and still get the router's case back on (albeit a bit snugly), so the system looks pretty clean and polished even after adding the serial port connector.

For the computer-to-9-pin-serial part, you probably have two options:

  1. Buy a Nokia CA-42 cable and be comfortable stripping wires and using a multimeter.
  2. Buy a premade USB-to-DB9 RS232 serial cable. IMPORTANT NOTE I haven't bothered to look to see if the standard RS232 voltages are compatible with the WNDR3700 board. I think I recall reading somewhere that the CA-42 cable is 3.3V, and I don't recall offhand what RS232 calls for. If you buy a premade USB-to-DB9 RS232 cable, make sure to check the output levels with a voltmeter to ensure that you don't fry anything!

Never ever connect RS232 directly to your router board !!! The +/- 12V RS232 will be frying your board. You need a 3V-TTL to RS232 level shifter like MAX3223 in between.

For step 1:

If you buy a premade USB-to-DB9 RS232 cable, this step is already done. (Whichever method you use, make sure that your OS has drivers for the USB converter that you are planning to use!)

If you go the CA-42 cable route, follow the “Determining the wiring assignment of your cable” steps listed in this page: http://buffalo.nas-central.org/index.php/Use_a_Nokia_Serial_Cable_on_an_ARM9_Linkstation. This page refers to a different router product, but the CA-42 cable being used is the same and your goal is to determine the pin/color assignments. You have to chop off the fancy Nokia connector and then strip wires to test wire colors with your multimeter to figure out which color corresponds to which Nokia pin number. Once you've figured that out:

Pin 6 of the Nokia connector should be wired to pin 3 on the DB9. Pin 7 of the Nokia connector should be wired to pin 2 on the DB9. Pin 8 of the Nokia connector should be wired to pin 5 on the DB9.

You should wire this cable with a male DB9 connector, which will connect to the female connector that you put on the board side of things.

For step 2:

For connecting to the WNDR3700 itself, forum user whiskas previously posted the pinout of the connector at http://img387.imageshack.us/i/26102009417.jpg/. The four pins on the board (reading from left to right in whiskas's photo) correspond to DB9 pin numbers 5, 3, 2 and no connection. You'll probably want to buy a crimp-style socket (I used a “IDC 10-pin dual row socket”, which has more pins than we need but which works fine) and a ribbon cable that connects to it. Buy a 9-pin female DB9, carefully sort out which pins in the ribbon cable need to be connected to what, and crimp them into the right place. If you use crimp-style connectors, you can do this with no tools other than steady hands, and the IDC socket will slide right onto the board without having to solder anything.

串口烧写

If, for whatever reason, you would prefer to avoid tftp flashing, it's possible to load a new image with ymodem (loady) or kermit (loadb). It's a good idea to use iminfo to verify the image's checksum before copying it to flash with cp.b. Remember to use the sysupgrade .bin file even if this is your initial flash from the factory firmware; the extra header in the factory .img is NOT required when flashing from U-Boot.

ar7100> loady 80800000
## Ready for binary (ymodem) download to 0x80800000 at 115200 bps... 

(Begin the ymodem or kermit transfer)

## Total Size      = 0x004d0004 = 5046276 Bytes
ar7100> iminfo 80800000

## Checking Image at 80800000 ...
   Image Name:   MIPS OpenWrt Linux-3.3.8
   Created:      2012-07-01  17:49:09 UTC
   Image Type:   MIPS Linux Unknown Image (uncompressed)
   Data Size:    914224 Bytes = 892.8 kB
   Load Address: bf070000
   Entry Point:  bf070000
   Verifying Checksum ... OK
ar7100> erase 0xbf070000 +0x004d0004
Erase Flash from 0xbf070000 to 0xbf54ffff in Bank # 1 
First 0x7 last 0x54 sector size 0x10000
  84
Erased 78 sectors
ar7100> cp.b 0x80800000 0xbf070000 0x004d0004
Copy to Flash... write addr: bf070000
done
ar7100> boot

Note that the size value (0x004d0004 in this case) will vary from one image to another. Don't omit the “+” in the erase command as it's part of the command's syntax.

According to the release notes in the NETGEAR-supplied GPL firmware, U-Boot can be upgraded using the following procedure. Note that you do not need to update U-Boot in order to install OpenWrt. Additionally, this has not yet been tested by the author of this wiki page, and you can permanently brick your router (with little hope of recovery, other than possibly finding a JTAG interface) if your U-boot image becomes corrupted:

Please burn u-boot-wndr3700-dni6-V1.7.bin
Set up a tftp server on your PC, its ip address is 192.168.1.12.
Entering into boot loader
ag7100> set serverip 192.168.1.12
ag7100> tftp 0x80010000 u-boot-wndr3700-dni6-V1.7.bin
ag7100> erase 0xbf000000 +0x70000
ag7100> cp.b 0x80010000 0xbf000000 0x50000
ag7100> reset
Entering into boot loader again
ag7100>bootm
Then the device should be in tftp recovery mode. Please run the command
"tftp -i 192.168.1.1 put WNDR3700U-V1.0.4.49.img" on MS-DOS of your PC.

128 MiB RAM Mod

NEW: More and More people reports serious issues after correctly replace ram chips on WNDR3700V2. For now users are advised to stay away from extending RAM on WNDR 3700V2 untill we will have positive feedback on this procedure.

Warning: There are reports (User batu at http://eko.one.pl/forum/viewtopic.php?id=2454) that 333Mhz chips dont work with wndr3700v2. Use 400Mhz chips if available.

I used two Samsung K4H511638D-UCCC. You can use chips from other manufacturers, but they should be DDR400 32Mx16 organization in the package TSOP-II 66pin. Chips with other organizations, such as 64Mx8, do not fit.

A list of compatible chips:

Manufacturer Mark Comments
Samsung K4H511638D-UCCC 400Mhz - definitely not working with wndr3700v2
Samsung K4H511638B-TCB3 333Mhz - not working with wndr3700v2
Samsung K4H511638D-UCB3 333Mhz - definitely not working with wndr3700v2
Hynix HY5DU121622CTP-J 333Mhz - definitely not working with wndr3700v2
Hynix HY5DU121622CTP-D43 333/400Mhz mixed reports. Propably not working with wndr3700v2
Hynix HY5DU121622CLTP
Hynix HY5DU121622DTP
Hynix HY5DU121622DLTP
Kingston K4H511638C-UCB3
Elpida D5116AFTA-5B-E
NCP NP25D3216512K-5
Nanya NT5DS32M16BS
infineon HYB25D512160BE
Micron MT46V32M16TG
Micron MT46V32M16TG?
Elixir N2DS51216BT-5T
Elixir N2DS51216CS-5T
Zentel A3S12D40ETP

Netgear WNDR3700 v1 with 128 MB RAM Mod Netgear WNDR3700 v1 with 128 MB RAM Mod

U-Boot report after adding memory

U-Boot 1.1.4DNI1.6 (May 22 2009 - 16:37:44)

WNDR3700U (ar7100) U-boot 0.0.12
DRAM:  b8050000: 0xc0140180
**128 MB**
Top of RAM usable for U-Boot at: 88000000
Reserving 315k for U-Boot at: 87fb0000
Reserving 192k for malloc() at: 87f80000
Reserving 44 Bytes for Board Info at: 87f7ffd4
Reserving 36 Bytes for Global Data at: 87f7ffb0
Reserving 128k for boot params() at: 87f5ffb0
Stack Pointer at: 87f5ff98
Now running in RAM - U-Boot at: 87fb0000
id read 0x100000ff
flash size 8MB, sector count = 128
Flash:  8 MB
In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...

Antenna Mod

The procedure below covers hardware revision 1. Revision 2 only has U.FL connectors for the 5 GHz antennas (PJ2 and PJ4), while the 2.4 GHz connectors are replaced with dummy connectors (presumably a Hirose testing connectors used in production). So for revision 2 the PJ5 and PJ6 connectors will have to bypassed and the coax cable soldered directly to the PCB.

You will need:

  • 4 cable U.FL-F (female) to RPSMA-F (female) app. 13 centimeters long
  • 4 Antenna (preferably 2 2.4 GHz and 2 5 GHz antenna), e.g. Level One (OAN-0501).

On board removes:

  1. Connectors (SWD) PJ2, PJ4, PJ5, PJ6
  2. Switches AS6, AS8, AS9, AS10
  3. Capacitors AC77, AC113, AC148, AC186

In place of the connector solder in U. FL connectors.
Solder shorts instead of capacitors AC77, AC113, AC148, AC186.
Solder shorts between 3 and 5-pin AS6 and AS8.
Solder shorts between 3 and 6 pin AS8 and AS10.

Drill four drill holes 6.5mm in the left side of the upper lid.
In a hole fasten cables UFL-F/RPSMA-F.
Insert the connector into the board as in the photo, and assemble the router.
Fasten to the connectors RPSMA-F antenna and turn on.

Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod Netgear WNDR3700 v1 Antenna Mod

你可能得更新 OpenWrt 到最新的版本。在 15.05.1 版本,尚未有人报告监管问题。如果你发现了,请提交个报告。

FIXME 下面的老版本监管问题来自 WNDR3700 smallerxie 2012/08/07 19:00 翻译的 2012/08/05 05:43 版本并在此基础上补充翻译了一些内容 --- levi.g 2017/05/31 19:00

除非你在美国,否则在 OpenWrt 10.03 Backfire 中,2.4GHz 和 5GHz 可能都无法充分发挥其功能。(你会发现无法使用信道 12, 13 和 14,即使这些信道在你的地区是可以使用的,5GHz 信道也可能无法正确使用。功率等级也可能不符合你所在国家的要求。)

我们总结一下这种情况的背景:

  • 网件公司输出带有 EEPROM 芯片的,遵循美国条文限定的 WNDR3700 路由器。在美国外,他们只输出软件,而不带芯片。这种不良状况意味着你的 OpenWrt 因下面两种原因不能好好工作。
  • 在美国,输出(通过不正确的设置方式)忽略无线监管的路由器固件是合法的。
  • Atheros( WNDR3700 中使用的无线芯片制造商)要求开源社区,即使硬件厂商这么做了,也不要输出忽略无线监管的预编译的构建版本。意味着如果你是在厂商处买的硬件(且是世界上 95% 的不在美国的人口之一),还没有给 EEPROM 设置正确的值,你要用 OpenWrt 的时候就可能搞砸……

个人来说,我觉得这是个无厘头的状况,但看上去有要修复它的报告单。你可以如下方式自行处理:

你可以编译一个定制 image ,在 Ath9k 驱动中打开 CONFIG_ATH_USER_REGD 。这样能部分修正这个问题。然而要用大量时间来编译,并在所有频道限定最大输出为 20dBm (这显然由于我读到的一个问题,但成文时还没修复)。另外一个办法更好,让你可以使用所在地区全部的合法可用输出,就是照这里的说明来做:

http://smorgasbord.gavagai.nl/2010/09/wifi-regulatory-compliance-and-how-to-fix-it/

这些都有点复杂,所以我在 RapidShare 上传了我修正后的 regulatory.bin ,希望可以节省你们学习编译的那些麻烦。希望有人可以把它转移到一个更为持久的位置上传。至少我做了这点,让整个过程对更多人好用一点… 你需要做的是:

  1. If you're living in the USA, congratulations. You don't need to do any of this as you live in the only country anyone seems to care about making things easy for.
  2. Set up your router so that it is able to access the internet or the later step involving wget will fail (unless you host the file on your local network).
  3. Enter the following:
  <code>
  cd /etc/config
  vi wireless
  </code>
  Add the following to each radio for your router (this will prevent you exceeding the regulatory limits in your country when you do the next bits):
  <code>
  option 'country' 'XX'
  </code>
  (Where XX is the two letter country code for your country. For example, Australia is AU).
  (if those are ISO 2 letter country codes, a list is available here: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 If not, then someone please clarify what codes are those.)
  1. Download the following file: https://rapidshare.com/files/458836427/regulatory.bin. Put it on a web server (sorry I can't give you a direct link, or you'd be able to do without this step (RapidShare doesn't allow direct downloads without looking at their page, so don't try to skip putting it on a web server or server on your network - hopefully someone can improve this process using their private server as the file's only tiny)).
  NEW: Instead of your own webserver, you can also use http://datatomb.de/mirror/stuff/regulatory.bin
  Enter the following:
  <code>
  cd /usr/lib/crda/
  rm regulatory.bin
  wget <web server URL>/regulatory.bin
  reboot
  </code>
  1. When your router comes up again, log in with SSH as you did before. Check the available channels and power outputs are as desired by entering:
  <code>
  iw list
  </code>
  1. If you want to see what settings I put in the regulatory DB (they're as per the article I linked at the beginning) you can get them here: https://rapidshare.com/files/458836748/db.txt . If for some reason you want to use this to set the proper regulatory settings for the USA, you need to use UX as the country code...otherwise all country codes are still correct.

尽管 WNDR3700(和 WNDR3800 )是不错的路由器,还是存在着一些问题。有些最近修正了,其它的还存在着。注意大多问题是 Atheros 芯片组相关的,不是 WNDR3700 独有的。

这里列出了部分主要问题:

:!: 早期版本在办公环境中有问题。自 AA 12.09 起,尽管有上面提到的内部交换问题,这些接入点功能看起来最终稳定了。我(Syzop)在一所高中使用了大概 20 个,经历过大量的关联/断开的事件考验。

如果你不幸将路由器刷成砖了,别害怕,你还可以使用 TFTP 协议来刷入一个新的固件。

准备:

  • 一个TFTP客户端软件,命令行或者图形界面的均可。
  • 电脑IP必须设置为 192.168.1.x ,因为路由器默认的恢复模式IP被设置为 192.168.1.1.
  • 一个新的需要刷入的固件,网件原生固件或者OpenWrt的 “factory.img” 固件均可,但不能是 “Sysupgrade” 版本。
  • 能够按下路由器Reset按钮的工具。

刷机步骤:

  1. 设置好PC端,用网线连接路由器和PC
  2. 打开路由器电源
  3. 当交换机的LED灯亮起时,迅速按下RESET按钮
  4. 保持按住RESET,直到电源LED开始闪烁黄色到绿色
  5. 当电源LED闪烁绿色时,松开RESET
  6. 使用TFTP客户端传送固件到路由器的IP 192.168.1.1.
  7. 等几分钟,路由器将完成刷机,并自动重启

务必注意:TFTP 传送固件很快(因为文件被存储到RAM中)。但是,路由器刷新固件将需要几分钟时间,之后会自动重启。一定保持耐心 -- 参考: https://forum.openwrt.org/viewtopic.php?pid=103295#p103295

另一种建议

论坛用户 ole.h 之前发表过一种解砖方法,只用到了一个 TFTP 客户端。比他更进一步,如果你用按出厂重置键的方法,你不需要担心那些做串口线、经历那些抓狂的引导时序、以及特别技巧性的事情。只是简单地这样一步一步操作(抄袭了 ole.h 早期的说明,以及 http://cyberstorm.altervista.org/wag354g/guides/howto_unbricking_wag354g_en.txt )就可以了。这个过程假定你在当前路径下有个 NETGEAR 原厂固件的副本。

  1. (在你要配置 WNDR3700 的客户端上)配置你的网络连接,使用静态 IP 如 192.168.1.2 ,子网掩码 255.255.255.0 。( WNDR3700 在工厂重置模式下 IP 为 192.168.1.1 )
  2. 将计算机连接到路由器的一个 LAN 口上(不要 WAN 口)
  3. 启动个持续 ping 192.168.1.1 的命令( Linux 和 Mac OS 下,ping 缺省是持续到用户打断,Windows 下缺省 ping 4 次就停了。所以在 Windows 下,使用“ping -t”);可能现在还没有任何内容,但你可以靠输出判断何时路由器准备好做下一步操作了。
  4. 关闭路由器电源。
  5. 按住盒子底部的出厂重置键,不要松开,再打开路由器。
  6. 等到路由器侦听 192.168.1.1 的响应(需要大概 45-60 秒;要确认这一点,你可以 ping 192.168.1.1 并看它的响应;最好是像先前那样,在你的手被重置键占用之前,启动个持续 ping 的指令)
  7. 松开出厂重置键(如果你碰巧有个串口线连着,你会看到系统在固件恢复模式下,等待你上传固件。但你压根用不着串口线。)
  8. 在你的电脑上启动 tftp 客户端(命令行中无需输入 hostname )并输入下列命令:
    verbose
    trace
    rexmt 1
    binary
    connect 192.168.1.1
    put WNDR3700-V1.0.4.35NA.img (或任何你想烧写到 Flash 的文件名)

完成后,路由器会给自己烧写你提供的原厂固件,并自动重启。

OpenWrt 提供一种通用的 failsafe 模式。它可以在引导过程的早期几秒内启动。WNDR3700 设备上,当电源灯从待机的橙黄色变到闪烁的绿色时,如果你此时在 2 秒内按下任何键(WPS、Wifi 或复位),你就会进入 failsafe 模式。这种模式下,你可以通过 telnet 访问终端。成功进入 failsafe 模式的标志是电源灯的快速闪烁。

在串口终端和网络上,WNDR3700 提供的 failsafe 等待时标志在 failsafe 模式 文中详细描述。


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: 2024/02/11 21:58
  • by 127.0.0.1