Unbricking a pfSense Router

My pfSense router upgrade did not go so well…

Diagnostics

My pfSense router stopped working.  No Internet, no DHCP, no nothing.  A simple reboot failed to resolve the problem.  And no, I did not try restarting three times.

A USB-to-RS232 adapter is worth its weight in gold.  Has been that way for years.  If you don’t already have one with a null modem cable, I suggest you get one in a hurry.  I have a Tripp-Lite USA-19HS.  OSX drivers for the device are found here but this is a direct link to the OSX installer.

Connecting to the router is super easy with screen on UNIX variants, including OSX.

screen /dev/tty.KeySerial1 115200

Here is what I found:

pfsense-bricked

No kernel…figures.

Installing pfSense

Grab the latest Embedded NanoBSD Serial release of pfSense

Use DiskUtility to find the SD card device id:  Open DiskUtility, select “Apple SD Card Reader Media”, and select the “Info” button on the toolbar, the root device will be on the line “BSD device node”.

diskutility

Now do the following, making sure to replace the pfSense image and diskASDF variables.

IMAGE_NAME=pfSense-nanobsd.img
SD_CARD_ID=diskASDF
gunzip $IMAGE_NAME.gz
sudo dd if=./$IMAGE_NAME of=/dev/$SD_CARD_ID

This takes a pretty long time.  Like make a cup of coffee, clean the dishes, and re-organize your car.  Not saying thats what I did but…soooooo slow.  Now return the SD card to the router and boot.  With the serial console open as we did above.

Rebuild all settings.  Basically use the “Assign Interfaces” options and an Ethernet cable to get your laptop connected to the webUI.