PC Engines apu2 experiences



  • @psp said in PC Engines apu2 experiences:

    Just updated. Link is properly working. No issues so far.

    Yup thanks



  • New APU2 user here. Recently upgraded from an EdgeRouter Lite to the APU2D4. So far, loving pfSense, it's much more flexible than the ERL.

    The BIOS it shipped with was 20170228 and I was able to press F10 to access the boot menu and perform a memtest.

    PCEngines apu2
    coreboot build 20170228
    4080 MB ECC DRAM
    
    
    SeaBIOS (version rel-1.10.0.1)
    
    
    
    
    Press F10 key now for boot menu
    
    
    
    
    Select boot device:
    
    
    
    
    1. USB MSC Drive Kingston DataTraveler 3.0 PMAP
    
    
    2. ata0-0: Samsung SSD 860 EVO mSATA 250GB ATA-11 Hard-Disk (2
    
    
    3. Payload [memtest]
    
    
    4. Payload [setup]
    

    I upgraded the BIOS to 20190808 (v4.10.0.0) using flashrom and now when I press F10, I get the message "Booting from Hard Disk..." and it just starts to boot via the internal SSD. How can I access memtest again?

    PC Engines apu2
    coreboot build 20190808
    BIOS version v4.10.0.0
    4080 MB ECC DRAM
    
    SeaBIOS (version rel-1.12.1.3-0-g300e8b7)
    
    Press F10 key now for boot menu
    
    Booting from Hard Disk...
    /boot/config: -S115200 -h
    Consoles: serial port  
    BIOS drive C: is disk0
    BIOS 639kB/3405392kB available memory
    
    FreeBSD/x86 bootstrap loader, Revision 1.1
    (Wed Nov 21 08:03:01 EST 2018 root@buildbot2.nyi.netgate.com)
    ...
    ...
    Boot continues here
    ...
    ...
    
    

    EDIT: Also, how do I enter the BIOS to adjust settings? It seems that option is missing as well.



  • my first guess would be that the APU doesn't like what your terminal client is sending as F10. I'd try looking for options about what escape sequences are sent for F keys, or try a different client.



  • Hello everyone. After a year of learning this APU2 system, I would like to share some not-so-obvious things with anybody new to this topic:

    • ECC RAM is only available on APU2x4 edition (where x equals "a" or "b" or "c" or "d"), which means the motherboard has the total of 4GB RAM soldered. The 2GB RAM boards DO NOT CONTAIN the necessary ECC hardware. So that is hardware limitation. From the firmware side, you must upgrade to a recent Coreboot version, as the older versions have not enabled ECC, not even for the 4 GB boards! Reading pcengines.ch page (the official page of the vendor, who is selling these boarda via their distributors) this is totally not obvious from their datasheets. So you have been warned.

    • PPPoE: if your internet provider is using PPPoE protocol, and you have purchased a Fiber WAN over Gigabit, the APU2 cannot reach that 1 Gigabit in real life. More realistic is somewhere between 200 and 650 Mbit (the latter is the absolute maximum under real life condtiona). Reason: the PPPoE is single-threaded under *BSD, and the 1 Ghz cores in this SoC cannot handle that amount of traffic. PF and NAT can (and fornsure will!) decrease this value even further. There are no surprises, clock speed wins over core count in single threaded code. So this should set your expectations when your ISP is using PPPoE over that gigabit fiber connection!

    • Core Performance Boost, or in short CPB. That is the AMD equivalent of the Intel Turbo boost feature. The CPU in this APU2 AMD GX-412 SoC has base clock speed of 1 Ghz, and it has only single-core boost, which is 1.4 Ghz. If more than 1 core is busy, you can reach (not sure if that is even a valid CPB step) only 1.2 Ghz. Worst case if all 4 cores are busy, no turbo boost can happen at all. Extra fact: the CPB activation/deactivation is entirely automatic, triggered by the CPU internally. The firmware, or the OS has zero control over it. You cannot even see the clockspeed reaching over 1Ghz, even if CPB was active in that moment. The only control the firmware has, that you MUST have a recent Coreboot Firmware version to have CPB enabled at all. Older fw does not even have the CPB enablement implemented, so with older firmware you will never see single-core turbo boost.

    • after the firmware upgrade is conpleted, YOU MUST SWITCH THE APU OFF completely. E.g. power it off! It was earlier not written very clearly, but fortunately the Coreboot firmware page for APU (pcengines.github.io) has been updated to explain this better: at the end of the successful firnware update, you must turn the hardware off completely to clear some leftover registers in the system, that cannot be cleared via software-initiated restart. If you dont do this, the result is not guaranteed.

    • Coreboot mainline is preferred over legacy, since the 4.9.x version. The legacy is no longer necessarily "better" for *BSD, this statement was true only for older 4.8.x or 4.6.x.



  • @soder said in PC Engines apu2 experiences:

    • after the firmware upgrade is completed, YOU MUST SWITCH THE APU OFF completely. E.g. power it off! It was earlier not written very clearly, but fortunately the Coreboot firmware page for APU (pcengines.github.io) has been updated to explain this better: at the end of the successful firmware update, you must turn the hardware off completely to clear some leftover registers in the system, that cannot be cleared via software-initiated restart. If you don't do this, the result is not guaranteed.

    Thanks for the info and powering off after a firmware update I did not know 🤔 ! Can you point out to me were this is written, on their site, as I can't seem to locate it.

    Thanks and Cheers Qinn



  • Thanks @soder, your report is really appreciated. I've still have some of these APU2 running in HA for over 700 days in a datacenter without any issues. These devices are quite good cheap solutions for datalines up to 100 Mbps.



  • @psp said in PC Engines apu2 experiences:

    Thanks @soder, your report is really appreciated. I've still have some of these APU2 running in HA for over 700 days in a datacenter without any issues. These devices are quite good cheap solutions for datalines up to 100 Mbps.

    What kinda hardware would you recommend for higher speeds, than 100Mbps?



  • @Qinn
    Any Intel Atom E3940 or (better) C3558 based boards for up to 1Gbps.





  • @Qinn said in PC Engines apu2 experiences:

    Hardeware: APU2C4 16gb mSATA SSD - Bios: Coreboot Mainline Version 4.10.0.0 - Firmware: Latest-stable-pfSense (amd64)

    May I ask you if you use the apuled.ko kernel module to drive the 3 Front-LEDs and if so is this still working after update to the mainline coreboot bios?

    Thank you,
    fireodo



  • @Qinn said in PC Engines apu2 experiences:

    @psp said in PC Engines apu2 experiences:

    Thanks @soder, your report is really appreciated. I've still have some of these APU2 running in HA for over 700 days in a datacenter without any issues. These devices are quite good cheap solutions for datalines up to 100 Mbps.

    What kinda hardware would you recommend for higher speeds, than 100Mbps?

    Supposedly the APU2 is pretty decent out-of-box up to 600Mbps, but can be tweaked to run at 1Gbps.
    https://teklager.se/en/knowledge-base/apu2-1-gigabit-throughput-pfsense/



  • @logan5247
    So it's just adding

    hw.igb.rx_process_limit="-1"
    hw.igb.tx_process_limit="-1"
    

    that does the trick? I wonder what those actually do. Don't limit what? Isn't it a cpu cap anyway? I'll have to try those out and see what I get. I usually tell people they are good for 500Mbps and most of the time they can with Suricata, Squid, and pfBlocker on. Not a lot of wiggle room, though. Not sure if these would help boost that number or not but it sure would be nice to be able to hit 1Gbps speeds with these boxes. I wonder if there is development on a more powerful model based on a Ryzen CPU but I don't know of any with a low enough TDP. These Geode's are only 6W TDP. The lowest Ryzen I've seen is 12W.



  • @fireodo said in PC Engines apu2 experiences:

    @Qinn said in PC Engines apu2 experiences:

    Hardeware: APU2C4 16gb mSATA SSD - Bios: Coreboot Mainline Version 4.10.0.0 - Firmware: Latest-stable-pfSense (amd64)

    May I ask you if you use the apuled.ko kernel module to drive the 3 Front-LEDs and if so is this still working after update to the mainline coreboot bios?

    Thank you,
    fireodo

    Sorry I can't tell, as I do not use it, if you test it would be nice when you report back.

    Cheers Qinn



  • @Qinn Sure, its here:
    https://pcengines.github.io/ --> Documentation -->Cold reset - document describing reset types for the platform.

    leads you here: https://github.com/pcengines/apu2-documentation/blob/master/docs/cold_reset.md

    After flashing new firmware it is highly recommended (sometimes even necessary) to perform a cold boot. It is not always an option for remote devices, so tests were made to find another way of forcing cold boot path in firmware. Note that this cannot guarantee that when any device on board entered an unexpected state it can be brought back to defined state without full power cycle.



  • @Qinn said in PC Engines apu2 experiences:

    @fireodo said in PC Engines apu2 experiences:

    @Qinn said in PC Engines apu2 experiences:

    Hardeware: APU2C4 16gb mSATA SSD - Bios: Coreboot Mainline Version 4.10.0.0 - Firmware: Latest-stable-pfSense (amd64)

    May I ask you if you use the apuled.ko kernel module to drive the 3 Front-LEDs and if so is this still working after update to the mainline coreboot bios?

    Thank you,
    fireodo

    Sorry I can't tell, as I do not use it, if you test it would be nice when you report back.

    I made a test on a spare Apu2 and the apuled.ko is loading but has no effect :-( ( in /dev/led/ are only the igb0 and igb1)
    Flashing back the bios 4.0.27 and everything is fine. I guess in Bios v4.10.0.0 its the "enable basic ACPI support for GPIOs" that kills the apuled function ...

    Cheers,
    fireodo



  • @logan5247 if the WAN setup is set to PPPoE, you cant tweak it any further than 400-600 Mbit. I tried it in the past 1 year. Couldnt manage to overcome it. Many people tried to prove the opposite, still there was no single list of parameters under *sense that magically removed the builtin hidden slowdown component.



  • @fireodo said in PC Engines apu2 experiences:

    @Qinn said in PC Engines apu2 experiences:

    @fireodo said in PC Engines apu2 experiences:

    @Qinn said in PC Engines apu2 experiences:

    Hardeware: APU2C4 16gb mSATA SSD - Bios: Coreboot Mainline Version 4.10.0.0 - Firmware: Latest-stable-pfSense (amd64)

    May I ask you if you use the apuled.ko kernel module to drive the 3 Front-LEDs and if so is this still working after update to the mainline coreboot bios?

    Thank you,
    fireodo

    Sorry I can't tell, as I do not use it, if you test it would be nice when you report back.

    I made a test on a spare Apu2 and the apuled.ko is loading but has no effect :-( ( in /dev/led/ are only the igb0 and igb1)
    Flashing back the bios 4.0.27 and everything is fine. I guess in Bios v4.10.0.0 its the "enable basic ACPI support for GPIOs" that kills the apuled function ...

    Cheers,
    fireodo

    Probably best to log it as an issue



  • @Veldkornet said in PC Engines apu2 experiences:

    Probably best to log it as an issue

    ... Done ;-)



  • @fireodo said in PC Engines apu2 experiences:

    @Veldkornet said in PC Engines apu2 experiences:

    Probably best to log it as an issue

    ... Done ;-)

    I got an answer from Michał Żygowski: temporary solution for now: https://github.com/pcengines/apu2-documentation/blob/master/docs/gpios.md#known-issue
    for all user that uses the apuled driver.



  • Hi folks,

    this time I have some good news :-) I have a WLE200NX in access point mode in my APU2 for testing purpose (5GHz, 11na-mode). Since I updated to Coreboot mainline ver. 4.10.0.0 all the trouble I had before (beacon stuck, ath0 timeouts etc.) are gone! The Wireless is now very stable - even when I make some "stress". I keep testing. Maybe it has something to do with ACPI handling in correlation with GPIO.
    Update 13.09.19: WLAN still stable! :-)

    Regards,
    fireodo



  • New update 4.10.0.1 and the led's not working is mentioned in known issues https://pcengines.github.io/#mr-26



  • @Qinn said in PC Engines apu2 experiences:

    New update 4.10.0.1 and the led's not working is mentioned in known issues https://pcengines.github.io/#mr-26

    Yes, i know! Thanks anyway!



  • Recently I encountered a few people that pull the power plug on the APU to revoke a "cold boot"

    So just to be on the safe side:

    As it is best to have "cold boot" after a bios update, the elegant way to shutdown an APU (as it has no power button) is:

    Diagnostics -> Halt System
    

    and then wait until the APU is powered down, so all led's, including the network led's, have gone down.



  • I experienced something strange, after an update to bios 4.10.0.1 my internal network speeds were halved, so I went back to 4.10.0.0 and they were restored! Can anyone confirm this, as I cannot test it at the moment?



  • @Qinn said in PC Engines apu2 experiences:

    I experienced something strange, after an update to bios 4.10.0.1 my internal network speeds were halved, so I went back to 4.10.0.0 and they were restored! Can anyone confirm this, as I cannot test it at the moment?

    So can anybody confirm this? I don't want to upgrade to the latest firmware if this is true.



  • @kevindd992002 said in PC Engines apu2 experiences:

    @Qinn said in PC Engines apu2 experiences:

    I experienced something strange, after an update to bios 4.10.0.1 my internal network speeds were halved, so I went back to 4.10.0.0 and they were restored! Can anyone confirm this, as I cannot test it at the moment?

    So can anybody confirm this? I don't want to upgrade to the latest firmware if this is true.

    I’m not having any problems with it.



  • @Qinn Yes, it is proper to issue the Halt system / Shutdown command, and the APU will turn itself off entirely (all LEDs go blank). But after that, how do you turn on the system again? As there is no power button to press, as you already clearly explained. So you will still need to unplug the power adapter, and re-connect after a couple of seconds.



  • @soder said in PC Engines apu2 experiences:

    @Qinn As there is no power button to press, as you already clearly explained. So you will still need to unplug the power adapter, and re-connect after a couple of seconds.

    Indeed, you have to unplug/plug the Power-Jack - there is no other way! :-)



  • @soder Yes as @fireodo already has said, there is no other way to power up. After the Halt command did it's job and the APU is powered down (all led's, including the network interface led's, are down) you must unplug and then re-plug the power cord, to get the APU to power up.

    This way is the elegant way, opposite to pulling the plug when it's running, the latter could harm the filesystem.



  • @kevindd992002 said in PC Engines apu2 experiences:

    @Qinn said in PC Engines apu2 experiences:

    I experienced something strange, after an update to bios 4.10.0.1 my internal network speeds were halved, so I went back to 4.10.0.0 and they were restored! Can anyone confirm this, as I cannot test it at the moment?

    So can anybody confirm this? I don't want to upgrade to the latest firmware if this is true.

    Tested it vigorously and could not reconstruct the drop down in speed, so now (as you can see in my profile)I am running on version 4.10.0.1 ;), sorry for the inconvenience.



  • @Qinn said in PC Engines apu2 experiences:

    @kevindd992002 said in PC Engines apu2 experiences:

    @Qinn said in PC Engines apu2 experiences:

    I experienced something strange, after an update to bios 4.10.0.1 my internal network speeds were halved, so I went back to 4.10.0.0 and they were restored! Can anyone confirm this, as I cannot test it at the moment?

    So can anybody confirm this? I don't want to upgrade to the latest firmware if this is true.

    Tested it vigorously and could not reconstruct the drop down in speed, so now (as you can see in my profile)I am running on version 4.10.0.1 ;), sorry for the inconvenience.

    You made me worried :)


Log in to reply