> 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-6000/configure/controller-6000-upgrading-wince-bootp.md).

# Upgrading WinCE Controllers using BootP

Upgrade a Windows CE Controller 6000 using BootP addressing.

> ⚠️ **Scope:** This page is for **WinCE 6000 controllers**. **Linux 6000 controllers do not follow this upgrade path.**

When Controllers are brought online using **BootP**, they get issued a **temporary IP** to communicate to the Command Centre Server, but **do not cache information**. The server cannot send down configuration changes due to major changes breaking compatibility in **v8.40**.

This creates the need to keep **DIP Switch 2 ON** until the Controller has been upgraded to match the Command Centre version.

> ⚠️ **BootP requires same subnet:** BootP can only be used where the Controller and Command Centre are both on the **same subnet**. Broadcast traffic does not cross subnet boundaries by default.

***

## Certificate behaviour with DIP Switch 2 ON

> ⚠️ When DIP Switch 2 is ON, the Controller drops its configuration, **including the pinned certificate**. When the Controller connects to the server after restart, the certificate will not match the server. This causes the Controller to remain offline and generate an **'Authentication of \[Controller] failed - invalid certificate'** alarm in Command Centre.

A **'Revalidate certificate'** override is required to bring the Controller online after a restart with DIP Switch 2 ON.

See [Revalidate Certificate](/knowledge-hub/products/cc-hardware/controllers/controller-6000/configure/controller-6000-revalidate-certificate.md).

***

## Process flow

The general sequence for getting a factory Controller upgraded to the latest release version using BootP:

![BootP upgrade process flow diagram](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-6dc6b0ff926adfe7c2ce678acb62ecb20e58cb7b%2FSECHUB-C6000-WINCEBOOTP-01-process-flow.png?alt=media)

1. Ensure the "FT Bootstrap Protocol Service" is running on the Command Centre server.
2. Set **DIP Switch 2 ON** on the controller.
3. Power on the controller. It will broadcast for an IP at the 3-flash state.
4. The FT Bootstrap Protocol Service replies with controller configuration including the server IP.
5. The controller connects to the server using the BootP-assigned IP.
6. Command Centre upgrades the Controller through the upgrade path.
7. After the Controller upgrade completes, apply the **Revalidate Certificate** override if alarms fire.

For method-by-method addressing detail, see [Assigning a Controller an IP address](/knowledge-hub/products/cc-hardware/controllers/controller-6000/configure/controller-6000-assigning-a-controller.md) (Method 1 BootP, Method 3 ccftBootp.exe).

For the full WinCE-to-Linux composite covering BootP, DHCP and Default IP, see [Upgrading WinCE to Linux](/knowledge-hub/products/cc-hardware/controllers/controller-6000/configure/controller-6000-upgrading-wince-to-linux.md).

***

🔗 **Related**

* [Upgrading WinCE to Linux](/knowledge-hub/products/cc-hardware/controllers/controller-6000/configure/controller-6000-upgrading-wince-to-linux.md). The consolidated migration page.
* [Assigning a Controller an IP address](/knowledge-hub/products/cc-hardware/controllers/controller-6000/configure/controller-6000-assigning-a-controller.md). The BootP addressing methods.
* [Revalidate Certificate](/knowledge-hub/products/cc-hardware/controllers/controller-6000/configure/controller-6000-revalidate-certificate.md). Required after a DIP Switch 2 restart.


---

# 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-6000/configure/controller-6000-upgrading-wince-bootp.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.
