Bug #9533
closedXG-7100 FAT config restore not working post-install
100%
Description
With the recent pfSense releases, it's possible to restore a configuration by copying the config.xml to a FAT partition - in this instance, I'm using the third partition on the USB installer for this. This is true for 2.4.4_p3 as well.
Systems without an integrated switch that I've tested work without issue but the XG-7100 does not restore the config.xml on the FAT partition when booting with the USB drive present post-install. If I select the reboot option in the pfSense shell and select the R option to re-root, the config will restore without issue.
I suspect the issue may be that the switch isn't fully initialized yet when the recovery step occurs. Looking at the output during boot, it looks like the configuration is loaded, updated, and backups are checked after the USB drive is initialized and later on in the boot process, the switch, VLANs, and LAGG is configured - which makes me think the recovery config is rejected as invalid because the referenced items are not yet valid. The fact that re-rooting restores the recovery config without issue makes me suspect that the switch was already configured so the recovery config is considered valid. Otherwise perhaps the USB drive isn't initialized in time for the recovery to occur when first booting.
ugen0.2: <innostor USB 3.0> at usbus0 umass0 on uhub0 umass0: <innostor USB 3.0, class 0/0, rev 3.00/0.01, addr 1> on usbus0 da0 at umass-sim0 bus 0 scbus5 target 0 lun 0 da0: <IS917 innostor 1.00> Removable Direct Access SPC-4 SCSI device da0: 400.000MB/s transfers da0: 966MB (1978368 512 byte sectors) da0: quirks=0x2<NO_6_BYTE> ...... done. Initializing.................. done. Starting device manager (devd)...done. Loading configuration......done. ..................Updating configuration..............done. Checking config backups consistency...done. Setting up extended sysctls...done. padlock0: No ACE support. aesni0: <AES-CBC,AES-XTS,AES-GCM,AES-ICM> on motherboard coretemp0: <CPU On-Die Thermal Sensors> on cpu0 coretemp1: <CPU On-Die Thermal Sensors> on cpu1 coretemp2: <CPU On-Die Thermal Sensors> on cpu2 coretemp3: <CPU On-Die Thermal Sensors> on cpu3 Setting timezone...done. Configuring loopback interface...done. Starting syslog...done. Starting Secure Shell Services...done. Configuring switch...done. Setting up interfaces microcode...done. Configuring loopback interface...done. Creating wireless clone interfaces...done. Configuring LAGG interfaces...done. Configuring VLAN interfaces...done.
Loading configuration......done. ..................Updating configuration..............done. Checking config backups consistency...done.
....
Configuring switch...done.