Habilitando acceso por ssh a la fonera

Después de leer todos los comentarios de gente con problemas en el post de art-extreme y en un hilo de bandaancha comencé a tener dudas acerca de que fuese a funcionar, sobre todo después de los problemas que tuve en la fase final (y que ahora os comentaré para que no os pase lo mismo). Pero funciona, ya lo creo que funciona. Voy a tratar de describiros el procedimiento paso a paso para que no le quede ninguna duda a nadie que quiera animarse a hacerlo. Vamos allá.

Circuito convertidor RS232-TTLLo primero que necesitamos es un circuito convertidor RS232 a niveles TTL. Yo he usado el sugerido en el post de art-extreme que es el que aparece en la figura de la derecha. En el hilo antes mencionado de bandaancha aparece uno ligeramente diferente y hay quien ha mencionado por ahí que es más fácil usando el chip max323 porque los niveles TTL de la fonera son de 3,3 voltios y no de 5 como en este. También he encontrado por ahí referencias a circuitos que no necesitan siquiera el max232 e incluso tiendas que venden el conversor ya hecho. Para quien no le guste meterse “a ciegas” y quiera saber exactamente que es lo que estamos haciendo os recomiendo este breve manual sobre comunicaciones serie. Venga, no seais perezosos y echadle un vistazo que os espero.

¿Listos? Ahora hay que ir a comprar los componentes. La “lista de la compra” acciende a 6,72? de los cuales 4,41? corresponden a la placa de pruebas. Os enumero a continuación:

  • Tira pins macho 1×40.- 0,73? (me sobran 36 así que si alguien los quiere ;-))
  • Circuito integrado max232.- 0,63?
  • Zócalo circuito integrado 2×8.- 0,24?
  • conector RS232 de 9 pines acodado.- 0,52?
  • 4 condensadores electrolíticos 1µF.- 0,11? (0,029? cada uno)
  • 1 condensador electrolítico 10µF.- 0,08?
  • Placa de pruebas 3 agujeros 100×160.- 4,41?

Aparte de estos componentes necesitamos un soldador, estaño, unas pinzas, cablecillos y conectores. Para estos últimos yo he cogido algunos de viejas cajas desechadas de ordenador.

Unos consejos antes de empezar: lo más sensible del circuito es el integrado pero si no estaís acostumbrados a manejarlos quizás no sepais que no se deben de colocar en su zócalo hasta que todo el montaje no está terminado para que no reciba demasiado calor durante la soldadura lo cual podría estropearlo. Fijaos bien ahora en el zócalo y en el integrado: ambos tienen una marca en forma de media luna que sirve para que sepamos cual es la parte superior del mismo y, por tanto, la numeración de las patillas: la número 1 es la que está a la izquierda de dicha muesca y a partir de esta se sigue contando a medida que se va descendiendo hasta el fin de la fila. Luego se continua por la ultima patilla de la fila enfrentada y se siguen contando pero ahora en forma ascendente hasta la patilla superior, de forma que la primera y la ultima patilla quedan enfrentadas a izquierda y derecha de la muesca respectivamente. En cuanto a los condensadores electrolíticos lo único que hay que tener en cuenta es que la patilla más larga corresponde al positivo y la corta (que suele ir marcada en la cápsula con un signo) al negativo.

Un último consejo: cuidado con las soldaduras frías que hacen malos contactos y tantos quebraderos de cabeza dan luego. La forma de hacer una soldadura correcta es como sigue: se aplica el soldador al punto donde vamos a soldar durante un par de segundos para calentar la zona. A continuación y sin retirar el soldador aplicamos el estaño y cuando este se funde y baña la zona nos retiramos rápidamente. Cómo la placa es muy grande podeis hacer pruebas con hilos de cobre en una de las esquinas para que os sintais seguros antes de pasar a la acción. Al final os debería de quedar algo como esto:

fonera3  fonera4

Yo he “apurado” el espacio porque tengo práctica (aunque hace años que no juego a estas cosas me pasé cuatro años soldando en la formación profesional y muchos más durante y después reparando pequeños electrodomésticos), porque posiblemente corte el circuito y lo conserve para usos futuros y porque rentabilizaré el resto de la placa para otras cosas. Si vosotros no os sentís tan seguros no teneis porque hacerlo así: teneis placa de sobra y si espaciais más los componentes luego el cableado de la parte inferior os resultará mucho más fácil. Sin verguenzas :-).

fonera2Y ahora viene la parte frustante. Realicé las conexiones tal y como se explicaba en los artículos que he mencionado antes pero no conseguí que funcionara. El terminal recibía caracteres pero nada inteligible. Al principio pensé que se trataba de que había elegido mal la emulación del terminal o los parámetros de conexión y me pasé varias horas jugando con esto sin resultados positivos. Pero al final hubo varias cosas que me dieron la pista definitiva. Por un lado al escribir una orden que el router debería de reconocer (un reboot, por ejemplo) el cacharro actuaba en consecuencia, es decir “escuchaba” lo que yo escribía aunque yo no lo viera correctamente. Luego estaba lo que había leído sobre los niveles de tensión… parecía claro que el circuito no estaba correctamente alimentado y que había que alimentarlo externamente con 5v. Para ello hice una pequeña chapuza usando un cargador universal de móvil a través de USB que entrega exactamente 5v (y que me regalaron en no se que presentación de un producto comercial de Compuware… eso para quien piense que es una tontería ir a estas cosas :-)).

Vamos, pues, a explicar como queda el conexionado final:

fonera1

Vamos paso a paso. En el circuito que hemos preparado hemos dejado cuatro pines: dos de alimentación y otros dos para las señales de transmisión (tx) y recepción (rx). Los colores que he usado son los siguientes:

fonera5

  • Rojo para el positivo de alimentación (+5v).
  • Negro para el común (GND).
  • Verde para la señal de transmisión (tx).
  • Blanco para la señal de recepción (rx).

Los hilos de transmisión y recepción van conectados directamente entre nuestro circuito y la fonera en los pines que se ven en la foto de la derecha. Alimentamos nuestro circuito con la salida que nos da el cargador-USB y unimos los comunes de ambos circuitos. Encendemos la fonera, conectamos desde nuestro emulador de terminal favorito (9600,8,N,1 y sin control de flujo). Et voilà. La secuencia completa de este arranque la teneis aquí.

Ahora ya sólo nos resta hacer las modificaciones pertinentes para tener acceso a ella a través de ssh y no tener que volver a usar este engorroso procedimiento. Jauzsi explica muy bien lo que hay que hacer para ello:

  • mv /etc/init.d/dropbear /etc/init.d/S50dropbear
  • vi /etc/firewall.user
  • Quitamos los comentarios de las reglas que bloquean el acceso a través de ssh (puerto 22). Estas concretamente:
    ## -- This allows port 22 to be answered by (dropbear on) the router
    # iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 22 -j ACCEPT
    # iptables -A input_rule -i $WAN -p tcp --dport 22 -j ACCEPT
  • Salvamos los cambios (¡que no se os olvide!) y reiniciamos el router (reboot).

Y listo. Ya podemos desmontar el chiringuito. La próxima conexión a nuestra fonera la haremos como está mandado: por ssh.

    josemaria@valeria:/etc$ ssh root@192.168.1.3
    The authenticity of host '192.168.1.3 (192.168.1.3)' can't be established.
    RSA key fingerprint is d1:85:26:37:10:88:80:24:47:e3:fe:74:29:b8:fd:82.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.1.3' (RSA) to the list of known hosts.
    root@192.168.1.3's password:

    BusyBox v1.1.3 (2006.08.17-19:56+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.

    _______ _______ _______
    | ____|| || _ |
    | ____|| - || | | |
    | | |_______||__| |__|
    |___|

    Fonera Firmware (Version 0.7.0 rev 4) -------------
    *
    * Based on OpenWrt - http://openwrt.org
    * Powered by FON - http://www.fon.com
    ---------------------------------------------------
    root@OpenWrt:~#

Publicidad

9 comentarios en “Habilitando acceso por ssh a la fonera”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *