anteracorp DD-WRT Novice
Joined: 17 Aug 2015 Posts: 3
|
Posted: Wed Aug 19, 2015 21:11 Post subject: |
|
Background
Local PC: Ubuntu 15.04
Router: Linksys E1200v2
Flashed with the trailed initial build of DD-WRT:
ftp://ftp.dd-wrt.com/betas/2013/05-27-2013-r21676/broadcom_K26/dd-wrt.v24-21676_NEWD-2_K2.6_mini-e1200v2.bin
Subsequently, the router was flashed with the following build:
https://www.dd-wrt.com/routerdb/de/download/Linksys/E1200/V2.0/dd-wrt.v24-21061_NEWD-2_K2.6_mega-nv64k.bin/3931
The Firmeware Mod Kit was downloaded as per the following article:
https://code.google.com/p/firmware-mod-kit/wiki/Documentation?tm=6
The ultimate goal is to have the router confiured with a VPN that connects automatically upon startup. Now that this router has been flashed with a mega firmware equiped with the necessary packages, a re-build of the DD-WRT firmware containing the VPN files is necesary.
Attepmpt #1
The kit was extracted and the firmware's .bin file was moved to the kit's /fmk directory.
When the command "extract-firmware.sh" was executed, the following error was presented:
root@PC:/path/to/fmk# ./extract-firmware.sh dd-wrt.v24-21061_NEWD-2_K2.6_mega-nv64k.bin newdirectory/
Firmware Mod Kit (extract) 0.99, (c)2011-2013 Craig Heffner, Jeremy Collake
Preparing tools ...
Scanning firmware...
/tmp/tmp05fcHb, 568: Warning: Printf format `l' is not valid for type `belong' in description `version %ld, '
/tmp/tmp05fcHb, 645: Warning: Printf format `l' is not valid for type `lelong' in description `size %lu'
/tmp/tmp05fcHb, 650: Warning: Printf format `l' is not valid for type `lelong' in description `edition %lu,'
/tmp/tmp05fcHb, 652: Warning: Printf format `l' is not valid for type `lelong' in description `%lu blocks,'
/tmp/tmp05fcHb, 654: Warning: Printf format `l' is not valid for type `lelong' in description `%lu files'
/tmp/tmp05fcHb, 655: Warning: Printf format `l' is not valid for type `lelong' in description `{jump-to-offset:%lu}'
/tmp/tmp05fcHb, 656: Warning: Printf format `l' is not valid for type `lelong' in description `{file-size:%lu}'
/tmp/tmp05fcHb, 660: Warning: Printf format `l' is not valid for type `belong' in description `size %lu'
/tmp/tmp05fcHb, 665: Warning: Printf format `l' is not valid for type `belong' in description `edition %lu,'
/tmp/tmp05fcHb, 667: Warning: Printf format `l' is not valid for type `belong' in description `%lu blocks,'
/tmp/tmp05fcHb, 669: Warning: Printf format `l' is not valid for type `belong' in description `%lu files'
/tmp/tmp05fcHb, 670: Warning: Printf format `l' is not valid for type `belong' in description `{jump-to-offset:%lu}'
/tmp/tmp05fcHb, 671: Warning: Printf format `l' is not valid for type `belong' in description `{file-size:%lu}'
/tmp/tmp05fcHb, 1387: Warning: Printf format `l' is not valid for type `belong' in description `, %ld x'
/tmp/tmp05fcHb, 1388: Warning: Printf format `l' is not valid for type `belong' in description `%ld,'
/tmp/tmp05fcHb, 1403: Warning: Printf format `h' is not valid for type `leshort' in description `%hd x'
/tmp/tmp05fcHb, 1404: Warning: Printf format `h' is not valid for type `leshort' in description `%hd'
Scan Time: 2015-08-14 12:53:25
Signatures: 193Target File: /path/to/fmk/dd-wrt.v24-21061_NEWD-2_K2.6_mega-nv64k.bin
MD5 Checksum: 3d3d682a784d17de3f6c7967a82713ac
DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------
Extracting 0 bytes of header image at offset 0
ERROR: No supported file system found! Aborting...
root@PC:/path/to/fmk#
In light of this error, the file "old-extract.sh" was used instead.
It required the creation of a new directory to which the firmware could be extracted.
root@PC:/path/to/fmk# mk newdirectory
root@PC:/path/to/fmk# ./old-extract .sh dd-wrt.v24-21061_NEWD-2_K2.6_mega-nv64k.bin newdirectory/
Firmware Mod Kit (extract) v0.99, (c)2010-2012 Jeremy Collake, - Newer NG edition by Craig Heffner
LINUX system detected.
Compatibility ok.
Testing file system of /path/to/fmk/newdirectory/ ...
Building tools ...
...
Firmware appears extracted correctly!
Now make changes and run build_firmware.sh.
After the VPN files were added to the build, it was time to rebuild the firmware; the directory, "outputdirectory" was created to contain the modified build.
The following command was used to re-build the firmware:
root@PC:/path/to/fmk# ./old-build.sh outputdirectory newdirectory
Firmware Mod Kit (extract) v0.99, (c)2010-2012 Jeremy Collake, - Newer NG edition by Craig Heffner
LINUX system detected. Compatibility ok.
Testing file system of newdirectory/ ...
...
...
This may take a while
...
Firmware images built
....
All done!
This created five new files, one of these files is to be used for the flash to be done through the webGUI. The problem is we're afraid that using the wrong .bin file may brick the device.
We're not sure which one to use. |
|
anteracorp DD-WRT Novice
Joined: 17 Aug 2015 Posts: 3
|
Posted: Fri Aug 21, 2015 22:39 Post subject: |
|
Ended up using the JFFS method using the following build:
http://www.desipro.de/ddwrt-ren/K26/r22000++/usb-ftp-samba3-vpn-nv64k-broadcom.bin
STEPS:
Enable JFFS
Connect to the router using the web-GUI interface.
On the router web page click on Administration.
Scroll down until you see JFFS2 Support section.
Click Enable JFFS.
Click Save.
Wait couple seconds, then click Apply.
Wait again. Go back to the Enable JFFS section, and enable Clean JFFS.
Do not click "Save". Click Apply instead.
The router formats the available space.
Wait till you get the web-GUI back, then disable "Clean JFFS" again.
Click "Save".
It may be wise to Reboot the router, just to make sure
enable jffs
Configure JFFS
Go to Services > NAS > ProFTPD and enable it, select /jffs, create a path and user for access via FTP client.
To make things simple, use admin for both username and password.
Transfer Files
Use an FTP client and connect to the router port 21, using admin/admin as user and pass.
Transfer the directory containing all VPN files /dc0vpn to the site.
Disable the ProFTPD option when finished tranfering files as it is no longer necessary.
Execute on startup
From the webGUI navigate to Administration > Commands and enter the following command:
sh /jffs/directory/to/vpn.sh &
The "&" is to execute the script independently from the startup command. Save as a startup script so that DD-WRT executes the script on each boot.
startup sh
Reboot router
Connect via SSH or Telnet and issue the following command:
root@DD-WRT:~# ifconfig |
|