howtothings.co.uk
[Tomato Firmware] Flashing and a first hand look! - Printable Version

+- howtothings.co.uk (https://www.howtothings.co.uk)
+-- Forum: Computing (https://www.howtothings.co.uk/forumdisplay.php?fid=4)
+--- Forum: Hardware, Networking and Wireless (https://www.howtothings.co.uk/forumdisplay.php?fid=11)
+--- Thread: [Tomato Firmware] Flashing and a first hand look! (/showthread.php?tid=504)



[Tomato Firmware] Flashing and a first hand look! - Mark - 03-11-2010


[Tomato Firmware] Flashing and a first hand look, and explanation of everything!

What is Tomato?

Tomato is a small, lean and simple replacement firmware for Linksys' WRT54G/GL/GS, Buffalo WHR-G54S/WHR-HP-G54 and other Broadcom-based routers. It features a new easy to use GUI, a new bandwidth usage monitor, more advanced QOS and access restrictions, enables new wireless features such as WDS and wireless client modes, raises the limits on maximum connections for P2P, allows you to run your custom scripts or telnet/ssh in and do all sorts of things like re-program the SES/AOSS button, adds wireless site survey to see your wifi neighbours, and more.

I've been wanting to play around with custom firmware on a router for ages but the various routers i own aren't supported. I didn't want to splash out on a new router just to have the ability to run Tomato as i didn't know what it was like, what features it had or any of the real details, this is why i've made this thread i was googling my heart out with no luck at all. To my relief, a few days ago i got the chance to pick up a cheap Linksys WRT54GL router.


Where can i get it?

Link 1: tomato_1_28.zip
Link 2: tomato_1_28.7z
Link 3: Official website


Tomato is very well equipped and comes packaged with a mass of tools and functions. Throughout this thread I'll try my best to explain what they do and why they're used.

Let's get started, i have print screens of EVERY single page in the Tomato web interface. For your own safety they're in spoilers.


Linksys WRT54GL box
[spoiler][Image: dd-wrt-box.png][/spoiler]


The man himself
[spoiler][Image: dd-wrt-router-and-power-brick.png][/spoiler]


At the time of writing this i was using firmware: Tomato v1.28.1816
This is a fresh install, as it'd appear for yourself, i haven't changed anything.
In the Tomato web interface there are 9 main side tabs, further options are then within these:
  • Status
  • Bandwidth
  • Tools
  • Basic
  • Advanced
  • Port Forwarding
  • QoS
  • Access Restriction
  • Administration


You need to log in to your router to see all of the following pages.

Default username = root
Default password = admin



Setup, installation and flashing

Firmware upgrade

I upgraded from DD-WRT but it's the same principal if you're upgrading from a stock Linksys device.

Log in to your router, find the firmware upgrade section and browse to the location of the .bin file that corresponds to your router model.

[spoiler][Image: setup-1-firmware-upgrade.png][/spoiler]
[spoiler][Image: setup-2-upgrade-in-progress.png][/spoiler]
[spoiler][Image: setup-3-successful-reboot.png][/spoiler]


Cleaning up

Once the upgrade has successfully installed, log in to your newly installed tomato router and navigate to "Administration" > "Configuration", click the drop down arrow on the "Restore Default Configuration" box and select "Erase all data in NVRAM memory (thorough)" then click ok. This will restore the tomato firmware to default settings giving you a clean base to work with.

[spoiler][Image: setup-4-erase-data-nvram.png][/spoiler]

[spoiler][Image: setup-5-erase-data-nvram-successful.png][/spoiler]



Status

Overview
[spoiler][Image: tomato-status-overview.png][/spoiler]


Basic information about the router in general and all interfaces.


Device List
[spoiler][Image: tomato-status-device-list.png][/spoiler]


Logs
[spoiler][Image: tomato-status-logs.png][/spoiler]



Bandwidth

Real-Time
[spoiler][Image: tomato-bandwidth-real-time.png][/spoiler]


Last 24 Hours
[spoiler][Image: tomato-bandwidth-last-24-hours.png][/spoiler]


Daily
[spoiler][Image: tomato-bandwidth-daily.png][/spoiler]


Weekly
[spoiler][Image: tomato-bandwidth-weekly.png][/spoiler]


Monthly
[spoiler][Image: tomato-bandwidth-monthly.png][/spoiler]

The Last 24 hours, Daily, Weekly and Monthly graphs don't show any data because i've literally had the router running for 15 minutes.


Tools

Ping
[spoiler][Image: tomato-tools-ping.png][/spoiler]


Trace
[spoiler][Image: tomato-tools-trace.png][/spoiler]


Wireless Survey
[spoiler][Image: tomato-tools-wireless-survey.png][/spoiler]


One method of using this feature is if you're coming home from work / school or where ever and you want your PC on by the time you're in, when you're a few streets away, log into your router remotely using methods such as DDNS and wake your machine over LAN.

WOL (Wake on LAN)
[spoiler][Image: tomato-tools-wol.png][/spoiler]



Basic

Standard network information, this is the stuff you need to know when connecting and troubleshooting.
IP Address Range = Also known as a DHCP pool is how many clients you can have in your network and what IPs they'll be assigned.
Lease time = The time before an incative IP address is released then re-assigned.

Network
[spoiler][Image: tomato-basic-network.png][/spoiler]


Identification
[spoiler][Image: tomato-basic-identification.png][/spoiler]


Time
[spoiler][Image: tomato-basic-time.png][/spoiler]


Dynamic Domain Name System, allows you to assign a domain name to your home network essentially.

DDNS
[spoiler][Image: tomato-basic-ddns.png][/spoiler]


Static DHCP
[spoiler][Image: tomato-basic-static-dhcp.png][/spoiler]


MAC Address filtering, the ability to either block or allow clients based on their MAC Address, (also known as a physical address). MAC addresses are unique to ever NIC in the world, although MAC addresses can be spoofed. (See the h*cking section).

Wireless Filter
[spoiler][Image: tomato-basic-wireless-filter.png][/spoiler]



Advanced

Conntrack / Netfilter
[spoiler][Image: tomato-advanced-conntrack-netfilter.png][/spoiler]


DHCP / DNS
[spoiler][Image: tomato-advanced-dhcp-dns.png][/spoiler]


ICMP = Internet Control Message Protocol.

Firewall
[spoiler][Image: tomato-advanced-firewall.png][/spoiler]


MAC Address
[spoiler][Image: tomato-advanced-mac-address.png][/spoiler]


Miscellaneous
[spoiler][Image: tomato-advanced-miscellaneous.png][/spoiler]


Routing
[spoiler][Image: tomato-advanced-routing.png][/spoiler]


Wireless
[spoiler][Image: tomato-advanced-wireless.png][/spoiler]



Port Forwarding

Your port fowarding section, Protocol, external port (the port your coming in on), Internal port, (the port that your traffic is going to be forwarded to on your local machine), Internal address, (destination internal computer, local machine).

Basic
[spoiler][Image: tomato-port-forwarding-basic.png][/spoiler]


DMZ = Demilitarized zone, a DMS is essentially a subnetwork that contains machines that you specify, placing a machine in a DMZ exposes them to the internet and outside of your usual NAT firewall.

DMZ
[spoiler][Image: tomato-port-forwarding-dmz.png][/spoiler]


Triggered
[spoiler][Image: tomato-port-forwarding-triggered.png][/spoiler]


UPnP = Universal plug and play.

UPnP / NAT-PMP
[spoiler][Image: tomato-port-forwarding-upnp-nat-pmp.png][/spoiler]



QoS


QoS = Quality of service. Usually set to 90% of your max up / down to stop you maxing your network.

Basic Settings
[spoiler][Image: tomato-qos-basic-settings.png][/spoiler]


Classification
[spoiler][Image: tomato-qos-classification.png][/spoiler]


View Graphs
[spoiler][Image: tomato-qos-view-graphs.png][/spoiler]


View Details
[spoiler][Image: tomato-qos-view-details.png][/spoiler]



Access Restrictions

Access Restriction
[spoiler][Image: tomato-access-restriction.png][/spoiler]



Administration

Admin Access
[spoiler][Image: tomato-administration-admin-access.png][/spoiler]


Bandwidth Monitoring
[spoiler][Image: tomato-administration-bandwidth-monitoring.png][/spoiler]


Buttons / LED
[spoiler][Image: tomato-administration-buttons-leds.png][/spoiler]


CIFS Client
[spoiler][Image: tomato-administration-cifs-client.png][/spoiler]


Configuration
[spoiler][Image: tomato-administration-configuration.png][/spoiler]


Debugging
[spoiler][Image: tomato-administration-debugging.png][/spoiler]


JFFS2
[spoiler][Image: tomato-administration-jffs2.png][/spoiler]


Logging
[spoiler][Image: tomato-administration-logging.png][/spoiler]


Scheduler
[spoiler][Image: tomato-administration-scheduler.png][/spoiler]


Scripts
[spoiler][Image: tomato-administration-scripts.png][/spoiler]


Upgrade
[spoiler][Image: tomato-administration-upgrade.png][/spoiler]



Extra info

About
[spoiler][Image: tomato-about.png][/spoiler]


The reboot, Shutdown and Logout are Java popups that just ask you if you're sure. No pages to show.

I hope this has given you an insight into the sort of things that you can achieve by using Tomato. If you're interested in competing custom router firmware i have a thread on DD-WRT, you can find it here: http://mcompute.co.uk/showthread.php?tid=509


[Image: tomato-logo-image.png]