2.1.5 upgrade to 2.2 on XPS R400 failed



  • To anyone who can help,

    I've been a long time user of pfSense, although I haven't been active on the forums (most of the issues people over the years people were having I couldn't help with). Anyhow, I've used pfSense from the 1.x days and have run every version of pfSense up to and including 2.1.5 on my Dell XPS R400. Yes, it's an old piece of hardware but has been extremely reliable/solid.

    I have three nics in the PC, one Intel (fxp) and two 3Com (xl). It also has an old TNT2 AGP card.

    Upon upgrading to 2.2 I can see the boot messages scrolling by and it ends with an error very similar to: https://redmine.pfsense.org/issues/4363

    I tried disabling DMA, ACPI and gpioapu … all to no avail.

    Fortunately, I was able to move the hard drive, video card and nics over to another motherboard and boot off of that and get my pfSense instance up and running.

    So, while I have it up and running on a different motherboard (Asus A7N8X, Athlon XP) I really would like to get it back running on the old Dell box. I did look on the FreeBSD site to make sure my hardware was good before upgrading. I tried to do all the due diligence ahead of time. I even ran the ufslabels script before upgrading.

    Any other insights, tricks I could try to get 2.2 to boot successfully on the Dell box?

    Thanks,
    Ivan


  • Netgate Administrator

    @lopezi:

    Upon upgrading to 2.2 I can see the boot messages scrolling by and it ends with an error very similar to: https://redmine.pfsense.org/issues/4363

    How similar to that? What is the exact error it gives?

    Have you tried a fresh install of 2.2? Have you tried running the 2.2 Live CD? Either of those might give an insight into whether it's a upgrade problem or some issue with FreeBSD 10.1. Try booting FreeBSD 10.1.

    Edit: OK so what spec is your R400? Still the original P2-400 and 128MB RAM?

    Steve



  • Attached is a screenshot of the system booting with the pfSense 2.2 LiveCD. Since I needed the original HDD, NICs, and video card to get my original pfSense environment up and running (on a different motherboard) to have internet access, I loaded the Dell with a slightly different video card, HDD and three 3Com NICs (the same kind as the original environment, minus the Intel NIC).

    The screenshot shows that the boot up with the slightly different add-on cards, although the difference of add-on cards is probably not the issue since its the same boot error I experienced originally.

    I tried the pfSense 2.1.5 LiveCD and it booted fine with it.

    I also tried the FreeBSD 10.1 LiveCD and it booted successfully with no errors. This leads me to believe that there is something slightly different in the boot "code" between the pfSense 2.2 LiveCD and the FreeBSD 10.1 LiveCD. Unfortunately, I'm not sure how to get past this issue. I don't really know how to use the FreeBSD 10.1 LiveCD boot in order to "make" a pfSense 2.2 environment, as well as transferring that all to my original setup.

    Anyhow, any help/advice would be appreciated.

    Also, the Dell has 384MB of RAM.

    Thanks,
    Ivan



  • Netgate Administrator

    Ah, OK. Do this:
    https://forum.pfsense.org/index.php?topic=87382.msg485991#msg485991

    When you see the loader prompt counting down from 4 interrupt it. You'll see the OK prompt. Enter

    
    set hint.gpioapu.0.disabled=1
    boot
    
    

    It's a bug in the gpioapu driver which means it's trying to load on systems which don't have that hardware.

    Steve



  • Yeah, I tried that hint setting last night and just tried it again with the pfSense 2.2 LiveCD and I still get the same boot error as in the screenshot before.


  • Netgate Administrator

    Hmm, is it still showing the gpioapu0 line?



  • Yeah, the screen looks exactly the same even after adding the hint.


  • Netgate Administrator

    Hmm, well one thing you could try is setting the enviroment value to anything other than 'APU' or null. So for example at OK prompt:

    set smbios.system.product="XPS"
    boot
    

    That is somewhat speculative.  ;)

    Steve



  • @stephenw10:

    Hmm, well one thing you could try is setting the enviroment value to anything other than 'APU' or null. So for example at OK prompt:

    set smbios.system.product="XPS"
    boot
    

    That is somewhat speculative.  ;)

    Steve

    That did it, the pfSense 2.2 Live CD booted up fine with that hint…
    I'll have to try adding that to the loader.conf on my original install/setup to see if that get it to boot fully...

    Any insight into what smbios.system.product should normally return and why it fails in my particular instance? I'm assuming that the "normal" FreeBSD 10.1 LiveCD must have this resolved?


  • Netgate Administrator

    Excellent.  :)
    Use /boot/loader.conf.local for custom loader tweaks like that. It won't be overwritten by a firmware update for example. Though this almost certainly won't be an issue in 2.2.1.
    gpioapu is an addition in pfSense, it's not included in FreeBSD.
    Normally that value will be set by the BIOS to return the motherboard model for example. The driver looks to see if it's running on the APU but for some reason it seems there's a condition in which it loads anyway. Seemingly this includes when no value is able to be obtained for variable. Your board is almost certainly too old to have any smbios features so it's returning 'null' when queried.
    Edit: Looks like that box produced about the same time smbios was introduced but for whatever reason it doesn't have it.

    I was just running a test to see if that worked but the box I have to do it is so slow you beat me to it! Good to see that works anyway.

    Steve


Log in to reply