DGND3700 V1 Transmission Firmware

From richud.com
Jump to: navigation, search


This page contains all the custom firmware files for Netgear's DGND3700 v1 / N600 (ADSL/VDSL / WAN Router).

  • NOTE this is built based upon Netgear's released GPL source code and is not related in any way to Netgear beyond that.

DGND3700 v1 / N600 Screenshots

Service settings - Avahi/NFS/SMB/ReadyMedia(DLNA)/Cron/Transmission/Automatic/WOL
ADSL Advanced settings
DynDNS - Inadyn-mt
SNMP Monitor - miniSNMPD
Torrent - Transmission/Automatic
Wake-On-Lan (WoL)
Transmission Bittorrent WEB GUI
SNMP logging output (from external program RRDtool)

Added Features

  • Avahi (Bonjour) network discovery for most services
  • Transmission (Bittorrent) [including relevant network tweaks to tcp_fin_timeout/tcp_keepalive_time/rmem_max/wmem_max ]
  • Automatic torrent RSS feeder
  • Full ADSL Mode Setting, ADSL/VDSL , Target SNR Margin (10% increments), PhyRexMt
  • Inadyn-mt DynDNS Support
  • e2fsprogs Format/check ext2/3/4 filesystems directly on device
  • Large files support to filesystem limits
  • Add 5th LAN port by reassigning ethernet WAN port to the bridge (eth0 to br0)
  • NFS 2,3 and 4
  • Filesystem, EXT 2,3 (& 4 as experimental in kernel), HFS+ r/o
  • Dropbear SSH with sftp-server (OpenSSH), LAN and WAN access.
  • strace for developers
  • DNSMasq DHCP / DNS caching and PXE booting
  • p910nd non-caching print server daemon (hotplug started)
  • Lots more Busybox programs enabled.
  • Crontab/crond (time based job scheduler)
  • SNMP daemon
  • RIP re-enabled (zebra ripd)
  • Wake-On-Lan (send magic packet to wake LAN machine)
  • Ad-blocking via DNS (using DNSMasq with http://pgl.yoyo.org/adservers/ blocklist)
  • WAN VLAN tag ID (for certain VDSL providers such as BT Infinity)
  • IGMP Proxy - (for IPTV [with VDSL services], modified with wl-500 oleg patches for 0.0.0.0/1 altnet)
  • bbe binary block editor (dev use, alter the propietry binaries)

Updated Features

  • ADSL/VDSL firmware replaced with A2pv6C035m.d23k (from Netgear's never released beta firmware)
  • ADSL/VDSL granular mode selection, granular options selectable.
  • miniDLNA (ReadyShare) Supports more TV's and devices & now works properly daemonized.
  • Samba 3.6 (Support SMB2, years of bugfixes & improvements.)
  • NTFS-3G 2013 (many fixes, improved Windows 8 NTFS compatability)
  • udhcpd replaced with DNSMasq (works properly, faster, more features, DNS attack protection, caching, Ad-blocking)
  • Automounting USB via disk Label, falling back to UUID, then block device number.
  • USB drive using spinning media CFQ I/O scheduler, (not NOOP!)
  • Priority of all non-vital programs lowered to stop router hanging/crashing on CPU load. I/O priority reduced on Transmission/ReadySHARE
  • Time set from from time.nist.gov and pool.ntp.org on WAN up rather than netgears (sometimes problematic) time servers.

Download Latest Firmware DGND3700V1/N600

Download Link DGND3700_2014-03-15_A_D.chk

Changelog 2014-03-15

Additions:

Fixes:

  • SMB2 (Samba V2) support now working. (Oddity of obsolete 'security = share' disabling SMB2 support.)

(Note gvfs-mount as used in Nautilus etc. only supports SMB1).

  • umount now works again (bug introduced in Busybox 1.22.0 - I found/fixed).

Updates:

  • cURL 7.33.0 > 7.35.0
  • miniDLNA/Readyshare > todays current git (development seems to have restarted)
  • sqlite3 > 3080301
  • NTFS-3g > 2014.2.15

Changes:

  • Now (almost) everything compiled with gcc optimize level -O3 for possible slight speedups/lower cpu usage. (Previously most were -O2 and some only -Os)
  • Removed some unnecessary build options in ffmpeg to reduce library sizes (used by miniDLNA/Readyshare)
  • Retracted using ionice for TBT and DLNA

Changelog 2014-02-14

Additions:

  • Ad blocking via DNS (dnsmasq) - [default using http://pgl.yoyo.org which isn't too large and yet still blocks 99%, can be changed via nvram parameter 'adblock_blocklist', if dnsmasq formatted]
  • Additional DNS server can be added in addition to DHCP aquired ones by adding it's IP with nvram paramter 'wan_dns_extra'

Additions - Testing: [feedback please as untested]

  • VLAN tag (WAN VLAN ID) on atm0 interface (for VDSL [e.g. BT Infinity, ID 101, remember transfer mode needs to be also PTM])
  • IGMP Proxy (IPTV)

Fixes:

  • Removed the possibility of race condition in acos_service when wan is going down and up where it may be reading/writing/moving/deleting resolv.auto file at the same time.
  • Few minor GUI tweaks

Changes:

  • Dnsmasq now doesn't poll for resolve.auto, relies on wan up/down, (will save a few CPU cycles)
  • Time/date set via busybox's ntpd on wan up (time.nist.giv & time.pool.org). No longer running timesync with Netgear's servers, (will save a few CPU cycles)

Changelog 2014-01-20

Additions:

  • SNMP Monitor (Web GUI)
  • Wake-On-Lan (Web GUI)
  • Cron Scheduler (Web GUI)
  • Avahi/Bonjour/Zeroconf services advertisments
  • RIP (re-enabled Netgear's implementation with zebra/ripd)
  • bbe (binary block editor), wol (cli)

Updates:

  • Busybox > 1.22.1
  • Samba > 3.6.22

Fixes:

  • Patched pre-existing bug in lld2d (link layer topology discovery daemon) so when it randomly renames the LAN Setup > Device Name it goes to a default DGND3700 and not "802.11 Broadcom Reference", which breaks things (such as Windows 7 'network map')
  • Transmission startup script will no longer cause a 0 byte config file if the drives full.
  • A few other minor fixes.

Changes:

  • Enabled MaxMTU setting to 1492 on PPPoA
  • LAN Setup > 'Device Name' now forced to only allow alphanumeric and hyphens as being used as hostname and as part of the service names
  • Web GUI updated with new 'network services' and text tweaking for clarity
  • Most programs/services now separately enabled/disabled via the 'network services'.
  • miniDLNA now referred to with its new name 'ReadyMedia'
  • more filtering of webui input to block anyone entering invalid characters that may break parsing

Changelog 2013-12-20

Additions:

  • p910nd non-caching print server daemon added, autostarts on USB printer hotplug. (Appsocket/HP JetDirect , port 9100)

Changes:

  • Altered ADSL 'Target SNR Margin' adjustments on web gui to have finer grained control (10% increments)

Changelog 2013-11-27

Additions:

  • telnet client as requested
  • crontab/crond as requested (and cURL executable). Setting nvram option cron_value with a normal crontab entry will make crond start using that value.

Updated:

  • rebuilt MIPS build toolchain with all available patches (fixing daemonize bug)
  • minidlna to 1.1.1, now running properly daemonized. (Netgear worked around this by leaving it running in debug mode!) It should take up less resources now doing a scan too & work with more tv's etc.
  • openssl 1.0.2
  • all the (A/V) libs that minidlna uses. (ffmpeg 2.0.2 ,libogg 1.3.1, flac 1.3.0 & zlib 1.2.8)

Fixes:

  • dnsmasq now back to low CPU usage & not crapping out (setting --query-port=0), thanks to a tool called dnsblast that let me get to the bottom of it after weeks of fiddling and trying to find a reliable test.
  • unplugging a usb device should stop services and cleanup everything properly.
  • other minor things I can't remember now as it has been so long since last release.

Changes:

  • ionice reducing I/O priority of transmission and minidlna to get low dibs order on the usb drive and not hog it.
  • multitude of kernel patches from Olegs Wl-500g firmware
  • Using ISO-8601 for firmware numbering. (FYI Netgears choice '10201736' is month:10 day:20 hour:17 minute:36, no year)

Changelog 10201736

Additions/Improvements:

  • udhcpd nuked, DNSMasq now doing DNS and DHCP, featuring;
    • resolvable LAN hostnames including the router
    • DNS query caching (including local caching for TBT trackers etc.)
    • simultaneous query of DNS servers, using fastest.
    • some protections against attacks involving DNS
  • PXE boot enabled, with two flavours of Memtest86 currently bootable, via TFTP > HTTP (iPXE > PXELINUX), F12 on most systems at boot. [expansion in mind, pull larger stuff from the USB drive]
  • Can add LAN/Ethernet port to the bridge (to act as 5th LAN port)
  • Renice original default programs to low priority on startup

Fixes:

  • Dropbear SSH Firewall enabled didn't stick after power cycle (moved on menu, now called 'dropbearfw')
  • Static leases work correctly.

Changelog 10121522

  • Automatic URL/Feed parsing fixed
  • Updated Busybox and Dropbear
  • Added sftp-server (from OpenSSH) addition for Dropbear to allow SFTP access
  • Added opening external Firewall to allow SSH/SFTP
  • Dropbear now logs to syslog

Changelog 09121810

  • Fixed log to be working again
  • Annex M and VDSL selection on new menu set them. [Note, under 'Settings' > 'ADSL Setting' , 'VDSL' setting has no effect]
  • Updated Transmission 2.77 > 2.82
  • Added Automatic 0.8.0 for automatically adding torrents from RSS feeds.
  • GUI page for dyndns
  • Added advanced Wifi menu back that was 'hidden' in original firmware, A-MPDU/A-MSDU aggregation, Beacon, DTIM interval setting.
  • Much more feature enhanced web GUI for ADSL, Dyndns, Torrent/Automatic settings
  • Shutdown/reboot from new menu shut everything down nicely first from inittab
  • Compiling firmware initially is quicker as enabled multiple job build (-j4) on most things [16m on Corei5].
  • Other minor things I cant remember.

Previous DGND3700 V1 / N600 firmware versions

DGND3700_2014-02-14_A_D.chk

DGND3700_2014-01-20_A_D.chk

DGND3700_2013-12-20_A_D.chk

DGND3700_2013-11-27_A_D.chk

DGND3700_10300925_A_D.chk

DGND3700_10201736_A_D.chk

DGND3700_10121522_A_D.chk

DGND3700_09121810_A_D.chk

DGND3700_06101913_A_D.chk

DGND3700_04091659_A_D.chk

DGND3700_04071713_A_D.chk

DGND3700_03261737_A_D.chk

DGND3700_03021748_A_D.chk

See Also


Notes/FAQ/Help/Instructions/Manual

Network Services

  • You can only use start/stop when the service is enabled.

Cron

This will let you 'do something' on a time schedule. Cron Info

Turn wireless on/off

  • 2Ghz = 'wla_' = wl0
  • 5Ghz = 'wlg_' = wl1

Turn OFF both 2 & 5Ghz daily at 23:15, crontab entry is

15 23 * * * param set wla_wlanstate=Disable;param set wlg_wlanstate=Disable;pkill -SIGUSR1 wlanconfigd

Turn ON both 2 & 5Ghz daily at 06:15, crontab entry is

15 6 * * * param set wla_wlanstate=Enable;param set wlg_wlanstate=Enable;pkill -SIGUSR1 wlanconfigd

If for example you already have 5Ghz disabled, omit the wlg_ part from both entries (semi colon separates commands)

Dropbear (SSH/SFTP)

l:admin p:<same as routers web page>

  • When the ADSL/ppp comes up, dropbear's connection will drop, you will probably only notice this if you connect while its still in final stages of booting up

Can enable or disable firewall to allow WAN access (setting: 'SSH/SFTP WAN Access')

Very strongly suggest you set a complex password if you are enabling external SSH access! Bear in mind you can tunnel almost anything through SSH to any machine on your LAN

DNS (DNSMasq)

DHCP, DNS, PXE boot, Ad-blocking are all provided by DNSmasq.

Ad-blocking

At the time of writing this is just enabled or disabled as a network service (can specify your own via NVRAM variable assuming in correct format). The Blocklist is from http://pgl.yoyo.org/adservers/ which has been going for over a decade with regular updates. It is a fairly small list of ~2500 address yet will block 99% of ads and not have any performance impact on general DNS resolution. As it runs at the DNS resolution level ad's cannot be obfusticated in Javascript or Flash etc. See here for ad-filtering info

  • WAN connection comes up > latest list downloaded > DNSmasq restarted. Any domain in the list will then redirect to IP 0.0.0.0, effectively blocking it.)

The only known issues are ;

In a tiny minority of web sites, the ad display area is hard-sized and you may get a grey box saying it can't be found (eBay for example).

If you follow a web link that hops through an advert site (AdFly) then it won't work. Very unlikely to happen on 'normal' web sites!

Telnet daemon

Allows opening a terminal without needing any login credentials (therefore there is obviously no WAN access)

Transmission

To use transmission you need (very) preferably an EXT3 formatted drive*, with a folder in the root created called 'transmissionbt'.

How to wipe/partition/format(ext3) and create folder while attached to DGND3700

Starting the service without this will have no effect. [This ensures the router wont write default configurations and files to everything plugged in unintentionally when automounting.]

Security options can be changed from the Netgear web interface, all other options can be changed via Transmission's own webGUI - but you need to stop transmission from Netgear web interface to make it save settings (it saves on program exit only, cannot force a save via its own web interface sadly.)

  • The performance of NTFS is terrible due to high CPU usage, please don't use NTFS formatted drives if at all possible.

Strongly suggest setting any external access IP's in the RPC whitelist and setting an RPC password

Automatic

Uses RSS feeds to filter and drop/start torrents automatically. Requires some understanding of PCRE syntax for filtering. Can specify sub folders to download into, per filter.

  • Note all the filters apply to all the feeds, Automatic does have the ability to tie them together however this would make the web interface too complicated, imho.

ADLS/VDSL

The router supports PPPoA , IPoA, PPPoE, IPoEoATM (1483 Bridged).

Can fine tune most DSL line mode settings on Advanced interface.

VDSL

  • Remeber to change 'Transfer Mode' to PTM if using VDSL.

Sample VDSL2 Output log (10/100Mbit)

Inadyn-mt (DynDNS)

Please look at the man page before fiddling with the advanced options!

Ethernet WAN port to LAN

This sets the ethernet WAN port (actually eth0) to be part of the WiFi/LAN bridge device (br0), thus becoming a 5th ethernet port on the LAN.

  • Note, you may also need to change 'WAN Setup' > 'WAN Preference', 'Must use DSL WAN', depending on what your connection type is.

SSH / SFTP / Dropbear

(SSH) Secure shell and SFTP access, both encrypted. (DSS is disabled)

SFTP gives you FTP like access securely via an SSH connection.

Access web GUI securely from WAN via SSH tunnel

  • Router LAN IP : 192.168.0.1
  • Router WAN IP or no-ip name : joeblow.no-ip.com
  • Arbitary / unused random port on your local machine : 18000
ssh -L 18000:192.168.0.1:80 admin@joeblow.no-ip.com

This will open a terminal session and make the routers web GUI accessible locally http://127.0.0.1:18000

RDP to a machine on your LAN externally via SSH tunnel

  • (RDP) PC LAN 102.168.0.15
  • Router WAN IP or no-ip name : joeblow.no-ip.com
  • Arbitary / unused random port on your local machine : 18000

TBC

Building your own version

You need to visit DGND3700 V1 Transmission Firmware Build for details of how to make/compile it yourself. Included here is a bundle of all (my) build parts, links to external source files for new/replacement programs, the working(fixed) toolchain and link to the original N600 / DGND3700 Netgear GPL source. If you can get all the files, all you need to do is literally run 'go.sh' to rebuild it all.

Comments

blog comments powered by Disqus