PC Engines apu2 experiences
-
I recently bought a new APU2 board and installed pfsense 2.4.5 release. BIOS is coreboot version v4.11.0.6.
I had mSATA 64G drive. Installation was easy and straightforward.
This setup was runinig fine for about 1 month after which I started to get the following issues.Disk started to show some timeouts and disconnects.
I can login to the system but cannot do anything that require disk read.I am trying to understand if this is a hardware of software issue. Is there anything I can do to troubleshoot the issue further?
PC engines mention bootloader parameterhint.ahci.0.msi="0"
but it is applicable only for bios version older than 4.6.7igb1: link state changed to UP ahcich0: Timeout on slot 1 port 0 ahcich0: is 00000000 cs 00000002 ss 00000000 rs 00000002 tfd d0 serr 00000000 cmd 0040e117 ahcich0: Timeout on slot 18 port 0 ahcich0: is 00000000 cs 00040000 ss 00000000 rs 00040000 tfd c0 serr 00000000 cmd 0040f217 ahcich0: AHCI reset: device not ready after 31000ms (tfd = 00000080) ahcich0: Timeout on slot 19 port 0 ahcich0: is 00000000 cs 00080000 ss 00000000 rs 00080000 tfd 80 serr 00000000 cmd 0040f317 (aprobe0:ahcich0:0:0:0): ATA_IDENTIFY. ACB: ec 00 00 00 00 40 00 00 00 00 00 00 (aprobe0:ahcich0:0:0:0): CAM status: Command timeout (aprobe0:ahcich0:0:0:0): Retrying command ahcich0: Timeout on slot 20 port 0 ahcich0: is 00000000 cs 00100000 ss 00000000 rs 00100000 tfd 1d0 serr 00000000 cmd 0040f417 (aprobe0:ahcich0:0:0:0): ATA_IDENTIFY. ACB: ec 00 00 00 00 40 00 00 00 00 00 00 (aprobe0:ahcich0:0:0:0): CAM status: Command timeout (aprobe0:ahcich0:0:0:0): Error 5, Retries exhausted ahcich0: AHCI reset: device not ready after 31000ms (tfd = 00000180) ahcich0: Timeout on slot 21 port 0 ahcich0: is 00000000 cs 00200000 ss 00000000 rs 00200000 tfd 180 serr 00000000 cmd 0040f517 (aprobe0:ahcich0:0:0:0): ATA_IDENTIFY. ACB: ec 00 00 00 00 40 00 00 00 00 00 00 (aprobe0:ahcich0:0:0:0): CAM status: Command timeout (aprobe0:ahcich0:0:0:0): Error 5, Retry was blocked ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: <MT-64 H180516> s/n 978081794579 detached g_vfs_done():ufsid/58bf2d4f649f8ad1[READ(offset=30607212544, length=65536)]error = 6 vnode_pager_generic_getpages_done: I/O read error 5 vnode_pager_generic_getpages_done: I/O read error 5 ahcich0: AHCI reset: device not ready after 31000ms (tfd = 00000180) ahcich0: Timeout on slot 22 port 0 ahcich0: is 00000000 cs 00400000 ss 00000000 rs 00400000 tfd 180 serr 00000000 cmd 0040f617 (aprobe0:ahcich0:0:0:0): ATA_IDENTIFY. ACB: ec 00 00 00 00 40 00 00 00 00 00 00 (aprobe0:ahcich0:0:0:0): CAM status: Command timeout (aprobe0:ahcich0:0:0:0): Retrying command ahcich0: Timeout on slot 23 port 0 ahcich0: is 00000000 cs 00800000 ss 00000000 rs 00800000 tfd 1d0 serr 00000000 cmd 0040f717
thanks!
-
@apu2 said in PC Engines apu2 experiences:
I recently bought a new APU2 board and installed pfsense 2.4.5 release. BIOS is coreboot version v4.11.0.6.
I had mSATA 64G drive. Installation was easy and straightforward.
This setup was runinig fine for about 1 month after which I started to get the following issues.Disk started to show some timeouts and disconnects.
I can login to the system but cannot do anything that require disk read.I am trying to understand if this is a hardware of software issue. Is there anything I can do to troubleshoot the issue further?
You can try to boot in single mode and do a "/sbin/fsck -y / " (repeat until no error show)
PC engines mention bootloader parameter
hint.ahci.0.msi="0"
but it is applicable only for bios version older than 4.6.7igb1: link state changed to UP ahcich0: Timeout on slot 1 port 0
On the other hand it is possible that your SSD is dying ... make a backup of your config for the case that you have to change the drive.
thanks!
You're welcome,
fireodo
-
I would check the advice from @fireodo; "A little question: Have you CPU Boost activated?" as this makes a lot off difference.
Then I may add, always install pfSense using the ZFS filesystem not the UFS (default). For a few reasons;
TRIM is default enabled (I am using mSATA), but this can also be enabled manually on a UFS filesystem, but the most important reason I advice to use ZFS is that it can 100% safegard you against bit errors, because the APU2 has ECC memory
-
-
Yes. It will show the drive wear level as spare blocks are used for example. It can't show if the controller is about to die.
Steve
-
Hi guys, are you running pfSense with /var & /tmp in RAM DISKS enabled on APU2?
-
@sikita said in PC Engines apu2 experiences:
Hi guys, are you running pfSense with /var & /tmp in RAM DISKS enabled on APU2?
Hi, no RamDisk here - as stated in my signature its all on a 16GB SSD.
/var/run 4% von 3.4MiB - ufs im RAM -
@sikita The whole filesystem zfs is running on 16GB mSATA SSD with ZFS only /var/run
4% of 3.4MiB - ufs in RAM -
i retested. same result.
iperf client pc(lan) -> pfsense APU2E4 -> pc2 (opt) iperf serverWith 2.4.4 p3 I have 750-850Mbit for 1 connection
After the update to 2.4.5 P1 I have 400-500Mbit.
Nothing changed, only the update was installed.
For me it means, there has changed something in the performance between 2.4.4 P3 and 2.4.5 (P1). But i dont know what.BR
-
@kinch
Try disabling ICMP Redirects to enable the faster tryforward routing path (under System / Advanced / System Tunables set net.inet.ip.redirect & net.inet6.ip6.redirect to 0) -
@Qinn said in PC Engines apu2 experiences:
@sikita The whole filesystem zfs is running on 16GB mSATA SSD with ZFS only /var/run
4% of 3.4MiB - ufs in RAMOk, thanks for a hint
-
Hi,
First id like to say thanks for everyone advice.
Id like to ask for a little help from you.
Im having issues with slow LAN interface compared to the WAN.
I have a 100Mbit PPPoe HFC connection. When running a speed test from the apu4c4 or directly plugged in to the HFC box, i get 98Mbit but if i run it from my PC that's behind the apu4c4 its only at 71Mbit no matter what i do.
Ive tried:
- Swapping Ethernet cables
- Plugging directly in to LAN Port 2 and 3
- https://teklager.se/en/knowledge-base/apu2-1-gigabit-throughput-pfsense/
- disabling ICMP Redirects to enable the faster tryforward routing path (under System / Advanced / System Tunables set net.inet.ip.redirect & net.inet6.ip6.redirect to 0)
- Upgraded to 2.4.5-RELEASE-p1 (amd64) from 2.4.4
- Upgraded the BIOS to: Version: v4.11.0.4
- Factory reset with no packages enabled
All with no change to my LAN speed. I'm all out of ideas here, can anyone offer any more advice on what i can try next.
Thanks
-
How is your CPU utiluzation when you run your test?
Can you try and update the BIOS to 4.12.0.2 and see if this helps? -
@Stella_161 This is specific to your box, not a general issue with the devices themselves so you would get a much better response opening a general support thread for this. When you do, you'll need to give more detail, specifically what packages are installed and how you're performing the test. Try a mix of speedtest.net and fast.com and see what you get. Make sure to do them both with an ad-blocker running on your PC. I've seen many instances where advertisements can eat up a CPU on a computer and give artificially slow speed results.
I have many of these boxes that are doing up to 500Mbps so the hardware is more than capable. That being said, @sToRmInG is right in that the first place to look would be the CPU %. Something may be chewing up CPU cycles on either the APU2 or the laptop you are using. Obvious suspects could be Snort / Suricata, Squid / SquidGuard, and pfBlockerNG.
-
Thanks Guys, Ive opened a new thread for this.
Ive tried upgrading the BIOS with no change. After the BIOS upgrade i did a factory reset, no packages have only setup PPPoe and default LAN with ad blocker enabled on PC. Still only 71Mbit~.
CPU usage is minimal when running from PC: Speedtest.net and Fast.com with the same result
PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 155 ki31 0K 64K RUN 3 42:59 100.00% [idle{idle: cpu3}]
11 root 155 ki31 0K 64K CPU1 1 42:57 100.00% [idle{idle: cpu1}]
11 root 155 ki31 0K 64K CPU2 2 42:56 98.49% [idle{idle: cpu2}]
11 root 155 ki31 0K 64K CPU0 0 42:42 88.96% [idle{idle: cpu0}]
12 root -92 - 0K 496K CPU0 0 0:31 14.70% [intr{irq256: igb0:que 0}]
12 root -92 - 0K 496K WAIT 2 0:08 5.66% [intr{irq259: igb1:que 0}]
12 root -92 - 0K 496K WAIT 3 0:07 1.66% [intr{irq260: igb1:que 1}]CPU when running Speed Test CLI on pfsense:
PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 155 ki31 0K 64K CPU1 1 47:13 86.77% [idle{idle: cpu1}]
11 root 155 ki31 0K 64K RUN 3 47:12 82.57% [idle{idle: cpu3}]
11 root 155 ki31 0K 64K CPU2 2 47:09 79.88% [idle{idle: cpu2}]
11 root 155 ki31 0K 64K RUN 0 46:46 71.29% [idle{idle: cpu0}]
12 root -92 - 0K 496K WAIT 0 0:50 33.25% [intr{irq256: igb0:que 0}]
52611 root 74 0 135M 71416K CPU3 3 0:02 7.96% /usr/local/bin/python3.7 /usr/local/bin/speedtest{python3.7}Cheers
-
@Stella_161 Just to be sure, did you halt the system and then pulled the power plug, wait for a minute and then re-plug the power, this should be done after every bios update.
-
If I use a USB2.0 cable to the internal header of the APU2C4, how do I route it so that I can access it externally from the official black case provided by PCEngines?
-
@kevindd992002 said in PC Engines apu2 experiences:
If I use a USB2.0 cable to the internal header of the APU2C4, how do I route it so that I can access it externally from the official black case provided by PCEngines?
When I loaded from the USB header, I had the top of the case off. I think you'd have to modify the case if you wanted to put the top back on.
-
@dotdash said in PC Engines apu2 experiences:
@kevindd992002 said in PC Engines apu2 experiences:
If I use a USB2.0 cable to the internal header of the APU2C4, how do I route it so that I can access it externally from the official black case provided by PCEngines?
When I loaded from the USB header, I had the top of the case off. I think you'd have to modify the case if you wanted to put the top back on.
Yeah, drill through it or something. I would love to just use the USB2.0 header with external USB ports than wait for the devs to fix that long-standing USB3 issue.
-
@veldkornet said in PC Engines apu2 experiences:
@kinch said in PC Engines apu2 experiences:
I've examined it and found the following:
iperf3 LAB
No matter if APU2/3/4 I get a throughput with single connection of 750-850Mbit/s (LAN 2 OPT)With 2 or more connections I get about 945Mbit/s.
A Speedtest.net gives the value 934Mbit/s UP/DOWN
I have tested the following BIOS versions:
V4.9.0.2
V4.11.0.2
V4.12.0.1All the same.
But what I noticed, tested on APU2 and APU3, that pfsense version 2.4.5 does not reach the same throughput as 2.4.4-p3.
With Single Connection pfsense 2.4.5 reaches "only" about 400-500Mbit/s. With pfsense 2.4.5 I can only reach 940Mbps with 8 connections.I also noted something weird with 2.4.5.
My iPerf speeds were also much lower than normal. What I did to fix it was:
- disabling hardware offload (check the check boxes)
- save, no reboot (iPerf results the same)
- re-enabling hardware offload (clear the check boxes)
- save, no reboot (iPerf results back up to the expected levels)
The only thing I did between having good iPerf results and slow ones was reboot the device. It's as if after a reboot, it forgot that hardware offload was enabled, and I just needed to set it again.
Do you have any comments on this? As we discussed before, here are the tweaks I have:
/boot/loader.conf.local contains:
hw.igb.rx_process_limit=-1
Also, it looks like the guys here updated their article but they are still insisting to enable all three HW offloads as they see that it gives better speeds.
And what is the recommended setting for hardware checksum offload? Checked (disabled) or unchecked (enabled)?
I'm asking again because my ISP connection is at 400/400 now and I'm thinking of upgrading to 800/800 soon. I want to know if my APU2C4 can handle these speeds with the tweaks that we have.
Which of the HW offloads did you enable (unchecked) to get significantly better multi-connection speeds?
What is your comment on the HW offload settings? I see that you had a comment against the post of Veldkornet where he enabled those settings to get better speeds. If he saw better speeds with those enabled, is that an inaccurate test or something because it only helps the client and not end-to-end? Sorry if I misunderstood.