Answers of "Which router should I buy?" questions' page
- How fast is your internet connection? Higher than 50-100mbps.
- Do you need Wi-Fi? No, not on board, but I would like to use one plugged via mPCIe or M.2 connector (see specifications below).
- Do you need Gigabit Ethernet? Nice to have, not a requirement.
- Do you need USB ports? Nice to have, not a requirement.
- What other services do you want? I would like to deploy multiple static HTTP servers as well as node.js HTTP API servers. Ideally I would like to be able to deploy CouchDB on the board, also I would like to have an SSH server on the board and the ability to deploy CRON on it... This is a small part of the services I am thinking of... In a nutshell, I would like to have an highly hackable single board computer.
- Price: no restrictions
I would like to use the board for educational purposed, in order to teach network and telecom skills as well as benchmarking Wi-Fi and Cellular modems.
- Follow OpenWRT code evolutions as closed as possible: CompexWRT and other manufacturers firmwares I tried are often out of date, not as Open Source as I would like and seem to have a kind of "flash once" workflow where I follow kind of "flash every night" workflow. I know saying "as much as possible" does not really help... What is underlying is that I am searching for a board which in my mind will represent kind of "the OpenWRT reference board" for testing my codes and manage their evolutions.
- Have an UART console port available in order to flash new firmware (with standard or at least well documented configuration, I would like to avoid pirate buses like I need to try, as advised here).
- An mPCIe or (better) M.2 connector in order to plug a Wi-Fi modem.
- Another mPCIe or (better) M.2 connector in order to plug a cellular modem (I target high categories like the Sierra Wireless EM7565).
- Dual SIM on board for use by the previous cellular modem
Boards used for the moment
- Compex WPJ428: only the latest CompexWRT version of the manufacturer is officially supported. Moreover I had troubles with the console port as described here. Also, the Wi-Fi modem is already on board, I can only connect other Wi-Fi modems via USB...
- Wallystech DR4029: The manufacturer gave me binaries (for U-boot and firmware) and explained that they will not be able to help me for the steps I need to run in order to be able to re-compile those binaries by myself, saying that those binaries are meant to be static...
- My development computer is a Bionic Beaver (Ubuntu 18.04)
- I compile the firmwares inside Docker containers based on the
nodeimage (Debian based image)
The point here is that I don't want to depend on technical documentations targeting mainly Windows users.
These are the steps my CI run each time OpenWRT releases a new version (even minor):
- Clone the repository
- Fetch the new release tag
- Checkout the branch of this tag
- Apply customization scripts
- Compile the firmware
- Flash the "reference" board with the firmware
- Run acceptance tests on the reference board
- If tests results are good enough, update the supported version of OpenWRT for my code.