Recentemente ho acquistato un giocattolino che mi servirà per studiare: si tratta di router Huawei modello AR1220VW. Una bella macchinina, nulla da dire, che consente di implementare tantissime funzioni.
Il problema è sorto quando ho cercato di condividere l’accesso alla macchina, per consentire ad altre persone di potersi esercitare con quell’hardware. La soluzione dell’accesso via telnet o ssh non è praticabile, in quanto mi costringerebbe a lasciare una interfaccia sempre configurata. Pertanto è necessario accedere via CONSOLE, utilizzando un terminal server.
Come fare per esportare via web una interfaccia seriale in modo BIDIREZIONALE? Viene in aiuto RFC2217 che tuttavia non è supportato da tutti i terminali (in realtà è supportato solo dal buon vecchio KERMIT). Allora occorre inventarsi qualche cosa di diverso: la risposta è arrivata dal programma “shellinabox“. Si tratta di un piccolo applicativo linux che esporta su un socket tutto lo I/O di un programma in esecuzione. Qualche informazione si trova anche QUI.
Io lo ho configurato in questo modo: shellinaboxd -p 4200 -s ‘/:root:root:/:minicom ‘ &
Una volta eseguita questa operazione… fine del gioco. E’ possible collegarsi con il browser alla server ed interagire con il dispositivo seriale.
Fichissimo, soprattutto se si pensa che il tutto gira su una raspberry pi 2 e la connessione con il router è effettuata con un adattatore USB-Seriale. Mettendo un Hub USB e altri adattatori è possibile creare una stazione multi terminale in poche, semplici mosse!