Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| docs:guide-user:troubleshooting:failsafe_and_factory_reset [2018/03/14 02:41] – [Entering failsafe mode] Openwrt -> OpenWrt 1oh2 | docs:guide-user:troubleshooting:failsafe_and_factory_reset [2024/06/23 11:45] – Tweak failsafe to remind about setting static IP for the PC richb-hanover | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Failsafe | + | ====== Failsafe |
| - | OpenWrt offers | + | OpenWrt offers |
| - | * **Failsafe | + | * **[[docs: |
| - | * **Factory | + | * **[[docs: |
| + | | ||
| - | ===== Failsafe | + | ===== Failsafe |
| - | // | + | OpenWrt |
| + | If your device becomes inaccessible, | ||
| + | When you reboot in failsafe mode, the device starts up in a basic operating state, with a few hard coded defaults, and you can begin to fix the problem manually. | ||
| - | Failsafe mode **cannot**, however, fix more deeply rooted problems like faulty hardware or a broken kernel. It is similar to a reset, however with failsafe, you can to access your device and restore settings if desired, whereas a reset would just wipe everything. | + | Failsafe mode can be triggered by pressing (almost any) button on the device shortly after powering it on. |
| + | Each router | ||
| - | **Caveat:** Failsafe mode is only available if you have installed firmware from a SquashFS image, that includes the required read-only root partition. To verify whether your device has the SquashFS root partition, check for " | + | Failsafe mode **cannot**, however, fix more deeply rooted problems like faulty hardware or a broken kernel. |
| + | It is similar to a reset, however with failsafe, you can access | ||
| - | < | + | **Caveat:** Failsafe mode is only available if you have installed firmware from a Squashfs image, that includes the required read-only root partition. |
| + | To verify whether your device has the SquashFS root partition, check for " | ||
| + | |||
| + | < | ||
| grep squash / | grep squash / | ||
| </ | </ | ||
| - | ==== Entering failsafe mode ==== | ||
| - | Make sure you use a wired connection, since the failsafe will disable your wireless connectivity. | + | The terminal should return something similar to this: |
| - | On most routers, LEDE will blink a LED (usually " | + | < |
| + | /dev/root /rom squashfs ro,relatime 0 0 | ||
| + | </ | ||
| - | There are three different (power) LED blinking speeds during boot for most of the routers: | ||
| - | * first a moderate 0.1 second blinking rhythm during those two seconds, when router waits for user to trigger | + | ==== Entering failsafe mode ==== |
| - | * then either | + | Failsafe mode starts the router with the IP address 192.168.1.1, and disables |
| - | * a slow 0.2 second blink continuing | + | DHCP and wireless connectivity. |
| - | * a rapid 0.05 second blink if the user pressed | + | You will need to set your PC to a static address on the same subnet |
| + | (e.g., 192.168.1.10) and connect via Ethernet. | ||
| + | Sometimes you need to connect to a specific network port of your router | ||
| + | to get connectivity. | ||
| + | **Try the LAN1 port first.** | ||
| + | DSA devices frequently enable [[https:// | ||
| + | |||
| + | On most routers, OpenWrt will blink an LED (usually " | ||
| + | Early in the boot cycle, OpenWrt watches for a button | ||
| + | inside a specific two second window to indicate that it should enter failsafe mode. | ||
| **To enter failsafe mode, follow one of the procedures listed below:** | **To enter failsafe mode, follow one of the procedures listed below:** | ||
| - | | + | **Simplest - recommended for most people: Power on the device, wait for a flashing LED and press a button.** |
| - | * **Wait (with a packet sniffer) for a special broadcast packet and press a button.** The packet will be sent to destination address 192.168.1.255 port UDP 4919. The packet contains | + | This can be the WPS, Reset, or other button |
| - | * **Watch for a boot message | + | |
| - | Usually, it is easiest to watch the LEDs. However, do consult | + | The LEDs provide clues for timing |
| + | Watch the LED blinking speeds immediately after powering up the router. | ||
| + | Most routers show three different | ||
| - | Note that LEDE uses always SSH, but early OpenWrt releases (15.05 and before) offered | + | * A power-on sequence of lights |
| + | * Then a fast 5-per-second blinking rhythm during two seconds, while router waits for a button press | ||
| + | * Then either: | ||
| + | * A faster, 10-per-second blink if failsafe mode was triggered. The device is listening on 192.168.1.1 | ||
| + | * A slower, 2.5-per-second blink continuing to the end of normal boot, if the failsafe was not triggered | ||
| + | * If you missed the timing | ||
| + | |||
| + | **Alternate for expert users: Wait (with a packet sniffer) for a special broadcast packet and press a button.** The packet will be sent to destination address 192.168.1.255 port UDP 4919. | ||
| + | The packet contains the text "// | ||
| + | So for example, in a terminal and using tcpdump, with the router connected to port eth0 of your computer, you would enter the command < | ||
| + | |||
| + | **Alternate for expert users with serial | ||
| + | The message shown in the console is "// | ||
| + | |||
| + | Usually, it is easiest to watch the LEDs. | ||
| + | However, do consult the available documentation for your device, as there is no default button assigned as a reset button and not all procedures work on every device. | ||
| + | Whichever trigger you use, the device will enter failsafe mode and you can access the command line with SSH (always possible) or a serial keyboard. | ||
| + | |||
| + | Note that modern OpenWrt always uses SSH for terminal connections. | ||
| + | |||
| + | |||
| + | ================= | ||
| - | Note: old OpenWrt wiki page offer more details, most of them still valid: https:// | ||
| ==== Fixing your settings ==== | ==== Fixing your settings ==== | ||
| + | Once failsafe mode is triggered, the router will boot with a network address of 192.168.1.1/ | ||
| + | When in failsafe mode, the DHCP server will not be running. | ||
| + | You must set your computer' | ||
| - | Once failsafe mode is triggered, the router will boot with a network address of 192.168.1.1/ | + | Using SSH or a serial connection, you can then mount the JFFS2 partition with the following command: |
| - | < | + | < |
| mount_root | mount_root | ||
| </ | </ | ||
| - | After that, you can start looking around and fix what’s broken. The JFFS2 partition will be mounted to ///overlay//, as under normal operation. | + | After that, you can start looking around and fix what’s broken. |
| + | The JFFS2 partition will be mounted to '' | ||
| - | ===== Factory Reset ===== | + | You can also transfer files by using scp command/protocol from Linux or macOS, or by using [[docs:guide-quick-start: |
| - | A factory reset returns your router to the configuration it had just after flashing. This works on any install with a squashfs | + | |
| - | With a large NOR chip, it can take 3 to 5 minutes | + | Additional steps required |
| - | ==== Soft Factory Reset ==== | + | |
| - | If you want a clean slate, there’s no need to flash again; just enter the following commands. Your device' | + | |
| - | < | + | < |
| - | umount | + | # unplug external device |
| + | reboot | ||
| + | |||
| + | # plug external device | ||
| + | # mount external device, e.g. | ||
| + | block info | ||
| + | mount / | ||
| + | |||
| + | # fix the issue, e.g. | ||
| + | vi / | ||
| + | |||
| + | # verify external device will be mounted automatically, | ||
| + | vi /overlay/ | ||
| + | reboot | ||
| </ | </ | ||
| - | Note: for most routers, " | ||
| - | ==== Hard Factory Reset ==== | ||
| - | This command will erase and reformat the whole jffs2 partition and create it again: | ||
| - | < | + | ===== Factory reset ===== |
| + | A factory reset returns your router to the configuration it had just after flashing. | ||
| + | This works on any install with a squashfs / overlayfs setup (the norm for most installations), | ||
| + | |||
| + | With a large NOR chip, it can take 3 to 5 minutes for the overlayfs to be formatted in the flash. | ||
| + | During this time, changes cannot be saved. | ||
| + | |||
| + | **Caveat: | ||
| + | * Factory reset depends on completing the boot process. If factory reset is not working, try with failsafe mode instead. | ||
| + | * x86 builds (made for PC/Server hardware) with an ext4 read-write rootfs cannot be reset this way. | ||
| + | |||
| + | ==== Reset button ==== | ||
| + | On devices with a physical reset button, OpenWrt can be reset to default settings without serial or SSH access. | ||
| + | |||
| + | - Power on the device and wait for the status led to stop flashing (or go into failsafe mode, as described above). | ||
| + | - Press and hold the reset button for 10 seconds. | ||
| + | - Release the reset button. | ||
| + | |||
| + | The device will do a hard factory reset (see below) and then reboot. | ||
| + | This operation can be slow on some devices, so wait a few minutes before connecting again. | ||
| + | |||
| + | ==== Soft factory reset ==== | ||
| + | If you want a clean slate, there’s no need to flash again; just enter the following commands. | ||
| + | Your device' | ||
| + | |||
| + | Issuing " | ||
| + | Note that this "soft reset" is performed with file system actions, so in some cases it is not enough. | ||
| + | |||
| + | < | ||
| + | firstboot && reboot | ||
| + | </ | ||
| + | |||
| + | Note: If the commands above (all on one line) don't work, try those commands on separate lines in the terminal. | ||
| + | |||
| + | Note: for most routers, " | ||
| + | |||
| + | Note: if you're issuing this command inside a bash script, remember to add the option -y to force firstboot: | ||
| + | |||
| + | <code bash> | ||
| + | firstboot -y && reboot | ||
| + | </ | ||
| + | |||
| + | Here is a log of soft factory reset process in action, obtained via serial connection, during router startup**: | ||
| + | * < | ||
| + | Press the [f] key and hit [enter] to enter failsafe mode | ||
| + | Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level | ||
| + | f | ||
| + | - failsafe - | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | |||
| + | BusyBox v1.25.1 () built-in shell (ash) | ||
| + | |||
| + | ash: can't access tty; job control turned off | ||
| + | | ||
| + | / /\ _ ___ ___ ___ | ||
| + | / | ||
| + | / DE / \ | |__| _|| |) | _| | ||
| + | / | ||
| + | | ||
| + | \ LE \ / ----------------------------------------------------------- | ||
| + | | ||
| + | \________\/ | ||
| + | |||
| + | ================= FAILSAFE MODE active ================ | ||
| + | special commands: | ||
| + | * firstboot | ||
| + | * mount_root mount root-partition with config files | ||
| + | |||
| + | after mount_root: | ||
| + | * passwd change root's password | ||
| + | * / | ||
| + | |||
| + | for more help see: | ||
| + | http:// | ||
| + | ======================================================= | ||
| + | |||
| + | admin@(none):/# | ||
| + | [ 102.942293] jffs2reset: This will erase all settings and remove any installed packages. Are you sure? [N/y] | ||
| + | y | ||
| + | [ 117.606813] jffs2reset: / | ||
| + | [ 117.612055] jffs2reset: / | ||
| + | reboot | ||
| + | admin@(none):/# | ||
| + | ...</ | ||
| + | |||
| + | Tips**:** after (a OpenWrt based) router reboots or starts, it goes thru the bootmenu (selection menu for boot options) within 1 to 2 seconds (or, within 1 second, after preset delay time has passed). | ||
| + | The boot menu accepts Up/Down & Enter buttons, so avoid those or any other buttons for that period of time. | ||
| + | After that bootmenu stage, within 3 to 8 seconds later (depending on CPU speed, etc) the failsafe mode appears & passes, so you have to press the " | ||
| + | |||
| + | ==== Hard factory reset ==== | ||
| + | === Re-flashing the firmware === | ||
| + | Re-flash or upgrade the firmware discarding the settings. | ||
| + | |||
| + | <code bash> | ||
| + | sysupgrade -n / | ||
| + | </ | ||
| + | |||
| + | OpenWrt preserves settings [[docs: | ||
| + | |||
| + | === JFFS2 reset === | ||
| + | Reset the JFFS2 partition. | ||
| + | |||
| + | <code bash> | ||
| umount /overlay && jffs2reset && reboot | umount /overlay && jffs2reset && reboot | ||
| </ | </ | ||
| - | While essentially doing the same thing as // | + | Based on the mount status |
| + | |||
| + | === F2FS reset === | ||
| + | Reset the F2FS partition. | ||
| + | |||
| + | <code bash> | ||
| + | dd if=/ | ||
| + | </ | ||