What's new
SNBForums

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Hey Kids! Let's Make a Router!

Toss the Wifi - it gets pretty easy - until one runs into the eternal problem - "what is the market, and what they are willing to pay."

$50USD routers without WiFi is a pretty small market - no matter how good they are... and science project was pretty damn good.

Mostly because in the Big Box stores - "what do you mean it doesn't have WiFi?" - we moved around a bit, grabbed on to an IoT hub kind of solution, but that's very fragmented space there.

Which is a problem... that's why I pivoted - sold the BSP that the science project developed, moved up market...
wired router with miniPCIe and antenna slots that allow people to pick their wifi?
 
Since i dont have a job and am free, why dont we get started on making one.

I seem to have some free time these days... long story, but short essay is that at the end of the day, not the right fit.

That being said - open to discussion to take things forward - the current consumer BSP's are a bit behind the curve, and the edge is getting "smarter" - packet handling, private networks, and getting the most out of platforms.

What would folks imagine now with a dual-core ARMv8 @ 1GHz getting wire speed on a 1Gbe WAN connection... and VPN at better than most - not OpenVPN mind you, but still private.

And I can do this on a $50USD consumer board.
 
wired router with miniPCIe and antenna slots that allow people to pick their wifi?

Probably not - I just do not want to mess with FCC and the like with intentional emitters there... it's just an ugly ball of hate - the pfSense folks ran into this with a device they were trying to push forward, even without WiFi, and they got shutdown...
 
Now that some of my NDA's are expiring, here's what could have been...

CafeOle supported a number of chips - RPi3 (for UI dev mostly), Armada 38x, Rockchip 3288 (Tinkerboard), AllWinner H3 for ARMv7A, for ARMv8 - Marvell Armada 3700 series (EspressoBin, along with our board), AllWinner H5, and most recently, nVidia Jetson Nano

1Login.png


2System.png


3Storage.png


4Network.png


5Users.png
 
ARMv8 - Marvell Armada 3700 series (EspressoBin, along with our board), AllWinner H5, and most recently, nVidia Jetson Nano

Should also mention Armada 8040...

CafeOle supported L2TP/IPSec out of the box, we integrated OpenVPN per customer ask, and we did that as an Application package. WireGuard is supported now in my private build.

Application Packages were LXC containers, so the sky is kinda the limit as long as resources were available...

Bare minimum for Cafeole was 512MB RAM, 8GB Flash - eMMC preferred there.

The major challenges for our team was uBoot and DeviceTree - kernel, rootfs, and userland was pretty easy to sort out - userland was generally ARMv7A with vfpv4/NEON - hence the narrow selection of SOC's supported

The cool stuff was that we had two partitions for the kernel and core stuff - so for OTA updates, there, if sig's didn't match, the commit for the update would keep things on a known good.. Matching things up between our stuff and containers - UnionFS, and there, we took care of system files, userfiles, and ephemeral things log /var/log and /tmp which was in tmpfs.
 
Last edited:
And some more screens - VM's and Containers...

The whole GUI is running in a container, as are all the user facing Applications...

Setting up for an iperf3 run... in a VM

Screen Shot 2019-05-26 at 6.23.05 PM.png


Other side - also hosted inside Cafeole as an Ubuntu desktop image...

Screen Shot 2019-05-26 at 6.27.43 PM.png


Here's some container support...

Screen Shot 2019-05-26 at 7.23.58 PM.png
 
The major challenges for our team was uBoot and DeviceTree - kernel, rootfs, and userland was pretty easy to sort out - userland was generally ARMv7A with vfpv4/NEON - hence the narrow selection of SOC's supported

The cool stuff was that we had two partitions for the kernel and core stuff - so for OTA updates, there, if sig's didn't match, the commit for the update would keep things on a known good.. Matching things up between our stuff and containers - UnionFS, and there, we took care of system files, userfiles, and ephemeral things log /var/log and /tmp which was in tmpfs.

Keeping things portable... and the base code always was.

Core code - the Cafeole base is now running on MIPS24kc (big endian, for a reason) with busybox/musl running on Linux 4.19, don't have the nice WebGUI/VM support, but the core code is running - WAN to LAN saturates the 100BaseT interface, and WG is good for 30Mbit/Sec on a 400MHz Atheros 9331 - it's tight with 64MB RAM and 16MB Flash. Compares well to the OpenWRT ar71xx/ath79 targets there.

Nice to see we could scale up and down.

Anyways - the project was pretty fun.
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Back
Top