Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
On Sun, Oct 16, 2016 at 9:22 AM, Ben Greear wrote: > > > On 10/16/2016 08:30 AM, STR . wrote: >>> >>> BQL + fq_codel kills bufferbloat at line rate (10,100,1000mbit) on >>> ethernet cards. It also works if you have hardware flow control on the the >>> ethernet. >>> It can't do anything on downloads. >>> If your connection is not at line rate or the download is overbuffered >>> (looks like 20Mbit here), you need a soft shaper like the ones in >>> sqm-scripts (htb + fq_codel or cake) set 5-15% below the observed rate to >>> win. >> >> So I was misreading it. Thanks for clearing that up, this was tested on an >> 8M down ADSL, I'll check out the sqm-scripts. >> >>> Do you know of someone making a bigger better case for it? I'd like one >>> with 6 antenna slots for just that reason - and better heat management. >> >> This has been a gripe for everyone owning an APU2 it seems. 6 holes for >> antenna? I know none. > > > You can find $30 hand punches on Amazon/Ebay and their largest punch size is > typically perfect for > SMA connectors. The APU2 case is easily punched since it is aluminum. > > https://www.amazon.com/Neiko-02612A-Multi-Purpose-Power-Punch/dp/B0002T87CW/ref=sr_1_3?ie=UTF8&qid=1476634765&sr=8-3&keywords=metal+punch Thank you for this tip! I hole punched my apu2s today for six antennas. The largest size worked great! Aside from mashing my thumb once... now I can't find the box where I put all my spare SMA cables/connectors in... and I'm going around my yurt looking for other stuff to put holes in > > Also, I've run these systems at full load (500Mbps+) for 24 hours and though > the case gets warm, > system has remained stable. A warm case actually means it is transferring > heat... > > Thanks, > Ben > > > > -- > Ben Greear > Candela Technologies Inc http://www.candelatech.com > > > ___ > Lede-dev mailing list > Lede-dev@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/lede-dev -- Dave Täht Let's go make home routers and wifi faster! With better software! http://blog.cerowrt.org ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
On Sun, Oct 16, 2016 at 9:22 AM, Ben Greear wrote: > > > On 10/16/2016 08:30 AM, STR . wrote: >>> >>> BQL + fq_codel kills bufferbloat at line rate (10,100,1000mbit) on >>> ethernet cards. It also works if you have hardware flow control on the the >>> ethernet. >>> It can't do anything on downloads. >>> If your connection is not at line rate or the download is overbuffered >>> (looks like 20Mbit here), you need a soft shaper like the ones in >>> sqm-scripts (htb + fq_codel or cake) set 5-15% below the observed rate to >>> win. >> >> So I was misreading it. Thanks for clearing that up, this was tested on an >> 8M down ADSL, I'll check out the sqm-scripts. Yep. See also the various adsl framing compensation mechanisms in those scripts. >>> Do you know of someone making a bigger better case for it? I'd like one >>> with 6 antenna slots for just that reason - and better heat management. >> >> This has been a gripe for everyone owning an APU2 it seems. 6 holes for >> antenna? I know none. > > > You can find $30 hand punches on Amazon/Ebay and their largest punch size is > typically perfect for > SMA connectors. The APU2 case is easily punched since it is aluminum. > > https://www.amazon.com/Neiko-02612A-Multi-Purpose-Power-Punch/dp/B0002T87CW/ref=sr_1_3?ie=UTF8&qid=1476634765&sr=8-3&keywords=metal+punch Thx, ben! I just ordered one of those. > Also, I've run these systems at full load (500Mbps+) for 24 hours and though > the case gets warm, > system has remained stable. A warm case actually means it is transferring > heat... It still gets too darn warm for my taste. Note that I typically target environments that are 35c *ambient* in the first place > > Thanks, > Ben > > > > -- > Ben Greear > Candela Technologies Inc http://www.candelatech.com > > > ___ > Lede-dev mailing list > Lede-dev@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/lede-dev -- Dave Täht Let's go make home routers and wifi faster! With better software! http://blog.cerowrt.org ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
On 10/16/2016 05:30 PM, STR . wrote: >> I'd rather like to see the bcp38 stuff a default, but although we made the >> code work right for one layer of nat, too many people have more than that. :( > Double NAT? > Common for fibre providers, and 3G/4G, where the "modem" isn't a modem but a router and the only thing you can do is placing your lede device in a DMZ, but you cannot remove the nat without hacking (for 3G/4G) or at all for fibre providers. Or without disabling any routing on the lede device and let the other device take over the router role. -Alberto ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
On 10/16/2016 08:30 AM, STR . wrote: BQL + fq_codel kills bufferbloat at line rate (10,100,1000mbit) on ethernet cards. It also works if you have hardware flow control on the the ethernet. It can't do anything on downloads. If your connection is not at line rate or the download is overbuffered (looks like 20Mbit here), you need a soft shaper like the ones in sqm-scripts (htb + fq_codel or cake) set 5-15% below the observed rate to win. So I was misreading it. Thanks for clearing that up, this was tested on an 8M down ADSL, I'll check out the sqm-scripts. Do you know of someone making a bigger better case for it? I'd like one with 6 antenna slots for just that reason - and better heat management. This has been a gripe for everyone owning an APU2 it seems. 6 holes for antenna? I know none. You can find $30 hand punches on Amazon/Ebay and their largest punch size is typically perfect for SMA connectors. The APU2 case is easily punched since it is aluminum. https://www.amazon.com/Neiko-02612A-Multi-Purpose-Power-Punch/dp/B0002T87CW/ref=sr_1_3?ie=UTF8&qid=1476634765&sr=8-3&keywords=metal+punch Also, I've run these systems at full load (500Mbps+) for 24 hours and though the case gets warm, system has remained stable. A warm case actually means it is transferring heat... Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
> BQL + fq_codel kills bufferbloat at line rate (10,100,1000mbit) on ethernet > cards. It also works if you have hardware flow control on the the ethernet. > It can't do anything on downloads. > If your connection is not at line rate or the download is overbuffered > (looks like 20Mbit here), you need a soft shaper like the ones in sqm-scripts > (htb + fq_codel or cake) set 5-15% below the observed rate to win. So I was misreading it. Thanks for clearing that up, this was tested on an 8M down ADSL, I'll check out the sqm-scripts. > Do you know of someone making a bigger better case for it? I'd like one with > 6 antenna slots for just that reason - and better heat management. This has been a gripe for everyone owning an APU2 it seems. 6 holes for antenna? I know none. The Calexium case can definitely do better thermal management but useless for you since you can't add all the radios+antenna - http://store.calexium.com/en/boitiers/324-pc-engines-alix-2d3-2d13-or-openvox-ipc100-110-120-case-with-hdd-wifi-black.html Check the last post on this page for ideas on thermal management - http://pcengines.info/forums/?page=post&id=795B2ACC-F4B0-4181-9B4A-54EC757D4001&fid=DF5ACB70-99C4-4C61-AFA6-4C0E0DB05B2A&pageindex=2 > I'd rather like to see the bcp38 stuff a default, but although we made the > code work right for one layer of nat, too many people have more than that. :( Double NAT? > ... after we finish up the airtime fairness code and rip out some more wifi > latencies. Eagerly looking forward to this! ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
On Sun, Oct 16, 2016 at 4:37 AM, STR . wrote: >>Everything important in CeroWrt long ago made it upstream - the apu2 (which, >>btw, I have been using as my main test platform for the make-wifi-fast work) >>has BQL on the intel network drivers > Interesting, it didn't seem like it's implemented when I test as suggested by > https://www.bufferbloat.net/projects/cerowrt/wiki/Tests_for_Bufferbloat/ > See http://imgur.com/a/U36zU It spikes when the download test starts, it > stops peaking little over halfway through the download test, unless that > indicates it is indeed working and I'm misreading the results? BQL + fq_codel kills bufferbloat at line rate (10,100,1000mbit) on ethernet cards. It also works if you have hardware flow control on the the ethernet. It can't do anything on downloads. If your connection is not at line rate or the download is overbuffered (looks like 20Mbit here), you need a soft shaper like the ones in sqm-scripts (htb + fq_codel or cake) set 5-15% below the observed rate to win. > >> (http://blog.cerowrt.org/post/real_results/ more detail here: >> https://blog.tohojo.dk/2016/06/fixing-the-wifi-performance-anomaly-on-ath9k.html). > Excellent information, thank you! Especially as most APU2 owners would run > ath9k with some using ath10k. Do you know of someone making a bigger better case for it? I'd like one with 6 antenna slots for just that reason - and better heat management. >> dnsmasq-dnssec is an optional package in lede as are the sqm-scripts, >> luci-app-sqm, and the bcp38 support. > I've fallen behind the curve (thanks pfsense), I wasn't aware of the bcp38 > RFC. Cheers! I'd rather like to see the bcp38 stuff a default, but although we made the code work right for one layer of nat, too many people have more than that. :( > >>What never made it to openwrt from cerowrt was: > >>A) the controversial "rename the devices to reflect the security model" >>portion of the firewall code. That code allowed for never having to reload >>the firewall as it used a pattern match on the device name to dynamically add >>devices to a secure or guest zone. > I didn't fancy this concept when I read it myself. It saved tons of cpu with lots of interfaces. And what systemd decided to do with device naming was worse. That said, I gave up on it, lacking a good means to create a se00.2 and ge00.3 out of the same interface. > >> I look forward to migrating my apu2s to lede soon! > All the APU2 owners look forward to it :) Well, I confess it's been very good using ubuntu, also, just cheaper and more reliable to not run something as big as that. Been a great testbed platform (needs more antennas. :) so far, and I'll start booting one of them into lede soon... ... after we finish up the airtime fairness code and rip out some more wifi latencies. > ___ > Lede-dev mailing list > Lede-dev@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/lede-dev -- Dave Täht Let's go make home routers and wifi faster! With better software! http://blog.cerowrt.org ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
>Everything important in CeroWrt long ago made it upstream - the apu2 (which, >btw, I have been using as my main test platform for the make-wifi-fast work) >has BQL on the intel network drivers Interesting, it didn't seem like it's implemented when I test as suggested by https://www.bufferbloat.net/projects/cerowrt/wiki/Tests_for_Bufferbloat/ See http://imgur.com/a/U36zU It spikes when the download test starts, it stops peaking little over halfway through the download test, unless that indicates it is indeed working and I'm misreading the results? > (http://blog.cerowrt.org/post/real_results/ more detail here: > https://blog.tohojo.dk/2016/06/fixing-the-wifi-performance-anomaly-on-ath9k.html). Excellent information, thank you! Especially as most APU2 owners would run ath9k with some using ath10k. > dnsmasq-dnssec is an optional package in lede as are the sqm-scripts, > luci-app-sqm, and the bcp38 support. I've fallen behind the curve (thanks pfsense), I wasn't aware of the bcp38 RFC. Cheers! >What never made it to openwrt from cerowrt was: >A) the controversial "rename the devices to reflect the security model" >portion of the firewall code. That code allowed for never having to reload the >firewall as it used a pattern match on the device name to dynamically add >devices to a secure or guest zone. I didn't fancy this concept when I read it myself. > I look forward to migrating my apu2s to lede soon! All the APU2 owners look forward to it :) ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
Everything important in CeroWrt long ago made it upstream - the apu2 (which, btw, I have been using as my main test platform for the make-wifi-fast work) has BQL on the intel network drivers, already, fq_codel is the default in lede, sch_cake is available as an optional package, and the make-wifo-fast ath9k work is partially upstream in lede, with only the airtime fairness patches remaining to get folded in (http://blog.cerowrt.org/post/real_results/ more detail here: https://blog.tohojo.dk/2016/06/fixing-the-wifi-performance-anomaly-on-ath9k.html ). dnsmasq-dnssec is an optional package in lede as are the sqm-scripts, luci-app-sqm, and the bcp38 support. So all that is pretty generic to lede/openwrt now. Ath10k needs work, mt72 needs work, but in neither case is that specific to the apu2. What never made it to openwrt from cerowrt was: A) the controversial "rename the devices to reflect the security model" portion of the firewall code. That code allowed for never having to reload the firewall as it used a pattern match on the device name to dynamically add devices to a secure or guest zone. Instead of having one rule for eth0, eth1, eth2, I renamed devices to se00, se01, ge00, and used "s+" as the match. I never figured out how to make that work with vlans, and it was my hope we'd end up with something using nftables that did the same thing. Not huge on reloading firewall rules all the time B) homenet support - that's available in openwrt but not well incorporated. That's hnetd, and babeld and the mdns-proxy stuff. C) routing, not bridging, by default, Routing makes a lot of sense in a lot of cases, and making sure openwrt does that well is something that should be on-going tested - with batman, babel, olsr, etc. The rest of the time bridging is generally faster and simpler. There may well be other cerowrt features I'm forgetting, but that's all I can think of. I look forward to migrating my apu2s to lede soon! ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
On 10/16/2016 11:49 AM, STR . wrote: > Could we also build 'lsusb' along with lspci? I'd recommend bundling the > usb-serial-kmod too as a lot of mini-pci devices present themselves as USB. Yes to this. Many 3G/4G modems on mini-pcie port are using usb lines of mini-pcie port and not pcie lines. -Alberto ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
My 2c on USB, lm-sensors and the NCT chip on this board. > This is an RFC to port the PC Engines APU2 board to LEDE. Currently this is based on my unofficial repo at https://github.com/riptidewave93/LEDE-APU2 and after a discussion on the lede-dev IRC on the best plan of action, which was to move this device to a profile under x86_64. > Default Packages: > - flashrom - BIOS Upgrades > - lm-sensors - Temp Monitoring lm-sensors does not report individual core temps. FreeBSD/PFsense reports all 4 core temps correctly. root@lede:/# sensors k10temp-pci-00c3 Adapter: PCI adapter temp1:+62.0°C (high = +70.0°C) (crit = +105.0°C, hyst = +104.0°C) root@lede:/# sensors -u k10temp-pci-00c3 Adapter: PCI adapter temp1: temp1_input: 62.375 temp1_max: 70.000 temp1_crit: 105.000 temp1_crit_hyst: 104.000 Could this be an issue of missing PCI device IDs? From https://github.com/torvalds/linux/blob/master/include/linux/pci_ids.h k10temp.c has these missing: #define PCI_DEVICE_ID_AMD_16H_NB_F3 0x1533 #define PCI_DEVICE_ID_AMD_16H_NB_F4 0x1534 #define PCI_DEVICE_ID_AMD_16H_M30H_NB_F3 0x1583 #define PCI_DEVICE_ID_AMD_16H_M30H_NB_F4 0x1584 temp1max is set to 70C, the AMD GX-412TC in the APU uses the PCengines case as a heatsink via thermal pads. If ambient temps are high (=>30C), I've seen the CPU go as high as 73C, AMD rates the GX-412TC from 0C - 90C so should temp1max be set to something like 75C? The board has 2x USB3.0 ports at the rear and 2x USB 2 header on the SoC. Could we also build 'lsusb' along with lspci? I'd recommend bundling the usb-serial-kmod too as a lot of mini-pci devices present themselves as USB. USB 3.0 seems to be working: root@lede:/# lspci | grep XHCI 00:10.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller (rev 11) /* According to the USB 3.0 spec, all USB 3.0 devices must support LPM. However, there are some that don't, and they set the U1/U2 exit latencies to zero. With some quirks? root@lede:/# dmesg|grep LPM [1.324138] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM. > - NCT5104D GPIO Driver This is simply good to know info. The NCT5104D I/O controller with an alternate BIOS (work in progress, provided by PCengines support on request) can provide 2 more serial ports (com3/4) while disabling GPIO/I2C. This is useful in some situations as COM1 is generally tied to serial console and sadly com2/UART b provided via headers on the board does not provide all the signals. "UART-b is brought to J3 unshifted. Even though J3 has five pins only transmit, receive and ground are connected. - Paul" Likely unrelated, perhaps at some point changes from CeroWRT could be incorporated as the APU2 does suffer from buffer bloat - https://www.bufferbloat.net/projects/cerowrt/wiki/How_is_CeroWrt_different_f rom_OpenWrt/ ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
On 10/14/2016 10:19 AM, Chris Blake wrote: This is an RFC to port the PC Engines APU2 board to LEDE. Currently this is based on my unofficial repo at https://github.com/riptidewave93/LEDE-APU2 and after a discussion on the lede-dev IRC on the best plan of action, which was to move this device to a profile under x86_64. Things Working: - board detection - USB ports - LED/Button support - ath9k and ath10k - to support both wireless cards sold via PC Engines - SP5100 Watchdog - NCT5104D GPIO Driver Not Working: - AES-NI CPU Acceleration I have a patch that enables AES-NI for appropriate x86-64 CPUs. You are welcome to try getting it upstream and/or into LEDE: http://dmz2.candelatech.com/?p=linux-4.7.dev.y/.git;a=commit;h=abd4e4982a674ab469916f0a50e01e69b739ce71 Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
Chris, You might be interested in https://lists.openwrt.org/pipermail/openwrt-devel/2015-February/031200.html, which was never commited. Regards, --- Luiz Angelo Daros de Luca, Me. luizl...@gmail.com ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [RFC 0/1] x86: Add support for the PC Engines APU2 Board
This is an RFC to port the PC Engines APU2 board to LEDE. Currently this is based on my unofficial repo at https://github.com/riptidewave93/LEDE-APU2 and after a discussion on the lede-dev IRC on the best plan of action, which was to move this device to a profile under x86_64. Things Working: - board detection - USB ports - LED/Button support - ath9k and ath10k - to support both wireless cards sold via PC Engines - SP5100 Watchdog - NCT5104D GPIO Driver Not Working: - AES-NI CPU Acceleration - PC Buzzer Default Packages: - flashrom - BIOS Upgrades - lm-sensors - Temp Monitoring - wpad-mini - Wireless AP support - hwclock - RTC support Things that still need working out: - AES-NI Kernel Support - Profile Specific Images - So far the ./image/Makefile does not seem to support 'profiles'. This will need to be fixed, so APU2 & Generic images can build without merging. - HWMon & ath10k - ath10k requires hwmon, but the module fails to build if hwmon was built as a module. Because if this, it's added to the kernel config. Is there a better way to do this, or a way around this problem? - pc buzzer/beep - Busybox has beep support, but I didn't find a way to build it without changing the default BusyBox config for all targets. Maybe "beep" should also be added as a standalone package? https://lists.openwrt.org/pipermail/openwrt-devel/2009-November/005227.html - x86_64 kernel config - Besudes hwmon, GPIO support had to be added. Should this be done here, or in the root target kernel config like other targets? Also, DEVMEM was added for flashrom. Is this an issue, or would it be OK to keep this in? - Default Packages - Currently the "goal" of my unofficial port was to make sure all features of the device were supported via my image. Is this the path LEDE wants to take, or should it be more of a "minimal" approach? AKA, no packages/ath*k If there are any comments, suggestions, or visible improvements please let me know/reply with some patches. Cc: Jo-Philipp Wich Signed-off-by: Chris Blake Chris Blake (1): x86: Add support for the PC Engines APU2 Board target/linux/x86/64/config-default | 12 + target/linux/x86/64/profiles/001-PCEngines.mk | 20 + target/linux/x86/base-files/etc/board.d/01_leds| 22 ++ target/linux/x86/base-files/etc/board.d/02_network | 26 ++ target/linux/x86/base-files/etc/diag.sh| 37 ++ target/linux/x86/base-files/lib/x86.sh | 13 + target/linux/x86/config-4.4| 1 + .../linux/x86/files/drivers/gpio/gpio-nct5104d.c | 432 + target/linux/x86/files/drivers/leds/leds-apu2.c| 371 ++ target/linux/x86/modules.mk| 36 ++ .../x86/patches-4.4/800-add-apu2-led-driver.patch | 29 ++ .../801-sp5100_tco-add-apu2-support.patch | 91 + .../patches-4.4/802-add-nct5104d-gpio-driver.patch | 27 ++ 13 files changed, 1117 insertions(+) create mode 100644 target/linux/x86/64/profiles/001-PCEngines.mk create mode 100755 target/linux/x86/base-files/etc/board.d/01_leds create mode 100755 target/linux/x86/base-files/etc/board.d/02_network create mode 100755 target/linux/x86/base-files/etc/diag.sh create mode 100755 target/linux/x86/base-files/lib/x86.sh create mode 100644 target/linux/x86/files/drivers/gpio/gpio-nct5104d.c create mode 100644 target/linux/x86/files/drivers/leds/leds-apu2.c create mode 100644 target/linux/x86/modules.mk create mode 100644 target/linux/x86/patches-4.4/800-add-apu2-led-driver.patch create mode 100644 target/linux/x86/patches-4.4/801-sp5100_tco-add-apu2-support.patch create mode 100644 target/linux/x86/patches-4.4/802-add-nct5104d-gpio-driver.patch -- 2.7.4 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev