Netgate SG-3100 failed firmware upgrade.
-
Attempted to upgrade to pfSense+ 23.01, and the upgrade hung. Made the mistake of power cycling the firewall 30 minutes later, and now I'm getting this on boot.
Mounting filesystems... __ _ __ / _|___ ___ _ __ ___ ___ _ | '_ \| |_/ __|/ _ \ '_ \/ __|/ _ \ _| |_ | |_) | _\__ \ __/ | | \__ \ __/ |_ _| | .__/|_| |___/\___|_| |_|___/\___| |_| |_| Welcome to Netgate pfSense Plus 23.01-RELEASE... random: unblocking device. ...ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/lib/engines /usr/local/lib/compat/pkg /usr/local/lib/freeradius-3.0.25 /usr/local/lib/ipsec /usr/local/lib/mysql /usr/local/lib/perl5/5.32/mach/CORE done. >>> Removing vital flag from php81... done. Fatal error: Uncaught Error: Call to undefined function mb_strlen() in /etc/inc/util.inc:3389 Stack trace: #0 /etc/inc/config.lib.inc(1228): array_get_path(Array, 'system/timezone', NULL) #1 /etc/inc/config.inc(146): config_get_path('system/timezone') #2 /etc/inc/gwlb.inc(25): require_once('/etc/inc/config...') #3 /etc/inc/functions.inc(35): require_once('/etc/inc/gwlb.i...') #4 /etc/rc.ecl(25): require_once('/etc/inc/functi...') #5 {main} thrown in /etc/inc/util.inc on line 3389 PHP ERROR: Type: 1, File: /etc/inc/util.inc, Line: 3389, Message: Uncaught Error: Call to undefined function mb_strlen() in /etc/inc/util.inc:3389 Stack trace: #0 /etc/inc/config.lib.inc(1228): array_get_path(Array, 'system/timezone', NULL) #1 /etc/inc/config.inc(146): config_get_path('system/timezone') #2 /etc/inc/gwlb.inc(25): require_once('/etc/inc/config...') #3 /etc/inc/functions.inc(35): require_once('/etc/inc/gwlb.i...') #4 /etc/rc.ecl(25): require_once('/etc/inc/functi...') #5 {main} thrownLaunching the init system... Fatal error: Uncaught Error: Call to undefined function mb_strlen() in /etc/inc/util.inc:3389 Stack trace: #0 /etc/inc/config.lib.inc(1228): array_get_path(Array, 'system/timezone', NULL) #1 /etc/inc/config.inc(146): config_get_path('system/timezone') #2 /etc/inc/gwlb.inc(25): require_once('/etc/inc/config...') #3 /etc/inc/functions.inc(35): require_once('/etc/inc/gwlb.i...') #4 /etc/inc/notices.inc(26): require_once('/etc/inc/functi...') #5 /etc/inc/config.gui.inc(39): require_once('/etc/inc/notice...') #6 /etc/inc/auth.inc(34): require_once('/etc/inc/config...') #7 /etc/inc/captiveportal.inc(29): require_once('/etc/inc/auth.i...') #8 /etc/inc/service-utils.inc(25): require_once('/etc/inc/captiv...') #9 /etc/inc/pkg-utils.inc(26): require_once('/etc/inc/servic...') #10 /etc/rc.bootup(27): require_once('/etc/inc/pkg-ut...') #11 {main} thrown in /etc/inc/util.inc on line 3389 PHP ERROR: Type: 1, File: /etc/inc/util.inc, Line: 3389, Message: Uncaught Error: Call to undefined function mb_strlen() in /etc/inc/util.inc:3389 Stack trace: #0 /etc/inc/config.lib.inc(1228): array_get_path(Array, 'system/timezone', NULL) #1 /etc/inc/config.inc(146): config_get_path('system/timezone') #2 /etc/inc/gwlb.inc(25): require_once('/etc/inc/config...') #3 /etc/inc/functions.inc(35): require_once('/etc/inc/gwlb.i...') #4 /etc/inc/notices.inc(26): require_once('/etc/inc/functi...') #5 /etc/inc/config.gui.inc(39): require_once('/etc/inc/notice...') #6 /etc/inc/auth.inc(34): require_once('/etc/inc/config...') #7 /etc/inc/captiveportal.inc(29): require_once('/etc/inc/auth.i...') #8 /etc/inc/service-utils.inc(25): require_once('/etc/inc/captiv...') #9 /etc/inc/pkg-utils.inc(26): require_once('/etc/inc/servic...') #10 /etc/rc.bootup(27): require_once('/etc/inc/pkg-ut...') #11 {main} thrown Fatal error: Uncaught ValueError: Path cannot be empty in /etc/inc/notices.inc:101 Stack trace: #0 /etc/inc/notices.inc(101): fopen('', 'w') #1 /etc/inc/config.lib.inc(1162): file_notice('phperror', 'PHP ERROR: Type...', 'PHP errors') #2 [internal function]: pfSense_clear_globals() #3 {main} thrown in /etc/inc/notices.inc on line 101 Starting CRON... done. Fatal error: Uncaught Error: Call to undefined function mb_strlen() in /etc/inc/util.inc:3389 Stack trace: #0 /etc/inc/config.lib.inc(1228): array_get_path(Array, 'aliases/alias', Array) #1 /etc/inc/util.inc(1917): config_get_path('aliases/alias', Array) #2 /etc/inc/config.gui.inc(56): alias_make_table() #3 /etc/inc/auth.inc(34): require_once('/etc/inc/config...') #4 /etc/inc/openvpn.inc(36): require_once('/etc/inc/auth.i...') #5 /etc/inc/filter.inc(30): require_once('/etc/inc/openvp...') #6 /etc/inc/ipsec.inc(25): require_once('/etc/inc/filter...') #7 /etc/inc/gwlb.inc(27): require_once('/etc/inc/ipsec....') #8 /etc/inc/functions.inc(35): require_once('/etc/inc/gwlb.i...') #9 /etc/inc/notices.inc(26): require_once('/etc/inc/functi...') #10 /etc/inc/config.inc(51): require_once('/etc/inc/notice...') #11 /etc/rc.start_packages(25): require_once('/etc/inc/config...') #12 {main} thrown in /etc/inc/util.inc on line 3389 PHP ERROR: Type: 1, File: /etc/inc/util.inc, Line: 3389, Message: Uncaught Error: Call to undefined function mb_strlen() in /etc/inc/util.inc:3389 Stack trace: #0 /etc/inc/config.lib.inc(1228): array_get_path(Array, 'aliases/alias', Array) #1 /etc/inc/util.inc(1917): config_get_path('aliases/alias', Array) #2 /etc/inc/config.gui.inc(56): alias_make_table() #3 /etc/inc/auth.inc(34): require_once('/etc/inc/config...') #4 /etc/inc/openvpn.inc(36): require_once('/etc/inc/auth.i...') #5 /etc/inc/filter.inc(30): require_once('/etc/inc/openvp...') #6 /etc/inc/ipsec.inc(25): require_once('/etc/inc/filter...') #7 /etc/inc/gwlb.inc(27): require_once('/etc/inc/ipsec....') #8 /etc/inc/functions.inc(35): require_once('/etc/inc/gwlb.i...') #9 /etc/inc/notices.inc(26): require_once('/etc/inc/functi...') #10 /etc/inc/config.inc(51): require_once('/etc/inc/notice...') #11 /etc/rc.start_packages(25): require_once('/etc/inc/config...') #12 {main} 2023-03-24T20:53:54.927934-04:00 - php-fpm 371 - - /rc.start_packages: PHP ERROR: Type: 1, File: /etc/inc/util.inc, Line: 3389, Message: Uncaught Error: Call to undefined function mb_strlen() in /etc/inc/util.inc:3389 2023-03-24T20:53:54.928381-04:00 - php-fpm 371 - - Stack trace: 2023-03-24T20:53:54.928445-04:00 - php-fpm 371 - - #0 /etc/inc/config.lib.inc(1228): array_get_path(Array, 'aliases/alias', Array) 2023-03-24T20:53:54.928503-04:00 - php-fpm 371 - - #1 /etc/inc/util.inc(1917): config_get_path('aliases/alias', Array) 2023-03-24T20:53:54.928556-04:00 - php-fpm 371 - - #2 /etc/inc/config.gui.inc(56): alias_make_table() 2023-03-24T20:53:54.928616-04:00 - php-fpm 371 - - #3 /etc/inc/auth.inc(34): require_once('/etc/inc/config...') 2023-03-24T20:53:54.928670-04:00 - php-fpm 371 - - #4 /etc/inc/openvpn.inc(36): require_once('/etc/inc/auth.i...') 2023-03-24T20:53:54.928724-04:00 - php-fpm 371 - - #5 /etc/inc/filter.inc(30): require_once('/etc/inc/openvp...') 2023-03-24T20:53:54.928777-04:00 - php-fpm 371 - - #6 /etc/inc/ipsec.inc(25): require_once('/etc/inc/filter...') 2023-03-24T20:53:54.928829-04:00 - php-fpm 371 - - #7 /etc/inc/gwlb.inc(27): require_once('/etc/inc/ipsec....') 2023-03-24T20:53:54.928882-04:00 - php-fpm 371 - - #8 /etc/inc/functions.inc(35): require_once('/etc/inc/gwlb.i...') 2023-03-24T20:53:54.928934-04:00 - php-fpm 371 - - #9 /etc/inc/notices.inc(26): require_once('/etc/inc/functi...') 2023-03-24T20:53:54.928987-04:00 - php-fpm 371 - - #10 /etc/inc/config.inc(51): require_once('/etc/inc/notice...') 2023-03-24T20:53:54.929040-04:00 - php-fpm 371 - - #11 /etc/rc.start_packages(25): require_once('/etc/inc/config...') 2023-03-24T20:53:54.929092-04:00 - php-fpm 371 - - #12 {main} 2023-03-24T20:53:54.929142-04:00 - php-fpm 371 - - thrown thrown Fatal error: Uncaught ValueError: Path cannot be empty in /etc/inc/notices.inc:101 Stack trace: #0 /etc/inc/notices.inc(101): fopen('', 'w') #1 /etc/inc/config.lib.inc(1162): file_notice('phperror', 'PHP ERROR: Type...', 'PHP errors') #2 [internal function]: pfSense_clear_globals() #3 {main} thrown in /etc/inc/notices.inc on line 101 Netgate pfSense Plus 23.01-RELEASE arm Fri Feb 10 20:06:58 UTC 2023 Bootup complete FreeBSD/arm (Amnesiac) (ttyu0) login:
S/N: 1931217524
-
@mikeh1975 you may not want to hear it but the safest thing will be to reinstall then restore your config.
https://docs.netgate.com/pfsense/en/latest/solutions/sg-3100/reinstall-pfsense.html
They usually send the firmware link pretty quickly.
-
@steveits said in Netgate SG-3100 failed firmware upgrade.:
They usually send the firmware link pretty quickly.
I can personally confirm this. I haven't used Netgate customer support very much, but at least for me, they've set the "CS" bar pretty high.