> 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/controllers-legacy/ftp-upgrading-legacy-controllers.md).

# FTP Upgrading legacy controllers

A guide on how to connect to the legacy controllers (3000, 5000, 5000GL) to manually upgrade the firmware through an FTP connection.

> ⚠️ **Pre-condition:** Any legacy controllers (3000, 5000, 5000GL) that are **lower than version 5.21** will need to be at **5.20 or 5.21** before they can be upgraded to later versions (up to **8.20**, as they are not supported past this version). This can normally be done via Command Centre. This FTP procedure is the **manual fallback**.

> ⚠️ **CAUTION:** Read the entire procedure before carrying it out.

***

{% hint style="danger" %}
**Legacy controller procedure:** Use this only for an existing 3000, 5000, or 5000GL controller. These models are unsupported in current Command Centre versions. Do not use this procedure for new deployments.
{% endhint %}

## FTP Upgrade Procedure

### 1. Create a folder for the upgrade files

Create a folder that is easy to browse to from a command prompt, for example:

```
c:\ftp
```

### 2. Copy the firmware files to the folder

Copy `_NEW_APP.CFG` and `BTxxxxx.EXE` from the Gallagher Software CD > **Other Device Software** folder, to the new folder created above.

### 3. Set the DIP switch

Ensure **Controller DIP switch 1** is **ON**.

### 4. Web-browse to the Controller

Open a web browser and enter the Controller IP address followed by `/debug`:

```
192.168.1.199/debug
```

When the controller is in **2 flashes** after rebooting, the login details for web-browse are:

| Username     | Password                            |
| ------------ | ----------------------------------- |
| `diagnostic` | `[REDACTED]` (contact Tech Support) |

If the controller is in **1 flash**, you need the **site serial number** to generate the password. This requires Tech Support involvement.

### 5. Start the FTP Server on the Controller

Click **Database Manager** then click **Start FTP Server**. (Alternatively, in the properties of the Controller in Command Centre, click **Start FTP Server**.)

> ⚠️ **15-second timeout:** This login will time out after 15 seconds. You need to get past **Step 6** before then or you will be disconnected.

### 6. Connect to the Controller via FTP

From the command prompt:

```
ftp 192.168.1.199
```

(Substitute the actual Controller IP address.)

When prompted, enter the FTP username `cardax`. Contact Tech Support for the FTP credentials.

### 7. Switch FTP to binary mode

Type `bin` (without the quotes) and press Enter. This puts FTP in **Binary mode**.

### 8. Upload the firmware files

Use the following commands to upload the files to the Controller (this assumes the files are in the folder that FTP was launched from):

```
put  _NEW_APP.CFG
put  BT52117.exe    <- THE VERSION YOU ARE UP/DOWN-GRADING TO
Quit
```

The `BT750118` firmware file takes approximately **42 seconds to transfer**. Do not interrupt.

![DOS command prompt with FTP commands highlighted](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-979f1ec2213d85248ae16cd5ee3fb1c99debaacd%2FSECHUB-LEGACY-CTRL-FTP-01-dos-prompt-highlighted.jpg?alt=media)

### 9. Reboot the Controller

Reboot the Controller. It should now be upgraded to the required version `vBTxxxxx`.

### 10. Resync databases

When the Controller is back online, **re-sync the databases** from Command Centre.

***

## Optional - free up space if required

If required, delete the following file to ensure enough space is free:

| File       | Size          |
| ---------- | ------------- |
| `PART.CDB` | 103,000 bytes |

To delete the file while using FTP:

```
rename PART.CDB part1.cdb
del part1.cdb
```

> 🧑‍🔧 Perform this deletion step via the FTP session before uploading the firmware files if the controller reports insufficient space.

***

🔗 **Related**

* [Controllers - Legacy](/knowledge-hub/products/cc-hardware/controllers/controllers-legacy.md). Variants and lifecycle.
* [Controllers Legacy - Limits](/knowledge-hub/products/cc-hardware/controllers/controllers-legacy/controllers-legacy-limits.md). Hardware capacity per model.


---

# 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/controllers-legacy/ftp-upgrading-legacy-controllers.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.
