> For the complete documentation index, see [llms.txt](https://help.security.gallagher.com/knowledge-hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.security.gallagher.com/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/troubleshoot/controller-7000-dip-switch-8-recovery.md).

# DIP switch 8 recovery

Recover a Controller 7000 from a failed flash state using DIP switches 2 and 8.

> 📋 **Prerequisites:** Confirm the controller's flash state first with [Run LED Diagnostics and Shutdown Codes](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/troubleshoot/controller-7000-run-led-diagnostics-an.md). This procedure reverts the controller to factory keys, so read [Certificates and Keys](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/reference/controller-7000-certificates-and-keys.md) as well.

This procedure also applies to Controller 7000 SDC.

#### When does a controller need a DIP Switch 8 Recovery?

DIP Switch 8, used together with DIP Switch 2, recovers a controller that is in a bad flash state.

**Flash states that may require this procedure:** Run LED solid on, 4-flash, 5-flash, or 6-flash. See [Run LED Diagnostics and Shutdown Codes](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/troubleshoot/controller-7000-run-led-diagnostics-an.md) for flash state definitions.

> ⚠️ **DIP Switch 8 should be used as a last resort. Only use it if the controller has failed. If you are unsure whether to proceed, contact the Gallagher Technical Support Team for advice first.**

#### What does the recovery do to the controller?

> ⚠️ **Data loss warning:** Performing a DIP Switch 8 Recovery **deletes and recreates file systems** on the controller. All configuration, events, and alarms stored on the controller will be permanently lost.

> **Note:** After the procedure, the controller must be brought back online as if it were a new controller (using the DIP Switch 2 procedure). Check that the controller is running the correct version of firmware after recovery.

***

## Recovery procedure

#### What are the steps, and what must I do afterwards?

1. From the **Controller Software** drop-down list (on the **Software** tab of the Controller Properties in Command Centre), select **"None Selected"**. Click Apply.
2. Power down the controller.
3. Turn **DIP Switch 2 and DIP Switch 8 ON**. All other DIP Switches must be **OFF**.
4. Power on the controller to begin the recovery sequence. This may take 1 to 2 minutes. **Wait until the controller goes into a 6-flash state.**
5. Turn **DIP Switch 8 OFF** and wait. **Do NOT remove power from the controller.**
6. Once the controller is back online, ensure you turn **DIP Switch 2 OFF** (assuming the controller picks up its IP address from the network).
   * If recovery was successful, the controller starts up and initialises as if it is being brought online for the first time.
   * The controller code needs to be upgraded.
   * A **"Revalidate Certificate"** override is required (from the Status and Overrides tab in Command Centre).
7. From the **Controller Software** drop-down list (on the **Software** tab of the Controller Properties), reselect the correct software version for this site. Click **Apply** to upgrade the controller.

***

## Video guide

A video walkthrough of this procedure is available: [DIP Switch 8 Recovery on YouTube](https://www.youtube.com/embed/8HanvvJJqaA?list=PLCow1Q9JrnOCwlt6AtDCszpIq2EpjLZ9j).

***

## After recovery: next steps

1. The controller has reverted to its factory keys. It establishes new unique keys on first connection to the Command Centre server.
2. Apply the **"Revalidate Certificate"** override from the Status and Overrides tab in Command Centre.
3. Reselect and apply the correct controller firmware version.
4. Verify the controller comes online and confirm it is running the correct firmware version.
5. Re-push the full configuration from Command Centre to the controller.

***

🔗 **Related**

* [Run LED Diagnostics and Shutdown Codes](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/troubleshoot/controller-7000-run-led-diagnostics-an.md). Identify the flash state that tells you recovery is needed.
* [Certificates and Keys](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/reference/controller-7000-certificates-and-keys.md). Why recovery needs a Revalidate Certificate override afterwards.
* [Bringing Online and Networking](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/configure/controller-7000-bringing-online-and-ne.md). Bring the recovered controller back online.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.security.gallagher.com/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/troubleshoot/controller-7000-dip-switch-8-recovery.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
