PC Engines APU2 BIOS options



  • Stupid question.  I just got a  apu2c4  and believe its running older BIOS version.  When it boots says coreboot build 20170228  SeaBIOS (version rel 1.10.0.1).
    On the PC Engines (how to page)  lists 4 BIOS versions as current now?  What version do I run?

    apu2_v4.0.7.rom.zip
    apu2_v4.5.5.rom.tar.gz
    apu2_160311.zip
    apu2_160307.zip

    From the dates seems like v4.0.7 dated newest 2/28/2017  maybe I do have latest since my version matches the date 20170228 ?  And why is v4.5.5  dated older 2/24/2017 ?  The way PC Engines does BIOS versions is very confusing.  And can't find  explanation anywhere.



  • 4.0.7 is latest. 4.5.5 is experimental.

    4.0.7 is what I'm running.



  • Alright got it.  And coreboot build version that shown during boot goes by build date and not actual version?  So coreboot build 20170228 is version v4.0.7  ?



  • I think so…... Been a while since I watched the boot sequence :) but 4.0.7 is dated 20170228 - if that makes sense ! :)



  • Thanks for help once got installed pfSense said BIOS v4.0.7 on front page.



  • You're welcome :)



  • Anyone already any experience with the apu2_v4.6.0.rom.tar.gz with is the new coreboot mainstream version?

    http://pcengines.ch/howto.htm#bios
    https://github.com/pcengines/coreboot/blob/coreboot-4.0.x/CHANGELOG.md
    https://coreboot.org/releases/coreboot-4.6-relnotes.txt



  • What process have you guys used to update the apu2c4  ?

    I have a serial to USB adapter on the way I assume it's needed I purchased mine with pfsesne pre loaded the bios is 03/07/2016



  • @JasonAU:

    What process have you guys used to update the apu2c4  ?

    I have a serial to USB adapter on the way I assume it's needed I purchased mine with pfsesne pre loaded the bios is 03/07/2016

    You could look here http://forum.ipfire.org/viewtopic.php?t=16032 and you'll need the serial to usb adapter and a null modem cable

    https://doc.pfsense.org/index.php/Connecting_to_the_Serial_Console
    http://pcengines.ch/pdf/apu2.pdf

    Good luck



  • Well this esteemed user says that pfSense has a package that will do the update too.
    https://forum.pfsense.org/index.php?topic=136548.msg750664#msg750664
    Just in case you missed that post.



  • So to do this on pfSense I did the following:
    From pfSense WebGUI>Diagnostics>Command Prompt

    pkg install -y flashrom

    mkdir /apu

    Then uploaded the uncompressed rom from my laptop to pfSense

    Upload File
    apu2_v4.6.0.rom

    File will end up in /tmp
    This will be deleted on reboot so copy to /apu with Command Prompt

    cp /tmp/apu2_v4.6.0.rom /apu/apu2_v4.6.0.rom

    Then i disconnect APU2 from my utility room and carry to a serial console machine for the actual flash.



  • Upon bootup on the bench I go to #8 Shell
    From there i check to ensure rom is there.
    ls /apu

    Then i run the command needed to flash:

    [2.3.4-RELEASE][root@pfSense.localdomain]/root: flashrom --programmer internal -w /apu/apu2_v4.6.0.rom
    flashrom v0.9.9-r1955 on FreeBSD 10.3-RELEASE-p19 (amd64)
    flashrom is free software, get the source code at https://flashrom.org
    
    Calibrating delay loop... delay loop is unreliable, trying to continue OK.
    coreboot table found at 0x77fae000.
    Found chipset "AMD FCH".
    Enabling flash write... OK.
    Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x000                     00000ff800000.
    This coreboot image (PC Engines:PC Engines apu2) does not appear to
    be correct for the detected mainboard (PC Engines:PCEngines apu3).
    Aborting. You can override this with -p internal:boardmismatch=force.
    

    Notice this failed? This was done on an APU3 by accident. Glad they have checks!!



  • @FranciscoFranco:

    Then i disconnect APU2 from my utility room and carry to a serial console machine for the actual flash.

    Couldn't you just do this over SSH? And why the update? Is there something not working for you that a BIOS flash will fix?



  • Well it did not go as planned. I rearranged cases so my pfSense is red and APU2 now and I still had to force the update.

    [2.3.4-RELEASE][root@pfSense.localdomain]/root: flashrom --programmer internal -    w /apu/apu2_v4.6.0.rom
    flashrom v0.9.9-r1955 on FreeBSD 10.3-RELEASE-p19 (amd64)
    flashrom is free software, get the source code at https://flashrom.org
    
    Calibrating delay loop... OK.
    coreboot table found at 0x77fae000.
    Found chipset "AMD FCH".
    Enabling flash write... OK.
    Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x    00000000ff800000.
    This coreboot image (PC Engines:PC Engines apu2) does not appear to
    be correct for the detected mainboard (PC Engines:PCEngines apu2).
    Aborting. You can override this with -p internal:boardmismatch=force.
    
    

    So it appears  the name has different spelling. So I took a gamble and forced it.

    
    [2.3.4-RELEASE][root@pfSense.localdomain]/root: flashrom -p internal:boardmismatch=force -w /apu/apu2_v4.6.0.rom
    flashrom v0.9.9-r1955 on FreeBSD 10.3-RELEASE-p19 (amd64)
    flashrom is free software, get the source code at https://flashrom.org
    
    Calibrating delay loop... delay loop is unreliable, trying to continue OK.
    coreboot table found at 0x77fae000.
    Found chipset "AMD FCH".
    Enabling flash write... OK.
    Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x    00000000ff800000.
    This coreboot image (PC Engines:PC Engines apu2) does not appear to
    be correct for the detected mainboard (PC Engines:PCEngines apu2).
    Proceeding anyway because user forced us to.
    Reading old flash chip contents... done.
    Erasing and writing flash chip... Erase/write done.
    Verifying flash... VERIFIED.
    

    Seemed to work fine. Help my breath and rebooted:

    PC Engines apu2
    coreboot build 07/24/2017
    BIOS version v4.6.0
    2032 MB DRAM
    
    SeaBIOS (version rel-1.10.2.1)
    
    Press F10 key now for boot menu
    
    Booting from Hard Disk...
    
    1  pfSense
    2  pfSense
    
    F6 PXE
    Boot:  1
    /boot/config: -S115200 -h
    Consoles: serial port
    

    Looking good. Back online with it now.



  • @Jailer:

    Couldn't you just do this over SSH? And why the update? Is there something not working for you that a BIOS flash will fix?

    I could have done it over the webGUI maybe. I figured best to do without traffic.

    I have a APU1 with the realteks and I want to bring it up to date. So I am doing all of them.

    Why does anybody use betas? Somebody has to be the guinea pig.



  • @FranciscoFranco:

    Well it did not go as planned. I rearranged cases so my pfSense is red and APU2 now and I still had to force the update.

    [2.3.4-RELEASE][root@pfSense.localdomain]/root: flashrom --programmer internal -    w /apu/apu2_v4.6.0.rom
    flashrom v0.9.9-r1955 on FreeBSD 10.3-RELEASE-p19 (amd64)
    flashrom is free software, get the source code at https://flashrom.org
    
    Calibrating delay loop... OK.
    coreboot table found at 0x77fae000.
    Found chipset "AMD FCH".
    Enabling flash write... OK.
    Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x    00000000ff800000.
    This coreboot image (PC Engines:PC Engines apu2) does not appear to
    be correct for the detected mainboard (PC Engines:PCEngines apu2).
    Aborting. You can override this with -p internal:boardmismatch=force.
    
    

    So it appears  the name has different spelling. So I took a gamble and forced it.

    
    [2.3.4-RELEASE][root@pfSense.localdomain]/root: flashrom -p internal:boardmismatch=force -w /apu/apu2_v4.6.0.rom
    flashrom v0.9.9-r1955 on FreeBSD 10.3-RELEASE-p19 (amd64)
    flashrom is free software, get the source code at https://flashrom.org
    
    Calibrating delay loop... delay loop is unreliable, trying to continue OK.
    coreboot table found at 0x77fae000.
    Found chipset "AMD FCH".
    Enabling flash write... OK.
    Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x    00000000ff800000.
    This coreboot image (PC Engines:PC Engines apu2) does not appear to
    be correct for the detected mainboard (PC Engines:PCEngines apu2).
    Proceeding anyway because user forced us to.
    Reading old flash chip contents... done.
    Erasing and writing flash chip... Erase/write done.
    Verifying flash... VERIFIED.
    

    Seemed to work fine. Help my breath and rebooted:

    PC Engines apu2
    coreboot build 07/24/2017
    BIOS version v4.6.0
    2032 MB DRAM
    
    SeaBIOS (version rel-1.10.2.1)
    
    Press F10 key now for boot menu
    
    Booting from Hard Disk...
    
    1  pfSense
    2  pfSense
    
    F6 PXE
    Boot:  1
    /boot/config: -S115200 -h
    Consoles: serial port
    

    Looking good. Back online with it now.

    updated mine today to:

    Vendor: coreboot
    Version: v4.0.11
    Release Date: 07/24/2017

    Thanks for the advice up and running fine so far



  • @FranciscoFranco:

    So to do this on pfSense I did the following:
    From pfSense WebGUI>Diagnostics>Command Prompt

    pkg install -y flashrom

    mkdir /apu

    Then uploaded the uncompressed rom from my laptop to pfSense

    Upload File
    apu2_v4.6.0.rom

    File will end up in /tmp
    This will be deleted on reboot so copy to /apu with Command Prompt

    cp /tmp/apu2_v4.6.0.rom /apu/apu2_v4.6.0.rom

    Then i disconnect APU2 from my utility room and carry to a serial console machine for the actual flash.

    Thanks for this!! Can anyone tell me why you choose v4.6.0 instead of the 4.0.x version. I am on the apu2_v4.0.7.rom version and could use some guidance.

    Cheers Qinn



  • @FranciscoFranco:

    I have a APU1 with the realteks and I want to bring it up to date.

    Well that one's easy: they dropped ongoing support for it and haven't issued anything beyond a couple of betas in 2014. Since neither of those betas became the production version in the past 3 years there's presumably something wrong with them.



  • @Qinn:

    Thanks for this!! Can anyone tell me why you choose v4.6.0 instead of the 4.0.x version. I am on the apu2_v4.0.7.rom version and could use some guidance.

    Cheers Qinn

    I chose 4.6.0 because I like living on the edge. This was just a learning experiment so I figured these Swiss people seem to have their act together and trusted them with a beta. It is their only product so I think they know whats going on.

    @VAMike:

    @FranciscoFranco:

    I have a APU1 with the realteks and I want to bring it up to date.

    Well that one's easy: they dropped ongoing support for it and haven't issued anything beyond a couple of betas in 2014. Since neither of those betas became the production version in the past 3 years there's presumably something wrong with them.

    I use my APU1 for GPIO and FreeBSD. I modified the case for it by adding terminal block on top to breakout the GPIO's.
    We all know the problems with Realtek network chips but I have found that using only re0 it is a good box for embedded tasks.
    Not very worthy as a router. It does make a nice dedicated Wireless Access Point with all those expansion options.

    I would like to buy any cheap APU1's out there. Drop me a PM if you have one to sell….





  • I did notice that they did infact change the device name that it shows as from 'PCEngines apu2' to 'PC Engines apu2' in a earlier rom.
    The ROM notes have all the changes well documented.
    Why they couldn't handle a device name change without force is unknown to me.
    I was reluctant to force it as I have throw out many self fried electronic goodies. Living on the edge.



  • In the PC Engines forum someone has "stuck beacon" errors with 4.6 and moved over to the 4.0.11 version, which seems stable for him. I don't have a WiFi module installed on the APU2 board, so maybe 4.6 could be stable.

    Yet, the https://www.coreboot.org/Special:RecentChanges suggest there is sill some work on the APU2 and the 4.6 version is of april 2017
    ( https://coreboot.org/releases/coreboot-4.6-relnotes.txt ).

    For now I won't upgrade from the 4.0.7 version, as there seems no reason to.


  • Banned

    I certainly do NOT recommend the 4.6.0 version. Been testing it for 2 days and got 6 inexplicable kernel panics. Never seen one before with 4.0.7.



  • @doktornotor:

    I certainly do NOT recommend the 4.6.0 version. Been testing it for 2 days and got 6 inexplicable kernel panics. Never seen one before with 4.0.7.

    First, big thanks for the reply Dok!!

    It seems that the releases v4.0.x, that are based on the PC Engines fork of coreboot, are the only ones that are stable and it is better to steer clear from the coreboot mainstream version v4.5.x and v4.6.x. Btw have you tried the v4.0.11 or higher versions?

    Just a suggestion to report them to https://github.com/pcengines/coreboot/issues
    Or to contact this guy https://github.com/pietrushnic who is the maintainer piotr.krol@3mdeb.com


  • Banned

    @Qinn:

    Btw have you tried the v4.0.11 or higher versions?

    Been running for ~36 hours by now, no crash. It has broken serial console output though at the beginning of the boot, affecting the pfSense boot menu. Does not happen with 4.0.7.

    
    --reboot build 20170724
    \\OS version v4.0.11
    ||80 MB ECC DRAM
    //
    --aBIOS (version rel-1.10.2.1)
    \\
    ||ess F10 key now for boot menu
    //
    --oting from Hard Disk...
    \\
    ||  pfSense
    //
    -- PXE
    \\ot:  F1
    ||bboooott//ccoonnffiigg::  --SS111155220000  --DD
    //
    --
    \\
    ||
    //
    --
    \\
    ||
    //
    --
    \\
    ||
    //
    --
    \\
    ||
    //
    --
    \\
    ||
    //
    --
    \\
    ||
    //
    --
    \\
    ||
    //
      b
        b
        o
          o
          o
            o
            t
              t
              /
                /
                k
                  k
                  e
                    e
                    r
                      r
                      n
                        n
                        e
                          e
                          l
                            l
                            /
                              /
                              k
                                k
                                e
                                  e
                                  r
                                    r
                                    n
                                      n
                                      e
                                        e
                                        l
                                          l
    
                                            t
                                              t
                                              e
                                                e
                                                x
                                                  x
                                                  t
                                                    t
                                                    =
                                                      =
                                                      0
                                                        0
                                                        x
                                                          x
                                                          1
                                                            1
                                                            7
                                                              7
                                                              5
                                                                5
                                                                3
                                                                  3
                                                                  f
                                                                    f
                                                                    5
                                                                      5
                                                                      8
                                                                        8
    
                                                                          /
                                                                            /
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          --
                                                                          \\
                                                                          ||
                                                                          //
                                                                          dd
                                                                            a
                                                                              a
                                                                              t
                                                                                t
                                                                                a
                                                                                  a
                                                                                  =
                                                                                    =
                                                                                    0
                                                                                      0
                                                                                      x
                                                                                        x
                                                                                        a
                                                                                          a
                                                                                          b
                                                                                            b
                                                                                            8
                                                                                              8
                                                                                              e
                                                                                                e
                                                                                                b
                                                                                                  b
                                                                                                  8
                                                                                                    8
                                                                                                    +
                                                                                                      +
                                                                                                      0
                                                                                                        0
                                                                                                        x
                                                                                                          x
                                                                                                          4
                                                                                                            4
                                                                                                            c
                                                                                                              c
                                                                                                              8
                                                                                                                8
                                                                                                                c
                                                                                                                  c
                                                                                                                  6
                                                                                                                    6
                                                                                                                    8
                                                                                                                      8
    
                                                                                                                        -
                                                                                                                          -
                                                                                                                        \\
                                                                                                                        ||
                                                                                                                        //
                                                                                                                        --
    
    

    Summary: I'd stick with 4.0.7 and call it a day…



  • After a short discussion with PC Engines support, I did a force update on my APU2C4 from 4.0.7 to 4.0.11. In the for what it's worth category, I am not experiencing the serial console problem. Your mileage may vary.


  • Banned

    @Qinn:

    Just a suggestion to report them to https://github.com/pcengines/coreboot/issues
    Or to contact this guy https://github.com/pietrushnic who is the maintainer piotr.krol@3mdeb.com

    Well I might if I could get some crash dumps out of it, but there was nothing saved on any of those crashes.



  • Firmware 4.6.0 has been up since I flashed it on mine.




  • @dennypage:

    After a short discussion with PC Engines support, I did a force update on my APU2C4 from 4.0.7 to 4.0.11. In the for what it's worth category, I am not experiencing the serial console problem. Your mileage may vary.

    From the reply of FranciscoFranco « Reply #13 on: September 29, 2017, 04:49:00 pm » the force seems necessary, because they have changed 'PCEngines' to 'PC Engines' in smbios tables and welcome string (see changelog confirms https://github.com/pcengines/coreboot/blob/coreboot-4.0.x/CHANGELOG.md in version v4.0.8 - 2017-03-31). so it seems there is a check on this string before it updates.



  • @FranciscoFranco:

    Firmware 4.6.0 has been up since I flashed it on mine.

    Your using the nano version for the APU2C4, just out of curiosity, why? My APU2C4 is equipped with a mSATA SSD and I use the full install.



  • Well primarily because I am booting off the SD Card. They have low cycle counts so I baby them with pfSense NanoBSD builds.

    The Phison cards from PCengines are a good deal for 6 bucks.
    I bought a handful for some of my troublesome Arm boards like BananaPi which like good SD cards. They seem durable.



  • @FranciscoFranco:

    Well primarily because I am booting off the SD Card. They have low cycle counts so I baby them with pfSense NanoBSD builds.

    The Phison cards from PCengines are a good deal for 6 bucks.
    I bought a handful for some of my troublesome Arm boards like BananaPi which like good SD cards. They seem durable.

    Using the nanoBSD version seems logical as you are booting from media with limited write cycles (USB stick, CF card, etc.).


Log in to reply