Update Cisco ASA 5506-X with Firepower

A customer bought a Cisco 5506-X with Firepower. It was delivered with Firepower version 5.4.1 (221). The upgrade process of a Cisco ASA is normally pretty straightforward. So I thought maybe a Firepower (FP) module is as easy to upgrade as an ASA box. I thought wrong.
Within ASDM it is possible to manage and upgrade the FP module. The first thing to stick out is the fact that ASDM on numerous occasions couldn’t contact the FP module. So after serveral tries I was able to manage the module from ASDM.
According to the Cisco manual it is possible to download the updates from within the ASDM. But after several tries and a lot of error messages I gave up on ASDM. So then there is only one solution. Go back to the good old CLI!

First of all I had to get the image file to the ASA box.This time I used a http server, the code looks like beneath:

Firewall# copy <interface> http flash:
Address or name of remote host []? <ip address>
Source filename []? asasfr-5500x-boot-6.0.0-1005.img
Destination filename [asasfr-5500x-boot-6.0.0-1005.img]? 

Now the FP module has to be rebooted with a new image, this can be done from the ASA cli:

Firewall(config)# sw-module module sfr recover configure image disk0:/asasf$
Firewall(config)# sw module sfr recover boot
Module sfr will be recovered. This may erase all configuration and all data
on that device and attempt to download/install a new image for it. This may take
several minutes.

Recover module sfr? [confirm]
Recover issued for module sfr. 

To monitor what’s going on, you have to enable debugging:

Firewall(config)# debug module-boot
debug module-boot  enabled at level 1

This step will take a while. I waited for about 20 minutes. After that you have to configure the FP module again. So login to the module and run the setup:

Firewall(config)# session sfr console 
Opening console session with module sfr.
Connected to module sfr. Escape character sequence is 'CTRL-^X'.

Cisco FirePOWER Services Boot Image 6.0.0

asasfr login: admin
Password: Admin123

Cisco FirePOWER Services Boot 6.0.0 (1005)
Type ? for list of commands

Welcome to Cisco FirePOWER Services Setup 
 [hit Ctrl-C to abort]
Default values are inside []

Enter a hostname [asasfr]: <Name>
Do you want to configure IPv4 address on management interface?(y/n) [Y]: Y
Do you want to enable DHCP for IPv4 address assignment on management interface?(y/n) [N]: N
Enter an IPv4 address []: <IP address>
Enter the netmask []: <Netmask>
Enter the gateway []: <Default Gateway>
Do you want to configure static IPv6 address on management interface?(y/n) [N]: N
Stateless autoconfiguration will be enabled for IPv6 addresses.
Enter the primary DNS server IP address: <DNS server>
Do you want to configure Secondary DNS Server? (y/n) [n]: N
Do you want to configure Local Domain Name? (y/n) [n]: Y
Enter the local domain name: <domain name>
Do you want to configure Search domains? (y/n) [n]: Y
Enter the comma separated list for search domains: <Domain name>
Do you want to enable the NTP service? [Y]: Y
Enter the NTP servers separated by commas: <NTP pool>
Do you want to enable the NTP symmetric key authentication? [N]: N
Please review the final configuration:

Management Interface Configuration

IPv4 Configuration:static
IP Address:<IP address>
Gateway:<Default Gateway>

IPv6 Configuration:Stateless autoconfiguration

DNS Configuration:
DNS Server:<DNS server>
NTP configuration: <NTP pool>
You have selected IPv6 stateless autoconfiguration, which assigns a global address
based on network prefix and a device identifier. Although this address is unlikely
to change, if it does change, the system will stop functioning correctly.
We suggest you use static addressing instead.

Apply the changes?(y,n) [Y]: Y
Configuration saved successfully!
Restarting network services...
Restarting NTP service...
Press ENTER to continue...{Enter}

After the previous step it’s time to get the new FP version on the FP module:

asasfr-boot>system install http://<ip address>/asasfr-sys-6.0.0-1005.pkg
Verifying.    .. 
Downloading.    ..   
Extracting.    ..  
Package Detail
Description:Cisco ASA-SFR 6.0.0-1005 System Install
Requires reboot:Yes 

Do you want to continue with upgrade? [y]: Y
Warning: Please do not interrupt the process or turn off the system.
Doing so might leave system in unusable state.

This really takes al long time. So don’t forget if you are performing this upgrade in a production environment to get an updateslot of at least three hours!
In my case it took 100 minutes before the FP module was in the UP state again.

Now you have to accept the new EULA en go trough the initial setup again.

Firewall# session sfr 
Opening command session with module sfr.
Connected to module sfr. Escape character sequence is 'CTRL-^X'.

Cisco ASA5506 v6.0.0 (build 1005)

firepower login: admin
Password: Admin123
Last login: Wed Nov  2 16:08:16 UTC 2016 on pts/0

Copyright 2004-2015, Cisco and/or its affiliates. All rights reserved. 
Cisco is a registered trademark of Cisco Systems, Inc. 
All other trademarks are property of their respective owners.

Cisco Fire Linux OS v6.0.0 (build 258)
Cisco ASA5506 v6.0.0 (build 1005)

Last login: Wed Nov  2 16:08:16 UTC 2016 on cron
Last login: Wed Nov  2 16:08:16 UTC 2016 on pts/0
You must accept the EULA to continue.
Press  to display the EULA: {Enter}


--Output Removed for the Sake of Brevity - Press Space Bar (A LOT!)--

Please enter 'YES' or press  to AGREE to the EULA:  YES

System initialization in progress.  Please stand by.  
You must change the password for 'admin' to continue.
Enter new password: Password123
Confirm new password: Password123
You must configure the network to continue.
You must configure at least one of IPv4 or IPv6.
Do you want to configure IPv4? (y/n) [y]: Y
Do you want to configure IPv6? (y/n) [n]: N
Configure IPv4 via DHCP or manually? (dhcp/manual) [manual]: {Enter}
Enter an IPv4 address for the management interface []: 
Enter an IPv4 netmask for the management interface []: 
Enter the IPv4 default gateway for the management interface []: 
Enter a fully qualified hostname for this system [firepower]: 
Enter a comma-separated list of DNS servers or 'none' []: 
Enter a comma-separated list of search domains or 'none' [example.net]: 
If your networking information has changed, you will need to reconnect.

For HTTP Proxy configuration, run 'configure network http-proxy'

Creating default Identity Policy.
Creating default SSL Policy.

Update policy deployment information
    - add device configuration
    - add network discovery
    - add system policy
    - add access control policy
    - applying access control policy

You can register the sensor to a Firepower Management Center and use the 
Firepower Management Center to manage it. Note that registering the sensor 
to a Firepower Management Center disables on-sensor Firepower Services 
management capabilities.

When registering the sensor to a Firepower Management Center, a unique 
alphanumeric registration key is always required.  In most cases, to register
a sensor to a Firepower Management Center, you must provide the hostname or 
the IP address along with the registration key.
'configure manager add [hostname | ip address ] [registration key ]'

However, if the sensor and the Firepower Management Center are separated by a
NAT device, you must enter a unique NAT ID, along with the unique registration
'configure manager add DONTRESOLVE [registration key ] [ NAT ID ]'

Later, using the web interface on the Firepower Management Center, you must 
use the same registration key and, if necessary, the same NAT ID when you add 
this sensor to the Firepower Management Center.
> exit
Remote card closed command session. Press any key to continue.
 Command session with module sfr terminated.

Now login to your ASA via ASDM and you will see that your box is upgraded.