add added files 3.00.03-USR9107
authorDobrica Pavlinusic <dpavlin@mjesec.ffzg.hr>
Sun, 7 Oct 2007 13:16:18 +0000 (15:16 +0200)
committerDobrica Pavlinusic <dpavlin@mjesec.ffzg.hr>
Sun, 7 Oct 2007 13:16:18 +0000 (15:16 +0200)
192 files changed:
bcmdrivers/broadcom/atm/impl1/blaadd96348R.o_save [new file with mode: 0644]
bcmdrivers/broadcom/atm/impl1/blaadd96348RB.o_save [new file with mode: 0644]
bcmdrivers/broadcom/char/adsl/impl1/adsl_phy96348R.bin_save [new file with mode: 0644]
bcmdrivers/broadcom/char/adsl/impl1/adsl_phy96348RB.bin_save [new file with mode: 0644]
bcmdrivers/broadcom/char/adsl/impl1/adsldd96348R.o_save [new file with mode: 0644]
bcmdrivers/broadcom/char/adsl/impl1/adsldd96348RB.o_save [new file with mode: 0644]
bcmdrivers/broadcom/char/atmapi/impl1/atmapi96348R.o_save [new file with mode: 0644]
bcmdrivers/broadcom/char/atmapi/impl1/atmapi96348RB.o_save [new file with mode: 0644]
bcmdrivers/broadcom/char/bcmprocfs/impl1/bcmprocfs96348R.o_save [new file with mode: 0644]
bcmdrivers/broadcom/char/bcmprocfs/impl1/bcmprocfs96348RB.o_save [new file with mode: 0644]
bcmdrivers/broadcom/net/enet/impl2/bcm_enet96348R.o_save [new file with mode: 0644]
bcmdrivers/broadcom/net/enet/impl2/bcm_enet96348RB.o_save [new file with mode: 0644]
hostTools/host_genkey [new file with mode: 0755]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec.mod96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec.mod96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt.mod96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt.mod96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm.mod96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm.mod96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec.mod96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec.mod96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt.mod96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt.mod96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm.mod96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm.mod96348RB.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm96348R.o_save [new file with mode: 0644]
kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm96348RB.o_save [new file with mode: 0644]
targets/96338R/96338R [new file with mode: 0755]
targets/96345GW/96345GW [new file with mode: 0755]
targets/96345GWV/96345GWV [new file with mode: 0755]
targets/96345R/96345R [new file with mode: 0755]
targets/96348GW/96348GW [new file with mode: 0755]
targets/96348GWB/96348GWB [new file with mode: 0644]
targets/96348GWV/96348GWV [new file with mode: 0755]
targets/96348R/96348R [new file with mode: 0755]
targets/96348RB/96348RB [new file with mode: 0644]
targets/fs.src/etc/rsa_host_key [new file with mode: 0755]
userapps/broadcom/adslctl/adslctl_96348RB_save [new file with mode: 0755]
userapps/broadcom/adslctl/adslctl_96348R_save [new file with mode: 0755]
userapps/broadcom/atmctl/atmctl_96348RB_save [new file with mode: 0755]
userapps/broadcom/atmctl/atmctl_96348R_save [new file with mode: 0755]
userapps/broadcom/cfm/cfm_96348RB_save [new file with mode: 0755]
userapps/broadcom/cfm/cfm_96348R_save [new file with mode: 0755]
userapps/broadcom/cfm/html/adslcfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/adslcfgadv.html [new file with mode: 0755]
userapps/broadcom/cfm/html/adslcfgc.html [new file with mode: 0755]
userapps/broadcom/cfm/html/adslcfgtone.html [new file with mode: 0755]
userapps/broadcom/cfm/html/backupsettings.html [new file with mode: 0755]
userapps/broadcom/cfm/html/berrun.html [new file with mode: 0755]
userapps/broadcom/cfm/html/berstart.html [new file with mode: 0755]
userapps/broadcom/cfm/html/berstop.html [new file with mode: 0755]
userapps/broadcom/cfm/html/ddnsadd.html [new file with mode: 0755]
userapps/broadcom/cfm/html/defaultsettings.html [new file with mode: 0755]
userapps/broadcom/cfm/html/device_9107.gif [new file with mode: 0755]
userapps/broadcom/cfm/html/device_9108.gif [new file with mode: 0755]
userapps/broadcom/cfm/html/dhcpinfo.html [new file with mode: 0755]
userapps/broadcom/cfm/html/diag.html [new file with mode: 0755]
userapps/broadcom/cfm/html/diagbr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/diagipow.html [new file with mode: 0755]
userapps/broadcom/cfm/html/diaglan.html [new file with mode: 0755]
userapps/broadcom/cfm/html/diagmer.html [new file with mode: 0755]
userapps/broadcom/cfm/html/diagpppoa.html [new file with mode: 0755]
userapps/broadcom/cfm/html/diagpppoe.html [new file with mode: 0755]
userapps/broadcom/cfm/html/dnscfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/enblbridge.html [new file with mode: 0755]
userapps/broadcom/cfm/html/enblservice.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlpadslsync.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlpatmetoe.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlpatmseg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlpethconn.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlppngdns.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlppnggw.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlppppoasess.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlppppoeauth.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlppppoeconn.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlppppoeip.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlptstdns.html [new file with mode: 0755]
userapps/broadcom/cfm/html/hlpwlconn.html [new file with mode: 0755]
userapps/broadcom/cfm/html/index-wireless.html [new file with mode: 0755]
userapps/broadcom/cfm/html/index.html [new file with mode: 0755]
userapps/broadcom/cfm/html/info.html [new file with mode: 0755]
userapps/broadcom/cfm/html/ipoacfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/ippcfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/lancfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/lancfg2.html [new file with mode: 0755]
userapps/broadcom/cfm/html/lancfgbr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/logconfig.html [new file with mode: 0755]
userapps/broadcom/cfm/html/logintro.html [new file with mode: 0755]
userapps/broadcom/cfm/html/natcfg2.html [new file with mode: 0755]
userapps/broadcom/cfm/html/ntwkprtcl.html [new file with mode: 0755]
userapps/broadcom/cfm/html/ntwksum2.html [new file with mode: 0755]
userapps/broadcom/cfm/html/password.html [new file with mode: 0755]
userapps/broadcom/cfm/html/portName.js [new file with mode: 0755]
userapps/broadcom/cfm/html/portmapadd.html [new file with mode: 0755]
userapps/broadcom/cfm/html/portmapedit.html [new file with mode: 0755]
userapps/broadcom/cfm/html/pppautherr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/pppauthinfo.html [new file with mode: 0755]
userapps/broadcom/cfm/html/pppoe.html [new file with mode: 0755]
userapps/broadcom/cfm/html/pvccfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/pvccfgerr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/pvcindex.html [new file with mode: 0755]
userapps/broadcom/cfm/html/qoscls.html [new file with mode: 0755]
userapps/broadcom/cfm/html/quicksetuperr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/rebootinfo.html [new file with mode: 0755]
userapps/broadcom/cfm/html/resetrouter.html [new file with mode: 0755]
userapps/broadcom/cfm/html/restoreinfo.html [new file with mode: 0755]
userapps/broadcom/cfm/html/routeadd.html [new file with mode: 0755]
userapps/broadcom/cfm/html/routeremove.html [new file with mode: 0755]
userapps/broadcom/cfm/html/rtdefaultcfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/rtdefaultcfgerr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scacccntr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scdmz.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scinflt.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scintro.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scmacflt.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scmacpolicy.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scoutflt.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scprttrg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/scvrtsrv.html [new file with mode: 0755]
userapps/broadcom/cfm/html/setup.html [new file with mode: 0755]
userapps/broadcom/cfm/html/setup_dsl.html [new file with mode: 0755]
userapps/broadcom/cfm/html/setup_finish.html [new file with mode: 0644]
userapps/broadcom/cfm/html/setup_login.html [new file with mode: 0755]
userapps/broadcom/cfm/html/setup_sec.html [new file with mode: 0755]
userapps/broadcom/cfm/html/snmpconfig.html [new file with mode: 0755]
userapps/broadcom/cfm/html/sntpcfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statsadsl.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statsadslerr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statsadslreset.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statsatm.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statsatmerr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statsatmreset.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statsifc.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statsifcreset.html [new file with mode: 0755]
userapps/broadcom/cfm/html/statswanreset.html [new file with mode: 0755]
userapps/broadcom/cfm/html/stylemain.css [new file with mode: 0755]
userapps/broadcom/cfm/html/timerbar.js [new file with mode: 0755]
userapps/broadcom/cfm/html/todadd.html [new file with mode: 0755]
userapps/broadcom/cfm/html/updatesettings.html [new file with mode: 0755]
userapps/broadcom/cfm/html/upload.html [new file with mode: 0755]
userapps/broadcom/cfm/html/uploadinfo.html [new file with mode: 0755]
userapps/broadcom/cfm/html/usr.gif [new file with mode: 0755]
userapps/broadcom/cfm/html/usr_banner.gif [new file with mode: 0755]
userapps/broadcom/cfm/html/usr_common.js [new file with mode: 0755]
userapps/broadcom/cfm/html/usr_custom.js [new file with mode: 0755]
userapps/broadcom/cfm/html/usr_main.css [new file with mode: 0755]
userapps/broadcom/cfm/html/usr_menus.js [new file with mode: 0755]
userapps/broadcom/cfm/html/usrmeansmax.gif [new file with mode: 0755]
userapps/broadcom/cfm/html/util.js [new file with mode: 0755]
userapps/broadcom/cfm/html/wanadderr.html [new file with mode: 0755]
userapps/broadcom/cfm/html/wancfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/wlcfg.html [new file with mode: 0755]
userapps/broadcom/cfm/html/wlcfgadv.html [new file with mode: 0755]
userapps/broadcom/cfm/html/wlcfgkey.html [new file with mode: 0755]
userapps/broadcom/cfm/html/wlmacflt.html [new file with mode: 0755]
userapps/broadcom/cfm/html/wlsecurity.html [new file with mode: 0755]
userapps/broadcom/cfm/html/wlses.html [new file with mode: 0755]
userapps/broadcom/cfm/html/wlsetup.html [new file with mode: 0755]
userapps/broadcom/ddnsd/ddnsd_96348RB_save [new file with mode: 0755]
userapps/broadcom/ddnsd/ddnsd_96348R_save [new file with mode: 0755]
userapps/broadcom/dhcpr/dhcpr_96348RB_save [new file with mode: 0755]
userapps/broadcom/dhcpr/dhcpr_96348R_save [new file with mode: 0755]
userapps/broadcom/dnsprobe/dnsprobe_96348RB_save [new file with mode: 0755]
userapps/broadcom/dnsprobe/dnsprobe_96348R_save [new file with mode: 0755]
userapps/broadcom/epittcp/epi_ttcp_96348RB_save [new file with mode: 0755]
userapps/broadcom/epittcp/epi_ttcp_96348R_save [new file with mode: 0755]
userapps/broadcom/ethctl/ethctl_96348RB_save [new file with mode: 0755]
userapps/broadcom/ethctl/ethctl_96348R_save [new file with mode: 0755]
userapps/broadcom/igmp/igmp_96348RB_save [new file with mode: 0755]
userapps/broadcom/igmp/igmp_96348R_save [new file with mode: 0755]
userapps/broadcom/ippd/ippd_96348RB_save [new file with mode: 0755]
userapps/broadcom/ippd/ippd_96348R_save [new file with mode: 0755]
userapps/broadcom/netctl/netctl_96348RB_save [new file with mode: 0755]
userapps/broadcom/netctl/netctl_96348R_save [new file with mode: 0755]
userapps/broadcom/nvram/Makefile [new file with mode: 0644]
userapps/broadcom/nvram/main.c [new file with mode: 0755]
userapps/broadcom/nvram/nvram_shared.c [new file with mode: 0755]
userapps/broadcom/ses/Makefile [new file with mode: 0644]
userapps/broadcom/sntp/sntp_96348RB_save [new file with mode: 0755]
userapps/broadcom/sntp/sntp_96348R_save [new file with mode: 0755]
userapps/broadcom/upnp/igd/linux/upnp_96348RB_save [new file with mode: 0755]
userapps/broadcom/upnp/igd/linux/upnp_96348R_save [new file with mode: 0755]

diff --git a/bcmdrivers/broadcom/atm/impl1/blaadd96348R.o_save b/bcmdrivers/broadcom/atm/impl1/blaadd96348R.o_save
new file mode 100644 (file)
index 0000000..7915a47
Binary files /dev/null and b/bcmdrivers/broadcom/atm/impl1/blaadd96348R.o_save differ
diff --git a/bcmdrivers/broadcom/atm/impl1/blaadd96348RB.o_save b/bcmdrivers/broadcom/atm/impl1/blaadd96348RB.o_save
new file mode 100644 (file)
index 0000000..7915a47
Binary files /dev/null and b/bcmdrivers/broadcom/atm/impl1/blaadd96348RB.o_save differ
diff --git a/bcmdrivers/broadcom/char/adsl/impl1/adsl_phy96348R.bin_save b/bcmdrivers/broadcom/char/adsl/impl1/adsl_phy96348R.bin_save
new file mode 100644 (file)
index 0000000..584cb7f
Binary files /dev/null and b/bcmdrivers/broadcom/char/adsl/impl1/adsl_phy96348R.bin_save differ
diff --git a/bcmdrivers/broadcom/char/adsl/impl1/adsl_phy96348RB.bin_save b/bcmdrivers/broadcom/char/adsl/impl1/adsl_phy96348RB.bin_save
new file mode 100644 (file)
index 0000000..0deb848
Binary files /dev/null and b/bcmdrivers/broadcom/char/adsl/impl1/adsl_phy96348RB.bin_save differ
diff --git a/bcmdrivers/broadcom/char/adsl/impl1/adsldd96348R.o_save b/bcmdrivers/broadcom/char/adsl/impl1/adsldd96348R.o_save
new file mode 100644 (file)
index 0000000..bf4082b
Binary files /dev/null and b/bcmdrivers/broadcom/char/adsl/impl1/adsldd96348R.o_save differ
diff --git a/bcmdrivers/broadcom/char/adsl/impl1/adsldd96348RB.o_save b/bcmdrivers/broadcom/char/adsl/impl1/adsldd96348RB.o_save
new file mode 100644 (file)
index 0000000..3224ab6
Binary files /dev/null and b/bcmdrivers/broadcom/char/adsl/impl1/adsldd96348RB.o_save differ
diff --git a/bcmdrivers/broadcom/char/atmapi/impl1/atmapi96348R.o_save b/bcmdrivers/broadcom/char/atmapi/impl1/atmapi96348R.o_save
new file mode 100644 (file)
index 0000000..4e6b22c
Binary files /dev/null and b/bcmdrivers/broadcom/char/atmapi/impl1/atmapi96348R.o_save differ
diff --git a/bcmdrivers/broadcom/char/atmapi/impl1/atmapi96348RB.o_save b/bcmdrivers/broadcom/char/atmapi/impl1/atmapi96348RB.o_save
new file mode 100644 (file)
index 0000000..4e6b22c
Binary files /dev/null and b/bcmdrivers/broadcom/char/atmapi/impl1/atmapi96348RB.o_save differ
diff --git a/bcmdrivers/broadcom/char/bcmprocfs/impl1/bcmprocfs96348R.o_save b/bcmdrivers/broadcom/char/bcmprocfs/impl1/bcmprocfs96348R.o_save
new file mode 100644 (file)
index 0000000..4a09ffa
Binary files /dev/null and b/bcmdrivers/broadcom/char/bcmprocfs/impl1/bcmprocfs96348R.o_save differ
diff --git a/bcmdrivers/broadcom/char/bcmprocfs/impl1/bcmprocfs96348RB.o_save b/bcmdrivers/broadcom/char/bcmprocfs/impl1/bcmprocfs96348RB.o_save
new file mode 100644 (file)
index 0000000..4a09ffa
Binary files /dev/null and b/bcmdrivers/broadcom/char/bcmprocfs/impl1/bcmprocfs96348RB.o_save differ
diff --git a/bcmdrivers/broadcom/net/enet/impl2/bcm_enet96348R.o_save b/bcmdrivers/broadcom/net/enet/impl2/bcm_enet96348R.o_save
new file mode 100644 (file)
index 0000000..1d70eac
Binary files /dev/null and b/bcmdrivers/broadcom/net/enet/impl2/bcm_enet96348R.o_save differ
diff --git a/bcmdrivers/broadcom/net/enet/impl2/bcm_enet96348RB.o_save b/bcmdrivers/broadcom/net/enet/impl2/bcm_enet96348RB.o_save
new file mode 100644 (file)
index 0000000..af76311
Binary files /dev/null and b/bcmdrivers/broadcom/net/enet/impl2/bcm_enet96348RB.o_save differ
diff --git a/hostTools/host_genkey b/hostTools/host_genkey
new file mode 100755 (executable)
index 0000000..5af41f1
Binary files /dev/null and b/hostTools/host_genkey differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec.mod96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec.mod96348R.o_save
new file mode 100644 (file)
index 0000000..2238600
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec.mod96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec.mod96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec.mod96348RB.o_save
new file mode 100644 (file)
index 0000000..2238600
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec.mod96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec96348R.o_save
new file mode 100644 (file)
index 0000000..489373c
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec96348RB.o_save
new file mode 100644 (file)
index 0000000..489373c
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_ipsec96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt.mod96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt.mod96348R.o_save
new file mode 100644 (file)
index 0000000..dd56e9f
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt.mod96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt.mod96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt.mod96348RB.o_save
new file mode 100644 (file)
index 0000000..dd56e9f
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt.mod96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt96348R.o_save
new file mode 100644 (file)
index 0000000..fa054fd
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt96348RB.o_save
new file mode 100644 (file)
index 0000000..fa054fd
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_pt96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm.mod96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm.mod96348R.o_save
new file mode 100644 (file)
index 0000000..0c31bea
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm.mod96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm.mod96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm.mod96348RB.o_save
new file mode 100644 (file)
index 0000000..0c31bea
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm.mod96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm96348R.o_save
new file mode 100644 (file)
index 0000000..f12acdd
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm96348RB.o_save
new file mode 100644 (file)
index 0000000..f12acdd
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_conntrack_wm96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec.mod96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec.mod96348R.o_save
new file mode 100644 (file)
index 0000000..71dc1df
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec.mod96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec.mod96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec.mod96348RB.o_save
new file mode 100644 (file)
index 0000000..71dc1df
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec.mod96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec96348R.o_save
new file mode 100644 (file)
index 0000000..b33c249
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec96348RB.o_save
new file mode 100644 (file)
index 0000000..b33c249
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_ipsec96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt.mod96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt.mod96348R.o_save
new file mode 100644 (file)
index 0000000..a32878d
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt.mod96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt.mod96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt.mod96348RB.o_save
new file mode 100644 (file)
index 0000000..a32878d
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt.mod96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt96348R.o_save
new file mode 100644 (file)
index 0000000..5ff4e06
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt96348RB.o_save
new file mode 100644 (file)
index 0000000..5ff4e06
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_pt96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm.mod96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm.mod96348R.o_save
new file mode 100644 (file)
index 0000000..b97b37e
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm.mod96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm.mod96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm.mod96348RB.o_save
new file mode 100644 (file)
index 0000000..b97b37e
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm.mod96348RB.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm96348R.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm96348R.o_save
new file mode 100644 (file)
index 0000000..0e00fbb
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm96348R.o_save differ
diff --git a/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm96348RB.o_save b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm96348RB.o_save
new file mode 100644 (file)
index 0000000..0e00fbb
Binary files /dev/null and b/kernel/linux/net/ipv4/netfilter/broadcom/ip_nat_wm96348RB.o_save differ
diff --git a/targets/96338R/96338R b/targets/96338R/96338R
new file mode 100755 (executable)
index 0000000..1169cdf
--- /dev/null
@@ -0,0 +1,138 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+BRCM_6338=y
+# BRCM_6345 is not set
+# BRCM_6348 is not set
+BRCM_CHIP=6338
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96338L-2M-8M"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+BRCM_ADSL_ANNEX_A=y
+# BRCM_ADSL_ANNEX_B is not set
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_A
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+BRCM_DRIVER_USB=m
+# BRCM_DRIVER_WIRELESS is not set
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+# BRCM_DRIVER_PHONE is not set
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+# BRCM_PTHREADS is not set
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+BUILD_CFM_MENU=y
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+# BUILD_CFM_SSHD is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+# BUILD_WLCTL is not set
+# BUILD_NAS is not set
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+BUILD_DDNSD=dynamic
+# BUILD_SNMP is not set
+# BUILD_VODSL is not set
+# BUILD_ZEBRA is not set
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/96345GW/96345GW b/targets/96345GW/96345GW
new file mode 100755 (executable)
index 0000000..85c73af
--- /dev/null
@@ -0,0 +1,158 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+# BRCM_6338 is not set
+BRCM_6345=y
+# BRCM_6348 is not set
+BRCM_CHIP=6345
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96345GW2"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+BRCM_ADSL_ANNEX_A=y
+# BRCM_ADSL_ANNEX_B is not set
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_A
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+BRCM_DRIVER_USB=m
+BRCM_DRIVER_WIRELESS=m
+BRCM_DRIVER_WIRELESS_PCMCIA_DATASWAP=y
+BRCM_DRIVER_WIRELESS_EBI_DMA=y
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+# BRCM_DRIVER_PHONE is not set
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+LINUX_DRIVER_USB_HOST=y
+# LINUX_DRIVER_CDCETHER is not set
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+BRCM_PTHREADS=y
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+BUILD_CFM_MENU=y
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+BUILD_CFM_SSHD=y
+# BUILD_SSHD_MIPS_GENKEY is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+# BUILD_VCONFIG is not set
+BUILD_ETHWAN=dynamic
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+BUILD_WLCTL=dynamic
+BUILD_NAS=dynamic
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+# BUILD_SES is not set
+# BUILD_NVRAM is not set
+BUILD_DDNSD=dynamic
+BUILD_SNMP=dynamic
+BUILD_SNMP_SET=y
+# BUILD_SNMP_ADSL_MIB is not set
+# BUILD_SNMP_AT_MIB is not set
+# BUILD_SNMP_ATM_MIB is not set
+# BUILD_SNMP_ICMP_MIB is not set
+# BUILD_SNMP_IP_MIB is not set
+# BUILD_SNMP_SNMP_MIB is not set
+# BUILD_SNMP_SYSOR_MIB is not set
+# BUILD_SNMP_TCP_MIB is not set
+# BUILD_SNMP_UDP_MIB is not set
+# BUILD_VODSL is not set
+BUILD_ZEBRA=dynamic
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+BUILD_IPPD=dynamic
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/96345GWV/96345GWV b/targets/96345GWV/96345GWV
new file mode 100755 (executable)
index 0000000..4621d63
--- /dev/null
@@ -0,0 +1,167 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+# BRCM_6338 is not set
+BRCM_6345=y
+# BRCM_6348 is not set
+BRCM_CHIP=6345
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96345GW"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+BRCM_ADSL_ANNEX_A=y
+# BRCM_ADSL_ANNEX_B is not set
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_A
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+BRCM_DRIVER_USB=m
+BRCM_DRIVER_WIRELESS=m
+BRCM_DRIVER_WIRELESS_PCMCIA_DATASWAP=y
+BRCM_DRIVER_WIRELESS_EBI_DMA=y
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+BRCM_DRIVER_PHONE=m
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+LINUX_DRIVER_USB_HOST=y
+# LINUX_DRIVER_CDCETHER is not set
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+BRCM_PTHREADS=y
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+# BUILD_CFM_MENU is not set
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+BUILD_CFM_SSHD=y
+# BUILD_SSHD_MIPS_GENKEY is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+# BUILD_VCONFIG is not set
+BUILD_ETHWAN=dynamic
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+BUILD_WLCTL=dynamic
+BUILD_NAS=dynamic
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+# BUILD_SES is not set
+# BUILD_NVRAM is not set
+BUILD_DDNSD=dynamic
+BUILD_SNMP=dynamic
+# BUILD_SNMP_SET is not set
+# BUILD_SNMP_ADSL_MIB is not set
+# BUILD_SNMP_AT_MIB is not set
+# BUILD_SNMP_ATM_MIB is not set
+# BUILD_SNMP_ICMP_MIB is not set
+# BUILD_SNMP_IP_MIB is not set
+# BUILD_SNMP_SNMP_MIB is not set
+# BUILD_SNMP_SYSOR_MIB is not set
+# BUILD_SNMP_TCP_MIB is not set
+# BUILD_SNMP_UDP_MIB is not set
+BUILD_VODSL=dynamic
+# BRCM_APP_PHONE_SIP is not set
+BRCM_APP_PHONE_MGCP=y
+# BRCM_APP_PHONE_VOAAL2 is not set
+BRCM_APP_PHONE=mgcp
+# BRCM_DSP_CODEC_G723 is not set
+# BRCM_DSP_CODEC_G726 is not set
+BRCM_DSP_CODEC_G729=y
+# BRCM_DSP_CODEC_G7xx is not set
+# BRCM_DSP_IOM2 is not set
+BUILD_ZEBRA=dynamic
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+BUILD_IPPD=dynamic
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/96345R/96345R b/targets/96345R/96345R
new file mode 100755 (executable)
index 0000000..136aa61
--- /dev/null
@@ -0,0 +1,139 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+# BRCM_6338 is not set
+BRCM_6345=y
+# BRCM_6348 is not set
+BRCM_CHIP=6345
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96345R"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+BRCM_ADSL_ANNEX_A=y
+# BRCM_ADSL_ANNEX_B is not set
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_A
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+BRCM_DRIVER_USB=m
+# BRCM_DRIVER_WIRELESS is not set
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+# BRCM_DRIVER_PHONE is not set
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+# BRCM_PTHREADS is not set
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+BUILD_CFM_MENU=y
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+# BUILD_CFM_SSHD is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+# BUILD_WLCTL is not set
+# BUILD_NAS is not set
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+BUILD_DDNSD=dynamic
+# BUILD_SNMP is not set
+# BUILD_VODSL is not set
+BUILD_ZEBRA=dynamic
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+# BUILD_IPPD is not set
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/96348GW/96348GW b/targets/96348GW/96348GW
new file mode 100755 (executable)
index 0000000..06040ed
--- /dev/null
@@ -0,0 +1,159 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+# BRCM_6338 is not set
+# BRCM_6345 is not set
+BRCM_6348=y
+BRCM_CHIP=6348
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96348GW-A"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+BRCM_ADSL_ANNEX_A=y
+# BRCM_ADSL_ANNEX_B is not set
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_A
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+# BRCM_DRIVER_USB is not set
+BRCM_DRIVER_WIRELESS=m
+BRCM_DRIVER_PCI=y
+BRCM_DRIVER_PCI=y
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+# BRCM_DRIVER_PHONE is not set
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+LINUX_DRIVER_USB_HOST=y
+# LINUX_DRIVER_CDCETHER is not set
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_RTSP is not set
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+# BRCM_PTHREADS is not set
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+# BUILD_CFM_MENU is not set
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+BUILD_CFM_SSHD=y
+# BUILD_SSHD_MIPS_GENKEY is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+BUILD_VCONFIG=dynamic
+# BUILD_ETHWAN is not set
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+BUILD_WLCTL=dynamic
+BUILD_NAS=dynamic
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+# BUILD_SES is not set
+# BUILD_NVRAM is not set
+BUILD_DDNSD=dynamic
+BUILD_SNMP=dynamic
+BUILD_SNMP_SET=y
+# BUILD_SNMP_ADSL_MIB is not set
+# BUILD_SNMP_AT_MIB is not set
+BUILD_SNMP_ATM_MIB=y
+# BUILD_SNMP_ICMP_MIB is not set
+BUILD_SNMP_IP_MIB=y
+# BUILD_SNMP_SNMP_MIB is not set
+# BUILD_SNMP_SYSOR_MIB is not set
+# BUILD_SNMP_TCP_MIB is not set
+# BUILD_SNMP_UDP_MIB is not set
+# BUILD_VODSL is not set
+BUILD_ZEBRA=dynamic
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+BUILD_IPPD=dynamic
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/96348GWB/96348GWB b/targets/96348GWB/96348GWB
new file mode 100644 (file)
index 0000000..b4385f5
--- /dev/null
@@ -0,0 +1,159 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+# BRCM_6338 is not set
+# BRCM_6345 is not set
+BRCM_6348=y
+BRCM_CHIP=6348
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96348GW-B"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+# BRCM_ADSL_ANNEX_A is not set
+BRCM_ADSL_ANNEX_B=y
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_B
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+# BRCM_DRIVER_USB is not set
+BRCM_DRIVER_WIRELESS=m
+BRCM_DRIVER_PCI=y
+BRCM_DRIVER_PCI=y
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+# BRCM_DRIVER_PHONE is not set
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+LINUX_DRIVER_USB_HOST=y
+# LINUX_DRIVER_CDCETHER is not set
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_RTSP is not set
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+# BRCM_PTHREADS is not set
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+# BUILD_CFM_MENU is not set
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+BUILD_CFM_SSHD=y
+# BUILD_SSHD_MIPS_GENKEY is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+BUILD_VCONFIG=dynamic
+# BUILD_ETHWAN is not set
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+BUILD_WLCTL=dynamic
+BUILD_NAS=dynamic
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+# BUILD_SES is not set
+# BUILD_NVRAM is not set
+BUILD_DDNSD=dynamic
+BUILD_SNMP=dynamic
+BUILD_SNMP_SET=y
+# BUILD_SNMP_ADSL_MIB is not set
+# BUILD_SNMP_AT_MIB is not set
+BUILD_SNMP_ATM_MIB=y
+# BUILD_SNMP_ICMP_MIB is not set
+BUILD_SNMP_IP_MIB=y
+# BUILD_SNMP_SNMP_MIB is not set
+# BUILD_SNMP_SYSOR_MIB is not set
+# BUILD_SNMP_TCP_MIB is not set
+# BUILD_SNMP_UDP_MIB is not set
+# BUILD_VODSL is not set
+BUILD_ZEBRA=dynamic
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+BUILD_IPPD=dynamic
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/96348GWV/96348GWV b/targets/96348GWV/96348GWV
new file mode 100755 (executable)
index 0000000..c8644f0
--- /dev/null
@@ -0,0 +1,171 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+# BRCM_6338 is not set
+# BRCM_6345 is not set
+BRCM_6348=y
+BRCM_CHIP=6348
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96348GW-10"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+BRCM_ADSL_ANNEX_A=y
+# BRCM_ADSL_ANNEX_B is not set
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_A
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+BRCM_DRIVER_USB=m
+BRCM_DRIVER_WIRELESS=m
+BRCM_DRIVER_PCI=y
+BRCM_DRIVER_PCI=y
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+BRCM_DRIVER_PHONE=m
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+LINUX_DRIVER_USB_HOST=y
+# LINUX_DRIVER_CDCETHER is not set
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_RTSP is not set
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+BRCM_PTHREADS=y
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+# BUILD_CFM_MENU is not set
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+BUILD_CFM_SSHD=y
+# BUILD_SSHD_MIPS_GENKEY is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+# BUILD_VCONFIG is not set
+BUILD_ETHWAN=dynamic
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+BUILD_WLCTL=dynamic
+BUILD_NAS=dynamic
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+# BUILD_SES is not set
+# BUILD_NVRAM is not set
+BUILD_DDNSD=dynamic
+BUILD_SNMP=dynamic
+BUILD_SNMP_SET=y
+# BUILD_SNMP_ADSL_MIB is not set
+# BUILD_SNMP_AT_MIB is not set
+# BUILD_SNMP_ATM_MIB is not set
+# BUILD_SNMP_ICMP_MIB is not set
+# BUILD_SNMP_IP_MIB is not set
+# BUILD_SNMP_SNMP_MIB is not set
+# BUILD_SNMP_SYSOR_MIB is not set
+# BUILD_SNMP_TCP_MIB is not set
+# BUILD_SNMP_UDP_MIB is not set
+BUILD_VODSL=dynamic
+# BRCM_APP_PHONE_SIP is not set
+BRCM_APP_PHONE_MGCP=y
+BRCM_APP_PHONE=mgcp
+# BRCM_DSP_CODEC_G723 is not set
+# BRCM_DSP_CODEC_G726 is not set
+BRCM_DSP_CODEC_G729=y
+# BRCM_DSP_CODEC_G7xx is not set
+# BRCM_DSP_CODEC_T38_EXT is not set
+# BRCM_DSP_PCM is not set
+# BRCM_DSP_HYBRID_EXT is not set
+# BRCM_DSP_APM_FXO_EXT is not set
+BRCM_DSP_CODEC=g729a
+BUILD_ZEBRA=dynamic
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+BUILD_IPPD=dynamic
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/96348R/96348R b/targets/96348R/96348R
new file mode 100755 (executable)
index 0000000..6a4b950
--- /dev/null
@@ -0,0 +1,148 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+# BRCM_6338 is not set
+# BRCM_6345 is not set
+BRCM_6348=y
+BRCM_CHIP=6348
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96348R-A"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+BRCM_ADSL_ANNEX_A=y
+# BRCM_ADSL_ANNEX_B is not set
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_A
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+# BRCM_DRIVER_USB is not set
+# BRCM_DRIVER_WIRELESS is not set
+BRCM_DRIVER_PCI=y
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+# BRCM_DRIVER_PHONE is not set
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+LINUX_DRIVER_USB_HOST=y
+# LINUX_DRIVER_CDCETHER is not set
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_RTSP is not set
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+# BRCM_PTHREADS is not set
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+# BUILD_CFM_MENU is not set
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+BUILD_CFM_SSHD=y
+# BUILD_SSHD_MIPS_GENKEY is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+BUILD_VCONFIG=dynamic
+# BUILD_ETHWAN is not set
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+# BUILD_WLCTL is not set
+# BUILD_NAS is not set
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+# BUILD_SES is not set
+# BUILD_NVRAM is not set
+BUILD_DDNSD=dynamic
+# BUILD_SNMP is not set
+# BUILD_VODSL is not set
+BUILD_ZEBRA=dynamic
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+BUILD_IPPD=dynamic
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/96348RB/96348RB b/targets/96348RB/96348RB
new file mode 100644 (file)
index 0000000..fcd5f2e
--- /dev/null
@@ -0,0 +1,148 @@
+#
+# Automatically generated by make menuconfig: don't edit
+#
+
+#
+# Chip selection
+#
+# BRCM_6338 is not set
+# BRCM_6345 is not set
+BRCM_6348=y
+BRCM_CHIP=6348
+
+#
+# Board configuration selection
+#
+BRCM_BOARD_ID="96348R-B"
+BRCM_FLASHBLK_SIZE=64
+BRCM_NUM_MAC_ADDRESSES=11
+BRCM_BASE_MAC_ADDRESS="02:10:18:01:00:01"
+BRCM_DEFAULTCFG=""
+
+#
+# ADSL standard selection
+#
+# BRCM_ADSL_ANNEX_A is not set
+BRCM_ADSL_ANNEX_B=y
+# BRCM_ADSL_ANNEX_C is not set
+# BRCM_ADSL_SADSL is not set
+BRCM_ADSL_STANDARD=ANNEX_B
+
+#
+# Driver selection
+#
+BRCM_DRIVER_ATM=m
+BRCM_DRIVER_ADSL=m
+BRCM_DRIVER_ETHERNET=m
+# BRCM_DRIVER_ETHERNET_CONFIG is not set
+# BRCM_DRIVER_USB is not set
+# BRCM_DRIVER_WIRELESS is not set
+BRCM_DRIVER_PCI=y
+# BRCM_DRIVER_VDSL is not set
+# BRCM_DRIVER_SECURITY is not set
+# BRCM_DRIVER_HPNA is not set
+# BRCM_DRIVER_PHONE is not set
+BRCM_DRIVER_PROCFS=m
+BRCM_DRIVER_SERIAL=y
+LINUX_DRIVER_USB_HOST=y
+# LINUX_DRIVER_CDCETHER is not set
+
+#
+# Netfilter and firewall selection
+#
+BRCM_KERNEL_NETFILTER=m
+BRCM_KERNEL_NF_FIREWALL=m
+BRCM_KERNEL_NF_MANGLE=m
+BRCM_KERNEL_NF_NAT=m
+BRCM_KERNEL_NF_NAT_ALG_FTP=m
+BRCM_KERNEL_NF_NAT_ALG_TFTP=m
+BRCM_KERNEL_NF_NAT_ALG_H323=m
+BRCM_KERNEL_NF_NAT_ALG_IRC=m
+BRCM_KERNEL_NF_NAT_ALG_WM=m
+BRCM_KERNEL_NF_NAT_ALG_PT=m
+BRCM_KERNEL_NF_NAT_ALG_PPTP=m
+BRCM_KERNEL_NF_NAT_ALG_IPSEC=m
+# BRCM_KERNEL_NF_NAT_ALG_RTSP is not set
+# BRCM_KERNEL_NF_NAT_ALG_SNMP is not set
+# BRCM_KERNEL_NF_NAT_ALG_TALK is not set
+BRCM_KERNEL_NF_LOG=m
+# BRCM_KERNEL_NF_PPPREMOTE is not set
+
+#
+# Root file system selection
+#
+BRCM_ROOTFS_SQUASHFS=y
+# BRCM_ROOTFS_CRAMFS is not set
+# BRCM_ROOTFS_NFS is not set
+BRCM_KERNEL_ROOTFS=squashfs
+
+#
+# Toolchain selection
+#
+BRCM_UCLIBC=y
+# BRCM_PTHREADS is not set
+
+#
+# User application selection
+#
+BUILD_PVC2684CTL=dynamic
+BUILD_BRCTL=dynamic
+BUILD_CFM=dynamic
+# BUILD_CFM_MENU is not set
+BUILD_CFM_CLI=y
+BUILD_CFM_TELNETD=y
+BUILD_CFM_SSHD=y
+# BUILD_SSHD_MIPS_GENKEY is not set
+# WEB_POPUP is not set
+BUILD_IPTABLES=dynamic
+BUILD_EBTABLES=dynamic
+BUILD_TOD=dynamic
+BUILD_PPPD=dynamic
+BUILD_REAIM=dynamic
+BUILD_VCONFIG=dynamic
+# BUILD_ETHWAN is not set
+BUILD_DNSPROBE=dynamic
+BUILD_IGMP=dynamic
+BUILD_UDHCP=dynamic
+BUILD_DHCPR=dynamic
+BUILD_UPNP=dynamic
+BUILD_BUSYBOX=dynamic
+BUILD_FTPD=dynamic
+BUILD_ATMCTL=dynamic
+BUILD_ADSLCTL=dynamic
+BUILD_NETCTL=dynamic
+# BUILD_WLCTL is not set
+# BUILD_NAS is not set
+BUILD_SNTP=dynamic
+BUILD_EPITTCP=dynamic
+# BUILD_SES is not set
+# BUILD_NVRAM is not set
+BUILD_DDNSD=dynamic
+# BUILD_SNMP is not set
+# BUILD_VODSL is not set
+BUILD_ZEBRA=dynamic
+BUILD_LIBCREDUCTION=y
+# BUILD_SOAP is not set
+BUILD_IPPD=dynamic
+# BUILD_DIAGAPP is not set
+
+#
+# Debug selection
+#
+# BRCM_KERNEL_DEBUG is not set
+# JTAG_KERNEL_DEBUG is not set
+# BUILD_GDBSERVER is not set
+
+#
+# WebUI language selection
+#
+BRCM_LANG_EN=y
+# BRCM_LANG_CN is not set
+# BRCM_LANG_TW is not set
+# BRCM_LANG_KR is not set
+BRCM_WEBUI_LANG=en_US
+
+#
+# Special Feature selection
+#
+PPP_AUTODISCONN=y
diff --git a/targets/fs.src/etc/rsa_host_key b/targets/fs.src/etc/rsa_host_key
new file mode 100755 (executable)
index 0000000..fe55863
Binary files /dev/null and b/targets/fs.src/etc/rsa_host_key differ
diff --git a/userapps/broadcom/adslctl/adslctl_96348RB_save b/userapps/broadcom/adslctl/adslctl_96348RB_save
new file mode 100755 (executable)
index 0000000..e30e694
Binary files /dev/null and b/userapps/broadcom/adslctl/adslctl_96348RB_save differ
diff --git a/userapps/broadcom/adslctl/adslctl_96348R_save b/userapps/broadcom/adslctl/adslctl_96348R_save
new file mode 100755 (executable)
index 0000000..e30e694
Binary files /dev/null and b/userapps/broadcom/adslctl/adslctl_96348R_save differ
diff --git a/userapps/broadcom/atmctl/atmctl_96348RB_save b/userapps/broadcom/atmctl/atmctl_96348RB_save
new file mode 100755 (executable)
index 0000000..e6b80cc
Binary files /dev/null and b/userapps/broadcom/atmctl/atmctl_96348RB_save differ
diff --git a/userapps/broadcom/atmctl/atmctl_96348R_save b/userapps/broadcom/atmctl/atmctl_96348R_save
new file mode 100755 (executable)
index 0000000..e6b80cc
Binary files /dev/null and b/userapps/broadcom/atmctl/atmctl_96348R_save differ
diff --git a/userapps/broadcom/cfm/cfm_96348RB_save b/userapps/broadcom/cfm/cfm_96348RB_save
new file mode 100755 (executable)
index 0000000..d648cba
Binary files /dev/null and b/userapps/broadcom/cfm/cfm_96348RB_save differ
diff --git a/userapps/broadcom/cfm/cfm_96348R_save b/userapps/broadcom/cfm/cfm_96348R_save
new file mode 100755 (executable)
index 0000000..e098dbd
Binary files /dev/null and b/userapps/broadcom/cfm/cfm_96348R_save differ
diff --git a/userapps/broadcom/cfm/html/adslcfg.html b/userapps/broadcom/cfm/html/adslcfg.html
new file mode 100755 (executable)
index 0000000..85d5194
--- /dev/null
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Internet &raquo; ADSL Settings</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var chipId = <%ejGetOther(sysInfo, chipId)%>;
+
+function frmLoad() {
+   var adslFlag = '<%ejGet(adslFlag)%>';
+
+   with ( document.forms[0] ) {
+      if (adslFlag & 1)
+         adslMod[0].checked = true;
+      if (adslFlag & 2)
+         adslMod[1].checked = true;
+      if (adslFlag & 4)
+         adslMod[2].checked = true;
+      if (adslFlag & 8)
+         adslMod[3].checked = true;
+      if (adslFlag & 16)
+         adslMod[4].checked = true;
+      if (chipId == 0x6348 || chipId == 0x6338) {
+         if (adslFlag & 32)
+            adslMod[5].checked = true;
+         if (!(adslFlag & 64))
+            adslMod[6].checked = true;
+      } else {
+         if (adslFlag & 64)
+            adslMod[5].checked = true;
+      }
+      if (!(adslFlag & 0x02000000))
+         adslBitswap.checked = true;
+
+      if (adslFlag & 0x08000000)
+         adslSra.checked = true;
+   }
+}
+
+function applyClick() {
+   var loc = 'adslcfg.cgi?adslFlag=';
+   var adslFlag = 64;
+
+   with ( document.forms[0] ) {
+      if (adslMod[0].checked)
+         adslFlag |= 1;
+      if (adslMod[1].checked)
+         adslFlag |= 2;
+      if (adslMod[2].checked)
+         adslFlag |= 4;
+      if (adslMod[3].checked)
+         adslFlag |= 8;
+      if (adslMod[4].checked)
+         adslFlag |= 16;
+      if (chipId == 0x6348 || chipId == 0x6338) {
+         if (adslMod[5].checked)
+            adslFlag |= 32;
+         if (adslMod[6].checked)
+            adslFlag ^= 64;
+      } else {
+         if (adslMod[5].checked)
+            adslFlag |= 64;
+      }
+      if ((adslFlag & 0x000007f) == 0)
+         alert("Need to select at least one modulation mode.");
+
+      if (!adslBitswap.checked)
+         adslFlag |= 0x02000000;
+      if (adslSra.checked)
+         adslFlag |= 0x08000000;
+   }
+   loc += adslFlag;
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+// done hiding -->
+</script>
+</head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("ADSL Settings", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>Modulation</h3>
+
+<form>
+<p>Select the modulation:</p>
+<p><input type="checkbox" name="adslMod" id="adslMod">
+       <label for="adslMod">G.DMT</label></p>
+<p><input type="checkbox" name="adslMod">
+       <label for="adslMod">G.lite</label></p>
+<p><input type="checkbox" name="adslMod">
+       <label for="adslMod">T1.413</label></p>
+<p><input type="checkbox" name="adslMod">
+       <label for="adslMod">ADSL2</label></p>
+<p><input type="checkbox" name="adslMod">
+       <label for="adslMod">AnnexL</label></p>
+
+        <script type="text/javascript">
+<!-- hide
+{
+   if (chipId == 0x6348 || chipId == 0x6338)
+      document.writeln("<p><input type='checkbox' name='adslMod' id='adslMod'> \
+                                               <label for='adslMod'>ADSL2+</label></p>");
+}
+// done hiding -->
+</script>
+       <p><input type="checkbox" name="adslMod" id="adslMod">
+               <label for="adslMod">AnnexM</label></p>
+
+<p>Capability:</p>
+<p><input type="checkbox" name="adslBitswap" id="adslBitswap">
+       <label for="adslBitswap">Bitswap</label></p>
+<p><input type="checkbox" name="adslSra" id="adslSra">
+       <label for="adslSra">SRA</label></p>
+
+<p>
+       <input type='button' onClick='applyClick()' value='Apply'>
+       <input type='button' onClick='location.href="adslcfgadv.html"' value='Advanced Settings'>
+</p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/adslcfgadv.html b/userapps/broadcom/cfm/html/adslcfgadv.html
new file mode 100755 (executable)
index 0000000..880d667
--- /dev/null
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Internet &raquo; ADSL Settings</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function frmLoad() {
+   document.forms[0].mode[eval('<%ejGetTest(adslTestMode)%>')].checked = true;
+}
+
+function applyClick() {
+   var loc = 'adslcfgadv.cmd?adslTestMode=';
+   
+   for (i = 0; i < 5; i++)
+      if (document.forms[0].mode[i].checked == true)
+         break;
+   loc += i;
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function toneClick() {
+   window.open('adslcfgtone.html', 'BCM96345DSLCfgTone', 'menubar=no,resizable=yes,scrollbars=yes,titlebar=yes,toolbar=no,width=640,height=480');
+}
+
+// done hiding -->
+</script>
+</head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("ADSL Settings", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>Advanced</h3>
+
+<form>
+<p>Select the test mode:</p>
+<p>
+       <input type="radio" name="mode" id="modeNormal" checked> <label for="modeNormal">Normal</label><br>
+       <input type="radio" name="mode" id="modeReverb"> <label for="modeReverb">Reverb</label><br>
+       <input type="radio" name="mode" id="modeMedley"> <label for="modeMedley">Medley</label><br>
+       <input type="radio" name="mode" id="modeNo"> <label for="modeNo">No retrain</label><br>
+       <input type="radio" name="mode" id="modeL3"> <label for="modeL3">L3</label>
+</p>
+
+       <p>
+               <input type='button' onClick='applyClick()' value='Apply'>
+               <input type='button' onClick='toneClick()' value='Tone Selection'>
+       </p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/adslcfgc.html b/userapps/broadcom/cfm/html/adslcfgc.html
new file mode 100755 (executable)
index 0000000..8e5fd7c
--- /dev/null
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Internet &raquo; ADSL Settings</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function frmLoad() {
+   var modul = '<%ejGet(adslModulation)%>';
+   var mode = '<%ejGet(adslMode)%>'
+   var pair = '<%ejGet(adslPair)%>';
+
+   with ( document.forms[0] ) {
+      if ( modul == '1' )
+         adslModul[1].checked = true;
+      else
+         adslModul[0].checked = true;
+
+      if ( mode == '1' )
+         adslMode[1].checked = true;
+      else
+         adslMode[0].checked = true;
+
+      if ( pair == '1' )
+         adslPair[1].checked = true;
+      else
+         adslPair[0].checked = true;
+   }
+}
+
+function applyClick() {
+   var loc = 'adslcfgc.cgi?';
+
+   with ( document.forms[0] ) {
+      if ( adslModul[1].checked == true )
+         loc += 'adslModulation=1';
+      else
+         loc += 'adslModulation=0';
+
+      if ( adslMode[1].checked == true )
+         loc += '&adslMode=1';
+      else
+         loc += '&adslMode=0';
+
+      if ( adslPair[1].checked == true )
+         loc += '&adslPair=1';
+      else
+         loc += '&adslPair=0';
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+// done hiding -->
+</script>
+</head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("ADSL Settings", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>Modulation</h3>
+
+<form>
+<p>Modulation:</p>
+    <p><input type="radio" name="adslModul" id="adslModulBoth"> <label for="adslModulBoth">G.dmt or G.lite</label><br>
+    <input type="radio" name="adslModul" id="adslModulGDMT"> <label for="adslModulGDMT">G.dmt</label></p>
+
+<p>Bitmap mode:</p>
+    <p><input type="radio" name="adslMode" id="adslModeDBM"> <label for="adslModeDBM">DBM</label><br>
+    <input type="radio" name="adslMode" id="adslModeFBM"> <label for="adslModeFBM">FBM</label></p>
+
+<p>Phone line pair:</p>
+    <p><input type="radio" name="adslPair" id="adslPairIn"> <label for="adslPairIn">Inner pair</label><br>
+    <input type="radio" name="adslPair" id="adslPairOut"> <label for="adslPairOut">Outer pair</label></p>
+
+<p>
+       <input type='button' onClick='applyClick()' value='Apply'>
+       <input type='button' onClick='location.href="adslcfgadv.html"' value='Advanced Settings'>
+</p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/adslcfgtone.html b/userapps/broadcom/cfm/html/adslcfgtone.html
new file mode 100755 (executable)
index 0000000..26038e3
--- /dev/null
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Internet &raquo; ADSL Settings</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function frmLoad() {
+   var tones = '<%ejGetTest(adslTestTones)%>'
+
+   if ( tones.length != 256) {
+      for ( i = 0; i < 256; i++ )
+         document.forms[0].tone[i].checked = true;
+      return;
+   }
+
+   with ( document.forms[0] ) {
+      for ( i = 0; i < 256; i++ ) {
+         if ( tones.charAt(i) == '1' )
+            tone[i].checked = true;
+         else
+            tone[i].checked = false;
+      }
+   }
+}
+
+function applyClick() {
+   var loc = 'adslcfgtone.cmd?adslTestTones=';
+   var toneList = '';
+   with ( document.forms[0] ) {
+      for ( i = 0; i < 256; i++ ) {
+         if ( tone[i].checked == true )
+            toneList += '1';
+         else
+            toneList += '0';
+      }
+      loc += toneList;
+   }
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function clearAllClick() {
+   for ( i = 0; i < 256; i++ )
+      document.forms[0].tone[i].checked = false;
+}
+
+function checkAllClick() {
+   for ( i = 0; i < 256; i++ )
+      document.forms[0].tone[i].checked = true;
+}
+
+function closeClick() {
+   window.close();
+}
+
+// done hiding -->
+</script>
+</head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeaderInfo("ADSL Settings");
+</script>
+
+<h3>Tone</h3>
+
+<form>
+<table border="0" cellpadding="0" cellspacing="0">
+  <tr><th colspan='16' align="left">Upstream Tones</th></tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone0'><label for='tone0'>0</label></td>
+    <td><input type='checkbox' name='tone' id='tone1'><label for='tone1'>1</label></td>
+    <td><input type='checkbox' name='tone' id='tone2'><label for='tone2'>2</label></td>
+    <td><input type='checkbox' name='tone' id='tone3'><label for='tone3'>3</label></td>
+    <td><input type='checkbox' name='tone' id='tone4'><label for='tone4'>4</label></td>
+    <td><input type='checkbox' name='tone' id='tone5'><label for='tone5'>5</label></td>
+    <td><input type='checkbox' name='tone' id='tone6'><label for='tone6'>6</label></td>
+    <td><input type='checkbox' name='tone' id='tone7'><label for='tone7'>7</label></td>
+    <td><input type='checkbox' name='tone' id='tone8'><label for='tone8'>8</label></td>
+    <td><input type='checkbox' name='tone' id='tone9'><label for='tone9'>9</label></td>
+    <td><input type='checkbox' name='tone' id='tone10'><label for='tone10'>10</label></td>
+    <td><input type='checkbox' name='tone' id='tone11'><label for='tone11'>11</label></td>
+    <td><input type='checkbox' name='tone' id='tone12'><label for='tone12'>12</label></td>
+    <td><input type='checkbox' name='tone' id='tone13'><label for='tone13'>13</label></td>
+    <td><input type='checkbox' name='tone' id='tone14'><label for='tone14'>14</label></td>
+    <td><input type='checkbox' name='tone' id='tone15'><label for='tone15'>15</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone16'><label for='tone16'>16</label></td>
+    <td><input type='checkbox' name='tone' id='tone17'><label for='tone17'>17</label></td>
+    <td><input type='checkbox' name='tone' id='tone18'><label for='tone18'>18</label></td>
+    <td><input type='checkbox' name='tone' id='tone19'><label for='tone19'>19</label></td>
+    <td><input type='checkbox' name='tone' id='tone20'><label for='tone20'>20</label></td>
+    <td><input type='checkbox' name='tone' id='tone21'><label for='tone21'>21</label></td>
+    <td><input type='checkbox' name='tone' id='tone22'><label for='tone22'>22</label></td>
+    <td><input type='checkbox' name='tone' id='tone23'><label for='tone23'>23</label></td>
+    <td><input type='checkbox' name='tone' id='tone24'><label for='tone24'>24</label></td>
+    <td><input type='checkbox' name='tone' id='tone25'><label for='tone25'>25</label></td>
+    <td><input type='checkbox' name='tone' id='tone26'><label for='tone26'>26</label></td>
+    <td><input type='checkbox' name='tone' id='tone27'><label for='tone27'>27</label></td>
+    <td><input type='checkbox' name='tone' id='tone28'><label for='tone28'>28</label></td>
+    <td><input type='checkbox' name='tone' id='tone29'><label for='tone29'>29</label></td>
+    <td><input type='checkbox' name='tone' id='tone30'><label for='tone30'>30</label></td>
+    <td><input type='checkbox' name='tone' id='tone31'><label for='tone31'>31</label></td>
+  </tr>
+
+  <tr><th colspan='16' align="left">Downstream Tones</th></tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone32'><label for='tone32'>32</label></td>
+    <td><input type='checkbox' name='tone' id='tone33'><label for='tone33'>33</label></td>
+    <td><input type='checkbox' name='tone' id='tone34'><label for='tone34'>34</label></td>
+    <td><input type='checkbox' name='tone' id='tone35'><label for='tone35'>35</label></td>
+    <td><input type='checkbox' name='tone' id='tone36'><label for='tone36'>36</label></td>
+    <td><input type='checkbox' name='tone' id='tone37'><label for='tone37'>37</label></td>
+    <td><input type='checkbox' name='tone' id='tone38'><label for='tone38'>38</label></td>
+    <td><input type='checkbox' name='tone' id='tone39'><label for='tone39'>39</label></td>
+    <td><input type='checkbox' name='tone' id='tone40'><label for='tone40'>40</label></td>
+    <td><input type='checkbox' name='tone' id='tone41'><label for='tone41'>41</label></td>
+    <td><input type='checkbox' name='tone' id='tone42'><label for='tone42'>42</label></td>
+    <td><input type='checkbox' name='tone' id='tone43'><label for='tone43'>43</label></td>
+    <td><input type='checkbox' name='tone' id='tone44'><label for='tone44'>44</label></td>
+    <td><input type='checkbox' name='tone' id='tone45'><label for='tone45'>45</label></td>
+    <td><input type='checkbox' name='tone' id='tone46'><label for='tone46'>46</label></td>
+    <td><input type='checkbox' name='tone' id='tone47'><label for='tone47'>47</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone48'><label for='tone48'>48</label></td>
+    <td><input type='checkbox' name='tone' id='tone49'><label for='tone49'>49</label></td>
+    <td><input type='checkbox' name='tone' id='tone50'><label for='tone50'>50</label></td>
+    <td><input type='checkbox' name='tone' id='tone51'><label for='tone51'>51</label></td>
+    <td><input type='checkbox' name='tone' id='tone52'><label for='tone52'>52</label></td>
+    <td><input type='checkbox' name='tone' id='tone53'><label for='tone53'>53</label></td>
+    <td><input type='checkbox' name='tone' id='tone54'><label for='tone54'>54</label></td>
+    <td><input type='checkbox' name='tone' id='tone55'><label for='tone55'>55</label></td>
+    <td><input type='checkbox' name='tone' id='tone56'><label for='tone56'>56</label></td>
+    <td><input type='checkbox' name='tone' id='tone57'><label for='tone57'>57</label></td>
+    <td><input type='checkbox' name='tone' id='tone58'><label for='tone58'>58</label></td>
+    <td><input type='checkbox' name='tone' id='tone59'><label for='tone59'>59</label></td>
+    <td><input type='checkbox' name='tone' id='tone60'><label for='tone60'>60</label></td>
+    <td><input type='checkbox' name='tone' id='tone61'><label for='tone61'>61</label></td>
+    <td><input type='checkbox' name='tone' id='tone62'><label for='tone62'>62</label></td>
+    <td><input type='checkbox' name='tone' id='tone63'><label for='tone63'>63</label></td>
+  </td>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone64'><label for='tone64'>64</label></td>
+    <td><input type='checkbox' name='tone' id='tone65'><label for='tone65'>65</label></td>
+    <td><input type='checkbox' name='tone' id='tone66'><label for='tone66'>66</label></td>
+    <td><input type='checkbox' name='tone' id='tone67'><label for='tone67'>67</label></td>
+    <td><input type='checkbox' name='tone' id='tone68'><label for='tone68'>68</label></td>
+    <td><input type='checkbox' name='tone' id='tone69'><label for='tone69'>69</label></td>
+    <td><input type='checkbox' name='tone' id='tone70'><label for='tone70'>70</label></td>
+    <td><input type='checkbox' name='tone' id='tone71'><label for='tone71'>71</label></td>
+    <td><input type='checkbox' name='tone' id='tone72'><label for='tone72'>72</label></td>
+    <td><input type='checkbox' name='tone' id='tone73'><label for='tone73'>73</label></td>
+    <td><input type='checkbox' name='tone' id='tone74'><label for='tone74'>74</label></td>
+    <td><input type='checkbox' name='tone' id='tone75'><label for='tone75'>75</label></td>
+    <td><input type='checkbox' name='tone' id='tone76'><label for='tone76'>76</label></td>
+    <td><input type='checkbox' name='tone' id='tone77'><label for='tone77'>77</label></td>
+    <td><input type='checkbox' name='tone' id='tone78'><label for='tone78'>78</label></td>
+    <td><input type='checkbox' name='tone' id='tone79'><label for='tone79'>79</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone80'><label for='tone80'>80</label></td>
+    <td><input type='checkbox' name='tone' id='tone81'><label for='tone81'>81</label></td>
+    <td><input type='checkbox' name='tone' id='tone82'><label for='tone82'>82</label></td>
+    <td><input type='checkbox' name='tone' id='tone83'><label for='tone83'>83</label></td>
+    <td><input type='checkbox' name='tone' id='tone84'><label for='tone84'>84</label></td>
+    <td><input type='checkbox' name='tone' id='tone85'><label for='tone85'>85</label></td>
+    <td><input type='checkbox' name='tone' id='tone86'><label for='tone86'>86</label></td>
+    <td><input type='checkbox' name='tone' id='tone87'><label for='tone87'>87</label></td>
+    <td><input type='checkbox' name='tone' id='tone88'><label for='tone88'>88</label></td>
+    <td><input type='checkbox' name='tone' id='tone89'><label for='tone89'>89</label></td>
+    <td><input type='checkbox' name='tone' id='tone90'><label for='tone90'>90</label></td>
+    <td><input type='checkbox' name='tone' id='tone91'><label for='tone91'>91</label></td>
+    <td><input type='checkbox' name='tone' id='tone92'><label for='tone92'>92</label></td>
+    <td><input type='checkbox' name='tone' id='tone93'><label for='tone93'>93</label></td>
+    <td><input type='checkbox' name='tone' id='tone94'><label for='tone94'>94</label></td>
+    <td><input type='checkbox' name='tone' id='tone95'><label for='tone95'>95</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone96'><label for='tone96'>96</label></td>
+    <td><input type='checkbox' name='tone' id='tone97'><label for='tone97'>97</label></td>
+    <td><input type='checkbox' name='tone' id='tone98'><label for='tone98'>98</label></td>
+    <td><input type='checkbox' name='tone' id='tone99'><label for='tone99'>99</label></td>
+    <td><input type='checkbox' name='tone' id='tone100'><label for='tone100'>100</label></td>
+    <td><input type='checkbox' name='tone' id='tone101'><label for='tone101'>101</label></td>
+    <td><input type='checkbox' name='tone' id='tone102'><label for='tone102'>102</label></td>
+    <td><input type='checkbox' name='tone' id='tone103'><label for='tone103'>103</label></td>
+    <td><input type='checkbox' name='tone' id='tone104'><label for='tone104'>104</label></td>
+    <td><input type='checkbox' name='tone' id='tone105'><label for='tone105'>105</label></td>
+    <td><input type='checkbox' name='tone' id='tone106'><label for='tone106'>106</label></td>
+    <td><input type='checkbox' name='tone' id='tone107'><label for='tone107'>107</label></td>
+    <td><input type='checkbox' name='tone' id='tone108'><label for='tone108'>108</label></td>
+    <td><input type='checkbox' name='tone' id='tone109'><label for='tone109'>109</label></td>
+    <td><input type='checkbox' name='tone' id='tone110'><label for='tone110'>110</label></td>
+    <td><input type='checkbox' name='tone' id='tone111'><label for='tone111'>111</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone112'><label for='tone112'>112</label></td>
+    <td><input type='checkbox' name='tone' id='tone113'><label for='tone113'>113</label></td>
+    <td><input type='checkbox' name='tone' id='tone114'><label for='tone114'>114</label></td>
+    <td><input type='checkbox' name='tone' id='tone115'><label for='tone115'>115</label></td>
+    <td><input type='checkbox' name='tone' id='tone116'><label for='tone116'>116</label></td>
+    <td><input type='checkbox' name='tone' id='tone117'><label for='tone117'>117</label></td>
+    <td><input type='checkbox' name='tone' id='tone118'><label for='tone118'>118</label></td>
+    <td><input type='checkbox' name='tone' id='tone119'><label for='tone119'>119</label></td>
+    <td><input type='checkbox' name='tone' id='tone120'><label for='tone120'>120</label></td>
+    <td><input type='checkbox' name='tone' id='tone121'><label for='tone121'>121</label></td>
+    <td><input type='checkbox' name='tone' id='tone122'><label for='tone122'>122</label></td>
+    <td><input type='checkbox' name='tone' id='tone123'><label for='tone123'>123</label></td>
+    <td><input type='checkbox' name='tone' id='tone124'><label for='tone124'>124</label></td>
+    <td><input type='checkbox' name='tone' id='tone125'><label for='tone125'>125</label></td>
+    <td><input type='checkbox' name='tone' id='tone126'><label for='tone126'>126</label></td>
+    <td><input type='checkbox' name='tone' id='tone127'><label for='tone127'>127</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone128'><label for='tone128'>128</label></td>
+    <td><input type='checkbox' name='tone' id='tone129'><label for='tone129'>129</label></td>
+    <td><input type='checkbox' name='tone' id='tone130'><label for='tone130'>130</label></td>
+    <td><input type='checkbox' name='tone' id='tone131'><label for='tone131'>131</label></td>
+    <td><input type='checkbox' name='tone' id='tone132'><label for='tone132'>132</label></td>
+    <td><input type='checkbox' name='tone' id='tone133'><label for='tone133'>133</label></td>
+    <td><input type='checkbox' name='tone' id='tone134'><label for='tone134'>134</label></td>
+    <td><input type='checkbox' name='tone' id='tone135'><label for='tone135'>135</label></td>
+    <td><input type='checkbox' name='tone' id='tone136'><label for='tone136'>136</label></td>
+    <td><input type='checkbox' name='tone' id='tone137'><label for='tone137'>137</label></td>
+    <td><input type='checkbox' name='tone' id='tone138'><label for='tone138'>138</label></td>
+    <td><input type='checkbox' name='tone' id='tone139'><label for='tone139'>139</label></td>
+    <td><input type='checkbox' name='tone' id='tone140'><label for='tone140'>140</label></td>
+    <td><input type='checkbox' name='tone' id='tone141'><label for='tone141'>141</label></td>
+    <td><input type='checkbox' name='tone' id='tone142'><label for='tone142'>142</label></td>
+    <td><input type='checkbox' name='tone' id='tone143'><label for='tone143'>143</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone144'><label for='tone144'>144</label></td>
+    <td><input type='checkbox' name='tone' id='tone145'><label for='tone145'>145</label></td>
+    <td><input type='checkbox' name='tone' id='tone146'><label for='tone146'>146</label></td>
+    <td><input type='checkbox' name='tone' id='tone147'><label for='tone147'>147</label></td>
+    <td><input type='checkbox' name='tone' id='tone148'><label for='tone148'>148</label></td>
+    <td><input type='checkbox' name='tone' id='tone149'><label for='tone149'>149</label></td>
+    <td><input type='checkbox' name='tone' id='tone150'><label for='tone150'>150</label></td>
+    <td><input type='checkbox' name='tone' id='tone151'><label for='tone151'>151</label></td>
+    <td><input type='checkbox' name='tone' id='tone152'><label for='tone152'>152</label></td>
+    <td><input type='checkbox' name='tone' id='tone153'><label for='tone153'>153</label></td>
+    <td><input type='checkbox' name='tone' id='tone154'><label for='tone154'>154</label></td>
+    <td><input type='checkbox' name='tone' id='tone155'><label for='tone155'>155</label></td>
+    <td><input type='checkbox' name='tone' id='tone156'><label for='tone156'>156</label></td>
+    <td><input type='checkbox' name='tone' id='tone157'><label for='tone157'>157</label></td>
+    <td><input type='checkbox' name='tone' id='tone158'><label for='tone158'>158</label></td>
+    <td><input type='checkbox' name='tone' id='tone159'><label for='tone159'>159</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone160'><label for='tone160'>160</label></td>
+    <td><input type='checkbox' name='tone' id='tone161'><label for='tone161'>161</label></td>
+    <td><input type='checkbox' name='tone' id='tone162'><label for='tone162'>162</label></td>
+    <td><input type='checkbox' name='tone' id='tone163'><label for='tone163'>163</label></td>
+    <td><input type='checkbox' name='tone' id='tone164'><label for='tone164'>164</label></td>
+    <td><input type='checkbox' name='tone' id='tone165'><label for='tone165'>165</label></td>
+    <td><input type='checkbox' name='tone' id='tone166'><label for='tone166'>166</label></td>
+    <td><input type='checkbox' name='tone' id='tone167'><label for='tone167'>167</label></td>
+    <td><input type='checkbox' name='tone' id='tone168'><label for='tone168'>168</label></td>
+    <td><input type='checkbox' name='tone' id='tone169'><label for='tone169'>169</label></td>
+    <td><input type='checkbox' name='tone' id='tone170'><label for='tone170'>170</label></td>
+    <td><input type='checkbox' name='tone' id='tone171'><label for='tone171'>171</label></td>
+    <td><input type='checkbox' name='tone' id='tone172'><label for='tone172'>172</label></td>
+    <td><input type='checkbox' name='tone' id='tone173'><label for='tone173'>173</label></td>
+    <td><input type='checkbox' name='tone' id='tone174'><label for='tone174'>174</label></td>
+    <td><input type='checkbox' name='tone' id='tone175'><label for='tone175'>175</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone176'><label for='tone176'>176</label></td>
+    <td><input type='checkbox' name='tone' id='tone177'><label for='tone177'>177</label></td>
+    <td><input type='checkbox' name='tone' id='tone178'><label for='tone178'>178</label></td>
+    <td><input type='checkbox' name='tone' id='tone179'><label for='tone179'>179</label></td>
+    <td><input type='checkbox' name='tone' id='tone180'><label for='tone180'>180</label></td>
+    <td><input type='checkbox' name='tone' id='tone181'><label for='tone181'>181</label></td>
+    <td><input type='checkbox' name='tone' id='tone182'><label for='tone182'>182</label></td>
+    <td><input type='checkbox' name='tone' id='tone183'><label for='tone183'>183</label></td>
+    <td><input type='checkbox' name='tone' id='tone184'><label for='tone184'>184</label></td>
+    <td><input type='checkbox' name='tone' id='tone185'><label for='tone185'>185</label></td>
+    <td><input type='checkbox' name='tone' id='tone186'><label for='tone186'>186</label></td>
+    <td><input type='checkbox' name='tone' id='tone187'><label for='tone187'>187</label></td>
+    <td><input type='checkbox' name='tone' id='tone188'><label for='tone188'>188</label></td>
+    <td><input type='checkbox' name='tone' id='tone189'><label for='tone189'>189</label></td>
+    <td><input type='checkbox' name='tone' id='tone190'><label for='tone190'>190</label></td>
+    <td><input type='checkbox' name='tone' id='tone191'><label for='tone191'>191</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone192'><label for='tone192'>192</label></td>
+    <td><input type='checkbox' name='tone' id='tone193'><label for='tone193'>193</label></td>
+    <td><input type='checkbox' name='tone' id='tone194'><label for='tone194'>194</label></td>
+    <td><input type='checkbox' name='tone' id='tone195'><label for='tone195'>195</label></td>
+    <td><input type='checkbox' name='tone' id='tone196'><label for='tone196'>196</label></td>
+    <td><input type='checkbox' name='tone' id='tone197'><label for='tone197'>197</label></td>
+    <td><input type='checkbox' name='tone' id='tone198'><label for='tone198'>198</label></td>
+    <td><input type='checkbox' name='tone' id='tone199'><label for='tone199'>199</label></td>
+    <td><input type='checkbox' name='tone' id='tone200'><label for='tone200'>200</label></td>
+    <td><input type='checkbox' name='tone' id='tone201'><label for='tone201'>201</label></td>
+    <td><input type='checkbox' name='tone' id='tone202'><label for='tone202'>202</label></td>
+    <td><input type='checkbox' name='tone' id='tone203'><label for='tone203'>203</label></td>
+    <td><input type='checkbox' name='tone' id='tone204'><label for='tone204'>204</label></td>
+    <td><input type='checkbox' name='tone' id='tone205'><label for='tone205'>205</label></td>
+    <td><input type='checkbox' name='tone' id='tone206'><label for='tone206'>206</label></td>
+    <td><input type='checkbox' name='tone' id='tone207'><label for='tone207'>207</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone208'><label for='tone208'>208</label></td>
+    <td><input type='checkbox' name='tone' id='tone209'><label for='tone209'>209</label></td>
+    <td><input type='checkbox' name='tone' id='tone210'><label for='tone210'>210</label></td>
+    <td><input type='checkbox' name='tone' id='tone211'><label for='tone211'>211</label></td>
+    <td><input type='checkbox' name='tone' id='tone212'><label for='tone212'>212</label></td>
+    <td><input type='checkbox' name='tone' id='tone213'><label for='tone213'>213</label></td>
+    <td><input type='checkbox' name='tone' id='tone214'><label for='tone214'>214</label></td>
+    <td><input type='checkbox' name='tone' id='tone215'><label for='tone215'>215</label></td>
+    <td><input type='checkbox' name='tone' id='tone216'><label for='tone216'>216</label></td>
+    <td><input type='checkbox' name='tone' id='tone217'><label for='tone217'>217</label></td>
+    <td><input type='checkbox' name='tone' id='tone218'><label for='tone218'>218</label></td>
+    <td><input type='checkbox' name='tone' id='tone219'><label for='tone219'>219</label></td>
+    <td><input type='checkbox' name='tone' id='tone220'><label for='tone220'>220</label></td>
+    <td><input type='checkbox' name='tone' id='tone221'><label for='tone221'>221</label></td>
+    <td><input type='checkbox' name='tone' id='tone222'><label for='tone222'>222</label></td>
+    <td><input type='checkbox' name='tone' id='tone223'><label for='tone223'>223</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone224'><label for='tone224'>224</label></td>
+    <td><input type='checkbox' name='tone' id='tone225'><label for='tone225'>225</label></td>
+    <td><input type='checkbox' name='tone' id='tone226'><label for='tone226'>226</label></td>
+    <td><input type='checkbox' name='tone' id='tone227'><label for='tone227'>227</label></td>
+    <td><input type='checkbox' name='tone' id='tone228'><label for='tone228'>228</label></td>
+    <td><input type='checkbox' name='tone' id='tone229'><label for='tone229'>229</label></td>
+    <td><input type='checkbox' name='tone' id='tone230'><label for='tone230'>230</label></td>
+    <td><input type='checkbox' name='tone' id='tone231'><label for='tone231'>231</label></td>
+    <td><input type='checkbox' name='tone' id='tone232'><label for='tone232'>232</label></td>
+    <td><input type='checkbox' name='tone' id='tone233'><label for='tone233'>233</label></td>
+    <td><input type='checkbox' name='tone' id='tone234'><label for='tone234'>234</label></td>
+    <td><input type='checkbox' name='tone' id='tone235'><label for='tone235'>235</label></td>
+    <td><input type='checkbox' name='tone' id='tone236'><label for='tone236'>236</label></td>
+    <td><input type='checkbox' name='tone' id='tone237'><label for='tone237'>237</label></td>
+    <td><input type='checkbox' name='tone' id='tone238'><label for='tone238'>238</label></td>
+    <td><input type='checkbox' name='tone' id='tone239'><label for='tone239'>239</label></td>
+  </tr>
+  <tr>
+    <td><input type='checkbox' name='tone' id='tone240'><label for='tone240'>240</label></td>
+    <td><input type='checkbox' name='tone' id='tone241'><label for='tone241'>241</label></td>
+    <td><input type='checkbox' name='tone' id='tone242'><label for='tone242'>242</label></td>
+    <td><input type='checkbox' name='tone' id='tone243'><label for='tone243'>243</label></td>
+    <td><input type='checkbox' name='tone' id='tone244'><label for='tone244'>244</label></td>
+    <td><input type='checkbox' name='tone' id='tone245'><label for='tone245'>245</label></td>
+    <td><input type='checkbox' name='tone' id='tone246'><label for='tone246'>246</label></td>
+    <td><input type='checkbox' name='tone' id='tone247'><label for='tone247'>247</label></td>
+    <td><input type='checkbox' name='tone' id='tone248'><label for='tone248'>248</label></td>
+    <td><input type='checkbox' name='tone' id='tone249'><label for='tone249'>249</label></td>
+    <td><input type='checkbox' name='tone' id='tone250'><label for='tone250'>250</label></td>
+    <td><input type='checkbox' name='tone' id='tone251'><label for='tone251'>251</label></td>
+    <td><input type='checkbox' name='tone' id='tone252'><label for='tone252'>252</label></td>
+    <td><input type='checkbox' name='tone' id='tone253'><label for='tone253'>253</label></td>
+    <td><input type='checkbox' name='tone' id='tone254'><label for='tone254'>254</label></td>
+    <td><input type='checkbox' name='tone' id='tone255'><label for='tone255'>255</label></td>
+  </tr>
+</table>
+<p>
+<input type='button' onClick='checkAllClick()' value='Check All'>
+<input type='button' onClick='clearAllClick()' value='Clear All'>
+<input type='button' onClick='applyClick()' value='Apply'>
+</p>
+<!--<input type='button' onClick='closeClick()' value='Close'>-->
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/backupsettings.html b/userapps/broadcom/cfm/html/backupsettings.html
new file mode 100755 (executable)
index 0000000..8e8b4d1
--- /dev/null
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Device &raquo; Back Up Settings</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function backupClick() {
+   var code = 'location.assign("backupsettings.conf")';
+   eval(code);
+}
+// done hiding -->
+</script>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       writeHeader("Device", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>Back Up Settings</h3>
+
+<p>You can save the router&rsquo;s configuration settings to a file on your computer.</p>
+<p><input type='button' value="Back Up" onClick="backupClick()"></p>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/berrun.html b/userapps/broadcom/cfm/html/berrun.html
new file mode 100755 (executable)
index 0000000..2f2ba6a
--- /dev/null
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>ADSL BER Test</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+<meta http-equiv="refresh" content="2">
+
+
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function frmLoad() {
+   var state = '<%ejGetTest(berState)%>';
+   if ( state == '0' ) {
+      var loc = 'berstop.tst';
+
+      var code = 'location.assign("' + loc + '")';
+      eval(code);
+   }
+}
+
+function btnStop() {
+   var loc = 'berstop.tst?berState=0';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+   window.close();
+}
+
+function btnClose() {
+   var loc = 'berstop.tst?berState=0';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+   window.close();
+}
+
+// done hiding -->
+</script>
+<base target="_self">
+</head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeaderInfo("ADSL BER Test");
+</script>
+
+<h3>Running</h3>
+
+<p>The ADSL BER test is in progress. The connection speed is <%ejGetOther(lineRate,1)%> Kbps.
+The test will run for <%ejGetTest(berTime)%> seconds.</p>
+<p>Click  <b>Stop</b> to terminate the test.</p>
+
+<form>
+<p><input type='button' onClick='btnStop()' value='Stop'><!--<input type='button' onClick='btnClose()' value='Close'>--></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/berstart.html b/userapps/broadcom/cfm/html/berstart.html
new file mode 100755 (executable)
index 0000000..b9ce837
--- /dev/null
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Start</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function btnStart() {
+   var loc = 'berrun.tst?';
+
+   with ( document.forms[0] ) {
+      var idx = berTime.selectedIndex;
+      var val = berTime.options[idx].value;
+      loc += 'berTime=' + val;
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnClose() {
+   window.close();
+}
+
+// done hiding -->
+</script>
+<base target="_self">
+</head>
+
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       writeHeaderInfo("ADSL BER Test");
+</script>
+
+<h3>Start</h3>
+
+<p>The ADSL Bit Error Rate (BER) test determines the quality of the ADSL connection.
+The test is done by transferring idle cells containing a known pattern and
+comparing the received data with this known pattern to check for any errors.</p>
+<p>Select the test duration below and click <b>Start</b>.</p>
+
+<form>
+<p>Tested time: <select name='berTime' id='berTime'>
+      <option value=1>1</option>
+      <option value=5>5</option>
+      <option value=10>10</option>
+      <option value=20 selected>20</option>
+      <option value=60>60</option>
+      <option value=120>120</option>
+      <option value=180>180</option>
+      <option value=240>240</option>
+      <option value=300>300</option>
+      <option value=360>360</option>
+    </select> seconds</p>
+
+<p><input type='button' onClick='btnStart()' value=' Start '><!--<input type='button' onClick='btnClose()' value='Close'>--></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/berstop.html b/userapps/broadcom/cfm/html/berstop.html
new file mode 100755 (executable)
index 0000000..7409001
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Stop</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function btnClose() {
+   window.close();
+}
+
+// done hiding -->
+</script>
+<base target="_self">
+</head>
+
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       writeHeaderInfo("ADSL BER Test");
+</script>
+
+<form>
+       <h3>Result</h3>
+       <p>The ADSL BER test completed successfully.</p>
+       <table border="1" cellpadding="3" cellspacing="0">
+         <tr>
+           <td width="160">Test time:</td>
+           <td><%ejGetTest(berTime)%> seconds</td>
+         </tr>
+         <tr>
+           <td>Total transferred bits:</td>
+           <td><%ejGetTest(berTotalBits)%></td>
+         </tr>
+         <tr>
+           <td>Total error bits:</td>
+           <td><%ejGetTest(berErrorBits)%></td>
+         </tr>
+         <tr>
+           <td>Error ratio:</td>
+           <td><%ejGetTest(berErrorRatio)%></td>
+         </tr>
+       </table>
+       <p><!--<input type='button' onClick='btnClose()' value='Close'>--></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/ddnsadd.html b/userapps/broadcom/cfm/html/ddnsadd.html
new file mode 100755 (executable)
index 0000000..bf5e077
--- /dev/null
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>DNS Add</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+       <script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function ddnsChange() {
+  with ( document.forms[0] ) {
+    var ddns = ddnsMode[ddnsMode.selectedIndex].value;
+
+    switch( ddns ) {
+    case "dyndns":
+      hideDDNSInfo( 0 );
+      hideTZOInfo( 1 );
+      hideDynDNSInfo( 0 );
+      break;
+    case "tzo":
+      hideDDNSInfo( 0 );
+      hideTZOInfo( 0 );
+      hideDynDNSInfo( 1 );
+      break;
+    }
+  }
+}
+
+function hideDDNSInfo(hide) {
+  var status = 'visible';
+  if ( hide == 1 )
+    status = 'hidden';
+  if (document.getElementById) // DOM3 = IE5, NS6
+    document.getElementById('ddnsInfo').style.visibility = status;
+  else {
+    if (document.layers) { // NS4
+      with ( document.forms[0] ) {
+        if ( hide == 1 ) {
+          ddnsHostname.value = '';
+        } else {
+          ddnsHostname.value = 'Host name';
+        }
+      }
+    } else {
+      document.all.ddnsInfo.style.visibility = status;
+    }
+  }
+}
+
+function hideDynDNSInfo(hide) {
+  var status = 'visible';
+  if ( hide == 1 )
+    status = 'hidden';
+  if (document.getElementById) // DOM3 = IE5, NS6
+    document.getElementById('dyndnsInfo').style.visibility = status;
+  else {
+    if (document.layers) { // NS4
+      with ( document.forms[0] ) {
+        if ( hide == 1 ) {
+          dyndnsHostname.value = '';
+        } else {
+          dyndnsHostname.value = 'Host name';
+        }
+      }
+    } else {
+      document.all.ddnsInfo.style.visibility = status;
+    }
+  }
+}
+
+function hideTZOInfo(hide) {
+  var status = 'visible';
+  if ( hide == 1 )
+    status = 'hidden';
+  if (document.getElementById) // DOM3 = IE5, NS6
+    document.getElementById('tzoInfo').style.visibility = status;
+  else {
+    if (document.layers) { // NS4
+      with ( document.forms[0] ) {
+        if ( hide == 1 ) {
+          tzoEmail.value = '';
+          tzoKey.value = '';
+        } else {
+          tzoEmail.value = 'Name';
+          tzoKey.value = 'Password';
+        }
+      }
+    } else {
+      document.all.ddnsInfo.style.visibility = status;
+    }
+  }
+}
+
+function frmLoad() {
+  with (document.forms[0]) {
+    ddnsMode.selectedIndex = 0;
+  }
+
+  ddnsChange();
+}
+
+function btnApply(place) {
+  var loc = place + '?action=add&service=';
+
+  if ( place == "ddnsmngr.cmd" ) {
+    with ( document.forms[0] ) {
+      switch( ddnsMode[ddnsMode.selectedIndex].value ) {
+      case 'dyndns':
+        loc += '1';
+        break;
+      case 'tzo':
+        loc += '0';
+        break;
+      }
+
+      switch( ddnsMode[ddnsMode.selectedIndex].value ) {
+      case "dyndns":
+        update_username = dyndnsUsername.value;
+        update_password = dyndnsPassword.value;
+        break;
+      case "tzo":
+        update_username = tzoEmail.value;
+        update_password = tzoKey.value;
+        break;
+      }
+
+      if ( update_username.length == 0 ) {
+        if ( ddnsMode[ddnsMode.selectedIndex].value == 'dyndns' )
+          alert('Empty username.' );
+        else
+          alert('Invalid Email address.' );
+        return;
+      }
+      loc += '&username=' + update_username;
+
+      if ( update_password.length == 0 ) {
+        if ( ddnsMode[ddnsMode.selectedIndex].value == 'dyndns' )
+          alert('Empty password.' );
+        else
+          alert('Invalid key.' );
+        return;
+      }
+      loc += '&password=' + update_password;
+
+      if ( ddnsHostname.value.length == 0 ) {
+        alert('Please enter a host name.');
+        return;
+      }
+      loc += '&hostname=' + ddnsHostname.value;
+
+      loc += '&iface=' + ddnsInterface[ddnsInterface.selectedIndex].value;
+    }
+    var code = 'location.assign("' + loc + '")';
+    eval(code);
+  }
+}
+// done hiding -->
+       </script>
+</head>
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Dynamic DNS", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+
+<form>
+       <h3>Add Dynamic DDNS</h3>
+
+       <p>This page allows you to add a Dynamic DNS address from
+       DynDNS.org or TZO.</p>
+
+<p><label for="">Dynamic DNS provider:</label>
+       <select name="ddnsMode" id="ddnsMode" onChange='ddnsChange()'>
+               <option value="dyndns">DynDNS.org</option>
+               <option value="tzo">TZO</option>
+       </select>
+</p>
+
+       <div id="ddnsInfo">
+        <table border="0">
+          <tr>
+            <td><label for="ddnsHostname">Host name:</label></td>
+            <td><input type="text" name="ddnsHostname" id="ddnsHostname"></td>
+          </tr>
+          <tr>
+            <td><label for="">Interface:</label></td>
+            <td><select name="ddnsInterface" id="ddnsInterface">
+               <script type="text/javascript">
+<!-- hide
+{
+   var interfaceInfo = '<%ejGetOther(wanInterfaceInfo, route)%>';
+   var interfaces = interfaceInfo.split("|");
+   for (var i = 0; i < interfaces.length; i++)
+   {
+      var names = interfaces[i].split("/");
+      document.write("<option value=\"" + names[1] + "\">");
+      document.writeln(interfaces[i]);
+      document.writeln("</option>");
+   }
+   document.writeln("  <option value=\"br0\">LAN/br0</option>");
+}
+// done hiding -->
+</script>
+        </select></td>
+      </tr>
+    </table>
+  </div>
+
+  <div id="dyndnsInfo">
+    <h3>Dynamic DNS Settings</h3>
+    <table border="0">
+      <tr>
+        <td><label for="dyndnsUsername">User name:</label></td>
+        <td><input type="text" length="50" name="dyndnsUsername" size="20" maxlen="64"></td>
+      </tr>
+      <tr>
+        <td><label for="dyndnsPassword">Password:</label></td>
+        <td><input type="text" length="50" name="dyndnsPassword" id="dyndnsPassword"></td>
+      </tr>
+    </table>
+  </div>
+
+  <div id="tzoInfo">
+    <h3>TZO Settings</h3>
+    <table border="0">
+      <tr>
+        <td><label for="tzoEmail">E-mail:</label></td>
+        <td><input type="text" size="50" maxlength="200" name="tzoEmail" id="tzoEmail"></td>
+      </tr>
+      <tr>
+        <td><label for="tzoKey">Key:</label></td>
+        <td><input type="text" size="50" maxlength="100" name="tzoKey" id="tzoKey"></td>
+      </tr>
+    </table>
+  </div>
+
+       <p><input type="button" value=" Add " onClick="btnApply('ddnsmngr.cmd');"></p>
+
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/defaultsettings.html b/userapps/broadcom/cfm/html/defaultsettings.html
new file mode 100755 (executable)
index 0000000..bff8e35
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Device &raquo; Restore Defaults</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+            <script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function restoreClick() {
+   var code = 'location.assign("restoreinfo.cgi")';
+   eval(code);
+}
+
+// done hiding -->
+</script>
+   </head>
+   <body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       writeHeader("Device", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+
+<h3>Restore Defaults</h3>
+
+<p>Press <b>Restore Default Configuration</b> to restore your router&rsquo;s
+settings to the factory defaults.</p>
+
+<p><b>Note:</b> You will lose any custom settings you&rsquo;ve made to the router.</p>
+
+<form>
+<p><input type='button' value='Restore Default Configuration' onClick='restoreClick()'></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/device_9107.gif b/userapps/broadcom/cfm/html/device_9107.gif
new file mode 100755 (executable)
index 0000000..24ccb8f
Binary files /dev/null and b/userapps/broadcom/cfm/html/device_9107.gif differ
diff --git a/userapps/broadcom/cfm/html/device_9108.gif b/userapps/broadcom/cfm/html/device_9108.gif
new file mode 100755 (executable)
index 0000000..d9ac854
Binary files /dev/null and b/userapps/broadcom/cfm/html/device_9108.gif differ
diff --git a/userapps/broadcom/cfm/html/dhcpinfo.html b/userapps/broadcom/cfm/html/dhcpinfo.html
new file mode 100755 (executable)
index 0000000..8bce8ea
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>LAN &raquo; DHCP Clients</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+   <meta http-equiv="Pragma" content="no-cache">
+   <meta http-equiv="refresh" content="20">
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("LAN", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>DHCP Clients</h3>
+
+<table border="1" cellpadding="4" cellspacing="0">
+       <thead><tr>
+               <th>Host Name</th>
+               <th>MAC Address</th>
+               <th>IP Address</th>
+               <th>Lease Time Remaining</th>
+       </tr></thead>
+
+       <%ejGet(dhcpLeases)%>
+</table>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/diag.html b/userapps/broadcom/cfm/html/diag.html
new file mode 100755 (executable)
index 0000000..9825b31
--- /dev/null
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Device &raquo; Diagnostics</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function displayDiag(diagPrev, diagCurr, diagNext) {
+   var loc = '';
+   // diagCurr should have format "protocol/vpi/vci/conId"
+   var params = diagCurr.split('/');
+
+   switch ( params[0] ) {
+      case 'PPPoE':
+         loc = 'diagpppoe.cgi'; 
+        break;
+      case 'PPPoA':
+         loc = 'diagpppoa.cgi';
+        break;
+      case 'MER':
+         loc = 'diagmer.cgi';
+        break;
+      case 'IPoA':
+         loc = 'diagmer.cgi';
+        break;
+      case 'Bridge':
+         loc = 'diagbr.cgi';
+        break;
+      case 'IPoW':
+         loc = 'diagipow.cgi';
+        break;
+      default:
+         loc = '';
+        break;
+   }
+   loc += '?diagPrev=' + diagPrev + '&diagCurr=' + diagCurr + '&diagNext=' + diagNext;
+
+   var code = 'location.assign("' + loc + '")';
+      eval(code);
+}
+
+function frmLoad() {
+   var i = 0;
+   var interfaceInfo = '<%ejGetOther(diagInfo, diag)%>';
+   var interfaces = interfaceInfo.split('|');
+   var diagCurr = '<%ejGetOther(diagInfo, diagCurr)%>';
+   var diagPrev = '';
+   var diagNext = '';
+   
+   if ( interfaceInfo != '' ) {
+      if ( diagCurr == '' ) {
+         // if there is no current WAN info then
+         // display first available WAN connection
+         diagCurr = interfaces[0];
+         // assign next position info
+         if ( interfaces.length > 1 )
+            diagNext = interfaces[1];
+      } else {
+         // diagCurr and interfaces[i] should have format "protocol/vpi/vci/conId"
+         var currParams = diagCurr.split('/');
+         // find the current position
+         for ( i = 0; i < interfaces.length; i++ ) {
+            var params = interfaces[i].split('/');
+            if ( currParams[0] == params[0] &&
+                 currParams[1] == params[1] &&
+                 currParams[2] == params[2] &&
+                 currParams[3] == params[3] )
+               break;
+         }
+         // assign previous position info
+         if ( i > 0 )
+            diagPrev = interfaces[i - 1];
+         // assign current position info
+         diagCurr = interfaces[i];
+         // assign next position info
+         if ( i + 1 < interfaces.length )
+            diagNext = interfaces[i + 1];
+      }
+      // display current position info
+      displayDiag(diagPrev, diagCurr, diagNext);
+   } else
+   // if there is no wan connection then
+   // display lan diagnostics page
+      eval('location.assign("diaglan.html")');
+}
+
+// done hiding -->
+</script>
+</head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Device", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>Diagnostics</h3>
+
+<!-- Content -->
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/diagbr.html b/userapps/broadcom/cfm/html/diagbr.html
new file mode 100755 (executable)
index 0000000..0a8a772
--- /dev/null
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Device &raquo; Diagnostics</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+       <script src="portName.js" type="text/javascript"></script>
+
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Device", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+       <h3>Diagnostics</h3>
+       <P>Your modem is capable of testing your DSL connection. The individual tests are 
+          listed below. If a test displays a fail status, press <b>Rerun Diagnostic 
+          Tests</b> at the bottom of this page to make sure the fail status is 
+          consistent. If the test continues to fail, press <b>Help</b> and follow 
+          the troubleshooting procedures.</P>
+
+       <P><B>Test the connection to your local network:</B></p>
+
+   <TABLE border="1" cellspacing="0" cellpadding="3">
+      <TBODY>
+       <script src="usr_common.js" type="text/javascript"></script>
+<script type="text/javascript">
+<!-- hide
+var dispName = '';
+if ('<%ejGet(numEnet)%>' == '1') {
+   document.writeln("<TR><TD class='hd' width='250'>Test your Ethernet Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+} else {
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth0');
+   document.writeln(" <TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln(" <TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln(" <TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth1');
+   document.writeln("<TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 18)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+}
+if ('<%ejGet(enblWireless)%>' == '1') {
+   document.writeln("<TR><TD class='hd'>Test your Wireless Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 17)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpwlconn.html'>Help</A></TD></TR>");
+}
+// done hiding -->
+</script>
+                  </TBODY></TABLE>
+
+       <P><B>Test the connection to your DSL service provider:</B></p>
+       <TABLE border="1" cellspacing="0" cellpadding="3">
+          <TBODY>
+             <TR>
+                <TD width="250">Test ADSL synchronization:</TD>
+                <TD width="50"><B><%ejGetOther(diagnostic, 2)%></B>&nbsp;</TD>
+                <TD><A href="hlpadslsync.html">Help</A></TD>
+             </TR>
+             <TR>
+<script type="text/javascript">
+<!-- hide
+var diagType = '<%ejGet(diagType)%>';
+if ( diagType == 'f4' )
+   document.writeln("                        <TD class='hd'>Test ATM OAM segment ping:</TD>");
+else
+   document.writeln("                        <TD class='hd'>Test ATM OAM F5 segment ping:</TD>");
+// done hiding -->
+</script>
+                <TD><B><%ejGetOther(diagnostic, 3)%></B>&nbsp;</TD>
+                <TD><A href="hlpatmseg.html">Help</A></TD>
+             </TR>
+             <TR>
+<script type="text/javascript">
+<!-- hide
+if ( diagType == 'f4' )
+   document.writeln("                        <TD class='hd'>Test ATM OAM end-to-end ping:</TD>");
+else
+   document.writeln("                        <TD class='hd'>Test ATM OAM F5 end-to-end ping:</TD>");
+// done hiding -->
+</script>
+                <TD><B><%ejGetOther(diagnostic, 4)%></B>&nbsp;</TD>
+                <TD><A href="hlpatmetoe.html">Help</A></TD>
+             </TR>
+               </TBODY>
+       </TABLE>
+<script type="text/javascript">
+<!-- hide
+var diagPrev = '<%ejGetOther(diagInfo, diagPrev)%>';
+var diagNext = '<%ejGetOther(diagInfo, diagNext)%>';
+var GO_PREV = 0;
+var GO_NEXT = 1;
+
+function btnGo(where) {
+   var loc = 'diag.cgi?diagCurr=';
+    
+   if ( where == GO_PREV )
+      loc += diagPrev;
+   else
+      loc += diagNext;
+      
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+document.writeln("<p>");
+if ( diagPrev != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_PREV)' value='Previous Connection'>");
+if ( diagNext != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_NEXT)' value='Next Connection'>");
+document.writeln("</p>");
+// done hiding -->
+</script>
+
+       <p>
+               <input type='button' onClick='location.href="diag.cgi?diagType=f5"' value='Rerun Diagnostic Tests'>
+               <input type='button' onClick='location.href="diag.cgi?diagType=f4"' value='Rerun Diagnostic Tests With OAM F4'>
+       </p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/diagipow.html b/userapps/broadcom/cfm/html/diagipow.html
new file mode 100755 (executable)
index 0000000..92142c7
--- /dev/null
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+   <head>
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+      <link rel="stylesheet" href='stylemain.css' type='text/css'>
+          <script language="javascript" src="portName.js"></script>
+         <link rel="stylesheet" href='colors.css' type='text/css'>
+   </head>
+   <body>
+      <blockquote>
+         <form>
+            <b><%ejGetOther(diagInfo, serviceName)%> Diagnostics</b><br>
+            <P>Your modem is capable of testing your DSL connection. The individual tests are 
+               listed below. If a test displays a fail status, click &quot;Rerun Diagnostic 
+               Tests&quot; at the bottom of this page to make sure the fail status is 
+               consistent. If the test continues to fail, click &quot;Help&quot; and follow 
+               the troubleshooting procedures.
+            </P>
+            <P><B>Test the connection to your local network</B>
+               <TABLE border="1" cellspacing="0" cellpadding="3">
+                  <TBODY>
+                     <script language="javascript">
+<!-- hide
+//var brdId = '<%ejGet(boardID)%>';
+var dispName = '';
+if ('<%ejGet(numEnet)%>' == '1') {
+   document.writeln("<TR><TD class='hd' width='250'>Test your Ethernet Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+} else {
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth0');
+   document.writeln(" <TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln(" <TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln(" <TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth1');
+   document.writeln("<TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 18)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+}
+if ('<%ejGet(enblUsb)%>' == '1') {
+   document.writeln("<TR><TD class='hd'>Test your USB Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 13)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpusbconn.html'>Help</A></TD> </TR>");
+}
+if ('<%ejGet(enblWireless)%>' == '1') {
+   document.writeln("<TR><TD class='hd'>Test your Wireless Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 17)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpwlconn.html'>Help</A></TD></TR>");
+}
+// done hiding -->
+</script>
+               </TBODY></TABLE>
+            <P><B>Test the connection to your Internet service provider</B>
+               <TABLE border="1" cellspacing="0" cellpadding="3">
+                  <TBODY>
+                     <TR>
+                        <TD class='hd' width="250">Ping default gateway:
+                        </TD>
+                        <TD width="50"><B><%ejGetOther(diagnostic, 9)%></B>&nbsp;</TD>
+                        <TD><A href="hlppnggw.html">Help</A></TD>
+                     </TR>
+                     <TR>
+                        <TD class='hd'>Ping primary Domain Name System Server:
+                        </TD>
+                        <TD><B><%ejGetOther(diagnostic, 10)%></B>&nbsp;</TD>
+                        <TD><A href="hlppngdns.html">Help</A></TD>
+                     </TR>
+                  </TBODY></TABLE>
+            <CENTER>
+            <br><br>
+<script language="javascript">
+<!-- hide
+var diagPrev = '<%ejGetOther(diagInfo, diagPrev)%>';
+var diagNext = '<%ejGetOther(diagInfo, diagNext)%>';
+var GO_PREV = 0;
+var GO_NEXT = 1;
+
+function btnGo(where) {
+   var loc = 'diag.cgi?diagCurr=';
+    
+   if ( where == GO_PREV )
+      loc += diagPrev;
+   else
+      loc += diagNext;
+      
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+if ( diagPrev != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_PREV)' value='Previous Connection'>");
+if ( diagNext != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_NEXT)' value='Next Connection'>");
+// done hiding -->
+</script>
+            <br>
+                  <input type='button' onClick='location.href="diag.cgi?diagType=f5"' value='Test'>
+                  <input type='button' onClick='location.href="diag.cgi?diagType=f4"' value='Test With OAM F4'>
+            </CENTER>
+         </form>
+      </blockquote>
+   </body>
+</html>
diff --git a/userapps/broadcom/cfm/html/diaglan.html b/userapps/broadcom/cfm/html/diaglan.html
new file mode 100755 (executable)
index 0000000..9dd7383
--- /dev/null
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Device &raquo; Diagnostics</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+       <script src="portName.js" type="text/javascript"></script>
+
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Device", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+
+<h3>Diagnostics</h3>
+
+<p>Your modem is capable of testing your DSL connection. The individual tests are
+listed below. If a test displays a fail status, click <b>Rerun Diagnostic
+Tests</b> at the bottom of this page to make sure the fail status is
+consistent.
+(If the test continues to fail, you can find information about this
+in the user manual on the installation CD-ROM.)
+</p>
+
+<p><b>Test the connection to your local network</b></p>
+
+<TABLE border="1" cellspacing="0" cellpadding="3">
+   <TBODY>
+<script type="text/javascript">
+<!-- hide
+//var brdId = '<%ejGet(boardID)%>';
+var dispName = '';
+if ('<%ejGet(numEnet)%>' == '1') {
+   document.writeln("<TR><TD class='hd' width='250'>Test your LAN connection:</TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+} else {
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth0');
+   document.writeln(" <TR><TD class='hd' width='250'>Test your " + dispName + " connection:</TD>");
+   document.writeln(" <TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln(" <TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth1');
+   document.writeln("<TR><TD class='hd' width='250'>Test your " + dispName + " connection:</TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 18)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+}
+if ('<%ejGet(enblWireless)%>' == '1') {
+   document.writeln("<TR><TD class='hd'>Test your wireless connection:</TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 17)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpwlconn.html'>Help</A></TD></TR>");
+}
+// done hiding -->
+</script>
+</TBODY></TABLE>
+
+<p><b>Test the connection to your DSL service provider</b></p>
+
+<TABLE border="1" cellspacing="0" cellpadding="3">
+   <TBODY>
+      <TR>
+         <td width="250">Test ADSL synchronization:</TD>
+         <TD width="50"><B><%ejGetOther(diagnostic, 2)%></B></TD>
+         <TD><A href="hlpadslsync.html">Help</A></TD>
+      </TR>
+   </TBODY></TABLE>
+
+<P><input type='button' onClick='location.href="diag.html"' value='Rerun Diagnostic Tests'></p>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/diagmer.html b/userapps/broadcom/cfm/html/diagmer.html
new file mode 100755 (executable)
index 0000000..d1d40d7
--- /dev/null
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+   <head>
+       <title>Device &raquo; Diagnostics</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+       <script src="portName.js" type="text/javascript"></script>
+
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+   </head>
+   <body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Diagnostics", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+       <h3><%ejGetOther(diagInfo, serviceName)%></h3>
+       <P>Your modem is capable of testing your DSL connection. The individual tests are 
+          listed below. If a test displays a fail status, press <b>Rerun Diagnostic 
+          Tests</b> at the bottom of this page to make sure the fail status is 
+          consistent. If the test continues to fail, press <b>Help</b> and follow 
+          the troubleshooting procedures.
+       </P>
+
+       <P><b>Test the connection to your local network</b></p>
+   <TABLE border="1" cellspacing="0" cellpadding="3">
+      <TBODY>
+<script type="text/javascript">
+<!-- hide
+var dispName = '';
+if ('<%ejGet(numEnet)%>' == '1') {
+   document.writeln("<TR><TD class='hd' width='250'>Test your Ethernet Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+} else {
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth0');
+   document.writeln(" <TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln(" <TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln(" <TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth1');
+   document.writeln("<TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 18)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+}
+if ('<%ejGet(enblWireless)%>' == '1') {
+   document.writeln("<TR><TD class='hd'>Test your Wireless Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 17)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpwlconn.html'>Help</A></TD></TR>");
+}
+// done hiding -->
+</script>
+                  </TBODY></TABLE>
+
+       <P><b>Test the connection to your DSL service provider</b></p>
+       <TABLE border="1" cellspacing="0" cellpadding="3">
+          <TBODY>
+             <TR>
+                <td width="250">Test ADSL Synchronization:</TD>
+                <TD width="50"><B><%ejGetOther(diagnostic, 2)%></B></TD>
+                <TD><A href="hlpadslsync.html">Help</A></TD>
+             </TR>
+             <TR>
+<script type="text/javascript">
+<!-- hide
+var diagType = '<%ejGet(diagType)%>';
+if ( diagType == 'f4' )
+   document.writeln("                        <TD class='hd'>Test ATM OAM segment ping:</TD>");
+else
+   document.writeln("                        <TD class='hd'>Test ATM OAM F5 segment ping:</TD>");
+// done hiding -->
+</script>
+                <TD><B><%ejGetOther(diagnostic, 3)%></B></TD>
+                <TD><A href="hlpatmseg.html">Help</A></TD>
+             </TR>
+             <TR>
+<script type="text/javascript">
+<!-- hide
+if ( diagType == 'f4' )
+   document.writeln("                        <TD class='hd'>Test ATM OAM end-to-end ping:</TD>");
+else
+   document.writeln("                        <TD class='hd'>Test ATM OAM F5 end-to-end ping:</TD>");
+// done hiding -->
+</script>
+                <TD><B><%ejGetOther(diagnostic, 4)%></B></TD>
+                <TD><A href="hlpatmetoe.html">Help</A></TD>
+             </TR>
+          </TBODY></TABLE>
+
+       <P><B>Test the connection to your Internet service provider</B></p>
+       <TABLE border="1" cellspacing="0" cellpadding="3">
+          <TBODY>
+             <TR>
+                <td width="250">Ping default gateway:
+                </TD>
+                <TD width="50"><B><%ejGetOther(diagnostic, 9)%></B></TD>
+                <TD><A href="hlppnggw.html">Help</A></TD>
+             </TR>
+             <TR>
+                <td>Ping primary Domain Name System server:</TD>
+                <TD><B><%ejGetOther(diagnostic, 10)%></B></TD>
+                <TD><A href="hlppngdns.html">Help</A></TD>
+             </TR>
+          </TBODY></TABLE>
+<script type="text/javascript">
+<!-- hide
+var diagPrev = '<%ejGetOther(diagInfo, diagPrev)%>';
+var diagNext = '<%ejGetOther(diagInfo, diagNext)%>';
+var GO_PREV = 0;
+var GO_NEXT = 1;
+
+function btnGo(where) {
+   var loc = 'diag.cgi?diagCurr=';
+    
+   if ( where == GO_PREV )
+      loc += diagPrev;
+   else
+      loc += diagNext;
+      
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+document.writeln("<p>");
+if ( diagPrev != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_PREV)' value='Previous Connection'>");
+if ( diagNext != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_NEXT)' value='Next Connection'>");
+document.writeln("</p>");
+// done hiding -->
+</script>
+
+       <P>
+               <input type='button' onClick='location.href="diag.cgi?diadType=f5"' value='Rerun Diagnostic Tests'>
+               <input type='button' onClick='location.href="diag.cgi?diadType=f4"' value='Rerun Diagnostic Tests with OAM F4'>
+       </p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/diagpppoa.html b/userapps/broadcom/cfm/html/diagpppoa.html
new file mode 100755 (executable)
index 0000000..f1446cd
--- /dev/null
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+   <head>
+       <title>Device &raquo; Diagnostics</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+       <script src="portName.js" type="text/javascript"></script>
+
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Diagnostics", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+       <h3><%ejGetOther(diagInfo, serviceName)%></h3>
+   <P>Your modem is capable of testing your DSL connection. The individual tests are 
+      listed below. If a test displays a fail status, click <b>Rerun Diagnostic 
+      Tests</b> at the bottom of this page to make sure the fail status is 
+      consistent. If the test continues to fail, click <b>Help</b> and follow 
+      the troubleshooting procedures.
+   </P>
+   
+   <P><b>Test the connection to your local network</b></p>
+      <TABLE border="1" cellspacing="0" cellpadding="3">
+         <TBODY>
+       <script type="text/javascript">
+<!-- hide
+var dispName = '';
+if ('<%ejGet(numEnet)%>' == '1') {
+   document.writeln("<TR><TD class='hd' width='250'>Test your Ethernet Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+} else {
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth0');
+   document.writeln(" <TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln(" <TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln(" <TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth1');
+   document.writeln("<TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 18)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+}
+if ('<%ejGet(enblWireless)%>' == '1') {
+   document.writeln("<TR><TD class='hd'>Test your Wireless Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 17)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpwlconn.html'>Help</A></TD></TR>");
+}
+// done hiding -->
+       </script>
+       </TBODY></TABLE>
+
+       <P><b>Test the connection to your DSL service provider</b></p>
+       <TABLE border="1" cellspacing="0" cellpadding="3">
+          <TBODY>
+             <TR>
+                <td width="250">Test ADSL synchronization:</TD>
+                <TD width="50"><B><%ejGetOther(diagnostic, 2)%></B></TD>
+                <TD><A href="hlpadslsync.html">Help</A></TD>
+             </TR>
+             <TR>
+<script type="text/javascript">
+<!-- hide
+var diagType = '<%ejGet(diagType)%>';
+if ( diagType == 'f4' )
+   document.writeln("                        <TD class='hd'>Test ATM OAM segment ping:</TD>");
+else
+   document.writeln("                        <TD class='hd'>Test ATM OAM F5 segment ping:</TD>");
+// done hiding -->
+</script>
+                <TD><B><%ejGetOther(diagnostic, 3)%></B></TD>
+                <TD><A href="hlpatmseg.html">Help</A></TD>
+             </TR>
+             <TR>
+<script type="text/javascript">
+<!-- hide
+if ( diagType == 'f4' )
+   document.writeln("                        <TD class='hd'>Test ATM OAM end-to-end ping:</TD>");
+else
+   document.writeln("                        <TD class='hd'>Test ATM OAM F5 end-to-end ping:</TD>");
+// done hiding -->
+</script>
+            <TD><B><%ejGetOther(diagnostic, 4)%></B></TD>
+            <TD><A href="hlpatmetoe.html">Help</A></TD>
+         </TR>
+      </TBODY></TABLE>
+
+       <P><B>Test the connection to your Internet service provider</B></p>
+   <TABLE border="1" cellspacing="0" cellpadding="3">
+      <TBODY>
+         <TR>
+            <td width="250">Test PPP server connection:</TD>
+            <TD width="50"><B><%ejGetOther(diagnostic, 6)%></B></TD>
+            <TD><A href="hlppppoasess.html">Help</A></TD>
+         </TR>
+         <TR>
+            <td>Test authentication with ISP:</TD>
+            <TD><B><%ejGetOther(diagnostic, 7)%></B></TD>
+            <TD><A href="hlppppoeauth.html">Help</A></TD>
+         </TR>
+         <script type="text/javascript">
+<!-- hide
+var ipExtension = '<%ejGetOther(sysInfo, pppIpExtension)%>';
+
+if ( ipExtension == '0' ) {
+   document.writeln("<TR>");
+   document.writeln("  <td>Test the assigned IP address: </TD>");
+   document.writeln("  <TD><B><%ejGetOther(diagnostic, 8)%></B></TD>");
+   document.writeln("  <TD><A href='hlppppoeip.html'>Help</A></TD></TR>");
+   document.writeln("<TR>");
+   document.writeln("  <td>Ping default gateway: </TD>");
+   document.writeln("  <TD><B><%ejGetOther(diagnostic, 9)%></B></TD>");
+   document.writeln("  <TD><A href='hlppnggw.html'>Help</A></TD></TR>");
+   document.writeln("<TR>");
+   document.writeln("  <td>Ping primary Domain Name System Server: </TD>");
+   document.writeln("  <TD><B><%ejGetOther(diagnostic, 10)%></B></TD>");
+   document.writeln("  <TD><A href='hlppngdns.html'>Help</A></TD></TR>");
+}
+// done hiding -->
+        </script>
+       </TBODY></TABLE>
+
+<script type="text/javascript">
+<!-- hide
+var diagPrev = '<%ejGetOther(diagInfo, diagPrev)%>';
+var diagNext = '<%ejGetOther(diagInfo, diagNext)%>';
+var GO_PREV = 0;
+var GO_NEXT = 1;
+
+function btnGo(where) {
+   var loc = 'diag.cgi?diagCurr=';
+    
+   if ( where == GO_PREV )
+      loc += diagPrev;
+   else
+      loc += diagNext;
+      
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+document.writeln("<p>");
+if ( diagPrev != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_PREV)' value='Previous Connection'>");
+if ( diagNext != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_NEXT)' value='Next Connection'>");
+document.writeln("</p>");
+// done hiding -->
+</script>
+       
+        <P>
+               <input type='button' onClick='location.href="diag.cgi?diagType=f5"' value='Rerun Diagnostic Tests'>
+               <input type='button' onClick='location.href="diag.cgi?diagType=f4"' value='Rerun Diagnostic Tests With OAM F4'>
+       </p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/diagpppoe.html b/userapps/broadcom/cfm/html/diagpppoe.html
new file mode 100755 (executable)
index 0000000..d8699d7
--- /dev/null
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+   <head>
+       <title>Device &raquo; Diagnostics</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+       <script src="portName.js" type="text/javascript"></script>
+
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+   </head>
+   <body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Diagnostics", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+       <h3><%ejGetOther(diagInfo, serviceName)%></h3>
+   <P>Your modem is capable of testing your DSL connection. The individual tests are 
+      listed below. If a test displays a fail status, press <b>Rerun Diagnostic 
+      Tests</b> at the bottom of this page to make sure the fail status is 
+      consistent. If the test continues to fail, press <b>Help</b> and follow 
+      the troubleshooting procedures.
+   </P>
+   <P><b>Test the connection to your local network</b></p>
+      <TABLE border="1" cellspacing="0" cellpadding="3">
+         <TBODY>
+            <script type="text/javascript">
+<!-- hide
+var dispName = '';
+if ('<%ejGet(numEnet)%>' == '1') {
+   document.writeln("<TR><TD class='hd' width='250'>Test your Ethernet Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+} else {
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth0');
+   document.writeln(" <TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln(" <TD><B><%ejGetOther(diagnostic, 1)%></B>&nbsp;</TD>");
+   document.writeln(" <TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+   dispName = getUNameByLName('<%ejGet(boardID)%>' + '|eth1');
+   document.writeln("<TR><TD class='hd' width='250'>Test your " + dispName + " Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 18)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpethconn.html'>Help</A></TD> </TR>");
+}
+if ('<%ejGet(enblWireless)%>' == '1') {
+   document.writeln("<TR><TD class='hd'>Test your Wireless Connection: </TD>");
+   document.writeln("<TD><B><%ejGetOther(diagnostic, 17)%></B>&nbsp;</TD>");
+   document.writeln("<TD><A href='hlpwlconn.html'>Help</A></TD></TR>");
+}
+// done hiding -->
+</script>
+   </TBODY></TABLE>
+
+       <P><b>Test the connection to your DSL service provider</b></p>
+   <TABLE border="1" cellspacing="0" cellpadding="3">
+      <TBODY>
+         <TR>
+            <td width="250">Test ADSL synchronization:</TD>
+            <TD width="50"><B><%ejGetOther(diagnostic, 2)%></B></TD>
+            <TD><A href="hlpadslsync.html">Help</A></TD>
+         </TR>
+         <TR>
+<script type="text/javascript">
+<!-- hide
+var diagType = '<%ejGet(diagType)%>';
+if ( diagType == 'f4' )
+   document.writeln("                        <TD class='hd'>Test ATM OAM segment ping:</TD>");
+else
+   document.writeln("                        <TD class='hd'>Test ATM OAM F5 segment ping:</TD>");
+// done hiding -->
+</script>
+            <TD><B><%ejGetOther(diagnostic, 3)%></B></TD>
+            <TD><A href="hlpatmseg.html">Help</A></TD>
+         </TR>
+         <TR>
+<script type="text/javascript">
+<!-- hide
+if ( diagType == 'f4' )
+   document.writeln("                        <TD class='hd'>Test ATM OAM end-to-end ping:</TD>");
+else
+   document.writeln("                        <TD class='hd'>Test ATM OAM F5 end-to-end ping:</TD>");
+// done hiding -->
+</script>
+            <TD><B><%ejGetOther(diagnostic, 4)%></B></TD>
+            <TD><A href="hlpatmetoe.html">Help</A></TD>
+         </TR>
+      </TBODY></TABLE>
+
+       <P><B>Test the connection to your Internet service provider</B></p>
+   <TABLE border="1" cellspacing="0" cellpadding="3">
+      <TBODY>
+         <TR>
+            <td width="250">Test PPP server connection:</TD>
+            <TD width="50"><B><%ejGetOther(diagnostic, 6)%></B></TD>
+            <TD><A href="hlppppoeconn.html">Help</A></TD>
+         </TR>
+         <TR>
+            <td>Test authentication with ISP:</TD>
+            <TD><B><%ejGetOther(diagnostic, 7)%></B></TD>
+            <TD><A href="hlppppoeauth.html">Help</A></TD>
+         </TR>
+         <script type="text/javascript">
+<!-- hide
+var ipExtension = '<%ejGetOther(sysInfo, pppIpExtension)%>';
+
+if ( ipExtension == '0' ) {
+   document.writeln("<TR>");
+   document.writeln("  <td>Test the assigned IP address: </TD>");
+   document.writeln("  <TD><B><%ejGetOther(diagnostic, 8)%></B></TD>");
+   document.writeln("  <TD><A href='hlppppoeip.html'>Help</A></TD></TR>");
+   document.writeln("<TR>");
+   document.writeln("  <td>Ping default gateway: </TD>");
+   document.writeln("  <TD><B><%ejGetOther(diagnostic, 9)%></B></TD>");
+   document.writeln("  <TD><A href='hlppnggw.html'>Help</A></TD></TR>");
+   document.writeln("<TR>");
+   document.writeln("  <td>Ping primary Domain Name System Server: </TD>");
+   document.writeln("  <TD><B><%ejGetOther(diagnostic, 10)%></B></TD>");
+   document.writeln("  <TD><A href='hlppngdns.html'>Help</A></TD></TR>");
+}
+// done hiding -->
+        </script>
+       </TBODY></TABLE>
+
+<script type="text/javascript">
+<!-- hide
+var diagPrev = '<%ejGetOther(diagInfo, diagPrev)%>';
+var diagNext = '<%ejGetOther(diagInfo, diagNext)%>';
+var GO_PREV = 0;
+var GO_NEXT = 1;
+
+function btnGo(where) {
+   var loc = 'diag.cgi?diagCurr=';
+    
+   if ( where == GO_PREV )
+      loc += diagPrev;
+   else
+      loc += diagNext;
+      
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+document.writeln("<p>");
+if ( diagPrev != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_PREV)' value='Previous Connection'>");
+if ( diagNext != '' )
+   document.writeln("                  <input type='button' onClick='btnGo(GO_NEXT)' value='Next Connection'>");
+document.writeln("</p>");
+// done hiding -->
+</script>
+       
+        <P>
+               <input type='button' onClick='location.href="diag.cgi?diagType=f5"' value='Rerun Diagnostic Tests'>
+               <input type='button' onClick='location.href="diag.cgi?diagType=f4"' value='Rerun Diagnostic Tests With OAM F4'>
+       </p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/dnscfg.html b/userapps/broadcom/cfm/html/dnscfg.html
new file mode 100755 (executable)
index 0000000..4ed08a1
--- /dev/null
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+   <head>
+       <title>Internet &raquo; DNS Server</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+   <script type="text/javascript" src="util.js"></script>
+   <script type="text/javascript">
+<!-- hide
+
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var state = '<%ejGet(dnsRefresh)%>';
+if ( state == '1' ) {
+   var code = 'location.assign("dnscfg.cgi?dnsRefresh=0")';
+   eval(code);
+}
+
+function hideDnsInfo(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('dnsInfo').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.dnsInfo.style.visibility = status;
+   }
+}
+
+
+function dnsClick(cb) {
+   if (cb.checked == true)
+      hideDnsInfo(1);
+   else
+      hideDnsInfo(0);
+}
+
+function btnApply() {
+   var loc = 'dnscfg.cgi?';
+
+   with ( document.forms[0] ) {
+      if (enableAuto.checked == false) {
+         if ( isValidIpAddress(dnsPrimary.value) == false ) {
+            alert('Primary DNS "' + dnsPrimary.value + '" has invalid IP address.');
+            return;
+         }
+         loc += 'dnsPrimary=' + dnsPrimary.value;
+         if (dnsSecondary.value != '') {
+            if ( isValidIpAddress(dnsSecondary.value) == false ) {
+               alert('Secondary DNS "' + dnsSecondary.value + '" has invalid IP address.');
+               return;
+            }
+            loc += '&dnsSecondary=' + dnsSecondary.value;
+         }
+         else
+            loc += '&dnsSecondary=' + '0.0.0.0';
+         loc += '&dnsDynamic=0';
+         loc += '&dnsRefresh=1';
+      }
+      else {
+         loc += 'dnsPrimary=' + '0.0.0.0';
+         loc += '&dnsSecondary=' + '0.0.0.0';
+         loc += '&dnsDynamic=1';
+         loc += '&dnsRefresh=0';
+      }
+   }
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+
+function frmLoad() {
+   with ( document.forms[0] ) {
+      var auto = '<%ejGetOther(sysInfo, dnsAuto)%>';
+
+      var dns1 = '<%ejGetOther(sysInfo, dns)%>';
+      if ( dns1 == '&nbsp;' ) dns1 = '';
+
+      var dns2 = '<%ejGetOther(sysInfo, dns2)%>';
+      if ( dns2 == '&nbsp;' ) dns2 = '';
+
+      if ( auto == '1' ) {
+         enableAuto.checked = true;
+            dnsPrimary.value = '';
+            dnsSecondary.value = '';
+         hideDnsInfo(1);
+      } else {
+         enableAuto.checked = false;
+         dnsPrimary.value = dns1;
+         dnsSecondary.value = dns2;
+         hideDnsInfo(0);
+      }
+   }
+}
+
+function btnReset() {
+   var loc = 'rebootinfo.cgi';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+
+// done hiding -->
+</script>
+   </head>
+   <body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Internet", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+
+<h3>DNS Server</h3>
+
+<p>If the <b>Automatically-assigned DNS</b> check box is selected, this router will accept
+the first received DNS assignment from one of the PPPoA, PPPoE or MER/DHCP
+enabled PVC(s) during the connection establishment. If the checkbox is
+cleared, enter the primary and optional secondary DNS server IP addresses.
+Press <b>Apply</b> to save it.
+</P>
+
+<P><b>Note:</b> If you select the <b>Automatically-assigned DNS</b> check box,
+you must restart the router to get the automatically-assigned DNS addresses.</P>
+
+<form>
+   <p><input type='checkbox' name='enableAuto' id='enableAuto' onclick='dnsClick(this)'> <label for="enableAuto">Automatically-assigned DNS</label></p>
+
+   <div id='dnsInfo'>
+      <table border="0">
+         <tr>
+            <td><label for="dnsPrimary">Primary DNS server:</label></td>
+            <td><input type='text' name='dnsPrimary' id='dnsPrimary'></td>
+         </tr>
+         <tr>
+            <td><label for="dnsSecondary">Secondary DNS server:</label></td>
+            <td><input type='text' name='dnsSecondary' id='dnsSecondary'></td>
+         </tr>
+      </table>
+   </div>
+
+   <p><input type='button' onClick='btnApply()' value='Apply'>
+       <input type='button' onClick='btnReset()' value='Restart'>
+   </p>
+</form>
+
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/enblbridge.html b/userapps/broadcom/cfm/html/enblbridge.html
new file mode 100755 (executable)
index 0000000..2423c2b
--- /dev/null
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>LAN &raquo; Bridge Service</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var service = '<%ejGet(serviceName)%>';
+var vpi = '<%ejGet(atmVpi)%>';
+var vci = '<%ejGet(atmVci)%>';
+var qs = '<%ejGet(quickSetup)%>';
+
+function btnNext() {
+   var loc = 'ntwksum2.cgi?';
+
+   if ( qs == '1' )
+      loc = 'lancfgbr.cgi?';
+
+   // protocol is bridge
+   loc += 'ntwkPrtcl=3';
+
+   with ( document.forms[0] ) {
+      if ( enblService.checked == true )
+         loc += '&enblService=1';
+      else
+         loc += '&enblService=0';
+      loc += '&serviceName=' + encodeUrl(serviceName.value);
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+
+function btnBack() {
+   var code = 'location.assign("' + 'ntwkprtcl.cgi' + '")';
+   eval(code);
+}
+
+function frmLoad() {
+   var enableService = '<%ejGet(enblService)%>';
+
+   with ( document.forms[0] ) {
+      if ( enableService == '1' )
+         enblService.checked = true;
+      else
+         enblService.checked = false;
+
+      if ( service == '' )
+         service = 'br_' + vpi + '_' + vci;
+      serviceName.value = service;
+   }
+}
+
+// done hiding -->
+</script>
+</head>
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Bridge Service", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+       <p><b>Clear the check box below to disable this WAN service</b>.</p>
+
+       <p><input type='checkbox' name='enblService' id='enblService' checked> <label for="enblService">Enable bridge service</label></p>
+       <p><label for="serviceName">Service name:</label> <input type="text" name="serviceName" id="serviceName"></p>
+
+       <p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Next'></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/enblservice.html b/userapps/broadcom/cfm/html/enblservice.html
new file mode 100755 (executable)
index 0000000..c9d80c2
--- /dev/null
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var prtcl = '<%ejGetOther(memInfo, ntwkPrtcl)%>';
+var ipExtension = '<%ejGet(pppIpExtension)%>';
+var service = '<%ejGet(serviceName)%>';
+var vpi = '<%ejGet(atmVpi)%>';
+var vci = '<%ejGet(atmVci)%>';
+var qs = '<%ejGet(quickSetup)%>';
+var iport = '<%ejGet(openInPorts)%>';
+
+function btnNext() {
+   var loc = 'ntwksum2.cgi?';
+
+   if ( qs == '1' ) {
+      if ( (ipExtension == '1') &&
+           ((prtcl == 'PPPoE') || (prtcl == 'PPPoA')) )
+         loc = 'lancfgbr.cgi?';
+      else
+         loc = 'lancfg.cgi?';
+   }
+
+   with ( document.forms[0] ) {
+      len = serviceName.value.length;
+      if (len > 32) {
+         alert('The length of service name (' + len + ') is too long [0-32].');
+         return;
+      }
+      if ( enblIgmp.checked == true )
+         loc += 'enblIgmp=1';
+      else
+         loc += 'enblIgmp=0';
+      if ( enblService.checked == true )
+         loc += '&enblService=1';
+      else
+         loc += '&enblService=0';
+      if ( openInPorts.checked == true )
+         loc += '&openInPorts=1';
+      else
+         loc += '&openInPorts=0';
+      loc += '&serviceName=' + encodeUrl(serviceName.value);
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnBack() {
+   var loc;
+
+   if ( prtcl == 'PPPoE' || prtcl == 'PPPoA' )
+      loc = 'pppoe.html';
+   else if ( prtcl == 'IPoA' )
+      loc = 'ipoacfg.html';
+   else if ( prtcl == 'MER' )
+      loc = 'wancfg.html';
+   else
+      loc = 'ntwkprtcl.html';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function frmLoad() {
+   var enableIgmp = '<%ejGet(enblIgmp)%>';
+   var enableService = '<%ejGet(enblService)%>';
+
+   if ( service == '' ) {
+      switch ( prtcl ) {
+         case 'PPPoE':
+            service = 'pppoe_' + vpi + '_' + vci;
+            break;
+         case 'PPPoA':
+            service = 'pppoa_' + vpi + '_' + vci;
+            break;
+         case 'MER':
+            service = 'mer_' + vpi + '_' + vci;
+            break;
+         case 'IPoA':
+            service = 'ipoa_' + vpi + '_' + vci;
+            break;
+         case 'Bridge':
+            service = 'br_' + vpi + '_' + vci;
+            break;
+         case 'IPoW':
+            service = 'eth_' + vpi;
+            break;
+      }
+   }
+
+   with ( document.forms[0] ) {
+      if ( enableIgmp == '1' )
+         enblIgmp.checked = true;
+      else
+         enblIgmp.checked = false;
+      if ( enableService == '1' )
+         enblService.checked = true;
+      else
+         enblService.checked = false;
+      if ( iport == '1' )
+         openInPorts.checked = true;
+      else
+         openInPorts.checked = false;
+      serviceName.value = service;
+   }
+}
+
+// done hiding -->
+</script>
+</head>
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("IGMP and WAN Services", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+       <p><input type='checkbox' name='enblIgmp' id='enblIgmp' checked> <label for="enblIgmp">IGMP multicast</label></p>
+       <p><input type='checkbox' name='enblService' id='enblService' checked> <label for="enblService">WAN service</label></p>
+       <p><label for="serviceName">Service name:</label> <input type="text" name="serviceName" id="serviceName"></p>
+
+   <div id='openInPort'>
+               <p><input type='checkbox' name='openInPorts' id='openInPorts' checked> <label for="openInPorts">Allow "Reaim" proxy</label></p>
+      <p>Clear <b>Allow "Reaim" proxy</b> to disable "Reaim" proxy support for AOL and MSN Instant Messenger.</p>
+   </div>
+
+   <p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Next'></p>
+</form>
+
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlpadslsync.html b/userapps/broadcom/cfm/html/hlpadslsync.html
new file mode 100755 (executable)
index 0000000..44036a5
--- /dev/null
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("ADSL Synchronization Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+    <table border="1" cellpadding="4">
+      <tr> 
+        <td> 
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that the DSL modem has detected a DSL signal 
+          from the telephone company. A solid DSL LED on the modem also indicates 
+          the detection of a DSL signal from the telephone company.</td>
+      </tr>
+      <tr> 
+        <td> 
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the DSL modem does not detect a signal 
+          from the telephone company's DSL network. The DSL LED will continue 
+          to flash green.</td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and 
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+      button at the bottom of this page. If all the tests pass, close and restart 
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <ol>
+      <li> 
+        <p>Make sure your phone line is plugged into the modem. </p>
+      </li>
+      <li>
+        <p>After turning on your DSL modem, wait for at least one minute to establish 
+          a connection. Run the diagnostic tests again by clicking on the <b>Rerun 
+          Diagnostic Tests</b> button at the bottom of this page. </p>
+      </li>
+      <li> 
+        <p>Make sure there is no DSL micro filter on the phone cord connecting 
+          the DSL modem to the wall jack.</p>
+      </li>
+      <li> 
+        <p>Make sure you are using the phone cord that was supplied with your 
+          DSL modem or another similar phone cord with four copper wires visible 
+          in the plug. </p>
+      </li>
+      <li> 
+        <p>If your DSL has been functioning properly for a long period of time 
+          and you suddenly are experiencing this problem, there may be a problem 
+          with the DSL network. You may need to wait from 30 minutes to a couple 
+          of hours, and if you still do not have a solid DSL LED on your modem, 
+          call Technical Support. </p>
+      </li>
+      <li> 
+        <p>Turn off the power to the DSL modem, wait 10 seconds and turn it back 
+          on. Wait at least one minute and if the DSL LED on the modem remains 
+          a solid color, close your Web browser and restart it. </p>
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+      are experiencing a fail condition. <BR>
+    </p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
+
diff --git a/userapps/broadcom/cfm/html/hlpatmetoe.html b/userapps/broadcom/cfm/html/hlpatmetoe.html
new file mode 100755 (executable)
index 0000000..811e1ff
--- /dev/null
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("ATM OAM End-to-end Ping Test", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+    <table border="1" cellpadding="4">
+      <tr> 
+        <td> 
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that the DSL modem can communicate with the 
+          DSL provider network.</td>
+      </tr>
+      <tr> 
+        <td> 
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the DSL modem may not be able to communicate 
+          with the DSL provider network. Occasionally the DSL provider network 
+          may intentionally block this traffic. Therefore if this test fails but 
+          you are still able to access the Internet, there is no need to troubleshoot 
+          this issue. </td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and 
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+      button at the bottom of this page. If all the tests pass, close and restart 
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <P> 
+    <p>NOTE: This test will fail if <i>Test ADSL Synchronization </i>also fails. 
+      Troubleshoot the <i>Test ADSL Synchronization</i> test first. </p>
+    <ol>
+      <li> 
+        <p>Turn off the DSL modem, wait 10 seconds and turn it back on. </p>
+      </li>
+      <li>
+        <p>With the modem on, press the external reset button on the DSL modem 
+          for at least five seconds and release it. This resets the DSL modem 
+          to its default settings. Wait for the DSL modem to completely restart, 
+          then close and restart your Web browser. To reconfigure the modem, type 
+          your DSL account user name and password.</p>
+      </li>
+      <li> 
+        <p>If this is the first time you are setting up your DSL modem, you may 
+          need to reconfigure your VPI/VCI settings. Contact your ISP&rsquo;s Technical Support 
+          for assistance. </p>
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+      are experiencing a fail condition.<BR>
+    </p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlpatmseg.html b/userapps/broadcom/cfm/html/hlpatmseg.html
new file mode 100755 (executable)
index 0000000..cc9c5ba
--- /dev/null
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("ATM OAM Segment Ping Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+    <table border="1" cellpadding="4">
+      <tr> 
+        <td> 
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that the DSL modem can communicate with the 
+          DSL provider network. </td>
+      </tr>
+      <tr> 
+        <td> 
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the DSL modem may not be able to communicate 
+          with the DSL provider network. This test may have an effect on your 
+          Internet connectivity. Occasionally the DSL provider network may intentionally 
+          block this traffic. Therefore if this test fails but you are still able 
+          to access the Internet, there is no need to troubleshoot this issue. 
+        </td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and 
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+      button at the bottom of this page. If all the tests pass, close and restart 
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <P> 
+    <p><b>Note:</b> This test will fail if <i>Test ADSL Synchronization </i> also fails. 
+      Troubleshoot the <i>Test ADSL Synchronization</i> test first.</p>
+    <ol>
+      <li> 
+        <p>Turn off the DSL modem, wait 10 seconds and turn it back on.</p>
+      </li>
+      <li> 
+        <p>With the modem on, press the external reset button on the DSL modem 
+          for at least five seconds and release it. This resets the DSL modem 
+          to its default settings. Wait for the DSL modem to completely restart, 
+          then close and restart your Web browser. To reconfigure the modem, type 
+          your DSL account user name and password.</p>
+      </li>
+      <li> 
+        <p>If this is the first time you are setting up your DSL modem, you may 
+          need to reconfigure your VPI/VCI settings. Please contact your ISP&rsquo;s
+          customer service for assistance. </p>
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s customer service if you have tried all of the above and still 
+      are experiencing a fail condition.<BR>
+    </p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlpethconn.html b/userapps/broadcom/cfm/html/hlpethconn.html
new file mode 100755 (executable)
index 0000000..da4895b
--- /dev/null
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Ethernet Connection Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+
+<form> 
+ <table border="1" cellpadding="4">
+   <tr> 
+     <td> 
+       <div align="center"><b>Pass:</b></div>
+     </td>
+     <td>Indicates that the Ethernet interface from your computer 
+       is connected to the LAN port of your router. A flashing or solid 
+       green LAN LED on the router also signifies that an Ethernet connection 
+       is present and that this test is successful.</td>
+   </tr>
+   <tr> 
+     <td> 
+       <div align="center"><b>Fail:</b></div>
+     </td>
+     <td>Indicates that the router does not detect the Ethernet 
+       interface on your computer.</td>
+   </tr>
+ </table>
+
+ <P>If the test fails, follow the troubleshooting procedures listed below and 
+   rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+   button at the bottom of this page. If all the tests pass, close and restart 
+   your Web browser to access the Internet.</P>
+ <P><B>Troubleshooting:</B></P>
+
+ <ol>
+   <li> 
+     <p>If you are not able to access this page, verify that the Ethernet cable 
+       from your computer is connected to the LAN port on the router. 
+       Reseat the cable by unplugging both ends and reconnecting them to their 
+       respective ports. </p>
+   </li>
+   <li> 
+     <p>Turn off the router, wait 10 seconds and turn it back on. </p>
+   </li>
+   <li> 
+     <p>Make sure you are using the Ethernet cable supplied with your router.</p>
+   </li>
+   <li> 
+     <p>With the router on, press the Reset button on the router
+       for at least five seconds and release it. This resets the router 
+       to its default settings. Wait for the router to initialize, 
+       then close and restart your Web browser. To reconfigure the router, type 
+       your DSL account username and password.</p>
+   </li>
+ </ol>
+
+ <p><input type='button' onClick='location.href="diag.html"' value='Rerun Diagnostic Tests' name="button" id="button"></p>
+
+ <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+   are experiencing a fail condition.</p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/hlppngdns.html b/userapps/broadcom/cfm/html/hlppngdns.html
new file mode 100755 (executable)
index 0000000..5992478
--- /dev/null
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Ping Primary Domain Name System Server Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+  <form>
+    <table border="1" cellpadding="4">
+      <tr> 
+        <td> 
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that the DSL modem can communicate with the 
+          primary Domain Name System (DNS) Server. </td>
+      </tr>
+      <tr> 
+        <td> 
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the DSL modem was unable to communicate 
+          the primary Domain Name System (DNS) Server. It may not have an effect on your 
+          Internet connectivity. Therefore if this test fails but you are still 
+          able to access the Internet, there is no need to troubleshoot this issue.</td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and 
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+      button at the bottom of this page. If all the tests pass, close and restart 
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <P>NOTE: If <i>Ping Default Gateway</i> fails, this test result displays N/A. 
+    <ol>
+      <li> 
+        <p>Turn off the router, wait 10 seconds, and turn it back on. Wait 
+          at least one minute for the router to completely restart and to establish 
+          a connection. If the PPPoE LED on the modem turns solid green, close 
+          your Web browser and restart it. </p>
+      </li>
+      <li> 
+        <p>With the modem on, press the external Reset button on the DSL modem 
+          for at least five seconds and release it. This resets the DSL modem 
+          to its default settings. Wait for the DSL modem to completely restart, 
+          then close and restart your Web browser. To reconfigure the modem, type 
+          your DSL account user name and password.</p>
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+      are experiencing a fail condition.<BR>
+    </p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlppnggw.html b/userapps/broadcom/cfm/html/hlppnggw.html
new file mode 100755 (executable)
index 0000000..cbc8f48
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Ping Default Gateway Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+ <table border="1" cellpadding="4">
+   <tr> 
+     <td> 
+       <div align="center"><b>Pass:</b></div>
+     </td>
+     <td>Indicates that the router can communicate with the 
+       first entry point to the network. It is usually the IP address of the 
+       ISP local router. </td>
+   </tr>
+   <tr> 
+     <td> 
+       <div align="center"><b>Fail:</b></div>
+     </td>
+     <td>Indicates that the router was unable to communicate 
+       with the first entry point on the network. It may not have an effect 
+       on your Internet connectivity. Therefore if this test fails but you 
+       are still able to access the Internet, there is no need to troubleshoot 
+       this issue.</td>
+   </tr>
+ </table>
+ <P>If the test fails, follow the troubleshooting procedures listed below and 
+   rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+   button at the bottom of this page. If all the tests pass, close and restart 
+   your Web browser to access the Internet.</P>
+ <P><B>Troubleshooting:</B></P>
+ <P>NOTE: If <i>Test the assigned IP address</i> fails, this test result displays 
+   N/A. 
+ <ol>
+   <li>Turn off the router, wait 10 seconds, and turn it back on. Wait at 
+     least one minute for the modem to completely restart and to establish 
+     a connection. If the PPPoE LED is on the modem turns solid green, close 
+     your Web browser and restart it. </li>
+ </ol>
+ <p> 
+   <input type='button' onClick='location.href="diag.html"'
+               value='Rerun Diagnostic Tests' name="button" id="button">
+ </p>
+ <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+   are experiencing a fail condition.</p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlppppoasess.html b/userapps/broadcom/cfm/html/hlppppoasess.html
new file mode 100755 (executable)
index 0000000..cb443e9
--- /dev/null
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("PPP Server Session Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+  <form>
+    <table border="1" cellpadding="4">
+      <tr> 
+        <td> 
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that the PPP server has established a valid 
+          PPP session with your router. </td>
+      </tr>
+      <tr> 
+        <td> 
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the PPP server cannot establish a valid 
+          PPP session your router. A flashing green PPP light on the router 
+          signifies an attempt to establish a PPP connection. </td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and 
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+      button at the bottom of this page. If all the tests pass, close and restart 
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <P>NOTE: If <i>Test Ethernet connection to ATM</i> fails, this test result 
+      displays N/A. 
+    <ol>
+      <li> 
+        After turning on your router, wait for at least one minute to establish 
+          a connection. Run the diagnostic tests again by clicking on the <b>Rerun 
+          Diagnostic Tests</b> button at the bottom of this page.
+      </li>
+      <li> 
+        Turn off the power to the router, wait 10 seconds, and turn it back 
+          on. Wait at least one minute for the router to completely restart and 
+          to establish a connection. If the PPP light on the router turns solid 
+          green, close your Web browser and restart it.
+      </li>
+      <li> 
+        If this is the first time you are setting up your router, you may 
+          need to reconfigure your VPI/VCI settings. Contact your ISP&rsquo;s Technical Support 
+          for assistance.
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+      are experiencing a fail condition.</p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlppppoeauth.html b/userapps/broadcom/cfm/html/hlppppoeauth.html
new file mode 100755 (executable)
index 0000000..bb9d601
--- /dev/null
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Authentication With ISP Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+  <form>
+    <table border="1" cellpadding="4">
+      <tr>
+        <td>
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that your user name and password stored in the
+          router has authenticated with ISP&rsquo;s network.</td>
+      </tr>
+      <tr>
+        <td>
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the router was unable to verify your
+          user name and password with ISP&rsquo;s network. </td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b>
+      button at the bottom of this page. If all the tests pass, close and restart
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <P>NOTE: If <i>Test PPP server connection</i> fails, this test result displays
+      N/A.
+    <ol>
+      <li>
+        <p>After turning on your router, wait for at least one minute to establish
+          a connection. Run the diagnostic tests again by clicking on the <b>Rerun
+          Diagnostic Tests</b> button at the bottom of this page. </p>
+      </li>
+      <li>
+        <p>If this is the first time you are configuring your router, your
+          user name and password are case-sensitive; make sure your <i>Caps Lock</i>
+          on your keyboard is not enabled. When prompted to type your user name,
+          type your full e-mail address. </p>
+      </li>
+      <li>
+        <p>With the router on, press the external Reset button on the router
+          for at least five seconds and release it, wait for it to completely
+          restart, then close and restart your Web browser. This resets the router
+          to its default settings. To reconfigure the router, type your DSL
+          account user name and password.</p>
+      </li>
+      <li> If your DSL has been working properly for a long period of time and
+        you are suddenly experiencing this problem, there may be a problem with
+        the DSL network.You may need to wait from 30 minutes to a couple of hours,
+        and if you are still experiencing this problem, try turning off the router
+        and wait 10 seconds and turn it back on. Wait a couple of minutes and
+        if the DSL and PPP LEDs on the router remain a solid color, close your
+        Web browser and restart it. If the LEDs do not go solid, contact your ISP&rsquo;s
+        Technical Support. </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still
+      are experiencing a fail condition.</p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlppppoeconn.html b/userapps/broadcom/cfm/html/hlppppoeconn.html
new file mode 100755 (executable)
index 0000000..1320cca
--- /dev/null
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("PPP Server Connection Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+  <form>
+    <table border="1" cellpadding="4">
+      <tr> 
+        <td> 
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that your router can see the PPP server (the 
+          router received a PADO packet from the PPP server).</td>
+      </tr>
+      <tr> 
+        <td> 
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the router cannot see the PPP server 
+          (the router did not receive a PADO packet from the PPP server). A 
+          flashing green PPP LED on the modem signifies an attempt to establish 
+          a PPP connection.</td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and 
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+      button at the bottom of this page. If all the tests pass, close and restart 
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <P>NOTE: If <i>Test Ethernet connection to ATM</i> fails, this test result 
+      displays N/A. 
+    <ol>
+      <li> 
+        <p>After turning on your router, wait for at least one minute to establish 
+          a connection. Run the diagnostic tests again by clicking on the <b>Rerun 
+          Diagnostic Tests</b> button at the bottom of this page. </p>
+      </li>
+      <li> 
+        <p>Turn off the power to the router, wait 10 seconds and turn it back 
+          on. Wait at least one minute for the modem to establish a connection. 
+          If the PPP LED on the modem turns solid green, close your Web browser 
+          and restart it. </p>
+      </li>
+      <li> 
+        <p>With the modem on, press the external reset button on the router 
+          for at least five seconds and release it. This resets the router 
+          to its default settings. Wait for the router to completely restart, 
+          then close and restart your Web browser. To reconfigure the modem, type 
+          your DSL Account user name and password.</p>
+      </li>
+      <li> 
+        <p>If this is the first time you are setting up your router, you may 
+          need to reconfigure your VPI/VCI settings. Contact your ISP&rsquo;s Technical Support 
+          for assistance.</p>
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+      are experiencing a fail condition.<BR>
+    </p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlppppoeip.html b/userapps/broadcom/cfm/html/hlppppoeip.html
new file mode 100755 (executable)
index 0000000..5074eae
--- /dev/null
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Assigned IP Address Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+  <form>
+    <table border="1" cellpadding="4">
+      <tr> 
+        <td> 
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that the router has received a valid IP (Internet 
+          Protocol) address from the PPP server. </td>
+      </tr>
+      <tr> 
+        <td> 
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the router does not have a valid IP 
+          address from the PPP server. </td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and 
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+      button at the bottom of this page. If all the tests pass, close and restart 
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <P>NOTE: If <i>Test authentication to ISP</i> fails, this test result displays 
+      N/A. 
+    <ol>
+      <li> 
+        <p>After turning on your router, wait for at least one minute to establish 
+          a connection. Run the diagnostic tests again by clicking on the <b>Rerun 
+          Diagnostic Tests</b> button at the bottom of this page. </p>
+      </li>
+      <li> 
+        <p>Turn off the power to the router, wait 10 seconds, and turn it back 
+          on. Wait at least one minute for the router to completely restart and 
+          to establish a connection. If the PPP light on the router turns solid 
+          green, close your Web browser and restart it. </p>
+      </li>
+      <li> 
+        <p>With the router on, press the external reset button on the router 
+          for at least five seconds and release it. This resets the router 
+          to its default settings. Wait for the router to completely restart, 
+          then close and restart your Web browser. To reconfigure the router, type 
+          your DSL account user name and password.</p>
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+      are experiencing a fail condition.<BR>
+    </p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlptstdns.html b/userapps/broadcom/cfm/html/hlptstdns.html
new file mode 100755 (executable)
index 0000000..2a9e9a7
--- /dev/null
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Query DNS For ISP Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+  <form>
+    <table border="1" cellpadding="4">
+      <tr> 
+        <td> 
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that the Domain Name System (DNS) Server can resolve 
+          the domain name of ISP to an IP address.</td>
+      </tr>
+      <tr> 
+        <td> 
+          <div align="center"><b>Fail:</b></div>
+        </td>
+        <td>Indicates that the router was unable to resolve the 
+          domain name. This test may not have an effect on your Internet connectivity. 
+          Therefore if this test fails, but you are still able to access the Internet, 
+          there is no need to troubleshoot this issue.</td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and 
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b> 
+      button at the bottom of this page. If all the tests pass, close and restart 
+      your Web browser to access the Internet. </P>
+    <P><B>Troubleshooting:</B></P>
+    <P>NOTE: If <i>Ping Primary Domain Name System Server</i> fails, this test result 
+      displays N/A. 
+    <ol>
+      <li> 
+        <p>Turn off the router, wait 10 seconds, and turn it back on. Wait 
+          at least one minute for the router to completely restart and to establish 
+          a connection. If the PPPoE LED is on and the router turns solid green, 
+          close your Web browser then restart it. </p>
+      </li>
+      <li> 
+        <p>With the router on, press the external reset button on the router 
+          for at least five seconds and release it. This resets the router
+          to its default settings. Wait for the router to completely restart, 
+          then close and restart your Web browser. To reconfigure the router, type 
+          your DSL account user name and password.</p>
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still 
+      are experiencing a fail condition. <BR>
+    </p>
+  </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
+
diff --git a/userapps/broadcom/cfm/html/hlpwlconn.html b/userapps/broadcom/cfm/html/hlpwlconn.html
new file mode 100755 (executable)
index 0000000..ba3b122
--- /dev/null
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       setPageTitle("<%ejGetWl(wlInterface)%>");
+       writeHeader("Wireless Connection Test", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+    <table border="1" cellpadding="4">
+      <tr>
+        <td>
+          <div align="center"><b>Pass:</b></div>
+        </td>
+        <td>Indicates that the Wireless interface from your computer
+          is connected to the LAN port of your router. A flashing or solid
+          green LAN LED on the router also signifies that an Wireless connection
+          is present and that this test is successful.</td>
+      </tr>
+      <tr>
+        <td>
+          <div align="center"><b>Down:</b></div>
+        </td>
+        <td>Indicates that the router does not detect the Wireless
+          interface on your computer.</td>
+      </tr>
+    </table>
+    <P>If the test fails, follow the troubleshooting procedures listed below and
+      rerun the diagnostics tests by clicking on the <b>Rerun Diagnostic Tests</b>
+      button at the bottom of this page. If all the tests pass, close and restart
+      your Web browser to access the Internet.</P>
+    <P><B>Troubleshooting:</B></P>
+    <ol>
+      <li>
+        <p>Verify that the wireless configurations
+          from your computer and your router are matched and corrected.</p>
+      </li>
+      <li>
+        <p>Turn off the router, wait 10 seconds and turn it back on. </p>
+      </li>
+      <li>
+        <p>With the router on, press the Reset button on the router
+          for at least five seconds and release it. This resets the router
+          to its default settings. Wait for the router to initialize,
+          then close and restart your Web browser. To reconfigure the router, type
+          your DSL account user name and password.</p>
+      </li>
+    </ol>
+    <p>
+      <input type='button' onClick='location.href="diag.html"'
+                  value='Rerun Diagnostic Tests' name="button" id="button">
+    </p>
+    <p>Contact your ISP&rsquo;s Technical Support if you have tried all of the above and still
+      are experiencing a fail condition.</p>
+  </form>
+
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/index-wireless.html b/userapps/broadcom/cfm/html/index-wireless.html
new file mode 100755 (executable)
index 0000000..d4bc38c
--- /dev/null
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+       <title>Setup &raquo; Security</title>
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+<script type="text/javascript">
+
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function validatePage()
+{
+       if (document.idForm.chkEncrypt.checked)
+       {
+               if (!minLength("Pass phrase", document.idForm.wlWpaPsk, 8))
+                       return false;
+       }
+       else
+               document.idForm.wlWpaPsk.value = "";
+       
+       return true;
+}
+</script>
+</head>
+<body>
+
+<script type="text/javascript">
+       writeHeaderInfo("Secure Your Router");
+</script>
+
+<form name="idForm" action="setup_finish.wl" method="post">
+       <input type="hidden" id="wlAuthMode" name="wlAuthMode" value="psk2mix">
+
+<h3>Network Name (SSID)</h3>
+
+<p>This is the name of your wireless network. Wireless devices will need to know the
+network name (also known as an SSID) of your router in order to communicate with it.</p>
+
+<p id="lblSSID"><label for="wlSsid">Network name:</label>
+       <input type="text" size="30" maxlength="30" name="wlSsid" id="wlSsid" class="clsTextfield" value="<%ejGetWl(wlSsid)%>"></p>
+
+<p>U.S.&nbsp;Robotics recommends that you change the <b>network name</b>
+and treat it like a password. Use a combination of more than eight alphanumeric
+characters that is not easy to guess (such as &ldquo;MyHomeOffice&rdquo;
+or &ldquo;Fish81Tree&rdquo;).</p>
+
+
+<!-- This code is similar to the code on the setup_sec.html page -->
+<h3>Security</h3>
+
+<p>U.S.&nbsp;Robotics recommends securing your router from unauthorized
+wireless devices by using WPA encryption.
+If you want to use a different method, you can change it on the
+router&rsquo;s <b>Security</b> page after the setup is complete.
+</p>
+
+<p><input type="checkbox" name="chkEncrypt" id="chkEncrypt" checked
+       onclick="toggleVisibility('idEncrypt'); toggleVisibility('idEncryptNo');">
+        <label for="chkEncrypt">Secure the router against unauthorized access (recommended)</label></p>
+
+<div id="idEncrypt">
+
+<table border="0">
+       <tr>
+               <td id="lblMethod" valign="top"><label>Method:</label></td>
+               <td>
+                       <span class="clsStatic">WPA2 and WPA (PSK)</span>
+               </td>
+       </tr>
+
+       <tr>
+               <td valign="top"><label for="wlWpaPsk">Pass&nbsp;phrase:</label></td>
+               <!-- either 32 hex digits or ASCII that WPA hashes to a 256-bit key -->
+               <td><input type="text" size="40" maxlength="63" name="wlWpaPsk" id="wlWpaPsk" class="clsTextfield" value="<%ejGetWl(wlWpaPsk)%>"><br/>
+                       <span class="clsNote">(The pass phrase must be between eight and sixty-three characters long.)</span>
+                       </td>
+       </tr>
+</table>
+
+<p>U.S.&nbsp;Robotics recommends that you treat your <b>WPA pass phrase</b> like
+a password and use a combination of alphanumeric characters that is not
+easy to guess (such as &ldquo;5Rock2Fish9Sand&rdquo; or &ldquo;20Dogs933Trot&rdquo;).</p>
+
+</div>
+<div id="idEncryptNo" style="display: none;" class="clsNotice">
+       <p>Please note that you have disabled encryption on the router and your
+       wireless network will be insecure. Unauthorized wireless devices may be
+       able to connect to your network, use your Internet connection, and access
+       your computers.
+       You can enable encryption later on the router&rsquo;s <b>Security</b> page.</p>
+</div>
+
+
+<p class="clsSave">You will need to enter these values when you configure a wireless client.</p>
+
+<p>When you&rsquo;re finished and ready to apply your changes, press <b>Apply</b>.</p>
+<p><input type="submit" class="clsBtnSave" name="btnSubmit" value="Apply" onclick="if (!validatePage()) return false;"></p>
+<!-- If all entries are valid, Status page (info.html) is displayed. An error keeps the user here. -->
+
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/index.html b/userapps/broadcom/cfm/html/index.html
new file mode 100755 (executable)
index 0000000..272ea96
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+       <title></title>
+<script type="text/javascript">
+<!-- hide
+if ('<%ejGetOther(memInfo, isDataEmpty)%>' == '1')
+       document.write("<meta http-equiv=\"refresh\" content=\"0;url=setup.html\">");
+else
+       document.write("<meta http-equiv=\"refresh\" content=\"0;url=info.html\">");
+// done hiding -->
+</script>
+</head>
+
+<body>
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/info.html b/userapps/broadcom/cfm/html/info.html
new file mode 100755 (executable)
index 0000000..911b97c
--- /dev/null
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Status &raquo; General</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+   <meta http-equiv="Pragma" content="no-cache">
+   <meta http-equiv="refresh" content="60">
+
+<script type="text/javascript">
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+function getSecurityMethod()
+{
+       var strEncryption = "";
+
+       switch ("<%ejGetWl(wlAuthMode)%>")
+       {
+               case "open":
+                       if ("<%ejGetWl(wlWep)%>" == "Enabled")
+                       {
+                               setVisibility("idKeyWEP", true);
+                               strEncryption = "WEP open";
+                       }
+                       break;
+
+               case "shared":
+                       setVisibility("idKeyWEP", true);
+                       strEncryption = "WEP shared";
+                       break;
+
+               case "psk":
+                       setVisibility("idKeyWPA", true);
+                       strEncryption = "WPA";
+                       break;
+               case "psk2":
+                       setVisibility("idKeyWPA", true);
+                       strEncryption = "WPA2";
+                       break;
+               case "psk2mix":
+                       setVisibility("idKeyWPA", true);
+                       strEncryption = "WPA2 and WPA";
+                       break;
+
+               case "wpa":
+                       setVisibility("idKeyWPA", true);
+                       strEncryption = "WPA with 802.1x (RADIUS)";
+                       break;
+               case "wpa2":
+                       setVisibility("idKeyWPA", true);
+                       strEncryption = "WPA2 with 802.1x (RADIUS)";
+                       break;
+               case "wpa2mix with 802.1x (RADIUS)":
+                       setVisibility("idKeyWPA", true);
+                       strEncryption = "WPA2 and WPA with 802.1x (RADIUS)";
+                       break;
+
+               case "radius":
+                       strEncryption = "802.1x";
+                       break;
+
+               default:
+                       break;
+       }
+
+       if (strEncryption.length == 0)
+               strEncryption = "None";
+       else
+               setVisibility("idEncrypt", true);
+
+       return strEncryption;
+}
+
+
+/*
+       Return encryption method used for WPA or WEP
+*/
+function getEncryption()
+{
+       switch ("<%ejGetWl(wlWpa)%>")
+       {
+               case "aes":                             return "AES";
+               case "tkip":                    return "TKIP";
+               case "tkip+aes":                return "AES and TKIP";
+               default:                                        return "";
+       }
+}
+
+
+function getMACfilterWireless()
+{
+       switch ("<%ejGetWl(wlFltMacMode)%>")
+       {
+               case "disabled":
+                       return "Allow all";
+               case "allow":
+                       return "Allow some";
+               default:
+                       return "Deny some";
+       }
+}
+
+</script>
+</head>
+<body onload="initMenu('idMenu'); setVisibility('idWireless', '<%ejGetWl(wlInterface)%>' == '1');">
+
+<script type="text/javascript">
+       writeHeader("Status", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<p class="clsNote"><a href="http://www.usr.com/productreg/">Register the product</a></p>
+
+<script type="text/javascript">
+       if ("<%ejGetWl(wlInterface)%>" == "1")
+               document.write("<p class=\"clsNote\">Tutorial: How do I add a <a href=\"tutorial_addclient.htm\">new wireless client<\/a> to my network?<\/p>");
+</script>
+
+
+<h3>General</h3>
+
+<table border="0">
+   <tr>
+      <td><label>Line rate - upstream:</label></td>
+      <td class="clsStatic"><%ejGetOther(lineRate, 0)%> Kbps</td>
+   </tr>
+   <tr>
+      <td><label>Line rate - downstream:</label></td>
+      <td class="clsStatic"><%ejGetOther(lineRate, 1)%> Kbps</td>
+   </tr>
+   <tr>
+      <td><label>LAN IP address:</label></td>
+      <td class="clsStatic"><%ejGetOther(sysInfo, lanAddr)%></td>
+   </tr>
+   <tr>
+      <td><label>WAN IP address:</label></td>
+      <td><!--<%ejGetOther(memInfo, wanAddr)%>--><a href="wancfg.cmd?action=view">View</a></td>
+   </tr>
+   <tr>
+      <td><label>Default gateway:</label></td>
+      <td class="clsStatic"><%ejGetOther(sysInfo, dfltGw)%></td>
+   </tr>
+   <tr>
+      <td><label>Primary DNS server:</label></td>
+      <td class="clsStatic"><%ejGetOther(sysInfo, dns)%></td>
+   </tr>
+   <tr>
+      <td><label>Secondary DNS server:</label></td>
+      <td class="clsStatic"><%ejGetOther(sysInfo, dns2)%></td>
+   </tr>
+</table>
+
+
+<div id="idWireless">
+
+<h3>Wireless Security</h3>
+
+<table border="0">
+   <tr>
+       <td><label>Network name:</label></td>
+       <td class="clsStatic"><%ejGetWl(wlSsid)%></td>
+   </tr>
+   <tr>
+       <td><label>Broadcast name:</label></td>
+       <td class="clsStatic">
+<script type="text/javascript">
+       if ("<%ejGetWl(wlHide)%>" != "")
+               document.write(parseInt("<%ejGetWl(wlHide)%>") ? "Disabled" : "Enabled");
+</script>
+</td>
+   </tr>
+   <tr>
+       <td><label>Method:</label></td>
+       <td class="clsStatic"><script type="text/javascript">document.write(getSecurityMethod());</script></td>
+       </tr>
+       <tr id="idEncrypt" style="display: none;">
+       <td><label>Encryption:</label></td>
+       <td class="clsStatic"><script type="text/javascript">document.write(getEncryption());</script></td>
+   </tr>
+   <tr id="idKeyWPA" style="display: none;">
+       <td><label>Pass phrase:</label></td>
+       <td class="clsStatic"><%ejGetWl(wlWpaPsk)%></td>
+   </tr>
+   <tr id="idKeyWEP" style="display: none;">
+       <td><label>Key:</label></td>
+       <td class="clsStatic">
+<script type="text/javascript">
+        var ixKey = 0;
+       if ( "<%ejGetWl(wlKeyIndex)%>" != "") {
+           ixKey = parseInt("<%ejGetWl(wlKeyIndex)%>"); 
+           var keys = new Array(       "<%ejGetWl(wlKey1)%>",
+                                                                       "<%ejGetWl(wlKey2)%>",
+                                                                       "<%ejGetWl(wlKey3)%>",
+                                                                       "<%ejGetWl(wlKey4)%>"
+                             );
+           if ((ixKey >= 1) && (ixKey <= 4))
+               document.write(keys[ixKey - 1]);
+        }
+</script>
+
+</td>
+   </tr>
+   <tr>
+       <td><label>Wireless MAC filter:</label></td>
+       <td class="clsStatic"><script type="text/javascript">document.write(getMACfilterWireless());</script></td>
+   </tr>
+</table>
+
+</div>
+
+<!--
+   <tr>
+       <td><label>LAN MAC filter:</label></td>
+       <td class="clsStatic">
+       </td>
+   </tr>
+
+
+<h3>Dynamic DNS</h3>
+
+<table border="0">
+   <tr>
+      <td><label>Provider:</label></td>
+      <td class="clsStatic"></td>
+   </tr>
+</table>
+-->
+
+<h3>Firmware</h3>
+
+<table border="0">
+   <tr>
+      <td><label>Version:</label></td>
+      <td class="clsStatic"><%ejGet(sysBuildVersion)%>
+<script type="text/javascript">
+       var ver = "<%ejGet(sysVersion)%>";
+       var strTime = ver.substring(0, 4);
+       var strDate = ver.substring(5, 11);
+       var dt = new Date(2000 + new Number(strDate.substring(4, 6)).valueOf(), strDate.substring(0, 2) - 1, strDate.substring(2, 4),
+                                                       strTime.substring(0, 2), strTime.substring(2, 4));
+       document.write(" (" + dt.toLocaleString() + ")");
+</script>
+      </td>
+   </tr>
+
+   <tr>
+      <td><label></label></td>
+      <td class="clsStatic"><%ejGet(sysVersion)%></td>
+   </tr>
+</table>
+
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/ipoacfg.html b/userapps/broadcom/cfm/html/ipoacfg.html
new file mode 100755 (executable)
index 0000000..0ce962e
--- /dev/null
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+   <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+   <script type="text/javascript" src="util.js"></script>
+   <script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var addr = '<%ejGet(wanIpAddress)%>';
+var mask = '<%ejGet(wanSubnetMask)%>';
+var enblAuto = '<%ejGet(enblAuto)%>';
+var gtwyIfc = '<%ejGetOther(sysInfo, dfltGwIfc)%>';
+if ( gtwyIfc == '&nbsp;' ) gtwyIfc = '';
+var gtwy = '<%ejGetOther(sysInfo, dfltGw)%>';
+if ( gtwy == '&nbsp;' ) gtwy = '';
+var dnsAuto = '<%ejGetOther(sysInfo,dnsAuto)%>';
+var dns1Mem = '<%ejGet(dnsPrimary)%>';
+var dns1 = '<%ejGetOther(sysInfo, dns)%>';
+if ( dns1 == '&nbsp;' )
+   dns1 = '';
+var dns2Mem = '<%ejGet(dnsSecondary)%>';
+var dns2 = '<%ejGetOther(sysInfo, dns2)%>';
+if ( dns2 == '&nbsp;' )
+   dns2 = '';
+var qs = '<%ejGet(quickSetup)%>';
+var srvId = parseInt('<%ejGet(serviceId)%>');
+
+function disableDnsInfo() {
+   with ( document.forms[0] ) {
+      dnsPrimary.disabled = 1;
+      dnsPrimary.value = '';
+      dnsSecondary.disabled = 1;
+      dnsSecondary.value = '';
+   }
+}
+
+function enableDnsInfo() {
+   with ( document.forms[0] ) {
+      dnsPrimary.disabled = 0;
+      dnsPrimary.value = dns1;
+      dnsSecondary.disabled = 0;
+      dnsSecondary.value = dns2;
+   }
+}
+
+function dnsClick(cb) {
+   if ( cb.checked == true )
+      enableDnsInfo();
+   else
+      disableDnsInfo();
+}
+
+function disableGwInfo() {
+   with ( document.forms[0] ) {
+      gwAddr.disabled = 1;
+      gwAddr.checked = false;
+      defaultGateway.disabled = 1;
+      defaultGateway.value = '';
+      gwIfc.disabled = 1;
+      gwIfc.checked = false;
+      wanIf.disabled = 1;
+   }
+}
+
+function enableGwInfo() {
+   with ( document.forms[0] ) {
+      gwAddr.disabled = 0;
+      if ( isValidIpAddress(gtwy) == true ) {
+         gwAddr.checked = true;
+         defaultGateway.value = gtwy;
+      } else {
+         gwAddr.checked = false;
+         defaultGateway.value = '';
+      }
+      defaultGateway.disabled = 0;
+      gwIfc.disabled = 0;
+      if ( gtwyIfc != '' )
+         gwIfc.checked = true;
+      else
+         gwIfc.checked = false;
+      wanIf.disabled = 0;
+   }
+}
+
+function gwClick(cb) {
+   if ( cb.checked == true )
+      enableGwInfo();
+   else
+      disableGwInfo();
+}
+
+function frmLoad() {
+   with ( document.forms[0] ) {
+      wanIpAddress.value = addr;
+      wanSubnetMask.value = mask;
+      if ( enblAuto == '1' ) {
+         gw.checked = false;
+         disableGwInfo();
+      } else {
+         gw.checked = true;
+         enableGwInfo();
+      }
+      if (dnsAuto == '1') {
+         dns.checked = false;
+         disableDnsInfo();
+      } else {
+         dns.checked = true;
+         enableDnsInfo();
+      }
+   }
+}
+
+function btnNext() {
+   var loc = 'natcfg2.cgi?';
+
+   with ( document.forms[0] ) {
+      dns1 = dnsPrimary.value;
+      dns2 = dnsSecondary.value;
+      // ipoa always uses static wan ip address
+      loc += 'enblDhcpClnt=0';
+      // wan IP address
+      if ( isValidIpAddress(wanIpAddress.value) == false ) {
+         alert('WAN IP address "' + wanIpAddress.value + '" is invalid IP address.');
+         return;
+      }
+      loc += '&wanIpAddress=' + wanIpAddress.value;
+      // wan subnet mask
+      if ( isValidIpAddress(wanSubnetMask.value) == false &&  wanSubnetMask.value != '255.255.255.255') {
+         alert('WAN subnet mask "' + wanSubnetMask.value + '" is invalid IP address.');
+         return;
+      }
+      loc += '&wanSubnetMask=' + wanSubnetMask.value;
+      // default gateway
+      if ( gw.checked == true ) {
+         if ( gwAddr.checked == false && gwIfc.checked == false ) {
+            alert('There is no selection for default gateway.');
+            return;
+         }
+         if ( gwAddr.checked == true ) {
+            if ( isValidIpAddress(defaultGateway.value) == false ) {
+               alert('Remote WAN IP address "' + defaultGateway.value + '" is invalid IP address.');
+               return;
+            }
+            loc += '&defaultGateway=' + defaultGateway.value;
+         } else
+            loc += '&defaultGateway=0.0.0.0';
+         if ( gwIfc.checked == true ) {
+            var idx = wanIf.selectedIndex;
+            var ifc = wanIf.options[idx].value;
+            // if chosen interface is MER but does not specify static IP address then display error
+            if ( ifc.indexOf('nas_') != -1 && gwAddr.checked == false ) {
+               alert('Default gateway IP address should be specified since MER interface is selected.');
+               return;
+            }
+            loc += '&wanIfName=' + ifc;
+         } else
+            loc += '&wanIfName=';
+         // use static default gateway
+         loc += '&enblAuto=0';
+      } else {
+         loc += '&defaultGateway=0.0.0.0';
+         loc += '&wanIfName=';
+         loc += '&enblAuto=1';
+      }
+      if ( dns.checked == true ) {
+         // primary DNS
+         if ( isValidIpAddress(dns1) == false ) {
+            alert('Primary DNS server "' + dnsPrimary.value + '" is invalid IP address.');
+            return;
+         }
+         loc += '&dnsPrimary=' + dns1;
+         // secondary DNS
+         if ( dns2 != '' && dns2 != '0.0.0.0' ) {
+            if ( isValidIpAddress(dns2) == false ) {
+               alert('Secondary DNS server "' + dns2 + '" is invalid IP address.');
+               return;
+            }
+         }
+         loc += '&dnsSecondary=' + dns2;
+         loc += '&dnsDynamic=0';
+      } else {
+         loc += '&dnsPrimary=0.0.0.0';
+         loc += '&dnsSecondary=0.0.0.0';
+         loc += '&dnsDynamic=1';
+      }
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnBack() {
+   var loc = 'ntwkprtcl.html';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+// done hiding -->
+</script>
+   </head>
+   <body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("WAN IP Settings", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+   <p>Enter information provided to you by your ISP to configure the WAN IP settings.</p>
+   <p>Notice: DHCP is not supported in IPoA mode.
+   Changing the default gateway or the DNS affects the whole system.
+   Configuring them with static values will disable the automatic assignment
+   from other WAN connection.</p>
+
+   <table border="0" cellpadding="0" cellspacing="0">
+      <tr>
+         <td><label for="wanIpAddress">WAN IP address:</label></td>
+         <td><input type='text' name='wanIpAddress' id='wanIpAddress'></td>
+      </tr>
+      <tr>
+         <td><label for="wanSubnetMask">WAN subnet mask:</label></td>
+         <td><input type='text' name='wanSubnetMask' id='wanSubnetMask'></td>
+      </tr>
+   </table>
+
+   <table border="0" cellpadding="0" cellspacing="0">
+      <tr>
+         <td colspan="3"><input type="checkbox" name="gw" id="gw" onClick='gwClick(this)'> <label for="gw">Use the following default gateway:</label></td>
+      </tr>
+      <tr>
+         <td width="20">&nbsp;</td>
+         <td><input type="checkbox" name='gwAddr' id='gwAddr'> <label for="gwAddr">Use IP address:</label></td>
+         <td><input type='text' name='defaultGateway' id='defaultGateway'></td>
+      </tr>
+      <tr>
+         <td width="20">&nbsp;</td>
+         <td><input type="checkbox" name='gwIfc' id='gwIfc'> <label for="gwIfc">Use WAN interface:</label></td>
+         <td><select name='wanIf' id='wanIf'>
+               <script type="text/javascript">
+<!-- hide
+{
+   var i = 0;
+   var defaultInterface = '<%ejGetOther(wanInterfaceInfo, default)%>';
+   var interfaceInfo = '<%ejGetOther(wanInterfaceInfo, route)%>';
+   var interfaces = interfaceInfo.split('|');
+
+   if ( srvId == 0 || qs == '1' ) {
+      var defaultNames = defaultInterface.split('/');
+      document.write("  <option value='" + defaultNames[1] + "' selected>");
+      document.writeln(defaultInterface);
+      for ( i = 0; i < interfaces.length; i++ ) {
+         var names = interfaces[i].split('/');
+         document.write("  <option value='" + names[1] + "'>");
+         document.writeln(interfaces[i]);
+      }
+   } else {
+      for ( i = 0; i < interfaces.length; i++ ) {
+         var names = interfaces[i].split('/');
+         if ( names[1] == gtwyIfc )
+            document.write("  <option value='" + names[1] + "' selected>");
+         else
+            document.write("  <option value='" + names[1] + "'>");
+         document.writeln(interfaces[i]);
+         }
+      }
+}
+// done hiding -->
+</script>
+            </select></td>
+      </tr>
+   </table><br>
+   <table border="0" cellpadding="0" cellspacing="0">
+      <tr>
+         <td colspan="3"><input type="checkbox" name="dns" id="dns" onClick='dnsClick(this)'><label for="dns">Use the following DNS server addresses:</label></td>
+      </tr>
+      <tr>
+         <td width="20">&nbsp;</td>
+         <td width="140"><label for="dnsPrimary">Primary DNS server:</label></td>
+         <td><input type='text' name='dnsPrimary' id='dnsPrimary'></td>
+      </tr>
+      <tr>
+         <td>&nbsp;</td>
+         <td><label for="dnsSecondary">Secondary DNS server:</label></td>
+         <td><input type='text' name='dnsSecondary' id='dnsSecondary'></td>
+      </tr>
+   </table><br>
+<p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Next'></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+   </body>
+</html>
diff --git a/userapps/broadcom/cfm/html/ippcfg.html b/userapps/broadcom/cfm/html/ippcfg.html
new file mode 100755 (executable)
index 0000000..4d89956
--- /dev/null
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Device &raquo; Print Server</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
+       <script type="text/javascript">
+<!-- hide
+
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var state = '<%ejGetIpp(ippRefresh)%>';
+if ( state == '1' ) {
+   var code = 'location.assign("ippcfg.ipp?ippRefresh=0")';
+   eval(code);
+}
+
+function btnApply() {
+  var loc = 'ippcfg.ipp?ipp_enabled=';
+
+  with( document.forms[0] ) {
+    if( ippEnabled.checked ) {
+
+      loc += '1';
+      if ( (ippMake.value.length == 0)  ||  (ippMake.value.length > 80) ) {
+        alert('The make and model must be between one and 80 characters long, inclusive.');
+        return;
+      }
+      loc += '&ippMake='+ippMake.value;
+      
+      if ( (ippName.value.length == 0) || (ippName.value.length > 80) ) {
+        alert('The printer name must be between one and 80 characters long, inclusive.');
+        return;
+      }
+      loc += '&ippName='+ippName.value;
+    }
+    else {
+      loc += '0';
+    }
+  }
+  var code = 'location.assign("' + loc + '");';
+  eval(code);
+}
+
+function ippEnblChange() {
+  if( document.forms[0].ippEnabled.checked )
+    hideIppConfig(0);
+  else
+    hideIppConfig(1);
+}
+
+function hideIppConfig(hide) {
+  var status = 'visible';
+                                                                                
+  if(hide)
+    status = 'hidden';
+                                                                                
+  if( document.getElementById )
+    document.getElementById('ippConfig').style.visibility = status;
+  else
+    if(!document.layers)
+      document.all.ippConfig.style.visibility = status;
+}
+
+
+function frmLoad() {
+  var i = 0;
+  var ipp_enable = "<%ejGetIpp(ipp_enabled)%>";
+  var make = "<%ejGetIpp(ippMake)%>";
+  var p_name = "<%ejGetIpp(ippName)%>";
+
+  with (document.forms[0]) {
+    if( ipp_enable == "1" ) {
+      ippEnabled.checked = true;
+      ippMake.value = make;
+      ippName.value = p_name;
+    } else {
+      ippEnabled.checked = false;
+    }
+  }
+  ippEnblChange();
+
+  onChangeName();
+}
+
+
+function onChangeName()
+{
+       var elt = document.getElementById("idPrinterIP");
+       if ((elt == null) || !elt.style || (elt.style.display == null))
+               return;
+
+       elt.innerHTML = "http://<%ejGet(ethIpAddress)%>:1631/printers/" + document.forms[0].ippName.value;
+}
+
+// done hiding -->
+       </script>
+</head>
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Device", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>Print Server</h3>
+
+<p>This page allows you to configure support for your printer.</p>
+
+<form id="idForm">
+       <p style="display: none;"><input type="checkbox" name="ippEnabled" id="ippEnabled" onclick="ippEnblChange();"> <label for="ippEnabled">Enable print server</label></p>
+
+       <div id="ippConfig">
+               <table border="0">
+                       <tr>
+                               <td><label for="ippName">Printer name:</label></td>
+                               <td><input type="text" size="50" name="ippName" id="ippName" onchange="onChangeName();"></td>
+                       </tr>
+                       <tr>
+                               <td><label for="ippMake">Comment:</label></td>
+                               <td><input type="text" size="50" maxlength="80" name="ippMake" id="ippMake"></td>
+                       </tr>
+               </table>
+       </div>
+
+       <p>You will be able to access the printer at <b><span id="idPrinterIP" name="idPrinterIP">http://<%ejGet(ethIpAddress)%>:1631/printers/My_Printer</span></b>.</p>
+
+       <p><input type="button" value="Save" onClick="btnApply()"></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/lancfg.html b/userapps/broadcom/cfm/html/lancfg.html
new file mode 100755 (executable)
index 0000000..d36c473
--- /dev/null
@@ -0,0 +1,394 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+   <head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var dhcpStart = '<%ejGet(dhcpEthStart)%>';
+var dhcpEnd = '<%ejGet(dhcpEthEnd)%>';
+var dhcpLease = '<%ejGet(dhcpLeasedTime)%>';
+var nat = '<%ejGet(enblNat)%>';
+var prtcl = '<%ejGetOther(memInfo, ntwkPrtcl)%>';
+var ipExtension = '<%ejGet(pppIpExtension)%>';
+var dhcpEnbl = '<%ejGet(enblDhcpSrv)%>';
+var natEnbl = '<%ejGetOther(sysInfo, enblNat)%>';
+var manualMod = 0;
+
+function hideDhcpInfo(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('dhcpInfo').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.dhcpInfo.style.visibility = status;
+   }
+}
+
+function disableDhcpSrv() {
+   with ( document.forms[0] ) {
+      dhcpSrvType[1].checked = false;
+      dhcpEthStart.disabled = 1;
+      dhcpEthEnd.disabled = 1;
+      dhcpLeasedTime.value = '';
+      dhcpLeasedTime.disabled = 1;
+   }
+}
+
+function hideRelayInfo(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('relayInfo').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.relayInfo.style.visibility = status;
+   }
+}
+
+function enableDhcpSrv(formLoad) {
+   with ( document.forms[0] ) {
+      dhcpSrvType[1].checked = true;
+      dhcpEthStart.disabled = 0;
+      dhcpEthEnd.disabled = 0;
+      if (formLoad == 0)
+         setDhcpAddresses(ethIpAddress.value);
+      else {
+         dhcpEthStart.value = dhcpStart;
+         dhcpEthEnd.value = dhcpEnd;
+      }
+      dhcpLeasedTime.value = dhcpLease;
+      dhcpLeasedTime.disabled = 0;
+   }   
+}
+
+function disableDhcpSrvRelay() {
+   with ( document.forms[0] ) {
+      dhcpSrvType[2].checked = false;
+      dhcpSrvAddr.disabled = 1;
+   }
+}
+
+function enableDhcpSrvRelay() {
+   with ( document.forms[0] ) {
+      dhcpSrvType[2].checked = true;
+      if (dhcpEthStart.value != "")
+         dhcpSrvAddr.value = dhcpEthStart.value;
+      else
+         dhcpSrvAddr.value = dhcpStart;
+      dhcpSrvAddr.disabled = 0;
+   }
+}
+
+function typeClick() {
+   with ( document.forms[0] ) {
+      // if any protocol has NAT enabled then
+      // don't show DHCP relay
+      if ( nat == '1' || natEnbl == '1' ) {
+         if ( dhcpSrvType[0].checked == true )
+            disableDhcpSrv();
+         else
+            enableDhcpSrv(0);
+      } else {
+         if ( dhcpSrvType[0].checked == true ) {
+            disableDhcpSrv();
+            disableDhcpSrvRelay();
+         } else if ( dhcpSrvType[1].checked == true ) {
+            enableDhcpSrv(0);
+            disableDhcpSrvRelay();
+         } else {
+            enableDhcpSrvRelay();
+            disableDhcpSrv();
+         }
+      }
+   }
+}
+
+function frmLoad() {
+   with ( document.forms[0] ) {
+      ethIpAddress.value = '<%ejGet(ethIpAddress)%>';
+      ethSubnetMask.value = '<%ejGet(ethSubnetMask)%>';
+
+      if ( prtcl == 'Bridge' ) {
+         hideDhcpInfo(1);
+      } else if ( (ipExtension == '1') &&
+                  ((ntwkPrtcl == 'PPPoE') || (ntwkPrtcl == 'PPPoA')) ) {
+         hideDhcpInfo(1);
+      } else {
+         hideDhcpInfo(0);
+         // if any protocol has NAT enabled then
+         // don't show DHCP relay
+         if ( nat == '1' || natEnbl == '1' ) {
+            hideRelayInfo(1);
+            if ( dhcpEnbl == '1' )
+               enableDhcpSrv(1);
+            else {
+               dhcpSrvType[0].checked = true;
+               disableDhcpSrv();
+            }
+         } else {
+            hideRelayInfo(0);
+            if ( dhcpEnbl == '1' ) {
+               enableDhcpSrv(1);
+               disableDhcpSrvRelay();
+            } else if ( dhcpEnbl == '2' ) {
+               enableDhcpSrvRelay();
+               disableDhcpSrv();
+            } else {
+               dhcpSrvType[0].checked = true;
+               disableDhcpSrv();
+               disableDhcpSrvRelay();
+            }
+         }
+         lan2IpAddress.value = '<%ejGet(lan2IpAddress)%>';
+         lan2SubnetMask.value = '<%ejGet(lan2SubnetMask)%>';
+         if ('<%ejGet(enblLan2)%>' == '1') {
+            enblLan2.checked = true;
+            hideLan2Info(0);
+         } else {
+            enblLan2.checked = false;
+            hideLan2Info(1);
+         }
+      }
+   }
+}
+
+function hideLan2Info(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('lan2Info').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.lan2Info.style.visibility = status;
+   }
+}
+
+function lan2CbClick(cb) {
+   if ( cb.checked == true )
+      hideLan2Info(0);
+   else
+      hideLan2Info(1);
+}
+
+function btnNext() {
+   var ifc = '<%ejGetWl(wlInterface)%>';
+   var loc = '';
+
+   if ( ifc == '1' )
+      loc = 'wlsetup.cgi?';
+   else
+      loc = 'ntwksum2.cgi?';
+
+   with ( document.forms[0] ) {
+      if ( isValidIpAddress(ethIpAddress.value) == false ) {
+         alert('Address "' + ethIpAddress.value + '" is invalid IP address.');
+         return;
+      }
+      if ( isValidIpAddress(ethSubnetMask.value) == false ) {
+         alert('Subnet mask "' + ethSubnetMask.value + '" has invalid IP address.');
+         return;
+      }
+      loc += 'ethIpAddress=' + ethIpAddress.value;
+      loc += '&ethSubnetMask=' + ethSubnetMask.value;
+
+      if ( dhcpSrvType[1].checked == true ) {
+         if ( isValidIpAddress(dhcpEthStart.value) == false ) {
+            alert('Start IP address "' + dhcpEthStart.value + '" is invalid IP address.');
+            return;
+         }
+         if ( isValidIpAddress(dhcpEthEnd.value) == false ) {
+            alert('Stop IP address "' + dhcpEthEnd.value + '" is invalid IP address.');
+            return;
+         }
+         if ( isNaN(dhcpLeasedTime.value) == true ) {
+            alert('Leased time "' + dhcpLeasedTime.value + '" has invalid value.');
+            return;
+         }
+
+         loc += '&dhcpEthStart=' + dhcpEthStart.value;
+         loc += '&dhcpEthEnd=' + dhcpEthEnd.value;
+         loc += '&dhcpLeasedTime=' + dhcpLeasedTime.value;
+         loc += '&enblDhcpSrv=1';
+      } else {
+         if ( nat == '1' || natEnbl == '1' )
+            loc += '&enblDhcpSrv=0';
+         else {
+            if ( dhcpSrvType[2].checked == true ) {
+               if ( isValidIpAddress(dhcpSrvAddr.value) == false ) {
+                  alert('DHCP server IP address "' + dhcpSrvAddr.value + '" is invalid IP address.');
+                  return;
+               }
+               loc += '&dhcpEthStart=' + dhcpSrvAddr.value;
+               loc += '&enblDhcpSrv=2';
+            } else
+               loc += '&enblDhcpSrv=0';
+         }
+      }
+      if (enblLan2.checked == true) {
+         if ( isValidIpAddress(lan2IpAddress.value) == false ) {
+            alert('Address "' + lan2IpAddress.value + '" is invalid IP address.');
+            return;
+         }
+         if ( isValidIpAddress(lan2SubnetMask.value) == false ) {
+            alert('Subnet mask "' + lan2SubnetMask.value + '" has invalid IP address.');
+            return;
+         }
+         loc += '&enblLan2=1';
+         loc += '&lan2IpAddress=' + lan2IpAddress.value;
+         loc += '&lan2SubnetMask=' + lan2SubnetMask.value;
+      }
+      else
+         loc += '&enblLan2=0';
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnBack() {
+   var loc;
+
+   if ( prtcl == 'PPPoE' || prtcl == 'PPPoA' )
+      loc = 'enblservice.html';
+   else if ( prtcl == 'MER' || prtcl == 'IPoA' )
+      loc = 'natcfg2.html';
+   else if ( prtcl == 'Bridge' )
+      loc = 'enblbridge.html';
+   else
+      loc = 'ntwkprtcl.html';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function setDhcpAddresses(lanIp) {
+   with ( document.forms[0] ) {
+      if (manualMod == 1) {
+         dhcpEthStart.value = dhcpStart;
+         dhcpEthEnd.value = dhcpEnd;
+         return false;
+      }
+      if ( isValidIpAddress(lanIp) == false ) {
+         alert('Address "' + lanIp + '" is invalid IP address.');
+         return;
+      }
+      addrParts = lanIp.split('.');
+      if ( addrParts.length != 4 ) 
+         return false;
+      t1 = parseInt(addrParts[3]) + 1;
+      if (dhcpEthStart.value != '' && t1 >= 255) {
+         alert("Last portion of IP Address has to be less than 254 for Enabled DHCP Server");
+         return false;
+      }
+      dhcpEthStart.value = dhcpEthEnd.value = "";  
+      for (i = 0; i < 3; i++) {
+         dhcpEthStart.value = dhcpEthStart.value + addrParts[i] + ".";
+         dhcpEthEnd.value = dhcpEthEnd.value + addrParts[i] + ".";
+      }       
+      dhcpEthStart.value = dhcpEthStart.value + t1;
+      dhcpEthEnd.value = dhcpEthEnd.value + 254;
+   }     
+}
+
+function manualModDhcp() {
+   with ( document.forms[0] ) {
+      manualMod = 1;
+      dhcpStart = dhcpEthStart.value;
+      dhcpEnd = dhcpEthEnd.value;
+   }
+}   
+
+
+// done hiding -->
+</script>
+            <base target="_self">
+   </head>
+   <body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Device Setup", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+       <p>Configure the router&rsquo;s IP address and subnet mask for LAN interface.</p>
+
+       <table border="0" cellpadding="1" cellspacing="0">
+               <tr>
+                       <td><label for="ethIpAddress">IP address:</label></td>
+                       <td><input type='text' name='ethIpAddress' id='ethIpAddress' onChange="setDhcpAddresses(this.value)"></td>
+               </tr>
+               <tr>
+                       <td><label for="ethSubnetMask">Subnet mask:</label></td>
+                       <td><input type='text' name='ethSubnetMask' id='ethSubnetMask'></td>
+               </tr>
+       </table>
+
+       <div id='dhcpInfo'>
+               <p>
+                       <input type='radio' name='dhcpSrvType' id='dhcpSrvTypeDisable' onClick='typeClick()'> <label for="dhcpSrvTypeDisable">Disable DHCP server</label><br/>
+                       <input type='radio' name='dhcpSrvType' id='dhcpSrvTypeEnable' onClick='typeClick()'> <label for="dhcpSrvTypeEnable">Enable DHCP server</label>
+               </p>
+               <table border="0" cellpadding="0" cellspacing="0" style="margin-left: 2em;">
+                       <tr>
+                               <td><label for="dhcpEthStart">Start IP address:</label></td>
+                               <td><input type='text' name='dhcpEthStart' id='dhcpEthStart' onChange='manualModDhcp()'></td>
+                       </tr>
+                       <tr>
+                               <td><label for="dhcpEthEnd">End IP address:</label></td>
+                               <td><input type='text' name='dhcpEthEnd' id='dhcpEthEnd' onChange='manualModDhcp()'></td>
+                       </tr>
+                       <tr>
+                               <td><label for="dhcpLeasedTime">Lease time:</label></td>
+                               <td><input type='text' name='dhcpLeasedTime' id='dhcpLeasedTime'> hours</td>
+                       </tr>
+               </table>
+
+               <div id='relayInfo'>
+                       <p><input type='radio' name='dhcpSrvType' id='dhcpSrvTypeRelay' onClick='typeClick()'> <label for="dhcpSrvTypeRelay">Enable DHCP server relay</label></p>
+                       <p style="margin-left: 2em;"><label for="dhcpSrvAddr">DHCP server IP address:</label> <input type='text' name='dhcpSrvAddr' id='dhcpSrvAddr'></p>
+               </div>
+
+               <p><input type='checkbox' name='enblLan2' id='enblLan2' onClick='lan2CbClick(this)'> <label for="enblLan2">Configure the second IP address and subnet mask for LAN interface</label></p>
+               <div id='lan2Info'>
+                       <table border="0" cellpadding="0" cellspacing="0" ID="Table1" style="margin-left: 2em;">
+                               <tr>
+                                       <td><label for="lan2IpAddress">IP address:</label></td>
+                                       <td><input type='text' name='lan2IpAddress' id='lan2IpAddress' ID="Text1"></td>
+                               </tr>
+                               <tr>
+                                       <td><label for="lan2SubnetMask">Subnet mask:</label></td>
+                                       <td><input type='text' name='lan2SubnetMask' id='lan2SubnetMask' ID="Text2"></td>
+                               </tr>
+                       </table>
+               </div>
+       </div>
+<p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Next'></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/lancfg2.html b/userapps/broadcom/cfm/html/lancfg2.html
new file mode 100755 (executable)
index 0000000..d7a81db
--- /dev/null
@@ -0,0 +1,465 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>LAN &raquo; DHCP Server</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var state = '<%ejGet(lanRefresh)%>';
+if ( state == '1' ) {
+   var code = 'location.assign("lancfg2.cgi?lanRefresh=0")';
+   eval(code);
+}
+
+var dhcpStart = '<%ejGet(dhcpEthStart)%>';
+var dhcpEnd = '<%ejGet(dhcpEthEnd)%>';
+var dhcpLease = '<%ejGet(dhcpLeasedTime)%>';
+var proto = '<%ejGetOther(sysInfo, noBrPrtcl)%>';
+var ipExt = '<%ejGetOther(sysInfo, pppIpExtension)%>';
+var dhcpEnbl = '<%ejGet(enblDhcpSrv)%>';
+var natEnbl = '<%ejGetOther(sysInfo, enblNat)%>';
+var enblUpnp = '<%ejGet(enblUpnp)%>';
+var buildUpnp = '<%ejGetOther(sysInfo, buildUpnp)%>';
+var enblStp = '<%ejGet(enblStp)%>';
+
+function hideStpInfo(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('idStp').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.idStp.style.visibility = status;
+   }
+}
+
+function hideUpnpInfo(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('upnpInfo').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.upnpInfo.style.visibility = status;
+   }
+}
+
+function hideDhcpInfo(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('dhcpInfo').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.dhcpInfo.style.visibility = status;
+   }
+}
+
+function disableDhcpSrv() {
+   with ( document.forms[0] ) {
+      dhcpSrvType[1].checked = false;
+      dhcpEthStart.disabled = 1;
+      dhcpEthEnd.disabled = 1;
+      dhcpLeasedTime.value = '';
+      dhcpLeasedTime.disabled = 1;
+   }
+}
+
+function enableDhcpSrv(formLoad) {
+   with ( document.forms[0] ) {
+      dhcpSrvType[1].checked = true;
+      dhcpEthStart.disabled = 0;
+      dhcpEthEnd.disabled = 0;
+      if (formLoad == 0)
+         setDhcpAddresses(ethIpAddress.value);
+      else {
+         dhcpEthStart.value = dhcpStart;
+         dhcpEthEnd.value = dhcpEnd;
+      }
+      dhcpLeasedTime.value = dhcpLease;
+      dhcpLeasedTime.disabled = 0;
+   }
+}
+
+function hideRelayInfo(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('relayInfo').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.relayInfo.style.visibility = status;
+   }
+}
+
+function disableDhcpSrvRelay() {
+   with ( document.forms[0] ) {
+      dhcpSrvType[2].checked = false;
+      dhcpSrvAddr.disabled = 1;
+   }
+}
+
+function enableDhcpSrvRelay() {
+   with ( document.forms[0] ) {
+      dhcpSrvType[2].checked = true;
+      if (dhcpEthStart.value != "")
+         dhcpSrvAddr.value = dhcpEthStart.value;
+      else
+         dhcpSrvAddr.value = dhcpStart;
+      dhcpSrvAddr.disabled = 0;
+   }
+}
+
+function typeClick() {
+   with ( document.forms[0] ) {
+      // if any protocol has NAT enabled then
+      // don't show DHCP relay
+      if ( natEnbl == '1' ) {
+         if ( dhcpSrvType[0].checked == true )
+            disableDhcpSrv();
+         else
+            enableDhcpSrv(0);
+      } else {
+         if ( dhcpSrvType[0].checked == true ) {
+            disableDhcpSrv();
+            disableDhcpSrvRelay();
+         } else if ( dhcpSrvType[1].checked == true ) {
+            enableDhcpSrv(0);
+            disableDhcpSrvRelay();
+         } else {
+            enableDhcpSrvRelay();
+            disableDhcpSrv();
+         }
+      }
+   }
+}
+
+function frmLoad() {
+   with ( document.forms[0] ) {
+      ethIpAddress.value = '<%ejGet(ethIpAddress)%>';
+      ethSubnetMask.value = '<%ejGet(ethSubnetMask)%>';
+
+      if ( natEnbl == '1' && buildUpnp == '1' ) {
+         if ( enblUpnp == '1' )
+            chkUpnp.checked = true;
+         else
+            chkUpnp.checked = false;
+         hideUpnpInfo(0);
+      } else
+         hideUpnpInfo(1);
+
+      // if protocol is Bridge or PPP IP extension
+      // then don't show DHCP info
+      if (proto == 'Bridge' || ipExt == '1')
+         hideDhcpInfo(1);
+      else {
+         hideDhcpInfo(0);
+         // if any protocol has NAT enabled then
+         // don't show DHCP relay
+         if ( natEnbl == '1' ) {
+            hideRelayInfo(1);
+            if ( dhcpEnbl == '1' )
+               enableDhcpSrv(1);
+            else {
+               dhcpSrvType[0].checked = true;
+               disableDhcpSrv();
+            }
+         } else {
+            hideRelayInfo(0);
+            if ( dhcpEnbl == '1' ) {
+               enableDhcpSrv(1);
+               disableDhcpSrvRelay();
+            } else if ( dhcpEnbl == '2' ) {
+               enableDhcpSrvRelay();
+               disableDhcpSrv();
+            } else {
+               dhcpSrvType[0].checked = true;
+               disableDhcpSrv();
+               disableDhcpSrvRelay();
+            }
+         }
+         lan2IpAddress.value = '<%ejGet(lan2IpAddress)%>';
+         lan2SubnetMask.value = '<%ejGet(lan2SubnetMask)%>';
+         if ('<%ejGet(enblLan2)%>' == '1') {
+            enblLan2.checked = true;
+            hideLan2Info(0);
+         } else {
+            enblLan2.checked = false;
+            hideLan2Info(1);
+         }
+      }
+      if (enblStp == '1')
+         chkStp.checked = true;
+      else 
+         chkStp.checked = false; 
+   }
+}
+
+function hideLan2Info(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 )
+      status = 'hidden';
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('lan2Info').style.visibility = status;
+   else {
+      if (document.layers == false) // IE4
+         document.all.lan2Info.style.visibility = status;
+   }
+}
+
+function lan2CbClick(cb) {
+   if ( cb.checked == true )
+      hideLan2Info(0);
+   else
+      hideLan2Info(1);
+}
+
+function isEndGTEStart(EndIp, StartIp)
+{
+   addrEnd = EndIp.split('.');
+   addrStart = StartIp.split('.');
+   E = parseInt(addrEnd[3]) + 1;
+   S = parseInt(addrStart[3]) + 1;
+   if (E < S) 
+      return false;
+   return true;
+}
+
+function btnApply(reboot) {
+   var loc = 'lancfg2.cgi?';
+
+   if (reboot)
+      loc = 'lancfg2Reset.cgi?';
+
+   with ( document.forms[0] ) {
+      if ( isValidIpAddress(ethIpAddress.value) == false ) {
+         alert('Address "' + ethIpAddress.value + '" is invalid IP address.');
+         return;
+      }
+      if ( isValidIpAddress(ethSubnetMask.value) == false ) {
+         alert('Subnet mask "' + ethSubnetMask.value + '" has invalid IP address.');
+         return;
+      }
+      loc += 'ethIpAddress=' + ethIpAddress.value;
+      loc += '&ethSubnetMask=' + ethSubnetMask.value;
+      if ( buildUpnp == '1' ) {
+         if ( chkUpnp.checked == true )
+            loc += '&enblUpnp=1';
+         else
+            loc += '&enblUpnp=0';
+      }
+      if ( chkStp.checked == true )
+         loc += '&enblStp=1';
+      else
+         loc += '&enblStp=0';
+      
+      if ( dhcpSrvType[1].checked == true ) {
+         if (isValidIpAddress(dhcpEthStart.value) == false || 
+               !(isSameSubNet(ethIpAddress.value, ethSubnetMask.value, dhcpEthStart.value, ethSubnetMask.value))) {
+            alert('Start IP address "' + dhcpEthStart.value + '" is invalid IP address.');
+            return;
+         }
+         if ( isValidIpAddress(dhcpEthEnd.value) == false ||
+               !(isSameSubNet(ethIpAddress.value, ethSubnetMask.value, dhcpEthEnd.value, ethSubnetMask.value))) {
+            alert('End IP address "' + dhcpEthEnd.value + '" is invalid IP address.');
+            return;
+         }   
+         if (!(isEndGTEStart(dhcpEthEnd.value, dhcpEthStart.value))) {
+            alert("End ip has to be equal or greater than Start Ip address.");
+            return;
+         }
+         if ( isNaN(dhcpLeasedTime.value) == true || dhcpLeasedTime.value <= 0) {
+            alert('Leased time "' + dhcpLeasedTime.value + '" is invalid.');
+            return;
+         }
+         loc += '&dhcpEthStart=' + dhcpEthStart.value;
+         loc += '&dhcpEthEnd=' + dhcpEthEnd.value;
+         loc += '&dhcpLeasedTime=' + dhcpLeasedTime.value;
+         loc += '&enblDhcpSrv=1';
+      } else {
+         if ( natEnbl == '1' )
+            loc += '&enblDhcpSrv=0';
+         else {
+            if ( dhcpSrvType[2].checked == true ) {
+               if ( isValidIpAddress(dhcpSrvAddr.value) == false ) {
+                  alert('DHCP server IP address "' + dhcpSrvAddr.value + '" is invalid IP address.');
+                  return;
+               }
+               loc += '&dhcpEthStart=' + dhcpSrvAddr.value;
+               loc += '&enblDhcpSrv=2';
+            } else
+               loc += '&enblDhcpSrv=0';
+         }
+      }
+      if (enblLan2.checked == true) {
+         if ( isValidIpAddress(lan2IpAddress.value) == false ) {
+            alert('Address "' + lan2IpAddress.value + '" is invalid IP address.');
+            return;
+         }
+         if ( isValidIpAddress(lan2SubnetMask.value) == false ) {
+            alert('Subnet mask "' + lan2SubnetMask.value + '" has invalid IP address.');
+            return;
+         }
+         if (ethIpAddress.value == lan2IpAddress.value) {
+            alert('The IP address "' + ethIpAddress.value + '" for both LAN interfaces should not be the same.');
+            return;
+         }
+         if (isSameSubNet(ethIpAddress.value, ethSubnetMask.value, lan2IpAddress.value, lan2SubnetMask.value)) {
+            alert('The Subnet can not be the same for both LAN interfaces.');
+            return;
+         }
+         loc += '&enblLan2=1';
+         loc += '&lan2IpAddress=' + lan2IpAddress.value;
+         loc += '&lan2SubnetMask=' + lan2SubnetMask.value;
+      }
+      else
+         loc += '&enblLan2=0';
+   }
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnReset() {
+     var loc = 'rebootinfo.cgi';
+
+     var code = 'location.assign("' + loc + '")';
+     eval(code);
+}
+
+function setDhcpAddresses(lanIp) {
+   with ( document.forms[0] ) {
+      if ( isValidIpAddress(lanIp) == false ) {
+         alert('Address "' + lanIp + '" is invalid IP address.');
+         return;
+      }
+      addrParts = lanIp.split('.');
+      if ( addrParts.length != 4 )
+         return false;
+      t1 = parseInt(addrParts[3]) + 1;
+      if (dhcpEthStart.value != '' && t1 >= 255) {
+         alert("Last portion of IP Address has to be less than 254 for Enabled DHCP Server");
+         return false;
+      }
+      dhcpEthStart.value = dhcpEthEnd.value = "";
+      for (i = 0; i < 3; i++) {
+         dhcpEthStart.value = dhcpEthStart.value + addrParts[i] + ".";
+         dhcpEthEnd.value = dhcpEthEnd.value + addrParts[i] + ".";
+      }
+      dhcpEthStart.value = dhcpEthStart.value + t1;
+      dhcpEthEnd.value = dhcpEthEnd.value + 254;
+   }
+}
+
+
+// done hiding -->
+</script>
+              <base target="_self">
+     </head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("LAN", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+<h3>DHCP Server</h3>
+
+<p>Configure the router&rsquo;s IP address and subnet mask for LAN interface.</p>
+
+<table border="0" cellpadding="1" cellspacing="0">
+  <tr>
+     <td><label for="ethIpAddress">IP address:</label></td>
+     <td><input type='text' name='ethIpAddress' id='ethIpAddress'></td>
+  </tr>
+  <tr>
+     <td><label for="ethSubnetMask">Subnet mask:</label></td>
+     <td><input type='text' name='ethSubnetMask' id='ethSubnetMask'></td>
+  </tr>
+</table>
+
+<div id='dhcpInfo'>
+       <p>
+               <input type='radio' name='dhcpSrvType' id='optDHCPoff' onClick='typeClick()'> <label for="optDHCPoff">Disable DHCP server</label><br>
+               <input type='radio' name='dhcpSrvType' id='optDHCPon' onClick='typeClick()'> <label for="optDHCPon">Enable DHCP server</label>
+       </p>
+       <table border="0" cellpadding="1" cellspacing="0" style="margin-left: 2em;">
+               <tr>
+                  <td><label for="dhcpEthStart">Start IP address:</label></td>
+                  <td><input type='text' name='dhcpEthStart' id='dhcpEthStart' onChange='manualModDhcp()'></td>
+               </tr>
+               <tr>
+                  <td><label for="dhcpEthEnd">End IP address:</label></td>
+                  <td><input type='text' name='dhcpEthEnd' id='dhcpEthEnd' onChange='manualModDhcp()'></td>
+               </tr>
+               <tr>
+                  <td><label for="dhcpLeasedTime">Lease time:</label></td>
+                   <td><input type='text' name='dhcpLeasedTime' id='dhcpLeasedTime'> hours</td>
+                 </tr>
+       </table>
+
+       <div id='relayInfo'>
+               <p><input type='radio' name='dhcpSrvType' id='optDHCPrelay' onClick='typeClick()'> <label for="optDHCPrelay">Enable DHCP server relay</label></p>
+               <table border="0" cellpadding="1" cellspacing="0" style="margin-left: 2em;">
+                  <tr>
+                     <td><label for="dhcpSrvAddr">DHCP server IP address:</label></td>
+                     <td><input type='text' name='dhcpSrvAddr' id='dhcpSrvAddr'></td>
+                  </tr>
+               </table>
+       </div>
+
+       <p><input type='checkbox' name='enblLan2' id='enblLan2' onClick='lan2CbClick(this)'> <label for="enblLan2">Configure the second IP address and subnet mask for LAN interface</label></p>
+       <div id='lan2Info'>
+         <table border="0" cellpadding="1" cellspacing="0" style="margin-left: 2em;">
+            <tr>
+              <td><label for="lan2IpAddress">IP address:</label></td>
+              <td><input type='text' name='lan2IpAddress' id='lan2IpAddress'></td>
+            </tr>
+            <tr>
+               <td><label for="lan2SubnetMask">Subnet mask:</label></td>
+               <td><input type='text' name='lan2SubnetMask' id='lan2SubnetMask'></td>
+            </tr>
+         </table>
+       </div>
+</div>
+
+<div id='upnpInfo'>
+<h3>Universal Plug-n-Play</h3>
+<p><input type='checkbox' name='chkUpnp' id='chkUpnp'> <label for="chkUpnp">Universal Plug-n-Play (UPnP)</label></p>
+</div>
+
+<div id='idStp'>
+<h3>802.1d</h3>
+<p><input type='checkbox' name='chkStp' id='chkStp'> <label for="chkStp">802.1d spanning tree protocol</label></p>
+</div>
+
+<p><input type='button' onClick='btnApply(0)' value='Apply'> <input type='button' onClick='btnReset()' value='Restart'></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/lancfgbr.html b/userapps/broadcom/cfm/html/lancfgbr.html
new file mode 100755 (executable)
index 0000000..0f50c64
--- /dev/null
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var addr = '<%ejGet(ethIpAddress)%>';
+var mask = '<%ejGet(ethSubnetMask)%>';
+var prtcl = '<%ejGetOther(memInfo, ntwkPrtcl)%>';
+
+function frmLoad() {
+   with ( document.forms[0] ) {
+      ethIpAddress.value = addr;
+      ethSubnetMask.value = mask;
+   }
+}
+
+function btnNext() {
+   var ifc = '<%ejGetWl(wlInterface)%>';
+   var loc = '';
+
+   if ( ifc == '1' )
+      loc = 'wlsetup.cgi?';
+   else
+      loc = 'ntwksum2.cgi?';
+
+   with ( document.forms[0] ) {
+      if ( isValidIpAddress(ethIpAddress.value) == false ) {
+         alert('Address "' + ethIpAddress.value + '" is invalid IP address.');
+         return;
+      }
+      if ( isValidIpAddress(ethSubnetMask.value) == false ) {
+         alert('Subnet mask "' + ethSubnetMask.value + '" has invalid IP address.');
+         return;
+      }
+      loc += 'ethIpAddress=' + ethIpAddress.value;
+      loc += '&ethSubnetMask=' + ethSubnetMask.value;
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnBack() {
+   var loc = 'enblbridge.html';
+
+   if ( prtcl == 'PPPoE' || prtcl == 'PPPoA' )
+      loc = 'enblservice.html';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+// done hiding -->
+</script>
+            <base target="_self">
+   </head>
+   <body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Device Setup", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+<p>Configure the router IP address and subnet mask for your local area network (LAN).</p>
+
+   <table border="0" cellpadding="0" cellspacing="0">
+      <tr>
+         <td><label for="ethIpAddress">IP address:</label></td>
+         <td><input type='text' name='ethIpAddress' id='ethIpAddress'></td>
+      </tr>
+      <tr>
+         <td><label for="ethSubnetMask">Subnet mask:</label></td>
+         <td><input type='text' name='ethSubnetMask' id='ethSubnetMask'></td>
+      </tr>
+   </table>
+
+<p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Next'></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/logconfig.html b/userapps/broadcom/cfm/html/logconfig.html
new file mode 100755 (executable)
index 0000000..880544d
--- /dev/null
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+<script type="text/javascript" src="util.js"></script>
+<script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var addr = '<%ejGet(logIpAddress)%>';
+var port = '<%ejGet(logPort)%>';
+
+function getLogPort() {
+   var portNum = parseInt(port);
+   if ( isNaN(portNum) || portNum == 0 )
+      portNum = 514; // default system log server port is 514
+
+   return portNum;
+}
+
+function frmLoad() {
+   with ( document.forms[0] ) {
+      status[<%ejGet(logStatus)%>].checked = true;
+
+      levelLog.selectedIndex = <%ejGet(logLevel)%>;
+      levelDisplay.selectedIndex = <%ejGet(logDisplay)%>;
+
+      logMode.selectedIndex = <%ejGet(logMode)%> - 1;
+      if ( logMode.selectedIndex == 0 ) {
+         logAddr.value = '';
+         logPort.value = '';
+         hideInfo(1);
+      } else {
+         logAddr.value = addr;
+         logPort.value = getLogPort();
+         hideInfo(0);
+      }
+   }
+}
+
+function btnApply() {
+   var loc = 'logintro.cgi?';
+   var idx, log, display, mode;
+
+   with ( document.forms[0] ) {
+      if ( status[0].checked == true ) {
+         var msg = 'If disabled, the information captured by the ';
+         msg += 'router will be lost. If you wish to save ';
+         msg += 'the current log information, click the ';
+         msg += '"Cancel" button, view the current system ';
+         msg += 'log, and use the Save option from the File ';
+         msg += 'menu to save the log data.';
+         if ( confirm(msg) == false )
+            return;
+      }
+
+      if ( status[1].checked == true )
+         loc += 'logStatus=1';
+      else
+         loc += 'logStatus=0';
+      idx = levelLog.selectedIndex;
+      log = levelLog.options[idx].value;
+      idx = levelDisplay.selectedIndex;
+      display = levelDisplay.options[idx].value;
+      idx = logMode.selectedIndex;
+      mode = logMode.options[idx].value;
+      if ( mode == 1 ) {
+         valAddr = addr;
+         valPort = getLogPort();
+      } else {
+         if ( isValidIpAddress(logAddr.value) == false ) {
+            alert('Server IP address "' + logAddr.value + '" is invalid IP address.');
+            return;
+         }
+         if ( isNaN(logPort.value) == true ) {
+            alert('Server UDP port "' + logPort.value + '" is invalid.');
+            return;
+         }
+         valAddr = logAddr.value;
+         valPort = logPort.value;
+      }
+      loc += '&logLevel=' + log;
+      loc += '&logDisplay=' + display;
+      loc += '&logMode=' + mode;
+      loc += '&logIpAddress=' + valAddr;
+      loc += '&logPort=' + valPort;
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function hideInfo(hide) {
+   var status = 'visible';
+
+   if ( hide == 1 ) {
+      status = 'hidden';
+      document.forms[0].logAddr.value = '';
+      document.forms[0].logPort.value = '';
+   } else {
+      document.forms[0].logAddr.value = addr;
+      document.forms[0].logPort.value = getLogPort();
+   }
+
+   if (document.getElementById)  // DOM3 = IE5, NS6
+      document.getElementById('srvInfo').style.visibility = status;
+   else {
+      if (document.layers) { // Netscape 4
+         if ( hide == 1 ) {
+            document.forms[0].logAddr.value = '';
+            document.forms[0].logPort.value = '';
+         }
+      } else  // IE 4
+         document.all.srvInfo.style.visibility = status;
+   }
+}
+
+function cbClick(obj) {
+   var idx = obj.selectedIndex;
+   var val = obj.options[idx].value;
+   if ( val == 1 )
+      hideInfo(1);
+   else
+      hideInfo(0);
+}
+
+// done hiding -->
+</script>
+</head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("System Log", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+
+<form>
+<h3>Configuration</h3>
+
+       <p>This dialog allows you to configure System Log settings. All events greater than
+       or equal to the selected level will be logged or displayed. If the selected mode
+       is <b>Remote</b> or <b>Both</b> events will be sent to the specified
+       UDP port of the specified log server.</p>
+
+       <p>Select the desired values and press  <b>Apply</b> to configure the system log options.</p>
+
+       <p>
+           <input name='status' id="optStatusDisable" type='radio'> <label for="optStatusDisable">Disable log</label><br/>
+           <input name='status' id="optStatusEnable" type='radio'> <label for="optStatusEnable">Enable log</label>
+       </p>
+
+       <table border="0" cellpadding="2" cellspacing="0">
+         <tr>
+           <td><label for="">Log level:</label></td>
+           <td colspan=2><select name='levelLog' id='levelLog' size=1>
+             <option value=0>Emergency</option>
+             <option value=1>Alert</option>
+             <option value=2>Critical</option>
+             <option value=3>Error</option>
+             <option value=4>Warning</option>
+             <option value=5>Notice</option>
+             <option value=6>Informational</option>
+             <option value=7>Debugging</option>
+           </select></td>
+         </tr>
+         <tr>
+           <td><label for="">Display level:</label></td>
+           <td colspan=2><select name='levelDisplay' id='levelDisplay' size=1>
+             <option value=0>Emergency</option>
+             <option value=1>Alert</option>
+             <option value=2>Critical</option>
+             <option value=3>Error</option>
+             <option value=4>Warning</option>
+             <option value=5>Notice</option>
+             <option value=6>Informational</option>
+             <option value=7>Debugging</option>
+           </select></td>
+         </tr>
+         <tr>
+           <td><label for="">Mode:</label></td>
+           <td colspan=2><select name='logMode' id='logMode' size=1 onClick='cbClick(this)'>
+             <option value=1>Local</option>
+             <option value=2>Remote</option>
+             <option value=3>Both</option>
+           </select></td>
+         </tr>
+
+               <div id='srvInfo'>
+                 <tr>
+                   <td><label for="logAddr">Server IP address:</label></td>
+                   <td><input type='text' name='logAddr' id='logAddr'></td>
+                 </tr>
+                 <tr>
+                   <td><label for="logPort">Server UDP port:</label></td>
+                   <td><input type='text' name='logPort' id='logPort'></td>
+                 </tr>
+               </div>
+       </table>
+
+       <p><input type='button' onClick='btnApply()' value='Apply'></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/logintro.html b/userapps/broadcom/cfm/html/logintro.html
new file mode 100755 (executable)
index 0000000..70eb9bb
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <!--
+               Go directly to the system log display.
+       -->
+       <meta http-equiv="refresh" content="0;url=logview.cmd">
+<script type="text/javascript">
+   var loc = 'logview.cmd';
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+</script>
+</head>
+<body>
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/natcfg2.html b/userapps/broadcom/cfm/html/natcfg2.html
new file mode 100755 (executable)
index 0000000..0424dd3
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var prtcl = '<%ejGetOther(memInfo, ntwkPrtcl)%>';
+var service = '<%ejGet(serviceName)%>';
+var vpi = '<%ejGet(atmVpi)%>';
+var vci = '<%ejGet(atmVci)%>';
+var qs = '<%ejGet(quickSetup)%>';
+var iPorts = '<%ejGet(openInPorts)%>';
+
+function frmLoad() {
+   var nat = '<%ejGet(enblNat)%>';
+   var firewall = '<%ejGet(enblFirewall)%>';
+   var enableService = '<%ejGet(enblService)%>';
+   var enableIgmp = '<%ejGet(enblIgmp)%>';
+
+   if ( service == '' ) {
+      switch ( prtcl ) {
+         case 'PPPoE':
+            service = 'pppoe_' + vpi + '_' + vci;
+            break;
+         case 'PPPoA':
+            service = 'pppoa_' + vpi + '_' + vci;
+            break;
+         case 'MER':
+            service = 'mer_' + vpi + '_' + vci;
+            break;
+         case 'IPoA':
+            service = 'ipoa_' + vpi + '_' + vci;
+            break;
+         case 'Bridge':
+            service = 'br_' + vpi + '_' + vci;
+            break;
+         case 'IPoW':
+            service = 'eth_' + vpi;
+            break;
+      }
+   }
+
+   with ( document.forms[0] ) {
+      if ( nat == '1' )
+         enblNat.checked = true;
+      else
+         enblNat.checked = false;
+      if ( firewall == '1' ) {
+         enblFirewall.checked = true;
+         openInPorts.disabled = false;
+         if ( iPorts == '1' )
+            openInPorts.checked = true;
+         else
+            openInPorts.checked = false;
+      } else {
+         enblFirewall.checked = false;
+         openInPorts.disabled = true;
+        openInPorts.checked = false;
+      }
+      if ( enableService == '1' )
+         enblService.checked = true;
+      else
+         enblService.checked = false;
+      if ( enableIgmp == '1' )
+         enblIgmp.checked = true;
+      else
+         enblIgmp.checked = false;
+      serviceName.value = service;
+   }
+}
+
+function btnNext() {
+   var loc = 'ntwksum2.cgi?';
+
+   if ( qs == 1 )
+      loc = 'lancfg.cgi?';
+
+   with ( document.forms[0] ) {
+      if (serviceName.value == '' ) {
+         alert('Please enter service name.');
+         return;
+      }
+      len = serviceName.value.length;
+      if ( len > 32 ) {
+         alert('The length of service name (' + len + ') is too long [0-32].');
+         return;
+      }
+      if ( enblNat.checked == true )
+         loc += 'enblNat=1';
+      else
+         loc += 'enblNat=0';
+      if ( enblFirewall.checked == true )
+         loc += '&enblFirewall=1';
+      else
+         loc += '&enblFirewall=0';
+      if ( openInPorts.checked == true )
+         loc += '&openInPorts=1';
+      else
+         loc += '&openInPorts=0';
+      if ( enblService.checked == true )
+         loc += '&enblService=1';
+      else
+         loc += '&enblService=0';
+      if ( enblIgmp.checked == true )
+         loc += '&enblIgmp=1';
+      else
+         loc += '&enblIgmp=0';
+
+      loc += '&serviceName=' + encodeUrl(serviceName.value);
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnBack() {
+   var loc;
+
+   if ( prtcl == 'IPoA' )
+      loc = 'ipoacfg.html';
+   else
+      loc = 'wancfg.html';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function cbClick(cb) {
+   with ( document.forms[0] ) {
+      if ( cb.checked == true ) {
+         openInPorts.disabled = false;
+         if ( iPorts == '1' )
+            openInPorts.checked = true;
+         else
+            openInPorts.checked = false;
+      } else {
+         openInPorts.disabled = true;
+         openInPorts.checked = false;
+      } 
+   }
+}
+
+// done hiding -->
+</script>
+    </head>
+    <body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Network Address Translation Settings", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+<p>Network Address Translation (NAT) allows you to share one Wide Area Network
+(WAN) IP address for multiple computers on your Local Area Network (LAN).</p>
+
+<p>Clear <b>NAT</b> to enable DHCP relay.
+Clear <b>Allow "Reaim" Proxy</b> to disable "Reaim" proxy support for AOL and MSN Instant Messenger.)</p>
+
+<p><input type='checkbox' name='enblNat' id='enblNat'> <label for="enblNat">NAT</label></p>
+
+<p><input type='checkbox' name='enblFirewall' id='enblFirewall' onClick='cbClick(this)' value='ON'> <label for="enblFirewall">Firewall</label></p>
+
+<p><input type='checkbox' name='openInPorts' id='openInPorts'> <label for="openInPorts">Allow "Reaim" proxy</label></p>
+
+
+<h3>IGMP Multicast and WAN Service</h3>
+
+<p><input type='checkbox' name='enblIgmp' id='enblIgmp' checked> <label for="enblIgmp">IGMP Multicast</label></p>
+
+<p><input type='checkbox' name='enblService' id='enblService' checked> <label for="enblService">WAN service</label></p>
+
+<p><label for="serviceName">Service name:</label> <input type="text" name="serviceName" id="serviceName"></p>
+
+<p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Next'></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/ntwkprtcl.html b/userapps/broadcom/cfm/html/ntwkprtcl.html
new file mode 100755 (executable)
index 0000000..91d4b7a
--- /dev/null
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var qs = '<%ejGet(quickSetup)%>';
+var prtcl = '<%ejGetOther(memInfo, ntwkPrtcl)%>';
+var eMode = '<%ejGet(encapMode)%>';
+var srvname = '<%ejGet(serviceName)%>';
+var vpi = '<%ejGet(atmVpi)%>';
+var vci = '<%ejGet(atmVci)%>';
+var existedProtocol = '<%ejGet(existedProtocol)%>';
+var enblEnetWan = '<%ejGet(enblEnetWan)%>';
+
+function frmLoad() {
+   with ( document.forms[0] ) {
+      if ( enblEnetWan == 1 ) {
+            document.getElementById('enetWan').style.visibility = 'hidden';
+            eMode = 2;
+            if (prtcl == 'PPPoE')
+               ntwkPrtcl[0].checked = true;
+            else
+               ntwkPrtcl[1].checked = true;
+      } else if ( existedProtocol == 'MER' ) {
+         // if MER is existed in this PVC and MER is editting then 
+         // allow PPPoE or MER to be added
+         if ( prtcl == 'MER' )
+            ntwkPrtcl[1].checked = true;
+         else
+         // if MER is existed and PPPoE is editting then only allow PPPoE to be added
+            ntwkPrtcl.checked = true;
+      } else if ( existedProtocol == 'PPPoE' ) {
+         // if (PPPoE is existed then only allow PPPoE or MER to be added
+         if ( prtcl == 'MER' )
+            ntwkPrtcl[1].checked = true;
+         else
+            ntwkPrtcl[0].checked = true;
+      } else {
+         // otherwise no restriction
+         if ( prtcl == 'PPPoA' )
+            ntwkPrtcl[0].checked = true;
+         else if ( prtcl == 'PPPoE' )
+            ntwkPrtcl[1].checked = true;
+         else if ( prtcl == 'MER' )
+            ntwkPrtcl[2].checked = true;
+         else if ( prtcl == 'IPoA' )
+            ntwkPrtcl[3].checked = true;
+         else
+            ntwkPrtcl[4].checked = true;
+      }
+      encDisplay(eMode);
+   }
+}
+
+function btnNext() {
+   var loc = '', service = '';
+   var conId = '<%ejGetOther(wanInterfaceInfo, conId)%>';
+
+   with ( document.forms[0] ) {
+      if ( enblEnetWan == 1 ) {
+         if ( ntwkPrtcl[0].checked == true ) {
+               loc = 'pppoe.cgi?ntwkPrtcl=0';
+               service = 'pppoe_' + 'eth' + '_' + vpi + '_' + conId;
+         } else {
+               loc = 'wancfg.cgi?ntwkPrtcl=6';
+               service = 'eth_' + vpi;
+         }
+      } else if ( existedProtocol == 'MER' ) {
+         // if MER is existed in this PVC and MER is editting then 
+         // allow PPPoE or MER to be added
+         if ( prtcl == 'MER' ) {
+            if ( ntwkPrtcl[1].checked == true ) {
+               loc = 'wancfg.cgi?ntwkPrtcl=2';
+               service = 'mer_' + vpi + '_' + vci;
+            } else {
+               loc = 'pppoe.cgi?ntwkPrtcl=0';
+               service = 'pppoe_' + vpi + '_' + vci + '_' + conId;
+            }
+         } else {
+         // if MER is existed in this PVC and PPPoE is editting then 
+         // only allow PPPoE or MER to be added
+            loc = 'pppoe.cgi?ntwkPrtcl=0';
+            service = 'pppoe_' + vpi + '_' + vci + '_' + conId;
+         }
+      } else if ( existedProtocol == 'PPPoE' ) {
+         // if PPPoE is existed then only allow PPPoE or MER to be added
+         if ( ntwkPrtcl[0].checked == true ) {
+            loc = 'pppoe.cgi?ntwkPrtcl=0';
+            service = 'pppoe_' + vpi + '_' + vci + '_' + conId;
+         }
+         else if ( ntwkPrtcl[1].checked == true ) {
+            loc = 'wancfg.cgi?ntwkPrtcl=2';
+            service = 'mer_' + vpi + '_' + vci;
+         }
+      } else {
+         // otherwise no restriction
+         if ( ntwkPrtcl[0].checked == true ) {
+            loc = 'pppoe.cgi?ntwkPrtcl=1';
+            service = 'pppoa_' + vpi + '_' + vci + '_' + conId;
+         }
+         else if ( ntwkPrtcl[1].checked == true ) {
+            loc = 'pppoe.cgi?ntwkPrtcl=0';
+            service = 'pppoe_' + vpi + '_' + vci + '_' + conId;
+         }
+         else if ( ntwkPrtcl[2].checked == true ) {
+            loc = 'wancfg.cgi?ntwkPrtcl=2';
+            service = 'mer_' + vpi + '_' + vci;
+         }
+         else if ( ntwkPrtcl[3].checked == true ) {
+            loc = 'ipoacfg.cgi?ntwkPrtcl=5';
+            service = 'ipoa_' + vpi + '_' + vci;
+         }
+         else {
+            loc = 'enblbridge.cgi?ntwkPrtcl=3';
+            service = 'br_' + vpi + '_' + vci;
+         }
+      }
+      loc += '&encapMode=' + encSel.options[encSel.selectedIndex].value;
+   }
+   if ( srvname == '' || qs == '1' )
+      loc += '&serviceName=' + encodeUrl(service);
+   else
+      loc += '&serviceName=' + encodeUrl(srvname);
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnBack() {
+   if (qs == 0)
+      var code = 'location.assign("' + 'pvccfg.html' + '")';
+   else
+      var code = 'location.assign("' + 'vpivci.html' + '")';
+
+   eval(code);
+}
+
+function encDisplay(mode)
+{
+   with ( document.forms[0] ) {
+      if ( enblEnetWan == 2 || enblEnetWan == 0 ) {   // ethernet WAN feature is disabled
+         encSel.selectedIndex = 0;
+         if (mode == 1)
+            encSel.selectedIndex = 1;
+         // if MER or PPPoE is existed in this PVC
+         if ( existedProtocol == 'MER' || existedProtocol == 'PPPoE' ) {
+            encSel.options[0].text = "LLC/SNAP-BRIDGING";
+            encSel.options[1].text = "VC/MUX";
+         } else {
+         // otherwise no restriction
+            if ( ntwkPrtcl[0].checked == true ) {
+               encSel.options[0].text = "VC/MUX";
+               encSel.options[1].text = "LLC/ENCAPSULATION";
+            }
+            else if ( ntwkPrtcl[3].checked == true ) {
+               encSel.options[0].text = "LLC/SNAP-ROUTING";
+               encSel.options[1].text = "VC/MUX";
+            }
+            else {
+               encSel.options[0].text = "LLC/SNAP-BRIDGING";
+               encSel.options[1].text = "VC/MUX";
+            }
+         }
+      }
+   }
+}
+
+function prtClick() {
+   encDisplay(0);
+}
+
+// done hiding -->
+</script>
+            <base target="_self">
+</head>
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("Connection Type", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<p>Select the type of network protocol and encapsulation mode over the ATM PVC
+   that your ISP has instructed you to use.</p>
+
+<form>
+<script type="text/javascript">
+<!-- hide
+if ( enblEnetWan == 1 )
+{
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idPPPoE' onClick='prtClick()'> <label for='idPPPoE'>PPP over Ethernet (PPPoE)</label><br/>");
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idIPcxn' onClick='prtClick()'> <label for='idIPcxn'>IP Connection</label><br/>");
+}
+else if ( existedProtocol == 'MER' )
+{
+   // if MER is existed in this PVC and MER is editing then allow PPPoE or MER to be added
+   if ( prtcl == 'MER' )
+   {
+      document.writeln("<input type='radio' name='ntwkPrtcl' id='idPPPoE' onClick='prtClick()'> <label for='idPPPoE'>PPP over Ethernet (PPPoE)</label><br/>");
+      document.writeln("<input type='radio' name='ntwkPrtcl' id='idMER' onClick='prtClick()'> <label for='idMER'>MAC Encapsulation Routing (MER)</label><br/>");
+   }
+   else        // if MER is existed in this PVC and PPPoE is editting then only allow PPPoE to be added
+      document.writeln("<input type='radio' name='ntwkPrtcl' id='idPPPoE' onClick='prtClick()'> <label for='idPPPoE'>PPP over Ethernet (PPPoE)</label><br/>");
+}
+else if ( existedProtocol == 'PPPoE' )
+{
+       // if PPPoE is existed in this PVC then only allow PPPoE or MER to be added
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idPPPoE' onClick='prtClick()'> <label for='idPPPoE'>PPP over Ethernet (PPPoE)</label><br/>");
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idMER' onClick='prtClick()'> <label for='idMER'>MAC Encapsulation Routing (MER)</label><br/>");
+}
+else   // otherwise no restriction
+{
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idPPPoA' onClick='prtClick()'> <label for='idPPPoA'>PPP over ATM (PPPoA)</label><br/>");
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idPPPoE' onClick='prtClick()'> <label for='idPPPoE'>PPP over Ethernet (PPPoE)</label><br/>");
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idMER' onClick='prtClick()'> <label for='idMER'>MAC Encapsulation Routing (MER)</label><br/>");
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idIPoA' onClick='prtClick()'> <label for='idIPoA'>IP over ATM (IPoA)</label><br/>");
+   document.writeln("<input type='radio' name='ntwkPrtcl' id='idBridging' onClick='prtClick()'> <label for='idBridging'>Bridging</label><br/>");
+}
+// done hiding -->
+</script>
+</table>
+
+<div id='enetWan'>
+       <p><label for="encSel">Encapsulation mode:</label>
+       <select name='encSel' id='encSel'>
+               <option value="0">LLC/SNAP-Bridging</option>
+               <option value="1">VC/MUX</option>
+       </select></p>
+</div>
+
+<p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Next'></p>
+</form>
+
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/ntwksum2.html b/userapps/broadcom/cfm/html/ntwksum2.html
new file mode 100755 (executable)
index 0000000..0b2518a
--- /dev/null
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript">  
+<!-- hide
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var ipExtension = '<%ejGet(pppIpExtension)%>';
+var prtcl = '<%ejGetOther(memInfo, ntwkPrtcl)%>';
+var qs = '<%ejGet(quickSetup)%>';
+
+function btnNext() {
+   var loc = 'wancfg.cmd?action=add';
+
+   if ( qs == '1' )
+      loc = 'rebootinfo.cgi';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnBack() {
+   var ifc = '<%ejGetWl(wlInterface)%>';
+   var loc = 'natcfg2.html';
+
+   if ( qs == '1' ) {
+      if ( ifc == '1' )
+         loc = 'wlsetup.html';
+      else {
+         if ( prtcl == 'Bridge' )
+            loc = 'lancfgbr.html';
+         else if ( (ipExtension == '1') &&
+                   ((prtcl == 'PPPoE') || (prtcl == 'PPPoA')) )
+            loc = 'lancfgbr.html';
+         else
+            loc = 'lancfg.html';
+      }
+   } else {
+      if (prtcl == 'Bridge')
+         loc = 'enblbridge.html';
+      else if ( prtcl == 'PPPoE' || prtcl == 'PPPoA' )
+         loc = 'enblservice.html';
+      else if (prtcl == 'MER' || prtcl == 'IPoA')
+         loc = 'natcfg2.html';
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+
+// done hiding -->
+       </script>
+    </head>
+      <body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       writeHeader("WAN Setup", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>Summary</h3>
+
+<p>Make sure that the settings below match the settings provided by your ISP.</p>
+
+<table border="1" cellpadding="3" cellspacing="0">
+ <tr>
+    <td>VPI / VCI:</td>
+    <td><%ejGetOther(memInfo, vpiVci)%></td>
+ </tr>
+ <tr>
+    <td>Connection type:</td>
+    <td><%ejGetOther(memInfo, ntwkPrtcl)%></td>
+ </tr>
+ <tr>
+    <td>Service name:</td>
+    <td><%ejGet(serviceName)%></td>
+ </tr>
+ <tr>
+    <td>Service category:</td>
+    <td><%ejGet(atmServiceCategory)%></td>
+ </tr>
+ <tr>
+    <td>IP address:</td>
+    <td><%ejGetOther(memInfo, wanAddr)%></td>
+ </tr>
+ <tr>
+    <td>Service state:</td>
+    <td><%ejGetOther(memInfo, enblService)%></td>
+ </tr>
+ <tr>
+    <td>NAT:</td>
+    <td><%ejGetOther(memInfo, enblNat)%></td>
+ </tr>
+ <tr>
+    <td>Firewall:</td>
+    <td><%ejGetOther(memInfo, enblFirewall)%></td>
+ </tr>
+ <tr>
+    <td>IGMP multicast:</td>
+    <td><%ejGetOther(memInfo, enblIgmp)%></td>
+ </tr>
+ <tr>
+   <td>Quality of service:</td>
+   <td><%ejGetOther(memInfo, enblQos)%></td>
+</tr>
+</table>
+
+<script type="text/javascript">
+<!-- hide
+if ( qs == 1 ) {
+    document.writeln('<p>Click  <b>Finish</b> to accept these settings. Click <b>Back</b> to make any modifications.<\/p>');
+    document.writeln('<p>NOTE: The configuration process takes about one minute to complete and your router will restart.<\/p>');
+    document.writeln("<p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Finish'><\/p>");
+} else {
+    document.writeln('<p>Click  <b>Apply</b> to accept these settings. Click <b>Back</b> to make any modifications.<\/p>');
+    document.writeln("<p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Apply'><\/p>");
+}
+// done hiding -->
+</script>
+
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+    </body>
+</html>
diff --git a/userapps/broadcom/cfm/html/password.html b/userapps/broadcom/cfm/html/password.html
new file mode 100755 (executable)
index 0000000..544a0a0
--- /dev/null
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+       (c) 2005 U.S. Robotics Corporation
+-->
+<html>
+<head>
+       <title>Security &raquo; Device Login</title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.js" type="text/javascript"></script>
+
+       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
+
+       <script type="text/javascript" src="util.js"></script>
+       <script type="text/javascript">
+<!-- hide
+
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var strPasswords = new Array (
+                                                                                       "<%ejGet(sysPassword)%>",
+                                                                                       "<%ejGet(sptPassword)%>",
+                                                                                       "<%ejGet(usrPassword)%>"
+                                                                               );
+
+function validatePage()
+{
+       var ix = document.idForm.userName.selectedIndex;
+       if (document.idForm.pwdOld.value != strPasswords[ix])
+       {
+               alert("The old password is incorrect. Please try again.");
+               return false;
+       }
+
+       if (document.idForm.pwdNew.value != document.idForm.pwdCfm.value)
+       {
+               alert("The new passwords do not match.");
+               return false;
+       }
+
+       // copy the new password to the correct field
+       if (ix == 1)
+               document.idForm.sptPassword.value = document.idForm.pwdNew.value;
+       else if (ix == 2)
+               document.idForm.usrPassword.value = document.idForm.pwdNew.value;
+       else
+               document.idForm.sysPassword.value = document.idForm.pwdNew.value;
+
+       return true;
+}
+// done hiding -->
+</script>
+</head>
+<body onload="initMenu('idMenu');">
+
+<script type="text/javascript">
+       writeHeader("Security", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<h3>Device Login</h3>
+
+<p>Access to your router is controlled through three user accounts: admin,
+support, and user.</p>
+
+<p>The user name "admin" has unrestricted access to change and view configuration of
+your router.</p>
+
+<p>The user name "support" is used to allow an ISP technician to access your
+router for maintenance and to run diagnostics.</p>
+
+<p>The user name "user" can access the router, view configuration settings
+and statistics, as well as update the router&rsquo;s software.</p>
+
+<p>Use the fields below to enter up to 16 characters
+and press <b>Apply</b> to change or create passwords.</p>
+
+<form name="idForm" action="password.cgi" method="post">
+       <input type="hidden" id="sysPassword" name="sysPassword" value="<%ejGet(sysPassword)%>">
+       <input type="hidden" id="sptPassword" name="sptPassword" value="<%ejGet(sptPassword)%>">
+       <input type="hidden" id="usrPassword" name="usrPassword" value="<%ejGet(usrPassword)%>">
+
+   <table border="0" cellpadding="2" cellspacing="0">
+      <tr>
+         <td><label for="">User name:</label></td>
+         <td><select name='userName' id='userName' size="1">
+               <option value="1">admin</option>
+               <option value="2">support</option>
+               <option value="3">user</option>
+            </select></td>
+      </tr>
+      <tr>
+         <td><label for="pwdOld">Old password:</label></td>
+         <td><input name='pwdOld' id='pwdOld' type="text" size="20" maxlength="16"></td>
+      </tr>
+      <tr>
+         <td><label for="pwdNew">New password:</label></td>
+         <td><input name='pwdNew' id='pwdNew' type="text" size="20" maxlength="16"></td>
+      </tr>
+      <tr>
+         <td><label for="pwdCfm">Confirm password:</label></td>
+         <td><input name='pwdCfm' id='pwdCfm' type='text' size="20" maxlength="16"></td>
+      </tr>
+   </table>
+   <p><input type="submit" value="Apply" onClick="if (!validatePage()) return false;"></p>
+</form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>
diff --git a/userapps/broadcom/cfm/html/portName.js b/userapps/broadcom/cfm/html/portName.js
new file mode 100755 (executable)
index 0000000..37f7b3a
--- /dev/null
@@ -0,0 +1,215 @@
+// PLEASE NOTE THAT A SPACE BETWEEN TWO WORDS IS TAKEN AS TWO SEPARATE
+// WORDS. PLEASE KEEP THIS FILE CONSISTENT.
+var portName_L = new Array();
+var portName_U = new Array();
+
+// For each Linux interface name in the boardparms.c file, add
+// a corresponding Linux interface name and a user-friendly name
+// of its equivalent that must be displayed on the WEB UI. It is
+// best if the new inteface names are added at the end.
+
+// Wireless interfac Linux interface name
+portName_L[0]    = 'wl0';
+// Wireless interface user-friendly name
+portName_U[0]     = 'Wireless';
+
+// USB interface Linux interface name
+portName_L[1]    = 'usb0';
+// USB user-friendly name
+portName_U[1]    = 'USB';
+
+// Board ID 96338SV Linux name
+portName_L[2]     = '96338SV|eth0';
+// Board ID 96338SV user-friendly name
+portName_U[2]     = '96338SV|ENET';
+
+//Board ID 96338L-2M-8M Linux name
+portName_L[3]     = '96338L-2M-8M|eth0';
+//Board ID 96338L-2M-8M user-friendly name
+portName_U[3]     = '96338L-2M-8M|ENET';
+
+// Board ID 96345R Linux name
+portName_L[4]     = '96345R|eth0';
+// Board ID 96345R user-friendly name
+portName_U[4]     = '96345R|ENET';
+
+// Board ID 96345GW2 Linux names
+portName_L[5]     = '96345GW2|eth0';
+portName_L[6]     = '96345GW2|eth0.2';
+portName_L[7]     = '96345GW2|eth0.3';
+portName_L[8]     = '96345GW2|eth0.4';
+portName_L[9]     = '96345GW2|eth0.5';
+// Board ID 96345GW2 user-friendly names
+portName_U[5]     = '96345GW2|ENET(1-4)';
+portName_U[6]     = '96345GW2|ENET4';
+portName_U[7]     = '96345GW2|ENET3';
+portName_U[8]     = '96345GW2|ENET2';
+portName_U[9]     = '96345GW2|ENET1';
+
+
+// Board ID 96345GW Linux name
+portName_L[10]    = '96345GW|eth0';
+portName_L[11]    = '96345GW|eth0.2';
+portName_L[12]    = '96345GW|eth0.3';
+portName_L[13]    = '96345GW|eth0.4';
+portName_L[14]    = '96345GW|eth0.5';
+// Board ID 96345GW user-friendly names
+portName_U[10]    = '96345GW|ENET(1-4)';
+portName_U[11]    = '96345GW|ENET4';
+portName_U[12]    = '96345GW|ENET3';
+portName_U[13]    = '96345GW|ENET2';
+portName_U[14]    = '96345GW|ENET1';
+
+// Board ID 96335R Linux name
+portName_L[15]    = '96335R|eth0';
+// Board ID 96335R user-friendly name
+portName_U[15]    = '96335R|ENET';
+
+// Board ID 96345R0 Linux name
+portName_L[16]    = '96345R0|eth0';
+// Board ID 96345R0 user-friendly name
+portName_U[16]    = '96345R0|ENET';
+
+// Board ID 96345RS Linux name
+portName_L[17]    = '96345RS|eth0';
+// Board ID 96345RS user-friendly name
+portName_U[17]    = '96345RS|ENET';
+
+// Board ID 96348R Linux name
+portName_L[18]    = '96348R|eth0';
+// Board ID 96348R user-friendly name
+portName_U[18]    = '96348R|ENET';
+
+// Board ID 96348LV Linux name
+portName_L[19]    = '96348LV|eth0';
+portName_L[20]    = '96348LV|eth1';
+// Board ID 96348LV user-friendly name
+portName_U[19]    = '96348LV|ENET1';
+portName_U[20]    = '96348LV|ENET2';
+
+// Board ID 96348GW-A Linux name
+portName_L[21]    = '96348GW-A|eth0';
+portName_L[22]    =