I have a ASUS DSL-N10E modem\router with V2.1.15 APAC firmware. Is it upgradable to open-sourced firmwares like DD-WRT or Tomato (Tomato is preferred). Or is it hopeless? Plus, let's just say I try to upgrade it knowing it is not compatible. As predicted, the modem\router's some features don't work or it is totally bricked. If I have backuped the previous firmware, can I restore it to the previous firmware? What are the chances? Thanks in advance.
Is it upgradable to open-sourced firmwares like DD-WRT or Tomato (Tomato is preferred).
According to Ramhound, neither DD-WRT or Tomato list your ASUS model as a supported device.
That unit is also not documented as using the Texas Instruments ADSL hardware that is supported by RouterTech.org.
So the obvious sources of firmware do not support that model.
Or is it hopeless?
That will probably depend on how much free time you have, your capacity for learning, and how compliant ASUS is regarding open source licensing.
The ASUS DSL-N10E User Manual contains a copy of the GNU General Public License Version 2, indicating that this unit does use open source code (rather than proprietary code). Under the terms of this license, you (as the purchaser of the device) can request a copy of the GPL'ed source code. (Or there may be a web site where this code is already downloadable, as LG has for their TVs.)
It would then be up to you to figure out how to build and install this code, and to replace it with DD-WRT or Tomato modules. Without embedded experience and board/HW documentation, this could be a daunting task.
Or wait for someone else to do this reverse engineering and development.
If I have backuped the previous firmware, can I restore it to the previous firmware? What are the chances?
The answer is dependent on what was clobbered and what recovery capabilities are available. A few SoCs (e.g. Marvell Kirkwood) have installers built into the ROM. Most SoCs have a ROM program that can load a program over a serial connection for a tedious multi-stage re-installation.
If you're really curious, you could open up the unit and look for a serial console connection. Typically it's a 3 or 4 pin header (which may not even be installed). Once connected to the serial console, you can obtain a boot log and system information, and perhaps a shell prompt.