You call THAT a router?! 2 Tiny Raspberry Pi Routers

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Yeah, there was no good reason the USB linked NIC would perform better. Good luck not losing one third of the bandwidth with USB.

šŸ‘ļøŽ︎ 8 šŸ‘¤ļøŽ︎ u/Zulgrib šŸ“…ļøŽ︎ May 28 2021 šŸ—«︎ replies

Nice one Jeff.

Played with this via USB adapter when the rasp4 came out. Ended up buying a nanopi r4s to get to gigabit (CM4 wasn't out yet), which ends up landing in approximately the same territory as this on performance, better aesthetics...but also higher price. (Don't recall maybe like 100?)

Decided to switch to x86 next so that I can try pfsense though.

šŸ‘ļøŽ︎ 2 šŸ‘¤ļøŽ︎ u/AnomalyNexus šŸ“…ļøŽ︎ May 28 2021 šŸ—«︎ replies
Captions
the raspberry pi 4 model b was the first model to include both a dedicated gigabit ethernet port and two usb 3 ports older raspberry pi's had pretty lackluster networking performance and if you wanted to use multiple network interfaces you'd be limited to around 300 megabits of network throughput but the pi4 made it possible to add on additional gigabit interfaces and people started using the raspberry pi as a router the device that controls access between a wide area network like the internet and a local area network like your home network a popular way of doing this is with openwrt a lightweight operating system designed for wired and wireless routers i also learned the vios community is working on arm support and i'll be testing that out soon too the pi4 model b is certainly capable if you need less than a gigabit of bandwidth but let's be honest the entire footprint of a basic two-port pi 4-based router gets pretty ugly fast and that's where these guys come in this is the df robot router board which is literally the tiniest gigabit router i've ever held it's a case study in minimalism and only a tiny bit larger is seed studio's dual gigabit carrier board both of these little guys are much more compact than a pi 4 based router and they use the compute module 4 which is basically a pi 4 but with all the i o chopped off but while these boards look similar on the outside in this video i'm going to test whether one small architecture difference has an impact on real world router performance the df robot board uses a gigabit pci express interface while the seedboard uses a gigabit to usb 3.0 bridge through the pci express interface in the seedboards case a network packet travels through this network jack to the gigabit nic through the usb 3.0 bus which connects to the cm4 pci express bus then back out to the cm4's built-in nick and finally out the other network jack for the df robot board the usb 3.0 bus is eliminated entirely will that make it faster well watch the rest of this video and you'll find out we're also going to explore how these boards perform in general how much power they consume and whether one of these could replace an off-the-shelf router looking at the seedboard up close there's a lot of i o that's not present on dfrobot's board this little vli chip is the heart of the operation it's a usb 3.0 controller and it's wired to both this little usb network chip and two external and two expansion usb 3.0 ports over on the side of the seed board it has a csi and dsi plug for a pi display and camera a four pin fan header with pwm control a usb port header for internal usb 3.0 ports a micro hdmi port for display and a usb c port for power only this board crams a lot of functionality into a really tiny space one thing that annoyed me though is the orientation of the micro sd card slot on the bottom the contact pins are actually pushed into the open space when you insert a card so if you don't have a good enclosure to cover that area and prevent shorts between the pins you could end up corrupting the file system just because of the physical layout of the board not only that if you have an hdmi cable plugged in which you might not if you're using it only as a router then the card is actually upside down and it's hard to pull the card out one other design quark is this vertical usb type-c power plug i can imagine the thing pulling off the board due to the torque involved in the connection so i'd be gentle with the power plug on this board if you want it to last for a long time now moving over to df robot's router board wow this thing is tiny and it might be small but one critical architecture change might make it mighty the gigabit ethernet chip is wired directly into the pi's pci express bus with no usb controller in the way other than that this board covers the basics like power via usbc a single usb type-c port with usb 2.0 speeds a reset button a micro sd card slot and even 26 gpio pins but that's it there's no frills here not even an hdmi port for a display this thing was made for one thing being the tiniest little pie router in existence i also noticed that df robot has a downloadable 3d model with a snap together enclosure design so i printed it on my 3d printer it printed fine but i ended up having to sand down the corners on every tab since the design has basically 0.0 millimeter tolerances once i did that it fit together just barely and it held the board in okay but i'd rather have a smaller metal enclosure so how does it work as a network router though both boards are perfect for openwrt so my next step was installing it i'll start with dfrobotsport right now openwrt doesn't have a full version that works out of the box with the compute module 4 so until that happens dfrobot offers a custom image based on the latest development snapshot and there's a link to it on the router board's wiki i downloaded that image to my mac and decompress the image file then i inserted the microsd card i was going to boot the pi from and wrote the image using dd with the command you see on the screen i popped the micro sd card into the router board and plugged in the pi to boot it and well this is a little weird if you're used to using a monitor with your pi this board doesn't have a display output so there are only two ways you can get openwrt setup first you could use a serial console through usb on another computer or second you could plug the eth1 port directly into a computer and access the openwrt web interface at 192.168.1.1 i wanted to access the web interface but which port is eth1 it's not labeled on the board itself but at least it's in the documentation i wish the ports were labeled on the board though it would save me having to look it up whenever i plug in the board anyways i plugged the router board straight into my mac using a separate network dongle and went to the router's address in safari the default login is root with no password and i was in the first thing you should do is set a root password once that's done you can also log into the router via ssh in terminal or using putty if you're on windows the login is root at 192.168.1.1 the usb 2.0 type c port on the side is actually disabled by default but that's not the fault of the router board that's a limitation of the pi you have to manually go in and add this configuration line in the bootconfig.txt file and reboot if you want to use that usb port openwrt also doesn't expand your boot volume to use all the available space on the pi's storage so if you want to have all that room available you have to adjust the open wrt route partition manually with all that setup work done it was time to start digging into the system first i plugged in my internet connection in my case for this test the rest of my homeland into the eth0 port on the right and i installed pci utils so i could check out the ethernet chip with lspci and there it is with the r8169 driver loaded for the realtek gigabit ethernet controller now let's do some tests to see how well it runs first the most basic test i unplugged my 10 gigabit wired connection from my mac and turned off wi-fi so all my network and internet connections would go through the router board i ran a few speed tests on speedtest.net and my cable gigapower connection actually lived up to its name giving me around 930 megabits of bandwidth that's the same result i get over my normal home gigabit network so there's no bottleneck there so this board seems to be doing great in terms of a gigabit internet connection at least one way i wanted to make sure the router could also perform when connecting through it to other devices on my home network so i ran an iperf 3 test between my mac and my main home network router 943 megabits per second is right at the limit of the normal line speed i get so yay no bottleneck there either it doesn't seem like the board or the pi are throttling anything at all for my last test i wanted to get a rough idea of how many packets per second the pi could put through in its default configuration and i used this command with hping to basically flood a connection through the router from my mac on one side to a pi running on the other side and with 64 byte packets i was able to pump through around 77 000 packets per second i've been documenting all my testing in this github issue and it's linked in the description if there are any major flaws in my tests or you have ideas for better ones please let me know in the comments these are pretty basic networking tests and you can go a lot deeper testing things like quality of service and benchmarking things like vpn performance i even tried getting flint to do some benchmarks between my mac and another server on the other end of the router but i was having some trouble with net perf so i'm going to have to put that testing on hold for now before i wrap up the testing on the df robot i wanted to check thermals and energy consumption at idle the board uses 1.79 watts as measured by my satechi usb power meter and at maximum throughput running iperf 3 and a speed test simultaneously it uses 2.95 watts that's pretty good for a device that you'll be running 24 7. the board never got hot enough to even warrant a fan though the network chip did warm up a little bit to 35 degrees celsius now moving on to the seedboard it uses a microchip lan 7800 usb gigabit ethernet bridge which is supported in the linux kernel directly it's actually the same chip that's used on the raspberry pi b plus so hopefully it's supported right out of the box i tried swapping the micro sd card and compute module from the df robot board to the seed board but that didn't work it only identified one network interface because the current open wrt builds don't include the lan 7800 driver for the pi 4. since openwrt is open source software i opened a pull request to see if they might add support so the seedboard could work out of the box but i was also able to get the board fully working with raspberry pi os i even ran all my benchmarks using a custom lightweight router configuration which i blogged about on my website and i documented that experience on github too while i was doing that benchmarking github user boba fett hotmail built a version of openwrt with the right driver and i got it working on the seedboard i had to do a tiny bit of manual work to get the lan and lan configuration working but i got the seedboard working exactly the same as the df robot board one interesting thing i noticed when i was first booting it was that the lights on the eth1 port which is the one that goes through usb never came on i should note that the board i have is actually a prototype and you can even see the little jumper here that's common on prototypes i get it's normal for small issues like this to appear and i think they sorted out the issue with the activity lights on the final production version but back to testing my first benchmark running a speed test through the pi wasn't amazing i got just under 700 megabits down about 25 percent worse than the f robot result so i tried iperf 3 and found the throughput was similar between the two devices in my house around 700 megabits and to round it out using h ping i measured just over 36 000 packets per second of throughput meaning for small packets this board has half the capacity of df robots i could see that the bottleneck was irq interrupts which i measured with atop interestingly i didn't see the same thing on the df robot board so i'm guessing the driver for its pci express realtek chip or maybe even the realtek chip itself does some offloading that saves the pi's cpu from being crushed by all the network packets this is behavior i've seen on some other network cards on the pi too so it's not too surprising and before you comment on how i need to use irq balance i know you're out there with your finger on the comment button right now i tried that too and it seems like on the pi each network interface is pinned to one cpu core and just to be thorough i flashed pios to the microsd card booted the seedboard with that and ran an iperf test directly through to the lan 1 port and it was still giving me less consistent numbers maxing out around 700 megabits the built-in network interface using the same cable plugged into the same port on my switch tested with the same devices was getting 930 megabits so there's definitely some overhead using the usb to gigabit architecture like the seedboard does but is that a show stopper well if you have a slower internet connection and want to be able to plug in an ssd and use the router as a little nas too that might be a compelling reason to buy the seed board instead of the df robot board there are plenty of other nice features i covered earlier too plus i like the fact that all the ports are on one side making it simpler to mount it somewhere without a spaghetti mess of cables before i wrap up here are the benchmarks for energy consumption it uses about 4 watts at idle and 5 watts fully saturated and that's a big difference from the df robot board which uses about half the energy with that increased wattage comes a little extra heat too this board runs pretty hot and i'd worry a little about the network and usb chips which are sandwiched under the cm4 board with no airflow to them you definitely need a fan with seeds board but you could probably get away with just a heat sink on the pi on the df robot board but what about wireless can these devices also act as wireless routers or waps well technically they can and you could use the pi's built-in 802.11 ac wi-fi but i should warn you that the built-in wi-fi chip is not great for sharing with multiple wireless devices and in my testing i wasn't able to get more than 60 megabits of wi-fi data in even the best case plus open wrt doesn't support the compute module 4's wi-fi out of the box right now so i had to do a couple hacky workarounds to get it working if you want to build the best raspberry pi wireless access point well let's just say i'm also working on that maybe using this wi-fi 6e intel chip for over a gigabit of wi-fi unfortunately this chip won't work on either of these router boards due to their hardware design so while these boards look similar on the outside their internal architecture makes a big difference if you want to use them as routers different use cases will dictate which one you might choose if you like building your own router with a pie and price may also impact your decision the df robot cm4 iot router board is 30 bucks and the seed studio router board is 45 bucks it's not a huge difference but pair that with a compute module 4 and you're looking at spending at least 60 bucks to get one of these tiny gigabit routers you can get a decent budget router for around the same price but the pi is more upgradeable and often much more customizable but going in the opposite direction i'm also testing a custom dual 2.5 gigabit pi router build which might blow both of these tiny boards out of the water both in price and in performance so subscribe so you don't miss it until next time i'm jeff gearling the raspberry pi 4 model b is a little off center in the seeds boards case in the seeds board but i'd rather have a smaller metal metal ma but i was also able to get the board falling directly through to the land one port and i was still it was i okay that you gotta do that again if you wanna build the best raspberry pi if you want to build the best raspberry pi wireless if you want to build the best raspberry pi wireless access that's just dumb sorry
Info
Channel: Jeff Geerling
Views: 335,610
Rating: 4.9594202 out of 5
Keywords: raspberry pi, seeed, dfrobot, router board, router, internet, wan, lan, network, networking, openwrt, linux, home network, homelab, home, smb, open source, vyos, performance, benchmark, sbc, small, efficient, access point, wap, wireless, client, mode, speed, seeed studios, iot, internet of things, tiny, smallest, compact, fast, gigabit, 802.11ac, usb-c, power, flash, rj45, connection, connected
Id: w7teLVwi408
Channel Id: undefined
Length: 14min 55sec (895 seconds)
Published: Fri May 28 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.