After the reply of @tmomas in the question I posted here, I post here a request for hardware recommendations.
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
node image (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.
May I recommend a RPi plus an external managed switch and USB dongles for the radios?
It's dead easy to recover, gives students a better idea of the building blocks, very powerful and versatile, ...
Hello @eduperez, thank you for your answer! I consider the RPi+ to be "like" the BeagleBone Black here:
It is an excellent board, especially for educational purposed and I like it a lot. But it not "designed" to optimize network performances and it is where OpenWRT stands so I would like to have another "reference" board but "network oriented" instead of "kernel oriented". Also I would like to avoid using USB ports for modems, again because of the wish of network raw performances.
Here too: I will also put OpenWRT on RPi+ but I expect to have poor network performances (compared to the DR4029 for instance), but it will effectively be interesting to add it in the network benchmark .
I would use a librerouter.org with a small board computer inside, like this: https://foro.librerouter.org/t/kolibri-an-example-of-a-local-service-on-a-librerouter-network/161
You can even give power and network from within the weatherproof case.
This is a beautiful project here ! Thank you very much for sharing it @nicopace! I am searching for something more industrialized for the present use case but it interests me for some others, may I ask you if you can provide a link of provider(s) of librerouter devices?
What sort of network performance figures are you expecting to have to reach?
Hello @krazeh, thanks for taking part of the thread, I mean "the performances of a board designed to be a network equipment, like a router or a switch". I think the two boards I play with for the moment are those kind of network equipment so I would say, "like those boards" (WPJ428 and DR4029, see the links in the first post).
That doesn't really answer the question I asked. But let me rephrase, why do you think an RPi (for the sake of argument let's assume you use the most recent one, the RPi4) would have a poorer network performance than the two boards you linked to?
Here are the reasons letting me thinking that those boards imply better network/telecom performances/quality of service:
- They will not need other equipment than the modems (no need for a mPCIe port to USB port adapter or things like that), so it will reduce signal processings and kernel tasks.
- They support dual SIM (which allows to switch/aggregate between the better cellular network providers where the board is).
- They are professionnal grade boards, designed for telecom and network tasks, with better support for constraints about storage and operating environments.
- USB 3.1 Gen 2 is 10000 Mbps whereas PCI-E Gen 4 is x1: 16000 Mbps, x16: 256000 Mbps according to this link. Moreover M.2 key B is even better than mPCIe, like Telit stands here
Does someone think I am wrong on any point here?
What do you mean? This is industrial in the sense that is build in mass production, has multiple tests, the software is unit and integration tested, and it has two mPCIe interfaces.
If you want some librerouters, you can send an email to email@example.com to get a quote.
I say that because the datasheet here seems not really professional to me.
Then, I searched for "SIM" in the datasheet and no results were found.
Also, the operating temperature range is 0°C~40°C, which is not really an industrial grade specification.
Thank you for the link for the quotations.
Thanks for the feedback.
What would you be expecting aside from the information that is there?
As it is not the main use-case, we haven't done many tests in relation to it.
I think it refers to the temperatures that we have used it in real world scenarios, but the components for sure may withstand a wider range... though there are no tests for it.
What temperatures are you planning to use it?
Thanks for your reply .
In the datasheet it would be nice to have a legended picture of the board, pointing each I/Os and mentioning pins out. I usally expect to have it in the first page as it is a very easy / visual way to learn about the board. Let me add that this datasheet is not bad at all, it is precise and complete in term of data, I appreciate it. It was more "the shape" which I found a little "raw / unfriendly".
The ability to support high cellular categories modem, with dual SIM integration, is a must have for my use case because I will confront the telecom theory to the best practical use I can make.
For the operating temperature, -20°C is the higher I can afford for.
noted... we have been wanting to do this, but the pile of things in the todo list is quite long... and the device has so many interesting features to show:
- internal LAN ports
- internal serial ports
- internal USB ports
- a bunch of GPIO pins
You can replace any or both of the mPICe 5ghz radios with 3g modems, so you would have two modems at your disposal in this way.
We have also tested plugging in a 3g usb modem and it worked just fine.
I am sure it can run in a wider range of temperatures, but we haven't done a solid test for that... it is a pending task for sure.
BTW all the information is also in the librerouter's hardware wiki, so anyone can contribute improvements to it https://gitlab.com/librerouter/boards/-/wikis/Datasheets
I don't get it for the mPCIe port for the cellular use, is there a SIM card slot in this board?
as far as i recall, there are two in the back of the board... or at least there were in the earlier versions... i am not sure if they are still there @spiccinini ?
Alright, if there are, this board might take a completely different importance on my side.
It would be interesting to know if one SIM card slot is connected to respectively one mPCIe port or if one of the two mPCIe port is connected to both SIM cards slots. The cellular modems I target support dual SIM and I focus on their latest features, today (hardware and software). That is why I mentioned M.2 key B connectors instead of mPCIe in my specifications... as the WPJ428 is the only candidate I validated with M.2 form factor, I began to consider using the mPCIe one...
Hi! There is only one SIM slot and it is connected to only one of the mPCIe connectors.
I don't know if it is posible or not to connect two SIMs to a mPCIe connector, I didn't see a schematic with that configuration.
Hello @spiccinini, yes it is possible, it is a very powerful telecom feature, for instance the DR4029 have 2 x Mini PCIe Connectors and one supports dual SIM Cards for 4G/LTE Modems.
Cool, so if you need this feature you can ask someone to modify the schematics and the PCB, it should be very easy. With this modification we can consider it for the new revision of the board.