PC Engines apu2 experiences
-
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, check out this Github page.
https://github.com/pcengines/apu2-documentation/blob/master/docs/firmware_flashing.md#corebootrom-flashing
-
@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 addinghw.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,
fireodoSorry 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,
fireodoSorry 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,
fireodoSorry 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,
fireodoProbably best to log it as an issue
-
-
@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. -
This post is deleted! -
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 :)
-
v4.10.0.2 is out. Has anyone tried it yet?
https://pcengines.github.io/#mr-27 -
@logan5247 said in PC Engines apu2 experiences:
v4.10.0.2 is out. Has anyone tried it yet?
https://pcengines.github.io/#mr-27I have it running on 2 devices. No issues that I’m aware of.
-
Running on v4.10.0.2 and also no issues.
-
@Qinn said in PC Engines apu2 experiences:
Running on v4.10.0.2 and also no issues.
No issues is OK but any improvements?
-
@fireodo No not that "I" experienced. Most bios updates repair bugs or introduce updated SeaBIOS and
updated sortbootorder, but there are a few updates that surely matter, like the 4.0.25 version, which enabled Core Performance Boost feature. https://blog.3mdeb.com/2019/2019-02-14-enabling-cpb-on-pcengines-apu2/ -
What does the "watchdog" feature in the BIOS setup options of the APU2C4 really do? Do I need it enabled or what? Thanks.
Also, I just re-installed pfsense 2.4.4 p3 on my APU2C4 and for some reason the temperature sensors are not working again even though I have the correct module set:
I thought the support for these sensors was added since the release of 2.4? I didn't remember encountering this issue when I reinstalled in the past with lower versions of 2.4.
Reloading amdtemp.ko and doing a
sysctl -a | grep temperature
doesn't output anything. -
Anybody can help me out here?
-
I don't think temp sensors work... I never had them working.
-
@kevindd992002 The watchdog feature does a hardware reboot, if the operating system has crashed or hung. It is ideal solution for remote locarion, where it is difficult to go in person and reboot the router by hand.
How it works: The OS sends periodic healthcheck signals to the watchdog. If the OS does not report about its health in 2-3 minutes (the so called watchdog timeout, you can configure it yourself), the watchdog will think the OS has hung, and it reboots the motherboard. So be careful enabling it, if the OS does not support it properly, it can cause reboot loops. -
@daemonix said in PC Engines apu2 experiences:
I don't think temp sensors work... I never had them working.
Oh they do. Before pfsense 2.4, you had to download a customized amdtemp.ko, replace the one in pfsense, and unload/load the driver. Starting 2.4, they were natively supported by pfsense. Here's a proof of one running on my other pfsense box:
The only difference between that working box and this box, is that I updated this box to the latest apu2c4 BIOS which is v4.10.0.3. The working box is still v4.10.0.2 and that could be the issue but I hope someone else can confirm this.
@soder said in PC Engines apu2 experiences:
@kevindd992002 The watchdog feature does a hardware reboot, if the operating system has crashed or hung. It is ideal solution for remote locarion, where it is difficult to go in person and reboot the router by hand.
How it works: The OS sends periodic healthcheck signals to the watchdog. If the OS does not report about its health in 2-3 minutes (the so called watchdog timeout, you can configure it yourself), the watchdog will think the OS has hung, and it reboots the motherboard. So be careful enabling it, if the OS does not support it properly, it can cause reboot loops.I see. Do you happen to know if pfsense supports it?
-
@kevindd992002 said in PC Engines apu2 experiences:
@daemonix said in PC Engines apu2 experiences:
I don't think temp sensors work... I never had them working.
Oh they do. Before pfsense 2.4, you had to download a customized amdtemp.ko, replace the one in pfsense, and unload/load the driver. Starting 2.4, they were natively supported by pfsense. Here's a proof of one running on my other pfsense box:
The only difference between that working box and this box, is that I updated this box to the latest apu2c4 BIOS which is v4.10.0.3. The working box is still v4.10.0.2 and that could be the issue but I hope someone else can confirm this.
@soder said in PC Engines apu2 experiences:
@kevindd992002 The watchdog feature does a hardware reboot, if the operating system has crashed or hung. It is ideal solution for remote locarion, where it is difficult to go in person and reboot the router by hand.
How it works: The OS sends periodic healthcheck signals to the watchdog. If the OS does not report about its health in 2-3 minutes (the so called watchdog timeout, you can configure it yourself), the watchdog will think the OS has hung, and it reboots the motherboard. So be careful enabling it, if the OS does not support it properly, it can cause reboot loops.I see. Do you happen to know if pfsense supports it?
Arg, I'm also on 4.10.0.3 and I don't see the temps anymore either. But indeed, they were always working. Made an issue.