Friday, March 27, 2009

Energy management in Linux

Nota: este post es una continuación de este otro. Para más info, mirar ahí.
Note: this article is a follow-up of this one. Please take a look at it for extended info.

UPDATE: Check this post for related info.

I've been concerned about the energy consumption of my Thinkpad X200s for a while now. It's not that electricity is that expensive or I am sooo worried about global warming, it's more about squeezing the most out of the battery while trying not to damage it. My X200s has the 9cell battery which means 13 hours Lenovo-stated battery time. I'm going to use that twice in it's whole life. The point is in maximizing the long-time battery health. Lithium-ion batteries don't like to be deep-discharged too often, so my goal is to (almost) never let the charge drop below 20%. If someone only needs 2-3 hours of battery time and can charge it back to 100% after that, there is nothing to worry about. There is no way to burn 80% of the battery in that time with this laptop. Of course, if someone travels a lot and can't plug the laptop for a whole day, it makes sense to spend as few watts as possible.

Now, about battery life and energy consumption. Lenovo has made some serious effort to optimize the power drain in software and their Vista drivers are as of now unbeatable. In Vista, the minimum I've seen was 5.2W, in Linux 5.9W or 5.8W. Maybe 0.6W doesn't seem too much, but we are talking about more than 10% here! I've discussed this issue here with some folks, I recommend reading it.

First of all, use common sense. Don't expect 13 hours of number crunching, full-brightness video watching, usb-gadget powering or high-speed downloading. Turn down/off everything you don't use. If you are in a dark room, lower the screen brightness. If you are not listening to music, mute the volume. If you are, use headphones or set the volume a tad lower. Kill all the daemons you don't need. You got it, right?

Second point, my main source of info for all this stuff was this website. Follow all the steps you can. Make sure you have a tickless kernel. Turn on laptop-mode to spin down your hard drive when idle (ONLY if you have a SPINNING drive, you'll gain nothing if you have a SSD). Activate processor energy management and set the cpu frequency governor to ondemand or conservative. When you are familiar with all the goals, keep reading.

Now we are going to get our hands dirty. I'll explain this things for Arch Linux, the exact configuration files / paths may be located in a slightly different place in you distribution, use "locate" command or google to find them.

- General powersaving settings, aka laptop mode: Install and then activate laptop-mode editing the file "/etc/laptop-mode/laptop-mode.conf". After that, check all the files in "/etc/laptop-mode/conf.d/*" and activate all the things you can. Except maybe cpufreq, I rather let cpufreqd do that job, it's much simpler. Start laptop-mode with "/etc/rc.d/laptop-mode start" and add it to your daemon list in your rc.conf file. In case you skip something here, I'll probably mention it anyway, but laptop-mode comes in handy for automating it.

- Cpu frequency scaling. I recommend using cpufreqd, it is very very simple. Install it, do a "echo ondemand > /etc/conf.d/cpufreq" and start the daemon as shown above, also adding it to the daemon list.

- Turn off the video outputs. It sounds weird, but with the xorg 1.5 and the old intel 2.4 drivers, the video chipset doesn't detect the outputs right and turns on HDMI. The newer xorg 1.6 and intel driver 2.6 didn't have this problem when I tried them, but check it anyway. You can do it with "xrandr". If you see a star ( * ) on some line, that output is active. Turn it off with "xrandr --output HDMI-2 --off". You should check again on restart.

- Turn down the wifi power. This is a real power hog, it can drain more than 1.5W doing nothing. The control file is "/sys/class/net/wlan0/device/power_level". With "echo 5 > file" you maximize powersaving. Obviously, "cat file" gives you the wifi status. I've noticed some misbehavior lately, if you are not connected and with some network manager daemon running, it keeps going back to level 0 (maximum power usage). I usually fix it with:
# killall wicd-manager
# /etc/rc.d/wicd stop
# killall wpa_supplicant
# ifconfig wlan0 up
# echo 5 > /sys/class/net/wlan0/device/power_level
# ifconfig wlan0 down
# cat /sys/class/net/wlan0/device/power_level

If the last command shows a "INDEX:5", it'll probably stay that way, but checking it some time later would be good. As usual, let a script do that for you. If it is not 5 but 0, repeat the previous 3 steps. If you are conncected to some network, it usually stays at level 5 without any issue after a simple echo.

- Turn off bluetooth if you are not using it. As easy as "echo disable > /proc/acpi/ibm/bluetooth". Sometimes it doesn't want to wake up again, try a "lsusb" after re-enabling it. Again, acpid is a great way to handle it, here is a chunk of my handler:
if [ "$(cat /var/local/bluetooth)" = "disabled" ]; then
echo "enable" > /proc/acpi/ibm/bluetooth
echo "enabled" > /var/local/bluetooth
lsusb > /dev/null
logger "ACPI bluetooth on"
echo "disable" > /proc/acpi/ibm/bluetooth
echo "disabled" > /var/local/bluetooth
logger "ACPI bluetooth off"

- Turn on SATA link powersaving. This one is pretty straightforward: "for i in /sys/class/scsi_host/host*/link_power_management_policy; do echo min_power > $i; done". Once every power cycle. If you connect the power plug and disconnect it, only one link file will go back to powersave, so you have to execute it every time you go on battery. Acpid, again, is a great way to do that.

- Turn on PCIe powersaving. The control file is "/sys/module/pcie_aspm/parameters/policy". You can "echo powersave" to it to turn it on and "echo performance" to turn it off. As always, cat will tell you the actual status.

- Activate the sound auto-suspend. Echo the timeout to "/sys/module/snd_hda_intel/parameters/power_save". If you are not using the sound at all, mute it with the hardware button, just in case.

- This one may be VERY DANGEROUS. You can turn off the fan if you are going to do lightweight work and you trust your programs to be infinite-loop-free, so firefox is out of the question here. You have to load the thinkpad_acpi module with "fan_control=1" parameter and then manage the control file "/proc/acpi/ibm/fan". Again, "echo" stuff to set the fan on/off, "cat" to get info. I HIGHLY recommend to use the watchdog function and some script to make sure the processor won't melt. You can read the temperatures at "/proc/acpi/ibm/thermal", "/sys/class/thermal/thermal_zone*/temp" and "/sys/bus/platform/devices/coretemp.*/temp1_input", among others. Google is your friend ;)

- If hal is polling you nonexistent (on a X200) CD drive, kill it.

- If you are not using it, close firefox. The diffrerence may be 1W. If you plan on use it later, a simple "killall -STOP firefox" will do the trick. When you are going to use it again, "killall -CONT firefox". Bind it to a hotkey if you want.

- Also, "ifconfig eth0 down" sure doesn't hurt if you are not using the good ol' ethernet interface.

- Unloading modules doesn't usually work, but you may try it (and post a comment with your findings!). Some people unloads uhci, snd_hda_intel, or iwlagn. I haven't seen any difference trying, but your mileage may vary. You can also take one core of the cpu offline, but it seems to cause to actually consume MORE power than sitting idle. I haven't measured it myself, so if you do, please let me know! The control file is "/sys/devices/system/cpu/cpu1/online", 0 takes it offline, 1 brings it back to work.

- Last but not least: install and run powertop. It's a wise program. Follow it's suggestions. I use it to activate USB autosuspend and see which programs and wreaking havoc. Firefox, amarok2 and any java-based ones are on top positions, but some other programs may be broken and causing the processor to work more than it should. Knotify4 in KDE 4.1 had a 100Hz timer, for instance.

If I remember any other tweak, I'll post it here, stay tuned.

With all these tricks, brightness at minimum, everything off and doing _nothing_, the X200s drains 5.8W. With wifi on, brightness 5/15, browsing and programming (without heavy compiling), it goes at around 6.5W. On full brightness, no wifi, just above 7W. Full brighness + wifi it's under 7.5W. You have to do some pretty heavy stuff to take it above 10W, watching HD movies at full volume and brightness will do it, but anyway, at 10W the battery still lasts more than 8 hours. If you want me to try any specific combination, let me know.

Finally, for more info, try these:
Or ask a question in the comments.

Tuesday, March 24, 2009

Energía nuclear

Un tema algo offtopic respecto a la temática habitual, pero que me ha parecido muy interesante: las centrales nucleares.

Leo un post a favor de la energía nuclear digno de leerse y sobre todo (como pasa muchas veces) los comentarios tras el artículo. Antes de nada, aviso que de elegir una postura me inclino más hacia el pro, así que cualquier cosa que diga podría estar condicionada....

Lo más llamativo me ha parecido las menciones a las centrales nucleares de torio, que parecen tener muchas ventajas sobre las de uranio y la mención de las termosolares de 50MW, que parecen una alternativa viable económicamente ya a día de hoy. Aunque me ha hecho gracia que los anti-nucleares critican con dureza la "hulla cero de carbono" de las nucleares mencionando la maquinaria de extracción de uranio, etc, pero casi nadie se da cuenta de que una "huella cero" es imposible. Incluso las energías renovables generan CO2, si no, ¿cómo se extrae el acero para hacer molinos? Pero vamos, no es nada raro, teniendo en cuenta que tumbarse a tomar el sol produce dióxido de carbono, a menos que uno se aguante la respiración.

En fin, recomiendo leer el debate para sacar ideas y fuentes de información, pero desde luego yo tendría que mirar las cifras con lupa antes de dar una opinión definitiva. ¿Cuántos molinos harían falta para satisfacer la demanda con garantías? ¿Que superficie ocuparían? ¿Cuantas centrales solares harían falta? Cuanto costaría construirlas todas? Etc, etc...

En principio está claro que el futuro son las renovables, pero a día de hoy me parece a mi que para ver la tele mientras se calienta la cena en el microondas hay que ceder y dejar el idealismo para las charlas con los amigos. Eso sí, espero estar equivocado y que pronto seamos una raza ecológica, verde y feliz y podamos dedicarnos a oler las flores por el campo mientras unos robots trabajan por nosotros. Robots ejecutando linux, eso por supuesto.

Tuesday, March 17, 2009

Collección vacía en amarok 2

Dejo esto aquí por si le sirve a alguien:

Si el amarok 2 os vacila y la "colección local" os sale vacía a pesar de indicar bien la ruta, seguramente sea un problema de dependencias, en concreto base de datos. Según este hilo hace falta mysqle, por lo que con instalar el paquete que lo proporcione debería funcionar de nuevo.

En Arch, usando kdemod (paquete kdemod-extragear-amarok) esto se resuelve instalando "kdemod-playground-mysqle".

Friday, March 13, 2009

Sarcasmo vs Discograficas

Seguro que casi todo el mundo lo conoce, yo mismo ya lo había leído, pero me sigue haciendo la misma gracia que la primera vez que lo leí, así que para el viernes una dosis de humor:

Algunas contestaciones son geniales; otras menos buenas, con un simple "que te den", pero todas merecen leerse.

Thursday, March 12, 2009

Wireless en Linux y Windows

Algo que ya he comentado en alguna ocasión es mi profundo odio hacia NetworkManager y su forma GNOME de hacer las cosas. Ahora uso wicd en todos mis equipos y la verdad es que comparado con NM funciona estupendo, pero en general sigue teniendo muchos fallos. Al menos usa ficheros de configuración en texto plano en "/etc/wicd/*.conf" y permite el uso de scripting, con lo que a las malas es posible ignorar la lógica de wicd y usarlo como una gui para scripts propios.

Lo que mejor funciona suele ser la línea de comandos, y por tanto los scripts suelen ser bastante fiables, pero parece ser que el progreso de la tecnología no lo llevan demasiado bien.

Hace unas semanas me compré un modem/router con soporte para 802.11n, en concreto el Belkin F5D8635. Aparte de que el modelo sin modem tiene switch gigabit y este no, mi portatil no conseguía conectarse a la wifi si se dejaba el modo N activado, sólo si desde la interfaz web se ponía "802.11g only" o "b/g". Temiendo que fuera un tema de drivers, ya que era mi primer contacto con una wifi N, me puse a indagar.

El comando "iwconfig" no ayuda mucho ya que muestra un bitrate de 54Mb/s o como mucho 60Mb/s. Un escaneo con iwlist scan tampoco ayuda, ya que no muestra por ningún lado que la wifi sea N o que llegue a los 270/300 Mb/s anunciados. Buscando más, resulta que hay un nuevo comando, "iw", que parece que va a ser el nuevo estándar, como el comando "ip" para la gestión de red. Igual que ip sustituye a ifconfig, route, etc, iw sustituirá a iwconfig, iwlist, iwpriv, etc. Para el caso da lo mismo ya que "iw list" tampoco muestra más de 60Mb/s. Desde luego algo raro es, ya que es más de los 54mbits de 11g, pero no deja muy claro qué es lo que significa.

Tras intentar todo lo que se me ocurrió, decidí devolver el router como defectuoso y comprar otro. Esta vez busqué por internet alguno que tuviera de todo:
  • 802.11n (indispensable)
  • Radio de 5GHz (importante, para evitar interferencias de hornos microondas, walkies, bluetooths, las mil wifis de los vecinos....)
  • Posibilidad de meterle Linux (importante)
  • Modem ADSL
  • Puerto USB para discos
  • Switch gigabit
Dado que ninguno cumplía con todos los requisitos acbaé comprando en pixmania el Linksys WRT610N, que tiene de todo menos modem ADSL, pero además puede usar las bandas de 2,4GHz y 5GHz a la vez, dado que tiene 2 radios.

Con el WRT610N sí que me pude conectar a la wifi en modo N, tanto en 2,4 como en 5 GHz, pero con resultados un tanto decepcionantes. Pra las pruebas conecté el X200s a la wifi a 5 GHz, para evitar cualquier tipo de interferencia de la banda de 2,4. Ejecutando como root "ping -f -s 20000" me daba una velocidad por debajo de 3,5MB/s. Teniendo en cuenta que con 802.11g me daba por debajo de 2MB/s, supone un rendimiento de apenas el 170%, cuando supuestamente debería dar un 600%.

Dejando el ping a un lado, ya que peude estar limitado por la CPU del router, conecté mi AspireOne por cable y me baje un fichero grande del servidor web en la wifi. Nada, los mismos 3,5MB/s. Para descartar un posible cuello de botella en la ethernet del Acer, conecté el server al switch, esta vez gigabit (el Acer es 10/100). Repetí la prueba y dió unos más que decentes 11,2MB/s, casi el límite teórico de una ethernet 100Mbps, así que la tarjeta del Acer estaba perfectamente.

Tras esta decepción pensé durante un rato alguna otra soulción, puesto uqe había leído por internet que la gente le sacaba 110Mbps al router y yo no llegaba ni a 35. Probé en el otro sentido, ya me sonaba que podía ser asimétrico, aunque no debería. El problema es que no estaba por la labor de instalar un apache o ftpd en el Acer sólo por probar, así que tocaba recurrir al ingenio:
# dd if=/dev/urandom of=/tmp/test bs=1M count=80
# pacman -S netcat
# nc -l -p 8080 -e "cat /tmp/test"

Y problema solucionado, ya tenía un servidor escuchando en el puerto 8080. Elegí usar urandom y no zero por evitar el uso de cualquier compresión a cualquier nivel, por si acaso. Y dado que el AspireOne tiene discos SSD que parece que son tirando a lentillos, /tmp era una punto de montaje tmpfs, es decir, en RAM.

Resultado: unos consistentes 7MB/s, oscilando entre 6,85 y 7,1. Ya era una gran mejora, aproximadamente un 400% del rendimiento de una wifi 802.11g. Pero por un lado no llegaba ni a 70Mbps y por otro seguía siendo asimétrico, como si en la subida no se usara canales de 40MHz.

Como no perdía nada, arranqué Windows Vista. Sí, sigo quieriendo demostrarme a mi mismo que no es tan malo. Y esta vez el Windows se portó bastante mejor que Linux. Para empezar, tanto Windows como la herremienta de Lenovo detectaron y listaron la wifi como 802.11n, sin lugar a dudas. Luego, tras conectarse sin problemas ni "glitches", me bajé el wget para windows para uniformizar el software y repetí la prueba. El resultado fue agridulce, pero dificilmente por culpa de Windows: la transferencia superaba los 10MB/s, llegando en ocasiones a medias de 11MB/s, pero a veces la conexión se caía por varios segundos o incluso una vez por minuto y medio, como si algo por el camino se saturase. Y dada la cercanía con los 100Mbps podía ser bien el Acer o bien el router. En todo caso, el rendimiento de la wifi en Windows parece ser sensiblemente mejor que en Linux.

Deberes para casa: echarle un vistazo a compat-wireless y repetir el benchmark de la wifi a ver si mejora el rendimiento con drivers "experimentales", aparte de buscar el culpable de la inestabilidad de la la wifi a altas velocidades.

Sunday, March 8, 2009

Mensajes en el login en linux

Hoy un post informativo/note-to-self, sin criticar nada. Para variar un poco.

Hace tiempo que tenía una tare en mi TO-DO: personalizar un poco los mensajes que dan mis ordenadores al loguearse. Todos mis equipos capaces de conectarse a una red (PCs, moviles, videoconsolas...) tienen nombres de sondas espaciales. Mi primer PIII 450MHz fue sputnik y por ejemplo mi portatil principal es ranger. La idea que tenía es que al loguearse saliera un mensajito con un resumen de "la vida y obra" de la sonda en cuestión, distinto por supuesto para cada máquina. Si bien cualquiera (eso espero) sabe de que se habla si se menciona el sputnik, si hablamos de explorer, vanguard, venera o transit la cosa cambia. Y al final de tanto nomre hasta yo mismo me olvido y no me viene mal refrescarme la memoria con un mensajito. Para esto en linux hay dos opciones: mensajes antes o después del login.

Antes del login se muestra el archivo "/etc/issue" si es login local, y si es por red (ftp, etc) se intenta primero "/etc/" si existe. En caso del login ssh, hay que decirle la ruta a sshd en "/etc/ssh/sshd_config" poneindo la ruta del archivo a mostrar en la variable "Banner". En el issue se suele poner un mensaje cortito identificando la máquina/sistema operativo.

Para que el mensaje se muestre una vez validados user y pass, el mensaje va en "/etc/motd", acrónimo de message of the day. Aquí es donde va el mensaje gordo, más que nada porque al ponerlo en issue, se podría hacer un ataque DoS por medio de logins fallidos, dada la asimetría del ADSL (no es el ataque más efectivo pero prudencia nunca hay poca).

Si alguien quiere logins más divertidos tiene muchas opciones. En polishlinux explican los programas cowsay y figlet para un poco de ASCII-art. Otro clásico es fortune, un programa que saca citas aleatorias, normalmente de fráses célebres o gracias de series de TV.

Y para opciones más serias pues se pueden meter avisos de discos a punto de llenarse, errores del log... sólo hace flata meter un script en cron que actualice el motd con la info deseada, eso es cuestión de cada admin, para gustos los colores.

Wednesday, March 4, 2009

OpenWrt en Fonera 2200

Me he quedado sorprendidísimo con FON. Monstando la instalación de red de la casa he decidido desempaquetar una fonera que llevaba año en la estantería tal como la trajo en mensajero. Como suponía, era el modelo 2200, que se alimenta a 7,5V y 1A (las otras iban a 5V, 2A) y dicen que se calienta mucho menos y tal. También me sonaba que la revisión del firmware en estas era más nueva, con lo que ya no funcionaba mi método favorito para abrir el ssh, usando script injection en un formulario web.
Volviendo a la página de los alemanes que sacaron todos los ataques busqué el kolofonium, que por lo visto funcionaba con solo cambiar el DNS y ellos usaban un RADIUS trucado para abrir el ssh. Dicen en la web que loguean la IP y la MAC de cada fonera que desbloquean, lo que no me hacía mucha gracia. También era un método que dependía del servicio de terceros y dado que es de hace unos años podía estar ya retirado, pero aún así lo intenté. En la web tienen estadísticas hasta de enero de 2009, así que puede que aún funcione. Renicio, espero, resultado: FAIL.

Sigue sin haber ssh. Enruto la fonera a través del portátil y arranco el wireshark. Bien, le problema está claro. La fonera intenta bajarse el heartbeat.php y el falso que tienen montado contesta con un 403. Mal asunto. Intercepto el puerto 80 de su servidor y me hago un hearbeat.php que devuelva vacío. No le gusta. Pues uno que devuelva "OK". Le gusta. Por curiosidad miro el original de Devuelve "OK". Que originales somos los informáticos.

Bien, sigamos con el kolofonium... sin suerte. Otra vez wireshark, el RADIUS contesta con un ICMP de port unreachable. Maaaal asunto. Para comprobar el puerto de RADIUS (1812 UDP) pruebo un:

# nmap -sU -p U:1812

Y efectivamente que está cerrado. Estupendo, el RADIUS de kolofonium está caído, y por lo visto ya no está mantenido.

Busco por google, nada alternativo. Busco en la pagina de OpenWrt y dicen que ¡el RedBoot está activado por defecto! Ojo, la IP cambia de a aunque el puerto sigue siendo el 9000. Instalo putty para linux, arranco la fonera y ¡BINGO! Me bajo la última versión estable, flasheo según las instrucciones para la versión 2100 (en la wiki avisan que valen para la 2200, no era por jugar a la ruleta rusa) y ¡voilá! OpenWrt en la fonera funcionando perfectamente. O casi. Para ponerla en modo cliente+ap no vale con editar la configuración, hay que hacerlo más a mano, pero eso lo dejo para otra entrada.

El sistema ha mejorado mucho mucho desde la última vez que lo probé. Ahora ya funciona el led de la wifi, el de power es controlable por software desde "/sys/class/leds/gpio7/brightness", funciona el watchdog, la configuración del sistema es bastante más ampila, pudiendo personalizar el reset... en fin, merece la pena probarlo.

Si alguien tiene alguna duda, estaré encantado resolverla. Los scripts para el modo cliente+ap los pondre cuando estén terminados del todo.

Volviendo al tema del principio, me he quedado alucinado con fon. Al principio se tomaban tantisimas molestias por evitar que la gente trastee con el router y ahora lo dejan abierto para flasheos... aunque viendo su historial lo sería nada raro que fuera otro agujero de seguridad, jejeje.

Tuesday, March 3, 2009

Post 100!

Conociendome, creí que nunca llegaría a las 100 entradas en el blog, así que esto ya se puede considerar todo un éxito.

Coincidiendo con la ocasión, en el Media Markt hoy había "netbooks" Acer AspireOne por 150€, con 512Mb de RAM, 8Gb de HDD y Linpus Linux. El portátil mola pero Linpus es muy muy para novatos. Aparte de que los paquetes son del año de la polca. ¿Nmap 4.20? En fin, en cuanto tenga un rato cambiaré la distro.

BackTrack tiene buena pinta para los usos que le voy a dar al bicho, aunque Debian sid, Zenwalk o Slax tampoco las descartaría. O quizá haya alguna distribución especial para el Acer One, me suena que para el Eee hay alguna...

La tarjeta Atheros se controla casi casi igual que una fonera:
# wlanconfig ath0 destroy
# wlanconfig ath0 create wlandev wifi0 wlanmode sta nosbeacon
# wlanconfig ath2 create wlandev wifi0 wlanmode ap
# ifconfig ath0 up
# iwconfig ath2 essid TONTO_EL_QUE_LO_LEA
# ifconfig ath2 up

Y a quedarse con la gente en todos lados :D

Parece que no soporta tantos APs como la fonera, pero con uno hay de sobra. Y siempre se le pueden sacar usos civilizados, como compratir una conexión 3G o una wifi "auditada" con éxito, por ejemplo.

Monday, March 2, 2009

Puerta trasera en routers ADSL

Llevo un rato trasteando con un nuevo router y he intentado poner el antiguo en "modo cliente" o al menos acceder a la tabla de rutas para redirigir el trafico VoIP por donde yo quiero. Parece ser que la interfaz web es "para idiotas(R), estilo GNOME (TM)" y poner un botón de "avanzado" sería mucho pedir.

El caso es que hay una "segunda interfaz" más avanzada con más opciones (aunque por lo visto sin acceso a la tabla de rutas) donde hay apartados como SNMP o un tal TR69. El SNMP vale, pero... ¿que coño es el TR69? Ahhhh, amigos, si alguno pensó que es alguna postura sexual no ha acertado, pero no anda lejos porque bien puede servir para dar por culo. El TR69 es un protocolo de acceso remoto que sirve para que los amables ingenieros de (en mi caso) accedan a mi router y cambien lo que haga falta. Eso si, cuando digo amables me refiero a incompetentes y cuando digo ingenieros quiero decir teleoperadores. Y quien dice cambiar lo que haga falta dice cambiar lo que les salga de las pelotas. MIEDITO ME DA.

Y ya puestos a pensar en un mundo perfecto donde los ISP tienen a ingenieros capacitados y competentes atendiendo las incidencias y solucionando los problemas... ¿qué pasa si tienen un fallo de seguridad en su sistema y alguien se hace con los datos de login? ¿Qué juanker maligno no estaría dispuesto a vender parte de su oscuro sótando a cambio de unos miles de routers de usuarios a su disposición?

El ataque es trivial: Se cambian las DNS, se redirigen las peticiones a servers con malware, se instalan bots/troyanos y a recolectar contraseñas y tarjetas de crédito. Y aún mejor, ¡incluso permite cambiar el firmware!. Se redirige todo el tráfico por gateways propios y se cambia el trafico en directo. ¿Que querías transferir 20 euros a tu primo? ¿Que tal si en vez de 20 son 2.000 y en vez de tu primo es una cuenta en Nigeria? Divertido, ¿a que sí?

Para mi, es sólo cuestión de tiempo que algo así acabe pasando.

Update 4am: poniendo urls he acabado sacando la página de routing estático, sólo para llevarme un mensajito 404: cgi-bin/AddStaticRoute.exe not found. Quizá por SNMP...

Update 5am: SNMP tampoco parece que tenga info de rutas. Lo más fácil será configurar un DNS local, apuntar el router al DNS, contestar las querys con la IP del server local y en el server redirigir el trafico a la IP real a golpe de iptables. Si, son las 5 de la mañana, momento de máxima creatividad. Y de irse a dormir. Buenas noches. Mañana más.