• March 28, 2024, 06:18:37 AM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

This Forum Beta is ONLY for registered owners of D-Link products in the USA for which we have created boards at this time.

Pages: [1] 2 3

Author Topic: DIR-685 Firmware development ressurection  (Read 84101 times)

atarian

  • Level 1 Member
  • *
  • Posts: 9
DIR-685 Firmware development ressurection
« on: March 06, 2013, 05:00:26 AM »

As many of you, I have been dealing with all the annoyances and issues of DIR-685 router. I was living in a hope that eventually, D-Link will fix all the issues with firmware, but as we know it never actually happend and DIR-685 was simply marked as EOL.
Afer a while, I have chosen to pick up where D-Link dropped and decided to continue releasing bugfix firmwares on my own, if possible.

So last month I have downloaded sources from D-Link website, setup new build enviroment box and went ahead only to realise its just a complete mess that will not even compile at all.
Long story short, it took me three weeks to fix entire mess into the point it actually compiles and produces valid firmware images.

So I am happy to announce first beta release of DIR-685 ressurection firmware, revision R0.9 with following changes from original D-Link source packages (whose appear to be as old as 1.01 from 2005):

r0.90: 20130306
fix: build process fixes: done      
     (finally, whole build now does make and make clean w/o errors; this was actually quite a challenge)
rem: bogus text files on rootfs: done
     (to save precious fs space with a goal to unify NA and WW images and possibly to include more features)
upg: freetype-2.3.8 -> 2.4.11: done
     (just proof of concept, verification of build process. no biggy.)
fix: libiconv-1.9.1 -> 1.14: done
     (fix situations, where UTF-8 encoded filenames are not displayed corretly on NAS fs, FTP fs and iTunes server)
fix: samba-3.0.25a -> 3.6.12: done
     (get rid of nasty POSIX on-access log errors on Linux box, increase reliability of SMB server)
upg: hdpardm-8.9 -> 9.43: done
     (a prerequisity needed for future NAS speed improvement)
rem: optimize router OSD pictures:done
     (entire OSD pics folder directfb/images occupied over 2MB of space, now its below 300kB)
upg: zlib-1.2.1 -> 1.2.7:done
     (security fixes, mainly: www.kb.cert.org/vuls/id/238678 and www.kb.cert.org/vuls/id/680620)
upg: ligpng-1.2.25 -> 1.5.14:done
     (performance improvements and security fixes)
upg: directFB 1.1.1 -> 1.4.9:done
     (performance and stability improvements)
upg: jpeg v6 -> v9:done
     (support for JPEG200 pictures, bugfixes)
upg: l7-protocols 2008 -> 2009:done
     (firewall rules upgrade)
fix: missing /var/log directory:done
     (router logs should now be available)

r0.91 (maitenance release): 20130310
fix: more build process fixes and cleanups: done      
     (smartmon and ntfstools related fixes, /lib & /etc clean-ups, binaries and libraries are now stripped)
upg: gdbm 1.8.3 -> 1.10: done
     (maitenance and bugfix upgrade)
upg: libid3tag 0.15.0 -> 0.15.1b: done
     (maitenance and bugfix upgrade)
upg: libgsasl 0.2.6 -> 1.8.0: done
     (to support authentification methods of modern OSes)
upg: wireless_tools 26 -> 29: done
     (wireless connectivity improvements)
upg: openssl 0.9.8g -> 1.0.1e: done
     (improved ssl security)
fix: samba rebuilt with essential functions only: done
     (to save some more rootfs space)
del: iTunes server disabled by default: done
     (currently used server is obsolete, unmaintained since 2008 incompatible with iTunes >= 10)

todo:
upg: iptables-1.3.5 -> ?
upg: iproute2-2.6.8 -> ?
upg: dhcp server
     to decrease time DIR-685 needs to assign an IP adddress to host. a huge motivation factor for me.
upg: busybox 1.0.1 -> ?
fix: add fsck command into build
     a prerequisity for later
fix: force fsck during HDD mount
     currently, every power surge or forced unmount leave NAS HDD unsanitised untill eventually, NAS HDD fs fails and needs to be checked-fixed on Linux box
imp: framechannel UI replacement
     Framechannel service is no longer available, to be replaced with available option (i.e. FrameAlbum?)
imp: bittorrent-sdk UI
upg: ssh/telnet enable (temporarly)
upg: kernel 2.6
imp: enable ext4 fs support for nas
upg: pureftp
imp: more build process fixes
     support for recent make (3.82) version
fix: all nasty security holes in http interface
merge USA and WW builds - get rid of CUSTOMER_DUSA race conditions
include more languages, if there is a demand
include http server, if there is a demand
replace as much D-LINK closed-source stuff with GPL alternatives as possible

So why do I post this on public forum? Maintaing such a software package is a huge task for single person with limited knowledge and capacities. Therfor, I would like not only to share my progress and work results with you, but I would also appreciate any help from you.
So if you are tester, GUI desiger, PHP programmer, or just an experienced linux user who knows how to get around various issues with compilation from source, please drop me an email: atarian@seznam.cz

I will also appreciate your suggestions for next releases, if you do have any, lets discuss them here.

Download sources and firmware builds here: https://mega.co.nz/#F!gFhwTKjY!DKL_Xj5chXRNfDFKWiKgpA

Disclaimer: Use at your own risk. I take no responsibiliies for possible damage to your device.
« Last Edit: March 10, 2013, 09:34:04 AM by atarian »
Logged

ambercap

  • Level 2 Member
  • **
  • Posts: 67
Re: DIR-685 Firmware development ressurection
« Reply #1 on: March 06, 2013, 10:06:59 AM »

Hi atarian. I found a bug on the DIR-645 that I couldn't wait for D-Link to fix. So I also decided to download the 1.01 GPL source and build a fixed version. It is a different model of router to yours but the process must be very similar. In my case I built it on the exact version of Fedora that they requested in the GPL readme and it built first time without any errors at all. However the latest f/w 1.03 is newer than the GPL version so I landed up rather extracting the already compiled kernel from the newest f/w and the rootfs and I just changed the files I needed.
Logged

ph0enix

  • Level 2 Member
  • **
  • Posts: 83
Re: DIR-685 Firmware development ressurection
« Reply #2 on: March 06, 2013, 04:54:44 PM »

 :o you manage to compile the source code, this looks promising  ;D
Logged

ambercap

  • Level 2 Member
  • **
  • Posts: 67
Re: DIR-685 Firmware development ressurection
« Reply #3 on: March 07, 2013, 04:47:58 AM »

Here are the steps I used:
I downloaded and installed VirtualBox from Oracle (free).
The GPL readme.txt says:
  Install fedora linux 10 (choose Software Development) on 32bit CPU.
Fedora 10 is EOL so you can't find it on their website anymore, but I did manage to find a torrent for this which worked (took about 8 hours to download)!
So I created a new Fedora VM in VirtualBox with 1GB memory installed and 8GB dynamic HDU, with Fedora 10 32-bit, and selected the install options for "Software Development".
After installing system updates, I then followed the remaining instructions exactly:
Copy the DIR645.tar.gz file to ~/
cd ~
tar zxvf DIR645.tar.gz
cd DIR645

Then run su to become root.
cp -rf mipsel_gcc-4.3.3_uclibc-0.9.30.1 /opt
rpm -ivh ./build_gpl/fakeroot-1.9.7-18.fc10.i386.rpm
Then exit su

source ./setupenv
Then run make 3 times:
make
make
make
Enter yes to build the kernel and choose defaults
F/w will be in ./images/.
Logged

atarian

  • Level 1 Member
  • *
  • Posts: 9
Re: DIR-685 Firmware development ressurection
« Reply #4 on: March 10, 2013, 07:48:43 AM »

new release 0.91 ready, see first post for details and changelog
« Last Edit: March 10, 2013, 08:15:56 AM by atarian »
Logged

stukka

  • Level 2 Member
  • **
  • Posts: 51
Re: DIR-685 Firmware development ressurection
« Reply #5 on: March 11, 2013, 03:33:28 AM »

about what fw are we talking?
the na or the european one?
Logged

atarian

  • Level 1 Member
  • *
  • Posts: 9
Re: DIR-685 Firmware development ressurection
« Reply #6 on: March 12, 2013, 12:24:06 PM »

You can build is as both NA or WW, just edit .config in your root build directory. Actually the only difference between the two is that WiFi b is disabled for NA build and mediaserver ui is disabled for WW.
Logged

Hard Harry

  • Guest
Re: DIR-685 Firmware development ressurection
« Reply #7 on: March 12, 2013, 02:57:42 PM »

Hmm, even though I don't have anything against it (I think its great) may want to be careful how public you make this. Fixing a bug is one thing, rewriting firmware and offering it on a public Dlink forum..might raise some red flags with Dlink and their IP lawyers. Just FYI. Then again, if the Mods are cool with it...
Logged

Hard Harry

  • Guest
Re: DIR-685 Firmware development ressurection
« Reply #8 on: March 13, 2013, 05:55:16 PM »

Actually, I had a thought. Could this same method of data extraction give insight on how some of the DIR-685's features work? Like DNS relay, QoS, DMZ and such? I think it could really help me and the other guys troubleshoot better. Like to actually know how Dlink implemented it beyond what the Support definition says.

BTW, seems like you guys blew in from another forum? Blackhat? Very impressive.
Logged

albert.zweistein

  • Level 1 Member
  • *
  • Posts: 3
Enabling 5 GHz band request and other development tips
« Reply #9 on: March 14, 2013, 04:11:52 PM »

Great work so far.

I'd like to add some features that might be useful to develop:
  • According to this review http://www.smallnetbuilder.com/wireless/wireless-reviews/30864-smashed-mash-up-d-link-dir-685-reviewed?start=1 DIR-685 is equiped with RT2850L 2.4/5 GHz 2T3R dual band transciever. It would be great to have the 5 GHz enabled or even better simultaneous 2.4 and 5 GHZ bands running together.
  • Also it would be great to improve performance of the built-in NAS drive access. I observed improvement from 3 MB/s to 6 MB/s (on 7200 RPM disk) with some later FW, however it is still too slow. I never tested connection to another drive using USB, but I'd love to and get some meaningful data transfer perfromance.
  • USB ports might be nice to utilize the 3G modem, but my country/phone provider isn't listed in the settings and I think it would be good to have this feature fully parameterizable.
  • Or even capability of usb tethering from an Android phone.
  • 12/24h time on display with various formats of date
  • Maybe some unused or obsolete media features might be removed to save space and computing capacity or be updated


Logged

FurryNutz

  • Poweruser
  •   ▲
    ▲ ▲
  • *****
  • Posts: 49923
  • D-Link Global Forum Moderator
    • Router Troubleshooting
Re: DIR-685 Firmware development ressurection
« Reply #10 on: March 14, 2013, 04:28:44 PM »

Let us know if any actual Builds will be done for those who don't have all the coding programs loaded. Just interested in the .bin file to send to the router to test.
Logged
Cable: 1Gb/50Mb>NetGear CM1200>DIR-882>HP 24pt Gb Switch. COVR-1202/2202/3902,DIR-2660/80,3xDGL-4500s,DIR-LX1870,857,835,827,815,890L,880L,868L,836L,810L,685,657,3x655s,645,628,601,DNR-202L,DNS-345,DCS-933L,936L,960L and 8000LH.

atarian

  • Level 1 Member
  • *
  • Posts: 9
Re: DIR-685 Firmware development ressurection
« Reply #11 on: March 15, 2013, 03:49:10 PM »

Fixing a bug is one thing, rewriting firmware and offering it on a public Dlink forum..
You might want to learn a bit about GPL. Once Dlink decided to build their routers on GNU system, they agreed to the terms of GPL.
Logged

atarian

  • Level 1 Member
  • *
  • Posts: 9
Re: Enabling 5 GHz band request and other development tips
« Reply #12 on: March 15, 2013, 03:59:25 PM »

I'd like to add some features that might be useful to develop:
I will take a look at driver eventually.

  • Also it would be great to improve performance of the built-in NAS drive access. I observed improvement from 3 MB/s to 6 MB/s (on 7200 RPM disk) with some later FW, however it is still too slow. I never tested connection to another drive using USB, but I'd love to and get some meaningful data transfer perfromance.
That is one of the goals. This will however require kernel update too. Userspace program needed (HDPARM) is part of the image already.

  • USB ports might be nice to utilize the 3G modem, but my country/phone provider isn't listed in the settings and I think it would be good to have this feature fully parameterizable.
This is actually aready in image, only not compiled by default. However, I do not own 3G modem so I will be able to build and test. Someone else has to help.

  • Or even capability of usb tethering from an Android phone.
  • 12/24h time on display with various formats of date
  • Maybe some unused or obsolete media features might be removed to save space and computing capacity or be updated
Working on that. Check todo.
« Last Edit: March 16, 2013, 03:26:23 PM by atarian »
Logged

Hard Harry

  • Guest
Re: DIR-685 Firmware development ressurection
« Reply #13 on: March 17, 2013, 12:23:40 AM »

You might want to learn a bit about GPL. Once Dlink decided to build their routers on GNU system, they agreed to the terms of GPL.

Alright then. Excuse my ignorance. I really like what your doing overall, sorry I over reacted, just never saw a thread like this on this forum. Still feels like you guys jumped over from another forum, but what ever, glad to have ya. :-)
Logged

txdk

  • Level 1 Member
  • *
  • Posts: 3
Re: DIR-685 Firmware development ressurection
« Reply #14 on: April 08, 2013, 02:46:05 PM »

is it just me or where is the link to the file i can't see anything in the builds folder
Logged
Pages: [1] 2 3