October 2024: Fractal Audio's VP4 Virtual Pedalboard has been added to the wiki.

Difference between revisions of "Firmware"

From Fractal Audio Wiki
Jump to navigation Jump to search
Line 114: Line 114:
 
Emergency Boot Recovery is different from the procedure to bypass a corrupt preset at startup. To do the latter, read  "[[Presets#Corrupt_preset_at_startup|Corrupt preset at startup]]" for more information.
 
Emergency Boot Recovery is different from the procedure to bypass a corrupt preset at startup. To do the latter, read  "[[Presets#Corrupt_preset_at_startup|Corrupt preset at startup]]" for more information.
  
=Empty preset / No presets=
+
=Preset appears empty=
  
Read this: [[Presets#Preset_is_empty]].
+
Read this: [[Presets#Preset_is_empty|Presets]].
  
 
=Will repeating the installation of firmware fix issues?=
 
=Will repeating the installation of firmware fix issues?=

Revision as of 15:16, 2 May 2023

Icon-firmware.png

About firmware numbering

"Major revisions occur when there's a substantive change to the modeling algorithms." [1]

Firmware and drivers

Firmware

Firmware is the internal operating system for the processors. Updates are released frequently, adding new features and bug fixes. Official versions can be found on Fractal Audio's website. Beta versions are released on the user forum.

USB firmware

The Axe-Fx III and FM9 rely on separate firmware for USB communications. Read this: USB.

Operating system driver

A driver is software that allows the device to communicate with other hardware through USB. Depending on the device, on for more drivers are required to communicate with Windows computers or Apple computers. These can be found on Fractal Audio's website.

Checking the firmware version

Go to the Utility menu to see the version of the installed firmware. Some devices display the version on the Home page.

Fractal-Bot displays the current version upon connecting.

Download firmware

Icon-firmware.png

Download current firmware for all products

Download older firmware versions and older versions of the software editors

Install new firmware

Fractal-Bot.png

Firmware is installed using Fractal-Bot, through USB.

In some cases, Fractal-Bot needs to operate in a special mode. Press CTRL on Windows, or Command on macOS, and click the dropdown menu to reveal and select the hidden “Utility” option. Then select the output port.

Updating firmware does not erase the factory or user presets.

Firmware installation on an Axe-Fx III takes about 5-7 minutes.

Force reinstallation

If you already have the latest firmware installed but want to re-install it for any reason, hold Command on macOS or Ctrl on Windows while selecting the device in Fractal-Bot.

Firmware release notes

Doc.png

Read the release notes for present and previous firmware versions:

Update the editor

After updating the firmware, the editor's definitions needs to be refreshed. If the editor doesn't recognize the updated firmware automatically, do it manually.

Sometimes a new version of the editor has to be released and installed to support the new firmware feature. Software editor updates are provided once a new, non-beta, firmware has been released. Editor updates usually lag by no more than a couple of business days.

Upgrading presets

Use this function in the Utility menu to upgrade all presets on the device to the currently installed firmware version. This process takes up considerable time but will speed up preset changes.

"When a preset is saved to flash it contains blocks at that firmware version. When new firmware is installed and the "old" preset is loaded into memory all blocks which have changed in the new firmware must be updated to the new version. This includes new parameters and existing parameters which have changes (such as range limits). As the preset stored in flash becomes older and older relative to the installed firmware this update process takes longer and longer which slows the preset change process. This Upgrade Preset functionality under Utilities will upgrade the preset to the currently installed firmware version then store to flash so the update process doesn't need to run every time a preset is loaded into memory.

  1. Always backup your presets prior to running this process.
  2. It runs on all 512 presets. You cannot select specific presets.
  3. You do not need to run this process for every new version of firmware if preset changes are running fast enough for you.
  4. Running this process multiple times for a given firmware version will not cause harm. Subsequent runs simply do nothing." [2]

Audition presets after updating

Updated firmware may cause changes in your presets. Read the firmware release notes and verify your presets.

About changes in amp modeling:

  • if new firmware includes changes in amp modeling, these are often implemented under the hood. As a user you DO NOT need to do anything, UNLESS the firmware release notes instruct otherwise.
  • sometimes the firmware itself can't (or won't) enforce fixes or improvements and leaves it to the user to implement these. In such cases the release notes will tell you to "deselect-and-reselect" a specific amp type in existing presets (aka a "soft reset").
  • if the new firmware includes major changes to the modeling, re-selecting every amp type in your presets is recommended, as will be stated in the release notes. It's a chore, but necessary to take advantage of improvements.

Read "Resetting the Amp block" for more information.

Emergency boot recovery

Built-in backup firmware in the hardware allows quick recovery in case of complications during or after updating.

Axe-Fx III — hold down PAGE LEFT and PAGE RIGHT while cycling power until the Emergency Utility menu appears. Update the firmware using Fractal-Bot. Read "Axe-Fx III Recovery Steps" for more information.
If a problematic system parameter prevents the device from booting, hold EDIT on startup to bypass non-default system settings and reset them. Press-and-hold both EDIT and HOME at startup to bypass and reset the system settings AND load a clean preset.

FM9, FM3 — hold down PAGE LEFT and PAGE RIGHT while cycling power until the Emergency Utility menu appears. Update the firmware using Fractal-Bot.
If a problematic system parameter prevents the device from booting, hold EDIT on startup to bypass non-default system settings and reset them. Press-and-hold both EDIT and HOME at startup to bypass and reset the system settings AND load a clean preset.

Axe-Fx II XL/XL+ — hold down Page Left and Page Right while cycling power until the Emergency Utility menu appears. Update the firmware using Fractal-Bot.
If a problematic system parameter prevents the device from booting, press and hold RECALL on startup.

FX8 — hold down SETUP and power the unit on. Hold the button for about 1 second beyond the power up, then release. The unit will now allow you to install firmware using Fractal-Bot.
If a problematic system parameter prevents the device from booting, press ENTER when the splash screen is displayed

AX8 — hold down SHIFT and power the unit on. Hold the button for about 1 second beyond the power up, then release. The unit will now allow you to install firmware using Fractal-Bot.
If a problematic system parameter prevents the device from booting, press ENTER when the splash screen is displayed

If the unit sounds bad after an update, see "Reset" for more information.

"There's multiple levels of error checking. First the USB endpoint is a bulk endpoint so it has guaranteed transmission. Then each packet has a checksum. Then the entire image has a checksum. Finally the image written to the FLASH is compared to the downloaded image byte-by-byte. It's virtually impossible to have corrupted firmware image." [3]

"It's virtually impossible to brick a Fractal product. All our products feature an "emergency bootloader" that allows booting the unit in the event of a failed firmware update." [4]

Emergency Boot Recovery is different from the procedure to bypass a corrupt preset at startup. To do the latter, read "Corrupt preset at startup" for more information.

Preset appears empty

Read this: Presets.

Will repeating the installation of firmware fix issues?

The official response to this is that reinstalling the same firmware will not fix an issue resulting from installing new firmware.

FAQ

Doc.png

(from the Owner's Manuals for the Axe-Fx III and FM3)

Q: How do I know the upgrade worked?

A: Check your firmware version anytime by pressing the SETUP button (Push-knob E) on the Home page. The version is displayed at the top of the SETUP menu.

Q: Can I skip versions to go from a very old firmware version to a much newer one?

A: You can upgrade from any version to any other version. When you skip versions it is recommended that you also read the Release Notes for all interim versions, all of which are included with every firmware release.

Q: Will updating my firmware erase, modify or “upgrade” my factory presets?

A: Firmware updates do not erase customized presets. However, firmware updates may alter the sound of existing presets. Always read Release Notes before updating. Saving presets after a firmware update can render them incompatible with previous versions. It is always wise to create a full back up using Fractal-Bot before a major update. Firmware updates do not upgrade Factory Presets. Updated Factory Presets, when offered, are released as a separate update on our web site support page. Fractal-Bot can be used to transmit this update in the same way it is used to update firmware.

Q: The firmware update failed mysteriously. What should I do?

A: If the unit still boots normally, just try the update again. If successive failures occur, please delete and re-download the update file before trying again. Trying a different USB port or cable can also solve issues.

Q: After updating, the unit will no longer boot normally.

A: See “Recovery” on the next page.

Rolling back to older firmware

You can roll back to a previous firmware.

You can find older firmware and versions of software editors at: http://archive.axefx.fr, which is an unofficial archive but is well maintained.

To roll back to older firmware:

  • Make a complete backup of your system settings and presets before updating to newer firmware. For instructions on how to take a backup please see Backup_and_restore.
  • Use Fractal-Bot, either the standalone or the version embedded in the editor to install the old firmware.
  • Reboot your hardware when prompted by Fractal-Bot. Read the instructions on the front panel of the hardware and wait the specified amount of time before powering it back on.
  • Use Fractal-Bot to install the old system settings backup file.
  • Reboot your hardware a second time.
  • Use Fractal-Bot to install the old preset bank files and IR bank files.
  • Reboot your hardware a final time.

After the final reboot, you'll want to switch back to the older editor software as editor software requires minimum firmware versions to work correctly.

More information

Firmware is coded in C / C++ and assembly. [5]

"Most DSP compilers include library functions for common signal processing functions. However every library I've seen makes the same mistakes in several important and oft-used functions. I can't disclose what functions and what those mistakes are but because of this we use our own hand-coded assembly functions for our own libraries. The results are measurable and audible especially when dealing with the special requirements of amp modeling. I should add that these libraries are low-level functions like FFT() and such. You're not going to find a library that implements a Tube Screamer or even something more granular like a diode clipping circuit. That all has to be developed in-house." [6]

(Is it true that you hand-code the firmware in assembly?
"Not much on the Axe-Fx III compared to the other products. The Axe-Fx I and II had a lot of hand-coded assembly as do the FM3/9. The DSP used in the Axe-Fx III is very difficult to write assembly for. It's a VLIW processor so it's best to use the optimizing compiler and let it do the work. There are a bunch of intrinsics that we use that are essentially assembly instructions but you can call them from C/C++." [7]