> Complete documentation index: [llms.txt](/llms.txt). Markdown versions of all pages are available by appending `.md` to page URLs.

# Firmware and Bootloader

> Fix an adapter that shows up as a bootloader or runs the wrong firmware: Airlock and legacy bootloaders, .afx and .gfi files, and cross-flashing.

The Supernova and the Pulsar each run two pieces of software: the **bootloader**, which only installs firmware, and the **firmware** (the application), which does everything else. This page helps when an adapter shows up as a bootloader, will not leave it, or will not take a firmware file.

To update firmware, see [Updating Firmware](/guides/firmware-updates/).

## Two Bootloaders

If the adapter runs firmware 4.3.0 or later, it has the **Airlock bootloader**: it takes `.afx` files and works with [dfu.binho.io](https://dfu.binho.io). Firmware 4.2.x and older runs on the **legacy bootloader**, which takes `.gfi` files and needs a one-time migration before it can run 4.3.0 or later. To tell them apart, see [Check the Firmware and Bootloader](/guides/firmware-updates/#check-the-firmware-and-bootloader); the migration and the update steps are on the same page.

:::note
Mission Control 2.16.1 and earlier do not work with Supernova or Pulsar firmware 4.x. Use [Mission Control 3](/software/mission-control/) for those adapters.

:::

## Firmware Files Are Not Interchangeable

:::danger
**Never load Pulsar firmware on a Supernova, or Supernova firmware on a Pulsar.** A cross-loaded image can leave the adapter unusable until it is recovered at the factory. Check the product name in the file name before copying it.

:::

| File | For |
| ---- | --- |
| `supernova-app-<version>.afx` | Supernova, Airlock bootloader |
| `pulsar-app-<version>.afx` | Pulsar, Airlock bootloader |
| `.gfi` | Supernova or Pulsar, legacy bootloader |
| `.fig` | Binho Nova |

The formats use different memory layouts and signing keys. A file for the other bootloader or the other product is not a substitute.

## The Adapter Shows as "Bootloader"

In bootloader mode the adapter waits for a firmware file. It still appears on USB, with the same USB IDs, but:

* It mounts a USB drive named **SUPERNOVA** or **PULSAR**.
* PyCosmicSDK's `list_devices()` reports its `fw_version` as `bootloader`.
* Mission Control 3 and scripts cannot use it until it runs firmware again.

An adapter enters the bootloader when software asks it to (for example `device.reboot(into=ResetTarget.BOOT)` in PyCosmicSDK, or a firmware update tool), when the firmware in flash is not valid (for example after an interrupted update), or when the last update was never confirmed. A new firmware is confirmed the first time a program opens the adapter on it; until then, the adapter starts in the bootloader again at every power cycle. See the confirm step in [Updating Firmware](/guides/firmware-updates/#update-by-drag-and-drop).

### Get It Out of the Bootloader

1. **Unplug the USB cable, wait a few seconds, and plug it back in.** If the firmware in flash is valid and was confirmed, the adapter starts it. An update that was never confirmed brings it back to the bootloader: go to step 2.
2. **If it comes back as a bootloader again, install the firmware.** On the Airlock bootloader, copy the `.afx` file for **that** product, from [Latest Firmware](/guides/firmware-updates/#latest-firmware), onto the USB drive.

   The adapter installs the file and restarts. The drive disappears, which is expected. [dfu.binho.io] also works(https://dfu.binho.io) in a Chromium-based browser.
3. **Confirm the firmware and check the result.** Open the adapter once, in Mission Control 3 or with PyCosmicSDK:

   ```python
   import pycosmicsdk

   with pycosmicsdk.Device.open() as device:
       print(device.info.fw_version)
   ```

   The adapter should report a version number, not `bootloader`.

If the adapter stays in the bootloader after a full install, contact [support@binho.io](mailto:support@binho.io) with its serial number.

## The Firmware File Is Rejected

| Symptom | Cause | Fix |
| ------- | ----- | --- |
| Copying a `.afx` to the drive fails or nothing happens | The adapter has the legacy bootloader | Do the one-time migration in [Updating Firmware](/guides/firmware-updates/) first |
| [dfu.binho.io](https://dfu.binho.io) does not find the adapter | The adapter has the legacy bootloader, or the browser is not Chromium-based | Check the bootloader; use Chrome or Edge |
| [dfu.binho.io](https://dfu.binho.io) reports "Access denied" or cannot open the adapter | The adapter still has the legacy bootloader (firmware 4.2.x or earlier). dfu.binho.io works only with the Airlock bootloader. | Do the [one-time bootloader migration](/guides/firmware-updates/#one-time-bootloader-migration) first |
| The migration file does not download | A company firewall or proxy blocks `cdn.binho.io` | Download the `.gfi` manually from the link in [One-Time Bootloader Migration](/guides/firmware-updates/#one-time-bootloader-migration), copy it onto the **SUPERNOVA** or **PULSAR** drive, then install the `.afx` |
| The adapter is not listed at all, even as a bootloader | Cable, port or hub | A bootloader always appears on USB. If nothing appears, try a data cable (not charge-only) and another port. |
| The adapter restarts but reports the old version | The file was for the other bootloader | Download the `.afx` for the product from [Latest Firmware](/guides/firmware-updates/#latest-firmware) |
| The other product's file was copied | Supernova and Pulsar files are not interchangeable | Stop and do not copy more files. A cross-loaded image can leave the adapter unusable until it is recovered at the factory: [contact support](mailto:support@binho.io) with the serial number. |

## The Adapter Shows Up as a USB Drive During Normal Use

That drive belongs to the bootloader. The adapter is waiting for firmware, so follow [Get It Out of the Bootloader](#get-it-out-of-the-bootloader). Do not copy other files to it.