Also a good option
I'm giving adblock-lean a try. Not part of distro or package management system, but I like their project page: https://github.com/lynxthecat/adblock-lean/tree/master
I've toasted the flash on my previous router with adblock and too much writing to the filesystem, hoping to avoid that in the future. The adblock-lean project advertises "volatile memory used for all processing - no flash wear"
Nope, adblock doesn't write to flash fs by default.
maybe I misconfigured it. $200 router toasted in 2 years. I learned my lesson about writing to flash. Wonder if I should try to replace the flash...
As a contributor to adblock-lean, I can assure you that adblock-lean doesn't even have an option you could change in order to make it write blocklist data to flash The only things written to flash are the script, the config file, an option in
/etc/config/dhcp
, a line in crontab and if you choose to install the optional utilities (gawk, GNU sed, GNU sort) then these are installed to flash as well by opkg or apk. Once everything is set up, no more flash writes (except if/when you update adblock-lean).
That said, I'm pretty sure that the other 2 native adblocking solutions for OpenWrt (adblock and adblock-fast) won't write to flash as well, unless severely misconfigured (I don't know if they have config options which would allow this).
The original flash has calibration data without which the router won't work. If you are able to read this data then most likely it is possible to replace the chip and make a usable image for the new one. If not then not. To try, you would need a flash programmer and some soldering equipment.
Awesome, thanks for that info. I'm getting 17% memory usage and CPU temps 60C when running adblock-lean (15-20C higher), do you think this will wear my board or chip prematurely? Mediatek dual core 800Mhz with good heatsink. Not sure what the specs are on this SOC,
17% RAM usage is obviously not a problem, unless you are planning to use additional memory-hungry software which will compete for memory.
As to temperatures, first - I assume that you were measuring them while adblock-lean was processing the blocklist? Once the blocklist is processed and loaded, you should not see much difference in temperatures. If you are, I would be curious to investigate this. Generally 60C should be well within safe operating range of the SOC. So it should not damage the SOC even if that increase is permanent, and especially if it is temporary. By default, adblock-lean updates the blocklist once a day. With default configuration, depending on the SOC, probably processing the updated blocklist takes between 20 seconds and a couple minutes. A temporary increase of temperatures for such a short time should be no problem at all. If the increase is permanent, this may shorten the usable life of the internal electrolytic capacitors which are really the components most sensitive to heat. Normally a good-enough manufacturer will use capacitors rated to last for 3 years while being subjected to 85C temperature. Lower temperatures will prolong their life span. That said, the actual quality of the capacitors varies and neither of us has a way to assess the actual life span of the capacitors installed in your device.
Processing time for blocklist generation and import: 0m:49s.
Now that I look more carefully at the logs, it appears that my temp spikes up to 60C are during the sunny part of the day. Maybe I need a little fan for the router
Thanks for the detailed explanation about the caps, I know those do burst sometimes, whether from heat or cheap electrolytes (or both).
Bursting is a symptom, not the problem. The problem is electrolyte evaporation which gradually increases the internal resistance of the capacitor. This, in turn, causes it to heat up under load, which causes the electrolyte to evaporate even faster. So you get a runaway effect. Some caps will eventually burst because of pressure buildup and some will just quietly degrade. Either way, eventually you get a capacitor with a high internal resistance (a.k.a. ESR) which is no longer functioning properly.