48feea4861
Add Netgear WNCE2001. This is a small RT3052 device with 4MB spi flash and 32MB ram. 2 built-in antennas, 1x fastE, no USB, reset & wps switch. On my model the AP/RT switch is unpopulated, but I verified the gpio mapping for it. The stock firmware is running an unprotected tftpd which allows you to read any file from the filesystem. Serial port is present on testpads (See image on the wiki page). There are more testpads below the shield near the SoC, which may have JTAG. Slight annoyance: The bootloader is checksumming kernel&rootfs, but can be tricked by zeroing checksum and length fields in the checksum partition, see target/linux/ramips/base-files/lib/preinit/04_disable_wnce2001_flash_checksumming The manufacturer image is very similar to the DAP one, so I slightly modified mkdapimg to support generating it. The resulting openwrt-ramips-rt305x-wnce2001-squashfs-factory-(worldwide|northamerica).bin can be used to flash from stock to OpenWRT using the stock firmware upgrade function, without using the serial port. http://www.netgear.com/landing/wnce2001.aspx http://wiki.openwrt.org/toh/netgear/wnce2001 Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 36289
279 lines
5.5 KiB
Bash
Executable file
279 lines
5.5 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
. /lib/functions.sh
|
|
. /lib/ramips.sh
|
|
. /lib/functions/uci-defaults.sh
|
|
|
|
ramips_setup_rt3x5x_vlans()
|
|
{
|
|
if [ ! -x /sbin/swconfig ]; then
|
|
# legacy default
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
return
|
|
fi
|
|
local wanports=""
|
|
local lanports=""
|
|
swconfig dev rt305x set reset 1
|
|
for port in 5 4 3 2 1 0; do
|
|
if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
|
|
continue
|
|
fi
|
|
if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
|
|
wanports="$port $wanports"
|
|
else
|
|
lanports="$port $lanports"
|
|
fi
|
|
done
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "rt305x" "1" "1"
|
|
ucidef_add_switch_vlan "rt305x" "1" "$lanports 6t"
|
|
ucidef_add_switch_vlan "rt305x" "2" "$wanports 6t"
|
|
}
|
|
|
|
ramips_setup_interfaces()
|
|
{
|
|
local board="$1"
|
|
|
|
ucidef_set_interface_loopback
|
|
|
|
case $board in
|
|
3g300m | \
|
|
w150m | \
|
|
all0256n | \
|
|
all5002 | \
|
|
broadway | \
|
|
wnce2001)
|
|
ucidef_add_switch "switch0" "1" "0"
|
|
ucidef_set_interface_lan "eth0"
|
|
;;
|
|
|
|
3g-6200nl | \
|
|
wl-330n)
|
|
ucidef_set_interface_lan "eth0.1"
|
|
;;
|
|
|
|
3g-6200n | \
|
|
argus-atp52b | \
|
|
b2c | \
|
|
nw718 | \
|
|
psr-680w | \
|
|
sl-r7205 | \
|
|
w502u | \
|
|
wr6202)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
;;
|
|
|
|
dir-645)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" "1" "1"
|
|
ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t"
|
|
ucidef_add_switch_vlan "switch0" "2" "0 6t"
|
|
;;
|
|
|
|
dir-615-h1 | \
|
|
mzk-w300nh2)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" "1" "1"
|
|
ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 6t"
|
|
ucidef_add_switch_vlan "switch0" "2" "4 6t"
|
|
;;
|
|
|
|
f5d8235-v1 | \
|
|
f5d8235-v2 | \
|
|
ur-326n4g)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" "1" "1"
|
|
ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t"
|
|
ucidef_add_switch_vlan "switch0" "2" "0 6t"
|
|
;;
|
|
|
|
ur-336un)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
;;
|
|
|
|
br6524n | \
|
|
v11st-fe)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" "1" "1"
|
|
ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t"
|
|
ucidef_add_switch_vlan "switch0" "2" "0 5t"
|
|
;;
|
|
|
|
rt-n15 | \
|
|
wl-351)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" "1" "1"
|
|
ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5t"
|
|
ucidef_add_switch_vlan "switch0" "2" "4 5t"
|
|
;;
|
|
|
|
rt-n56u)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" "1" "1"
|
|
ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 8t"
|
|
ucidef_add_switch_vlan "switch0" "2" "4 8t"
|
|
;;
|
|
|
|
tew-691gr|\
|
|
tew-692gr)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" "1" "1"
|
|
ucidef_add_switch_vlan "switch0" "1" "0t 1 2 3 4"
|
|
ucidef_add_switch_vlan "switch0" "2" "0t 5"
|
|
;;
|
|
|
|
freestation5 | \
|
|
wcr-150gn)
|
|
ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1"
|
|
;;
|
|
|
|
d105 | \
|
|
omni-emb-hpm|\
|
|
wli-tx4-ag300n)
|
|
ucidef_set_interface_lan "eth0"
|
|
;;
|
|
|
|
*)
|
|
RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
|
|
if [ -n "${RT3X5X}" ]; then
|
|
ramips_setup_rt3x5x_vlans
|
|
else
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
fi
|
|
;;
|
|
esac
|
|
}
|
|
|
|
ramips_setup_macs()
|
|
{
|
|
local board="$1"
|
|
local lan_mac=""
|
|
local wan_mac=""
|
|
|
|
case $board in
|
|
all0256n | \
|
|
all5002 | \
|
|
dir-615-h1)
|
|
lan_mac=$(mtd_get_mac_binary factory 40)
|
|
;;
|
|
3g-6200n | \
|
|
3g300m | \
|
|
w150m | \
|
|
air3gii | \
|
|
argus-atp52b | \
|
|
bc2 | \
|
|
br6425 | \
|
|
broadway | \
|
|
f5d8235-v1 | \
|
|
mzk-w300nh2 | \
|
|
nw718 | \
|
|
psr-680w | \
|
|
rt-n15 | \
|
|
sl-r7205 | \
|
|
wl-351)
|
|
lan_mac=$(mtd_get_mac_binary factory 4)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
|
|
w306r-v20)
|
|
lan_mac=$(mtd_get_mac_binary factory 4)
|
|
wan_mac=$(macaddr_add "$lan_mac" 5)
|
|
;;
|
|
|
|
rt-n13u | \
|
|
fonera20n)
|
|
lan_mac=$(mtd_get_mac_binary factory 40)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
|
|
dir-300-b1 |\
|
|
dir-300-b2 |\
|
|
dir-600-b1)
|
|
lan_mac=$(mtd_get_mac_binary devdata 16388)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
|
|
dir-620-a1)
|
|
lan_mac=$(mtd_get_mac_binary factory 4)
|
|
lan_mac=$(macaddr_setbit_la "$lan_mac")
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
|
|
dir-645)
|
|
lan_mac=$(mtd_get_mac_ascii nvram lanmac)
|
|
wan_mac=$(mtd_get_mac_ascii nvram wanmac)
|
|
;;
|
|
|
|
esr-9753 | \
|
|
ur-326n4g | \
|
|
ur-336un)
|
|
lan_mac=$(mtd_get_mac_binary devdata 16388)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
|
|
nbg-419n | \
|
|
wcr-150gn)
|
|
lan_mac=$(mtd_get_mac_binary factory 4)
|
|
wan_mac=$(mtd_get_mac_binary factory 40)
|
|
;;
|
|
|
|
omni-emb-hpm)
|
|
lan_mac=$(mtd_get_mac_binary factory 40)
|
|
;;
|
|
|
|
f5d8235-v2)
|
|
lan_mac=$(mtd_get_mac_binary "u-boot" 262148)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
|
|
rt-n56u)
|
|
lan_mac=$(mtd_get_mac_binary factory 4)
|
|
wan_mac=$(mtd_get_mac_binary factory 32772)
|
|
;;
|
|
|
|
tew-691gr)
|
|
lan_mac=$(mtd_get_mac_binary factory 40)
|
|
wan_mac=$(macaddr_add "$lan_mac" 3)
|
|
;;
|
|
|
|
tew-692gr)
|
|
lan_mac=$(mtd_get_mac_binary factory 40)
|
|
wan_mac=$(macaddr_add "$lan_mac" 4)
|
|
;;
|
|
|
|
all0239-3g | \
|
|
carambola | \
|
|
w502u | \
|
|
wnce2001)
|
|
lan_mac=$(mtd_get_mac_binary factory 40)
|
|
wan_mac=$(mtd_get_mac_binary factory 46)
|
|
;;
|
|
|
|
wl341v3)
|
|
lan_mac=$(mtd_get_mac_binary board-nvram 65440)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
|
|
d105 | \
|
|
wli-tx4-ag300n)
|
|
lan_mac=$(mtd_get_mac_binary factory 4)
|
|
;;
|
|
|
|
esac
|
|
|
|
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac
|
|
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr wan $wan_mac
|
|
}
|
|
|
|
[ -e /etc/config/network ] && exit 0
|
|
|
|
touch /etc/config/network
|
|
|
|
board=$(ramips_board_name)
|
|
|
|
ramips_setup_interfaces $board
|
|
ramips_setup_macs $board
|
|
|
|
uci commit network
|
|
|
|
exit 0
|