PfSense on SD Card?



  • Hi everyone,

    I am considering boards that accept SD cards and I am wondering if there is any difference between a CF and SD card when it comes to pfSense 2.0 operation. I am hoping the board boats from SD and if it does then I prefer that over CF as it's cheaper and more available than a CF card.

    Thanks for the input.



  • SD card for what: auxiliary storage? boot disk for "full" install? boot disk for nanoBSD install? Connected over USB or a SD to hard drive adapter or … ? What packages will pfSense run?

    The usual considerations of limited write cycles on flash memory apply.

    The boards might support SD as an I/O device but not a boot device. What sort of SD card i/o performance do you expect and can the board hardware provide that?

    If you want SLC flash rather than MLC for the significantly better write cycle numbers of SLC flash you might want to check the availability of SLC SD cards.



  • I am using an SD-SATA adapater at home. All I can say is use a CompactFlash instead, SD is slow as hell. When I SCP a large file to it the transfer rate is lower than 1MB/sec. Starting/stopping Snort and updating rules is slow. Painfully slow. But overall it doesn't affect the firewall performance.



  • @torontob:

    Hi everyone,

    I am considering boards that accept SD cards and I am wondering if there is any difference between a CF and SD card when it comes to pfSense 2.0 operation. I am hoping the board boats from SD and if it does then I prefer that over CF as it's cheaper and more available than a CF card.

    Thanks for the input.

    CF cards use PATA interface and it is much more common to see CF slots on boards because the CF card is treated as an IDE device - that is, no extra adapter chips are required.  Alternatively, for chipsets without IDE connectivity, a cheap IDE-SATA adapter IC may be used.  These ICs are cheap and widely available.

    SD cards do not use PATA or SATA and hence requires an adapter IC.  This is either SD to SATA (more costly) or typically a USB SD card reader chip.  The performance of USB card readers vary widely and it is likely that the board manufacturer simply goes for the lowest cost unit even if performance is poor.

    Also, since the SD card is mounted as a USB device, you must set pfSense to boot from USB device or the system might timeout before loading the USB host.



  • @dreamslacker:

    Also, since the SD card is mounted as a USB device, you must set pfSense to boot from USB device or the system might timeout before loading the USB host.

    That's a good point, many (most?) modern motherboard SD slots are fed into the USB subsystem on the mobo, rather than a drive controller.

    Some economy USB-SD adapters I've had in the past take so long to initialise that they just won't boot on many boards -  I'm sure they use similar bad chips in the economy SD-SATA adaptors.

    If you're using d_rive-slot mounted_ plug-in SD-SATA or SD-PATA adaptors:
    On some motherboards I've come across I've had to go into the mobo BIOS and either  reduce the "HDD boot wait"* / "HDD delay"* to zero seconds or max it to around 30 seconds (no hard and fast rule, depends on many factors)
    This has enables some strange hardware to boot from a SD-SATA or sd-PATA adapter before timeouts/sleep states occur or give extra time for slow SD converter controllers to initialise. Not all BIOS have this boot wait setting, but has caught many people out using various SD adaptors.

    This is 1/fun (almost as frustrating as fighting with strange settings to boot PCs from USB years ago**), so I prefer CF adaptors whenever I can, which never seem to have this problem.

    • HDD boot wait" / "HDD delay" is basically an extra spinup delay set in the motherboard BIOS for slow-starting drives or possibly for the SATA-spinup-in-sequence feature (which is to reduce the drive motor current current drawn from the power supply). The onboard drive contollers don't interrogate the drives until this extra delay is over; sometimes adding an extra 30 seconds is too much and any SD-SATA or SD-PATA card controllers go back to sleep. Conversely, some adapter controller chips need extra time for an internal initialisation.
      Similarly, disabling unused drives in the BIOS can have a similar effect if the SD adapter prefers a rapid POST/BIOS runup (because it saves a few seconds)
      If you find you need extra seconds for the SD adaptor to initialise after powerup, try setting all the drives in the BIOS to "Auto" to delay the startup a few extra seconds.

    ** moving motherboard jumpers so the USB ports weren't supplied power when the PC was off often helped USB booting problems (+5v running 24/7 is mainly for usb keyboard wakeup buttons, or nowadays charging your fone when the PC is off)


Locked