Yes, you can modify the source code according to your requirement. You can directly modify any existing code and add new package into that code.
Once you update the image, do following things to compile the image
goto 'src' directory of tomato distribution.
export the path of the tomato toolchain. If it is in /opt/brcm then give following two commands
export PATH=$toolchainpath/hndtools-mipsel-uclibc/bin:$PATH
export PATH=$toolchainpath/hndtools-mipsel-linux/bin:$PATH
then compile the source code by 'make' command.
If your code successfully compiled then one new image with same name 'tomato_wgr614l_1.25.chk' will be create in the same path. So better take a back up of the old image. Otherwise it will be replaced by your new image.
Are you talking about original firmware of Netgear or Original firmware of tomato 1.25 ?
Categories: WGR614L (Legacy Product)
Hi !
I have compiled the tomato code for WGR614L router using the guides given in this website.
I have used the Tomato 1.25 firmware & source code for netgear WGR614L 1.0
I just want to know that how could i be able to make any changes in the code for customizing the firmware according to my needs ?
I want to make changes in the firmware and then updat these changes into my WGR614L router.
One more thing I would like to ask is that is it possicble to make a backup of the orignal firmware in the router. if so, then how ?
Kindly help me in this regard.
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
In the below link a brief overview of tomato distribution has been provided. It may help you.
http://www.myopenrouter.com/blog/entry/10300/Brief-overview-of-tomato-source-...
Thanks a lot for your reply. I understand what you are talking about but isnt there any IDE in which the code could be developed. I mean I should be able to write the code and could see the output immediately.. kind of a simulation.
Otherwise, it could take quite much time to create the image every time i edit the code.
and I am talking about original firmware of Netgear. you can say the factory built firmware so that if i could make any weird changes then i could be able to use the backup to restore default firmware.
and about that brief overview of the code. I have seen this post from you. Its really a nice one. But i m an ordinary programmer not so expert therefore can you tell me that can i get the complete description of the code from anywhere.
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
Syed Yasir Imtiaz said:
One more thing I would like to ask is that is it possible to make a backup of the original firmware in the router. if so, then how? Kindly help me in this regard.
The procedure from the posting link below backups the flash contents as raw binary files.
http://www.myopenrouter.com/forum/thread/10807/Factory-Reset-breaks-mounting-...
The other backup methods available are:
- serial console commands
- jtag
Thanks a lot for your reply.
What about the IDE in which the code could be developed...is there any IDE in which i could be able to compile the code and see the immediate results without making the image file.
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
Syed Yasir Imtiaz said: Thanks a lot for your reply. What about the IDE in which the code could be developed...is there any IDE in which i could be able to compile the code and see the immediate results without making the image file.
For IDE, you'll probably have to build your own equivalent. Projects for Linux that might help include cscope, kscope, and kdevelop.
I'm doubtful that you'll be able to see immediate results (by executing the code) especially if your development platform is a Intel/Amd based PC. To execute the cross-compiled code outside the router hardware, you'll need to find a simulator for the router's MIPS processor. Not only that, you'll need to also simulate the router's hardware (its eth switch, radio, buttons, etc). I don't think a wgr614l simulator currently exists.
hmmmmmm.... so how the developers write code for the Tomato firmware and for the router ? Do they follow the same method of making the .chk file every time they make a minor change ?
I have seen that there is a Tomato GUI made in Java. Is that something else ?
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
Syed Yasir Imtiaz said: hmmmmmm.... so how the developers write code for the Tomato firmware and for the router ? Do they follow the same method of making the .chk file every time they make a minor change ? I have seen that there is a Tomato GUI made in Java. Is that something else ?
I can only speak from similar experience working with Linux and drivers on PC platforms. I haven't (yet) experimented with changing or patching the router firmware.
For working on kernel modules, or application layer binaries, those can be loaded into a running router for testing, via network transfer, cifs/smb, or jffs (flash file system). After all, Linux is running and the busybox shell is available. So there's no need to build *.chk files for these cases, until the final code is ready for release in the firmware image.
If you plan to work on the core kernel itself, the development situation is more tricky. I think it's possible to direct the router's CFE boot loader to load a kernel image from network to RAM or some other source. Then you access the hardware serial console port for diagnostics and debug. You'll still have to build a kernel image to load, but you may not need to overwrite the flash content.
For anything made with Java, I believe the code really executes in the user's browser rather than at the router. I doubt there's enough resources available on these routers to support a JRE or running Java code.
It is tough to simulate WGR614L with Tomato firmware in a PC because the hardware is totally different. I do not know, but you can find some in the internet where such simulation can be done.
I do not think that changing tomato source code and uploading it into the board would take huge amount of time provided you have serial console for that board. Otherwise you need to upgrade the board from WEB which I would not suggest to you as you said you are not an experience campaigner in this field. If somehow you build a wrong firmware then your board will be gone and it would be difficult (sometimes impossible) for you to recover the board without having any serial console.
It is tough to detail out every thing of the source code. If you have any specific query then I can clarify that one.
Can you suggest me that from where i could read about the serial console ?
I dont have any idea about that.. What i understand is that it would be a method by which the firmware could be upgraded using hardware programming.
Secondly, kindly tell me is there any guide available to make a backup of the orignal firmware of my router. As you have said that if i could build a wrong firmware then it would be disaster fro me :) ... so in that condition i should at least have a backup of the orignal firmware.
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
One thing that I would like to ask you about the code is that:
I have downloaded the Tomato 1.25 Firmware & Source Code for NETGEAR WGR614L 1.0 which is been uploaded by you and have successfully generated the .chk and .trx file. It really was a good addition :)
What I want to ask is that:
By running the script it downloads the source code of WRT54GL router. Why is it using the WRT54GL. Because it should use the code of WGR614L router.
What is the difference between Tomato 1.25 Firmware source code and WRT54GL source code.
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
Tomato firmware uses WRT54GL source code. It removes some of the code of WRT54GL and on top of that it applies its own code.
Please take a look in
http://www.polarcloud.com/tomato
After that I have applied some patches and some files which are necessary for WGR614L board.
We can use WGR614L code and then add tomato firmware there. But that would be cumbersome process and also it would be difficult to keep sync with tomato version.
Syed Yasir Imtiaz said: Can you suggest me that from where i could read about the serial console ? I dont have any idea about that.. What i understand is that it would be a method by which the firmware could be upgraded using hardware programming. Secondly, kindly tell me is there any guide available to make a backup of the orignal firmware of my router. As you have said that if i could build a wrong firmware then it would be disaster fro me :) ... so in that condition i should at least have a backup of the orignal firmware.
There is a command in the original firmware, called "outputimage" that will take back up. However you can find the original image in the link below
http://www.myopenrouter.com/download/file/10175-1
Thanks for your reply...
I have checked the above link for the original image but it says that The page you have requested was not found.
My router firmware version is v1.1.11_6.0.36
I have seen that it is available in the netgear website in this link:
ftp://downloads.netgear.com/files/GPL/WGR614v8-V1.1.11_6.0.36WW_src.tar.bz2.zip
Would it be the original firmware. Means that can i rely over it ?
Secondly... you have told to use the command "outputimage"
where should i write that ?
one last question is that kindly tell me serial console. Where should i read about that ...
Thanks in advance !
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
You get fair enough information from this article about serial console
http://www.myopenrouter.com/article/10341/Recover-Your-WGR614L-Using-a-Serial...
"outputimage" command can be given from the serial console. I forgot that you do not have any serial console.
You will find the original firmware in the link below
http://www.myopenrouter.com/download/10175/WGR614L-Firmware-v1.1.2_1.0.23/
last time total link is not copied. It was my mistake.
Thanks a lot ... its really a helpful information for me :)
but the firmware you have mentioned is: firmware update v1.1.2_1.0.23
but my version is v1.1.11_6.0.36 ...
If in any case, i would destroy me original firmware i.e v1.1.11_6.0.36 then will it be suitable for me to install the firmware you mentioned ?
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
Syed Yasir Imtiaz said: Thanks a lot ... its really a helpful information for me :) but the firmware you have mentioned is: firmware update v1.1.2_1.0.23 but my version is v1.1.11_6.0.36 ... If in any case, i would destroy me original firmware i.e v1.1.11_6.0.36 then will it be suitable for me to install the firmware you mentioned ?
The Netgear product support site offers the *.chk image files for both the latest and older official firmware releases for your router.
http://kb.netgear.com/app/products/model/a_id/2590
The *.chk for 1.1.11_6.0.36 is available there. My advice... never, ever, down rev any firmware to releases earlier than the one that's factory installed. Any hidden hardware and firmware rev incompatibility can potentially brick your router. I think what's more important is to backup your router's boot loader and board data, since those are unique to your router, or difficult to find downloads for.
Without a serial console, you can still gain access to the router's command line interface via telnet with the telnet enable utility (for netgear firmware only), and run the outputimage or tftp commands that way. The earlier replies to you about backing up firmware already included those instructions.
Ok ... thats really a useful information for me.
As i have told earlier that I am a novice programmer so can you do me a favour please.
Kindly tell me all the commands that i have to write using the telnet utility to backup my routers firmware or boot loader and board data.
the commands that you posted in the earlier reply do not include the outputimage command therefore kindly tell me all the commands that are neceassary to make a backup.
Thanks in advance
Everyone wants to live on top of the mountain, but all the happiness n growth occur while U're climbing it
Syed Yasir Imtiaz said: Ok ... thats really a useful information for me. As i have told earlier that I am a novice programmer so can you do me a favour please. Kindly tell me all the commands that i have to write using the telnet utility to backup my routers firmware or boot loader and board data. the commands that you posted in the earlier reply do not include the outputimage command therefore kindly tell me all the commands that are neceassary to make a backup. Thanks in advance
The only important router command I needed was tftp. I did not use or look at outputimage at the time. The contributor from Netgear may be able to comment further on the outputimage. You can also try running command yourself to see if it prints any help or description.
Here's my backup session below. How to restore from these backups is an entirely new project which I haven't looked at.
$
$ # This prompt is Solaris Unix with host IP 192.168.1.10. This host runs a previously configured tftp server.
$
$ # The telnetenable utility for Solaris is available in the download section of http://www.myopenrouter.com/
/> $
$ # Unlock the router's telnet server
$ ./telnetenable 192.168.1.1 001E3A04E2EB Gearguy Geardog
$ # Telnet to the router
$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
BusyBox v0.60.0 (2008.05.15-10:32+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.
# help
Built-in commands:
-------------------
. : break cd continue eval exec exit export help login newgrp
read readonly set shift times trap umask wait
# version
Release version : Netgear Wireless Router WGR614v8
U12H07200/V1.1.11/6.0.36NA
Time : May 15 2008 18:35:41
# cd /tmp
# # format of tftp command: tftp <put command> <source file> <destination ip>:<filename>
# # "boot"
# tftp put /dev/mtd/0ro 192.168.1.10:mtd0-cfe
# # "linux"
# tftp put /dev/mtd/1ro 192.168.1.10:mtd1
# # "rootfs"
# tftp put /dev/mtd/2ro 192.168.1.10:mtd2
# # "T_Meter1"
# tftp put /dev/mtd/3ro 192.168.1.10:mtd3
# # "T_Meter2"
# tftp put /dev/mtd/4ro 192.168.1.10:mtd4
# # "POT"
# tftp put /dev/mtd/5ro 192.168.1.10:mtd5
# # "board_data"
# tftp put /dev/mtd/6ro 192.168.1.10:mtd6
# # "nvram"
# tftp put /dev/mtd/7ro 192.168.1.10:mtd7
# exit
Connection to 192.168.1.1 closed by foreign host.
$ # Check that this host's tftp server actually received the router's data
$ ls -la /tftpboot
Is serial console the only way to recover the router? Will telnet still work if the router was corrupted by a wrong modification in the source code?
Is serial console the only way to recover the router? Will telnet still work if the router was corrupted by a wrong modification in the source code?
If you have bricked the router , telnet will not work bcoz u will not be able to access the router or its lan interface ....
The only way is to use a serial cable , enter its boot prompt and flash a proper f/w ....
Although the boot environment provides an ethernet iface but it's of no use for telnet ...
There are various type of bricking. It is not that telnet will not work, it depends on the level of corruption. But usually it does not work when router is corrupted.
By the way what is your actual problem ? Is your router already corrupted ?
No. My router is not corrupted yet. I just ask this question in advance, since getting connection with serial cable seems very complicated. You need do some solder work yourself...
Actually, I am trying to plant an IDS called Snort into the firmware, but I don't know how yet. First, what version of firmware shall I use, the original firmware version v1.1.11, DD_WRT, or tomato? I don't know exactly the difference between the 3 firmwares. Could you tell me? Thanks!
You can choose any firmware among those three as you want. These three source codes are maintained by different community. DD-WRT and tomato are free open source which support other hardware also. On the other hand netgear source code is dedicated for their hardware.
There are lots of difference as far as code is concerned. But I think most important part to know is that Netgear and tomato uses same Linux version (usually it is kernel-2.4.20) whereas DD-WRT uses different Linux version (usually it is kernel-2.4.35)
If you want any specific information let me know.
RSS
