Project

General

Profile

Bug #9533

XG-7100 FAT config restore not working post-install

Added by Clinton Cory 3 months ago. Updated 3 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Backup / Restore
Target version:
-
Start date:
05/17/2019
Due date:
% Done:

0%

Estimated time:
Affected Version:
2.4.4_2
Affected Architecture:

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.

History

#1 Updated by Steve Wheeler 3 months ago

It looks to me like the USB drive is being detected and loaded after the ECL has run which why it does not see the config file to import.

ugen0.1: <0x8086 XHCI root HUB> at usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
mmcsd0: 31GB <MMCHC BJTD4R 0.3 SN 7A64FE68 MFG 12/2017 by 21 0x0000> at mmc0 50.0MHz/8bit/65535-block
mmcsd0boot0: 4MB partion 1 at mmcsd0
mmcsd0boot1: 4MB partion 2 at mmcsd0
mmcsd0rpmb: 4MB partion 3 at mmcsd0
Trying to mount root from ufs:/dev/ufsid/5cdd93ec623831e2 [rw]...
Configuring crash dumps...
Using /dev/label/swap0 for dump device.
/dev/ufsid/5cdd93ec623831e2: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ufsid/5cdd93ec623831e2: clean, 6836730 free (2562 frags, 854271 blocks, 0.0% fragmentation)
Filesystems are clean, continuing...
Mounting filesystems...
Setting up memory disks...random: unblocking device.
 done.
Restoring contents of RAM disk store...uhub0: 8 ports with 8 removable, self powered
 done.

        __
 _ __  / _|___  ___ _ __  ___  ___
| '_ \| |_/ __|/ _ \ '_ \/ __|/ _ \
| |_) |  _\__ \  __/ | | \__ \  __/
| .__/|_| |___/\___|_| |_|___/\___|
|_|

Welcome to pfSense 2.4.4-RELEASE (Patch 3)...

No core dumps found.
...ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/ipsec /usr/local/lib/perl5/5.26/mach/CORE
32-bit compatibility ldconfig path:
done.
>>> Removing vital flag from lang/php72... done.
External config loader 1.0 is now starting... mmcsd0s1 mmcsd0s1a mmcsd0s1b
Launching the init system...Updating CPU Microcode...
CPU: Intel(R) Atom(TM) CPU C3558 @ 2.20GHz (2200.07-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x506f1  Family=0x6  Model=0x5f  Stepping=1
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x4ff8ebbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x101<LAHF,Prefetch>
  Structured Extended Features=0x2294e283<FSGSBASE,TSCADJ,SMEP,ERMS,NFPUSG,MPX,PQE,RDSEED,SMAP,CLFLUSHOPT,PROCTRACE,SHA>
  Structured Extended Features3=0xac000400<IBPB,STIBP,ARCH_CAP,SSBD>
  XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
  IA32_ARCH_CAPS=0x69<RDCL_NO>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID,VID,PostIntr
  TSC: P-state invariant, performance statistics
Done.
ugen0.2: <innostor USB 3.0> at usbus0
umass0 on uhub0
umass0: <innostor USB 3.0, class 0/0, rev 2.10/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: 40.000MB/s transfers
da0: 966MB (1978368 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
...... done.
Initializing.................. done.
Starting device manager (devd)...done.

It's unclear why it does not see that when it sees ugen0.1. Other systems load that before mountroot and hence the ECL sees anything on them.

Also available in: Atom PDF