I want to run a full Bitcoin node (including a whole up-to-date blockchain) from a USB-powered device connected to the router.
Ideally one USB port should be used to run and power the device/s, but it can be two ports.
This far, I had searched and only aware of another (DD-WRT flashable) router with a USB drive or phone/berry device connected to it which is not a solution.
In the DD-WRT solution, you are simply using the USB drive as a storage device. Initiating connections to other nodes, downloading / uploading the blockchain, and verifying that blocks satisfy the hashes are performed by the Broadcom (MIPS) CPU in the router. DD-WRT is simply an OS with many router features that the Broadcom CPUs can understand, similar to how Mac / Windows / Linux are OSes for the Intel / AMD CPUs. Usually, you can take Linux source code and compile with MIPS as the target architecture, then run it in DD-WRT.
I want to use a proprietary-softwared Technicolor routers, which allow USB devices to be connected as a network storage. If the device I need is using wireless or a LAN port it should be okay as long as it gets all its power from the router (which will be modified to always run in a full power mode).
Simply plugging in a USB storage device with the blockchain on it does nothing. You need the CPU to process commands to and from that blockchain. It sounds like you have two choices: 1. Rewrite the code to reduce memory usage and compile for MIPS, or 2. Have an external CPU like the Raspberry Pi or a phone to do the CPU work.
Here is an elaboration on choice 1 based on my work on rooting and getting apcupsd running on a NAS running busybox:
- Root your router, once you get shell access at busybox, you do not have to install DD-WRT but can just use the default OS already loaded
- Install Ubuntu somewhere and compile bitcoin for MIPS
- Try to run it with your shell access
- Make changes in code and recompile to reduce memory usage