PC Engines apu2 experiences
-
@fireodo said in PC Engines apu2 experiences:
I made a few tests this day. Going back to the APU2 Bios version 4.9.0.6 the driver I compiled with freebsd 12.1 is working as expected. I dont know why with bioses above 4.10.0 the patch in boot.conf.local (debug.acpi.avoid="_SB_.PCI0.GPIO") have no effect in freebsd 12.2 (pfsense 2.5.0 RC)
I can confirm that 4.9.0.7 works with the final release version as well with your module. 4.10.x onwards doesn’t.
-
@vollans said in PC Engines apu2 experiences:
@fireodo said in PC Engines apu2 experiences:
I made a few tests this day. Going back to the APU2 Bios version 4.9.0.6 the driver I compiled with freebsd 12.1 is working as expected. I dont know why with bioses above 4.10.0 the patch in boot.conf.local (debug.acpi.avoid="_SB_.PCI0.GPIO") have no effect in freebsd 12.2 (pfsense 2.5.0 RC)
I can confirm that 4.9.0.7 works with the final release version as well with your module. 4.10.x onwards doesn’t.
Thanks for the feedback!
Fine Weekend,
fireodo -
@fireodo I’ve just looked at the output of dmesg after it loaded:
apuled0: <APU4> at iomem 0xfed81610-0xfed8161b,0xfed81664-0xfed81667 on isa0
It looks like it’s on the ISA connection not the PCI.
-
@fireodo said in PC Engines apu2 experiences:
PS. If someone likes to test too, here is the driver.apuled12.ko
On v4.11.0.2:
apuled0: <APU4> at iomem 0xfed81610-0xfed8161b,0xfed81664-0xfed81667 on isa0 apuled0: Unable to allocate memory region 0 device_attach: apuled0 attach returned 6
If that's any help...
-
@kimble said in PC Engines apu2 experiences:
On v4.11.0.2:
As I wrote in my post before - it don't work on APUs with Bios 4.10 and above!
apuled0: <APU4> at iomem 0xfed81610-0xfed8161b,0xfed81664-0xfed81667 on isa0
apuled0: Unable to allocate memory region 0
device_attach: apuled0 attach returned 6If that's any help...
Regards and fine Weekend,
fireodo -
I've updated an APU2C4 from 2.4.5p1 to 2.5. After adjusting some setup to new OpenVPN Client options it was working fine with my uploaded backup data from 2.4.5p1. Also Squid and pfBlockerNG Devil are working well. A real impact is the VPN speed - even if I've used the same settings as my VPN provider taught for version 2.5. I'm using OpenVPN with NordVPN and after updating the d/l speed is the half. Under 2.4.5p1 I've had about 96Mbit/s now at about 50Mbit/s. I've tried different options also under "Allow Compression" in the VPN Client settings but no change achieved so far, also with a different server. If this will is not getting better I'll go back to 2.4.5p1.
By the way, the processor load was not above 90% via SSH with 2.5. On 2.4.5p1 I experienced sometimes more than 100Mbit/s in d/l (provider hosts max 120mbit) the processor load was at about 94%. I use Coreboot 4.0.7 because a lot of other rom's were not stable. I'll give 4.9.0.2 another try.
-
2.5 seems to have an impact on the performace. I didnt measure VPN traffic yet but on the WAN-LAN troughput i noticed a decrease around 200mbit (or 1/3).
-
@tele_01 To my initial post here - I've updated APU2C4 BIOS to the 4.9.0.2 rom and its stable for now. I've could achieve about 57 Mbit/s at 92% processor load via VPN which is a loss against 2.4.5p1. This is a huge difference in throughput per load under OpenVPN....going back to previous version 2.4.5p1.
-
@saltandpepper I experienced the same. Got a 400/50 but cannot archive more than 330-340 Mbit. 2.4.5 did not have any impact.
-
@bofh_1337 TekLager also report a reduction in routing from 750 Mbit/s (pfS 2.4.5) to 590 Mbit/s (pfS 2.5.0) on a single connection.
-
There have been some changes on how FreeBSD 12 (on which pfSense 2.5.0 is based) handles the NIC driver interfacing with the OS kernel, which may be contributing to these performance changes. I wrote a little bit more about this here:
If you had some hardware tunables set for your Intel
igb
interfaces, it's probably worth reviewing them. They may need to bet set throughiflib
now, on in some cases may no longer be supported. Hope this helps. -
I read that they advice to not tweak anything for pfS 2.5.0, what they failed to (or I missed it) mention, is what the settings should be now?
Can anyone paste the settings for :
Web panel -> System -> Advanced -> Networking
Web panel -> System -> Advanced -> SystemTunables
net.inet6.ip6.redirect=0
net.inet.ip.redirect=0and what should /boot/loader.conf.local be?
-
@qinn Same here.
https://teklager.se/en/knowledge-base/apu2-1-gigabit-throughput-pfsense/
Here also all tweaks are mentioned but not clue what the new default should be. -
@gertjant It did a install on VM and found these, please remember this is not the same Hardware as the APU2. It would be nice if some can confirm this (btw I can remember that /boot/loader.conf.local had to be created and was not there in default pfSense, seems my VM install confirms this)
-
@qinn said in PC Engines apu2 experiences:
@gertjant It did a install on VM and found these, please remember this is not the same Hardware as the APU2. It would be nice if some can confirm this (btw I can remember that /boot/loader.conf.local had to be created and was not there in default pfSense, seems my VM install confirms this)
Thank you for doing this. I was planning on reverting the changes to their defaults as well but I forgot what the defaults were. After reading your post, I deleted /boot/loader.conf.local and reverted the ICMP redirects to 1.
The ICMP redirects issue is fixed as confirmed by @jimp here a few hours ago. So need for those tweaks.
-
I don't have a an APU2 to test, but I might try setting / modifying the following tunables in 2.5.0 to start see if performance improves:
hw.em.rx_process_limit="-1" dev.igb.X.iflib.override_nrxds="2048" dev.igb.X.iflib.override_ntxds="2048"
where X is the interface number, i.e. 0, 1, 2....N. If 2048 is too low, one could also try 4096 for
override_nrxds
andoverride_ntxds
to see if performance improves.Hope this helps.
References:
https://www.freebsd.org/cgi/man.cgi?query=em&apropos=0&sektion=4&manpath=FreeBSD+12.2-RELEASE+and+Ports&arch=default&format=html
https://www.freebsd.org/cgi/man.cgi?query=iflib&apropos=0&sektion=4&manpath=FreeBSD+12.2-RELEASE+and+Ports&arch=default&format=html
https://forums.freebsd.org/threads/freebsd-12-sysctl-system-parameters.78806/ -
Thank you tman222. When I put these changes into the executable prompt of the pfS or via SSH, is a reboot required?
-
@tele_01 said in PC Engines apu2 experiences:
Thank you tman222. I've seen your username also in a German FreeBSD forum. When I put these changes into the executable prompt of the pfS or via SSH, is a reboot required?
I would put them in your
loader.conf.local
file and then reboot. Once system has rebooted, login via ssh and confirm via the sysctl command that the tunables are properly set and then test. -
@tman222 said in PC Engines apu2 experiences:
sysctl
I did what you have recommended and could achieve the confirmation about tuneables via sysctl -f loader.conf.local file after reboot. I've tried both values whereas 2048 had a slightly better value with 58Mbit/s. Resuming by keeping also an eye on processor load, with pfS 2.4.5p1 the throughput was more than 40% higher (96Mbit/s) at the same processor load with approx 94%. I'm expecting the processing power of the AMD GX-412TC within the APU2C4 design is at its end supporting FreeBSD12.2 or higher, the NIC's and their integration are fine for me.
-
@tele_01 said in PC Engines apu2 experiences:
@tman222 said in PC Engines apu2 experiences:
sysctl
I did what you have recommended and could achieve the confirmation about tuneables via sysctl -f loader.conf.local file after reboot. I've tried both values whereas 2048 had a slightly better value with 58Mbit/s. Resuming by keeping also an eye on processor load, with pfS 2.4.5p1 the throughput was more than 40% higher (96Mbit/s) at the same processor load with approx 94%. I'm expecting the processing power of the AMD GX-412TC within the APU2C4 design is at its end supporting FreeBSD12.2 or higher, the NIC's and their integration are fine for me.
@tele_01 - thanks for following up. Since the
hw.igb.rx_process_limit
andhw.igb.tx_process_limit
tunables were removed in FreeBSD 12+, I was hoping that thehw.em.rx_process_limit
tunable might be a replacement for bothem
andigb
based cards (since those drivers were combined). But perhaps not. Interestingly enough, in my case I'm actually seeing somewhat of a throughput increase from 2.4.5p1 to 2.5.0, albeit with a more powerful system (Intel Xeon D-1518 based).