Raspberry PI 4 vs EdgeRouter X

A few reasons, you remove the USB controller, overhead and the limitations of handling Ethernet over USB not to mention another potential point of failure apart from the limitations of the controller itself.

You say "USB" without actually describing the problem you are trying to imply. USB3.x, as I've said over and over again, is a comparatively thin layer over PCIe, and most of that layer is to do with initial negotiation: it completely gets out of the way when it comes to actual data transfer.

Unlike the obscure community hacks needed to make vendor specific SGMII implementations work; have you read the Developers forums on platforms like Qualcomm's IPQ SoCs? Our guys are flying blind and doing the best they can; praise them and Venmo them some money because they're really showing some investigative prowess to make it work at all. Whereas with PCIe/USB3, they've got the entire industry working on their behalf, it's documented in minute detail, and there are entire books published about it aimed at every level of understanding.

So there's NO justification for these endless attempts to deflect new users from a highly performant, reliable, extremely cost-effective and unusually well-supported technology, based on nothing but superstition and some kind of allergy to the word "dongle". USB3 NICs, especially Realtek ones, work spectacularly well on the Pi 4 and benefit from a broad industry support that is extremely rare on the kind of hardware that OpenWRT is typically run on. But every time you try to tell a new user that, someone shows up and offers FUD that they can't document or back up, even with verifiable anedotes, let alone any real data. You still haven't described the "disaster" that's waiting to happen. Because there isn't one. It's as stable, transparent, and low-overhead as any OpenWRT installation and more so than most. PLEASE stop steering new users away from an unusually cost-effective and extremely powerful solution with immense community support.

2 Likes

What's the cost of your setup if you don't mind me asking, just seen the vantec is the same price as an er-x

Yeah, it's a little overpriced now; if tens of dollars are a concern you'd be better off buying a pair of TP-Link UE300s, or just one if you don't actually need 3 NICs in total.

I have multiple switches and a few VLANs and more than one offsite VPN I need to use for both work and play, so I just thought it was worth a few sheckels to have less junk hanging off the device by buying the dual unit. Throw in the POE hat and we're in $90 territory total. But cheapness wasn't my first concern, and anyway I'd already bought the Pi4+hat to use as a Kodi streamer, and ended up repurposing it as a router.

Please stick to the subject, and how are you even going to compare these specifically when the USB3 controller in this specific case (not really relevant but since you seem keen to keep bringing up the RPi4) sits on the PCIe bus? Not all SoCs are equally well supported, that's already well known. Again, if you want to use RPi4 and USB dongles go ahead no one is stopping you but at least stop keep claming that it's the same thing because it's misleading.

@dynamiccarrots
What you should be a bit concerned of is ventlation as ARM SoCs tends to get quite hot but it's also the way to should go as MIPS is more or less s deadend. The M4 should be fine to use for wireless, getting a SBC will drive up the cost considerably but if you're lucky you might be able to pick up something like WRT1900ACS/3200ACM rather cheap which will do fine in most cases and most high-speed connections well.

Exactly my setup - a small coms cab in the wall with an electrical outlet wired inside it and wired Ethernet back haul to AP's in the house. I use an ER-X. The ER-X runs very cool and is very small. It will handle half a gigabit fine (gigabit in one direction). It has generous memory (256MB) for adblock and such. It has generous flash (256 MB) for loading packages. That's the good.

The bad is that the ER-X CPU speed is decidedly mid-range. If you run SQM to tame bufferbloat, it will top out somewhere between 130-185 Mbps depending on OpenWrt version. It is good for ~20 Mbps running OpenVPN, and ~90 Mbps running a Wireguard VPN. So you are going to outgrow it sooner rather than later, if it is not already too slow for you. I've also noted it's getting pretty expensive to buy, which is strange. But I haven't found many alternatives as small as an ER-X with 5 ports included. So far, it does the job for me.

Like dizzy said - you need to manage ventilation in the small cabinet. I drilled holes in the top and bottom of my metal wall cabinet cover to get some natural circulation going through it. The heat mostly comes from the modem I also have in the wall cabinet.

If you do get an RPI4 someday, you are going to need a switch more likely than not, so if you start with the ER-X (already includes 5 switched ports), the ER-X need not go completely to waste if it becomes your switch - just something to consider. The NanoPi R4S might be something else to consider instead of an RPI4 - it comes with a nice metal heat sink case, two ethernet ports (so no dongle needed) and is small enough for a wall cabinet. It's also got plenty of CPU speed - comparable to RPI4.

Good luck!

2 Likes

256 MB is o.k. for ramips/ mt7621, but I wouldn't call it generous for adblocking. You can easily OOM a 512 MB RAM device with a few block lists enabled (partially courtesy of dnsmasq's approach of forking under certain circumstances).

1 Like

Fair point - if one starts loading up many huge lists, it will run out of memory.

My ER-X is only using 66 MB of 245MB available, but then I do just use the default block lists in adblock (adaway, adguard, disconnect and yoyo seem to clean up the majority of ads for me). It's a matter of perspective - I started out with a 128MB gateway, so 256MB seemed pretty good to me :wink:

Regarding memory, I had a quick look on one of my RockPro64 boxes and it used roughly ~650Mbyte of RAM running all your normal network services and blocky (https://github.com/0xERR0R/blocky, instead of dnsmasq but I don't think it runs on MIPS due to being written in go) so 512Mbyte might be. This SBC does however run a full fledged OS (not Linux) without any tweaking for memory consumption (ie rather large fs buffers etc) but to give you an idea.

..and that's with a few adlists

it can also pickup a lot of noise as well specially if you add that UTP cable which is unshielded, I can already see lots of lots of USB timeouts/resets happening on this.

I can say this because I was doing the same thing back them, its pain in the ass to deal with. its just doesnt work really well with USBs when it comes to using it for routers.

I can still remember that back then with MR3020 portable 3g/lte router back then.

Where do you see these happening? What variant of USB is being used? There's plenty of people using RPi4s with USB dongles running at up to 1gb/sec (presumably over UTP as STP is somewhat rare in a domestic situation) who don't see these issues.

tried several of them, one thing I can remember is the ethernet dongle that came with my asus netbook which is based on ASIX chipset I think. still regardless of USB dongles I used (which is a waste of money really) its still the same, the other 2 USB ethernet dongles I used is realtek based. Since back then, that's your basically most common USB NIC chipset on the market.

A netbook? So are we talking a significant period of time ago and (presumably) using USB 2?

yes, its like on 2014 I think, I even tried the USB3 gigabit lan card but that doesnt fix it as well and its not like getting a newer usb will fix this anyway, it still happens even with modern stuff. you certainly dont want to trust any kind of usb device when it comes stability. usb should be something you will be plugging and unplugging stuff, maybe a connected USB keyboard and mice would be ok but not something like a HDD or in this case a NIC.

Except your claim doesn't hold up when you look at real world data. In the specific use case discussed in this thread, i.e. an RPi4 with a USB dongle, there is plenty of data showing that it is stable over long term 24/7 use. But you know better based on your experiences 7 years ago?

2 Likes

well talking about personal experience here ok, its not good, the baddest thing i experience with raspberry pi is using it as a NAS, I lost precious files on that thing, never again.

if you still want to use USB, you can go ahead. i dont care, Ill just go point it out here that, no, its bad, and you should stop relying stuff on USB. else, you can also apply that YMMV thing. for me, no... nope, not going to happen.

you can actually just go consult the IT with USB NIC on routers and they probably start laughing at you.

yep... and i'm laughing right back at them... you all have good points... and some nic's will be flakey or overheat or crap out if being pumped non-stop... but we are talking maybe 1 in 7 users on the forum max... it's almost superstition not reality...

Not sure what your budget is, but I have some older, never used Gateworks Ventana 5410 from a project that never went forward. They were over $350 but I would part with some for $100. Note I had a special stuffing to remove the serial ports and video to cut down on heat and cost.

They have 2 X GbE, 512 MB ram, 256 GB Flash, a quad core 1 GHz CPU and a whopping SIX mini PCIe slots for wireless. One slot can be set for a mSata device and I have used 16GB and 485 GB quite nicely. I also lose 1 PCI because I put a heat sink over the PCI bridge chip. With a very small 2" fan they run nice and cool and then you don't really need the PCI Bridge heat sink, so you gain that PCIe back. For home use I don't need any more than 3 wifi, so I keep the heat sink. The boards are 5.5" X 4". Power can be Power Over Ethernet but it cuts one Ethernet to 100 mbps or use the DC jack for 12V to 48V input.

These were destined for a Wireless ISP product with 6 Wifi Radios to build a multiple AP and back haul application. Find a high spot and you can cover a lot of ground.

Openwrt runs very well and Gateworks has a build that can show all of the onboard sensors. I have used 802.11n and 802.11ac cards, as supported by Openwrt.

@remlei I'm afraid the only laughter is that your 'extensive experience' dates back to a 21 year old USB standard on a netbook. Not one - note, not ONE - person who's ever done the "USB bad, mmmmmkay" bit on this forum has even produced one iota of real-world evidence, just pure conjecture and anecdotal data.

I, on the other hand, will put my reputation where my mouth us. My dmesg:

[    7.710910] usbcore: registered new interface driver r8152
[    7.717950] usbcore: registered new interface driver usbhid
[    7.723593] usbhid: USB HID core driver
[    7.730151] xt_time: kernel timezone is -0000
[    7.745834] PPP generic driver version 2.4.2
[    7.750558] NET: Registered protocol family 24
[    7.756439] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[    7.764280] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[    7.780118] usbcore: registered new interface driver brcmfmac
[    7.787126] kmodloader: done loading kernel modules from /etc/modules.d/*
[    7.856426] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[    7.938258] r8152 2-1:1.0 eth1: v1.10.11
[    9.365753] bcmgenet: Skipping UMAC reset
[    9.371207] bcmgenet fd580000.ethernet: configuring instance for external RGMII
[    9.378736] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    9.387455] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   11.313394] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   11.319990] r8152 2-1:1.0 eth1: carrier on

(note the complete absence of any USB errors of any kind, that's the end of the console log)

My ifconfig:

eth0      Link encap:Ethernet  HWaddr DC:A6:32:E4:68:99
          inet addr:172.16.0.1  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::dea6:32ff:fee4:6899/64 Scope:Link
          inet6 addr: fdee:8f3f:ad91::1/60 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:657734145 errors:312 dropped:313 overruns:0 frame:0
          TX packets:645733546 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:807074791210 (751.6 GiB)  TX bytes:535439342514 (498.6 GiB)

Please note those errors are from upstream that occurred during the most severe thunderstorm of the past two decades.

Uptime:

21:27:24 up 8 days, 5:45, load average: 0.00, 0.01, 0.00

which is when I flipped to RC4.

This is all connected to a bidirectional gigabit fiber setup over FiOS with direct ONT hookup.

Feel free to show evidence of all the USB failures you've experienced on OpenWRT so the community can benefit, but please no more stories about you got a tummyache from a peanut butter and jelly sandwich in primary school and thus you don't trust modern-era technology you've never used or likely seen.

6 Likes

Hi all,
Please forgive my ignorance since I don't know much about cpu architectures but isn't there a huge "horse power" difference -at least on paper- between the processors of these two devices?
How can the two devices be compared? I'm so confused.
BCM2711 (ARM Cortex-A72 1.5 GHz, 4 cores-4 threads)
vs.
MT7621AT (MIPS 1004Kc 880MHz, 2 cores-4 threads)

ulpian