|Internal USB stick in a modified WRT54GSv1 OpenWRT router|
Had some trouble making a WRT54GS v1 router host a USB stick. Oh, the hardware part isn't too hard to do, as long as you have some ability to solder and unsolder SMT devices. I used some kapton tape to mask off the adjacent resistors when I removed the old 4.7K resistors with new 15K SMD resistors and the new USB twisted pair. For the USB port I used an old USB connector. And a 7805 regulator to provide the 12VDC (from the router's input power jack) to 5V conversion. Here the USB stick will be inside the router. It will look like 29.8GB of non-volatile memory, at /mnt/sda1 or, if you do the redirect as described below, /www/sda1 on a SSH console.
Then you do the instructions at the OpenWRT web site. Thing is, they assume some knowledge of linux and other software procedures. You need to install various packages as per the above instruction web pages. I ended fumbling around with this, the router would seem to realize that a USB thumb drive was inserted, but I couldn't find how to access the files on the thumb drive. Not sure what I did, but it started to let me see the files on the thumb drive. Here in Chaos Calmer OpenWRT you need to fill in the "mount points" section of the mount points page. So the router finds the USB stick. Yes, I can hear all you Linux and SW experts snickering, but I'm a hardware guy. Thus this page isn't a complete how-to guide... See at the bottom of this page for a list of all the installed packages, with the preexisting ones.
ln -s /mnt/sda1 /www
To get there, you'd go to the OpenWRT configuration pages, at your OpenWRT router's IP address,
log in, then go to the "system" tab, then under that, to the "startup" tab. Scroll
down this page to find "Local Startup".
The USB stick's contents are redirected from the mount /mnt/sda1 into the /www/sda1 subdirectory. What this does is to allow someone accessing the router's web pages to access html files stored in the USB stick on the router, as this /mnt/sda1 directory is reflected to the sda1 directory in the /www directory of the router. Leave out the /www part when using your browser or creating an advertised service on your AREDN node. For example: http://10.0.50.9/sda1/3d/3d.html
where "sda1" is this subdirectory (which is the root of the USB stick) in the /www directory of the OpenWRT router. The rest of the path is per usual, here this 3d.html file is in a subdirectory 3d on the USB stick.
See using router RAM instead, though you'd need a UPS to power the router.