mercoledì 9 settembre 2015

Cisco Pix 501 - Resettare la password

Mi e' stato prestato un Cisco PIX 501 (che oramai prendeva polvere in un rack) per imparare un po' ad usare la configurazione via Cisco IOS, l'interfaccia a linea di comando al posto di quella tradizionale via web che si trova oramai su praticamente tutti i dispositivi di rete
Si tratta di un dispositivo molto vecchio (nato nel 2001 ed uscito di produzione nel 2008) che si trova su Ebay a 15 euro





Il primo problema e' che il dispositivo era protetto da password (ed oramai chi me lo ha prestato) non ricorda quindi e' stato necessario prima resettare la password di amministratore del dispositivo

Per fare si procede trovando il cavo di Consolle Cisco. Si tratta di un cavo seriale che ad una estremita' ha un comune DB-9 mentre all'altra' riporta un connettore RJ-45 ..tanto per fare le cose semplici





-----------------------------------------------------------------------
                               ||        ||
                               ||        ||
                              ||||      ||||
                          ..:||||||:..:||||||:..
                         c i s c o S y s t e m s
                        Private Internet eXchange
  -----------------------------------------------------------------------

Fortunatamente qualche anno fa ne avevo tenuto uno preso da una scatola che stava per essere gettata.

Si inizia quindi connettendo il dispositivo al PC (connessione seriale 9600 8N1) e si attende il boot del PIX senza premere nessun tasto. Si deve prendere nota della versione del sistema operativo (evidenziato in giallo nel listato sottostante)
---------------------------------------------------------------------
Cisco PIX Firewall Version 6.3(5)
Cisco PIX Device Manager Version 3.0(4)

Compiled on Thu 04-Aug-05 21:40 by morlee

local up 35 mins 15 secs

Hardware:   PIX-501, 16 MB RAM, CPU Am5x86 133 MHz
Flash E28F640J3 @ 0x3000000, 8MB
BIOS Flash E28F640J3 @ 0xfffd8000, 128KB

0: ethernet0: address is 0016.c836.xxxx, irq 9
1: ethernet1: address is 0016.c836.xxxx, irq 10
Licensed Features:
Failover:                    Disabled
VPN-DES:                     Enabled
VPN-3DES-AES:                Enabled
Maximum Physical Interfaces: 2
Maximum Interfaces:          2
Cut-through Proxy:           Enabled
Guards:                      Enabled
URL-filtering:               Enabled
Inside Hosts:                Unlimited
Throughput:                  Unlimited
IKE peers:                   10

This PIX has a Restricted (R) license.
---------------------------------------------------------------------

A questo punto si va sul sito CISCO e si scarica il firmware corrispondente esattamente alla versione installata e si crea un file server SFTP su una macchina di riserva dove depositare il file (diciamo che questa macchina ha come indirizzo 192.168.1.1, per impostare il server si puo' leggere questo post)

Si collega il Cisco spento con il cavo seriale alla macchina di riserva e ci si mette in ascolto sulla porta seriale (il cavo di rete si inserisce nell'hub a 4 porte e non alla Wan)
Il boot del Pix si interrompe per qualche secondo durante il quale si deve premere un tasto in modo da entrare in funzione monitor

Si digitano quindi i seguenti comandi
interface 1 (si selezionano le porte dell'hub, la zero e' la Wan)
address 192.168.1.2 (ip del PIX sul lato interno)
server 192.168.1.1 (ip del server TFTP)
file pix63.bin (nome del file di firmware prima scaricato)
ping 192.168.1.1 (verifica che il Pix riesce a pingare il PC)
tftp (inizia il trasferimento del file)

Do you want to enter a new activation key? [n] n

al riavvio successivo si trova che le configurazioni del PIX sono rimaste identiche (e' stata resettata solo la password). Se si digita il comando enable (ovvero quando si entra nel profilo amministratore) viene richiesta la password e cio' e' un po' fuorviante. Basta digitare Invio e il prompt si modifica dal segno maggiore a cancelletto per indicare che si e' entrata nella shell di amministratore

Per vedere come sono configurati gli indirizzi del terminale (in modo da abbandonare il cavo di console e mettersi in collegamento via cavo di rete si puo' usare il comando

show ip

Ci si puo' quindi connettere via telnet con password cisco

Per configurare il terminale si digita

configure terminal

in questo modo si puo' attivare l'interfaccia web con iil comando
http xx.xxx.xxx.xxx (mettere l'ip interno al posto delle x)
http server enable

Ci si connette quindi via https al Cisco. Curiosamente Firefox non permette di connettersi per un problema sulle chiavi SSL (e' un bug attuale di Firefox)

Su Chrome si arriva alla pagina di autenticazione (si devono lasciare bianchi il campo user/password e premere invio in quanto e' stata resettata la password) e si arriva ad una pagina con l'immagine di Cisco PIX Device Manager 3.0 senza pero' poter far niente. Da Midori invece l'immagine e' cliccabile e porta sul sito della CISCO dove si trova che il prodotto e' End-of-Support e non si puo' scaricare il controllo via web 

Immagine ripresa dal web di come si presentava il Device Manager

anche per quanto riguarda SSH ci sono un po' di problemi (le istruzioni dettagliate sono qui)


configure terminal
ca generate rsa key 2048
ca save all
ssh xx.xxx.xxx.x 255.255.255.255 inside (ip interno del router al posto delle x)
ssh timeout 60
enable password xxxxxx 
passwd xxxxx
se si cerca di connettersi con un client "moderno" si scopre che il protocollo SSH in uso e' la versione 1 (tutti i client moderni usano solo il protocollo versione 2 e quindi rifiutano la connessione)

rimane quindi la configurazione da linea di comando che puo' essere fatta in modo speditivo con il comando 
setup che permette una configurazione veloce degli IP interni ed esterni
per riportarlo allo stato di fabbrica configure factory-default

In buona sostanza un bel giocattolino ma adesso non puo' essere usato come macchina di produzione

Analisi di due backup battery solari

Premessa : entrambi gli oggetti in  foto non funzionano completamente e comunque hanno dei limiti di progettazione
Si tratta di due batteria di backup rispettiavamente da 5000 mAh e 10000 mAh


il problema di progettazione e' che in nessuno dei due casi il pannello solare puo' ricaricare la batteria interna in modo efficiente. Entrambi hanno un pannello solare da 1.5W e su quello giallo e' dichiarato che in alimentazione solare eroga 200 mA. Quindi, tenendo conto che anche per il modello nero le prestazioni siano simili, sono necessarie rispettivamente 25 ore e 50 ore di esposizione a pieno sole per la ricarica della batteria (e non e' una buona idea lasciare 25/50 ore sotto l'insolazione diretta delle batterie Lipo con il conseguente surriscaldamento e probabilita' di esplosione....il costruttore lo sa e per questo motivo nelle specifiche indica come massima temperatura di esercizio 45°C

Modello 1 (Giallo e verde)
Questo dispositivo si ricarica normalmente via microUsb da alimentatore di rete. Il problema e' che il pannello solare non ricarica la batteria. Collegando un tester si vede anche che, esposto alla luce solare, non solo non carica la batteria ma non manda nemmeno tensione sulla porta USB di uscita


per capirci qualcosa ho provato ad aprilo. Non ci sono viti a vista ma alzando la gomma verde si vedono delle clip automatiche in plastica (sono 8 in tutto)


Una volta guadagnato l'accesso all'interno si vede che il pannello solare e' fissato con clip al coperchio superiore ed ha una tensione di uscita di 3.7V. E' saldato piuttosto male ed e' stato sufficiente una piccola torsione del filo per staccarlo da circuito integrato di ricarica

Modello 2 (Nero)

E' molto piu' semplice da aprire tramite 8 viti che aprono due semigusci.
Da una verifica sui contatti interni si vede che il circuito di carica funziona, la batteria interna effettivamente e' carica ma non eroga corrente sulle porte Usb in nessuna condizione. Il pulsante di accensione funziona correttamente quindi il problema sembra risiedere nel circuito di erogazione della corrente (fondamentalmente non riparabile)
Al contrario del modello precedente se si mette il pannello solare (in pieno luce, diretta, senza un minimo di penombra altrimenti non funziona) sulla porta Usb si ha corrente (5.,4 V) quindi non si puo' usare la batteria ma si puo' usare il pannello solare per alimentare qualcosa di piccolo e poco esoso di corrente come una Arduino

In estrema sintesi non vale la pena di spendere soldi su questi dispositivi poco costosi ed a pannello solare (le soluzioni a pannello solare "serie" hanno costi dell'ordine di 150 euro, questi pacchi batteria possono essere acquistati per 15 euro....

venerdì 4 settembre 2015

Microfono Keyes per Arduino


Mi sono comprato un paio di modulini Keyes con microfono per provare a registrare suoni con Arduino (ed anche per provare la modalita' Fast Analog Read)

La scelta e' caduta sui microfoni Keyes che hanno una uscita analogica ed una uscita digitale (superata una certa soglia lo stato digitale si alza ad 1)
Il modulo ha anche un trimmer (in blu) con una vite che non sembra avere un fondo scala


Come semplice prova ho collegato Vcc, Gnd ed A0 e montato lo sketch Basic/AnalogReadSerial

--------------------------------------------
void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  delay(1);     
}
--------------------------------------------

sul lato PC per vedere in diretta i dati ho preso un esempio di Processing

--------------------------------------------
import processing.serial.*;

Serial myPort;        // The serial port
int xPos = 1;         // horizontal position of the graph 

PrintWriter output;
//Variables to draw a continuous line.
int lastxPos=1;
int lastheight=0;

void setup () {
  size(600, 400);        
  println(Serial.list());
  myPort = new Serial(this, Serial.list()[1], 9600);  //
  myPort.bufferUntil('\n');
  background(0);      // set inital background:
  output = createWriter("dati.txt"); 
}

void draw () {
}

void serialEvent (Serial myPort) {
  String inString = myPort.readStringUntil('\n');
  output.println(inString);
  if (inString != null) {
    inString = trim(inString);                // trim off whitespaces.
    float inByte = float(inString);           // convert to a number.
    inByte = map(inByte, 0, 1023, 0, height); //map to the screen height.

    stroke(127,34,255);     //stroke color
    strokeWeight(4);        //stroke wider
    line(lastxPos, lastheight, xPos, height - inByte); 
    lastxPos= xPos;
    lastheight= int(height-inByte);

    if (xPos >= width) {
      xPos = 0;
      lastxPos= 0;
      background(0);  //Clear the screen.
    } 
    else {
      xPos++;
    }
  }
}
--------------------------------------------

Alla prova dei fatti il sensore si rileva estremamente poco sensibile anche in modalita' analogica. Si osservano variazioni sensibili di corrente solo per rumori molto forti e vicini


Anche agire sul trimmer non migliora la situazione. Di fatto si alza e si abbassa solo l'offset della misura (il grafico si muove lungo l'asse Y) ma non si hanno miglioramenti della misura

Fondamentalmente inutile

mercoledì 2 settembre 2015

Moto E - Nessun suono dallo speaker

Ieri il telefono di mia moglie, un Motorola Moto E, di dubbio successo (dopo un anno ha diversi problemi di batteria) ha smesso di emettere qualsiasi tipo di suono (suonerie, musica, audio del telefono)


Dopo aver verificato tutte le impostazioni software (tutti i volumi al massimo, niente modalita' "non disturbare") ed il classico riavvio, il problema permeneva
Ho notato pero' che la custodia esterna era spaccata. Dopo aver rimosso la cover posteriore ed aver effettuato una leggera pressione circa ad un 1/4, 1/5 dell'altezza del telefono sul retro il telefono ha iniziato a funzionare.Probabilmente era passato la mano di qualche infante che ha lanciato il telefono a terra....

martedì 1 settembre 2015

Vysor - Android remote control

Uno dei problemi nel mostrare come funziona una applicazione, specialmente ad un gruppo di persone contemporaneamente, e' quella di condividere lo schermo in tempo reale (magari su un videoproiettore)

La soluzione definitiva e' Vysor, una estensione per Chrome, che via Adb permette di controllare con tastiera e mouse in modo remoto il telefono e di avere lo schermo del telefono replicato in tempo reale sul monitor del desktop (a questo punto basta connettere il video proiettore al desktop ed il gioco e' fatto)



Seppur in beta l'applicazione funziona bene (non ho avuto modo di sperimentare crash particolari)
Testato su Moto G 2013

Cookie Consent

Su segnalazione di Google AdSense, ho visto che per una normativa europea, e' necessario inserire un avvertimento sul tracciamento dei cookie

Il sistema piu' semplice e' stato quello di usare il sistema di SilkTide (open source e gratuito) che indica di aggiungere alcune righe (da copiare ed incollare prima della fine dell'intestazione del template del sito)




Funduino Mini Pro


Mi sono state prestate un paio di cloni Arduino riconducibili ad Arduino Mini Pro
La prima e' una Funduino mentre l'altra non riporta nessuna indicazione


Le schede sono estremamente piccole (si veda per confronto una moneta da 2 centesimi di euro) ed e' estremamente difficile capire sia il pinout delle schede (un po' per la mancanza di spazio un po' per la pessima qualita' di stampa).Per questo motivo riporto lo schema

Per programmare la scheda si deve usare il modulo usb2serial light (da notare che per il corretto allineamento la Funduino risulta rovesciata -pin in alto - rispetto al modulino USB)



Nell'IDE Arduino si deve scegliere come modello Arduino Pro o Arduino Mini Pro (5V 16 MHz) w/ AT mega328

 Per provarla ho connesso un modulo a due relay (anche questo in prestito). Il modulo funziona esattamente come il modulo singolo tranne per il fatto che, oltre a VCC e GND, ha due ingressi IN al posto di uno solo
Connettendo gli IN ad una uscita digitale e settando gli stati delle porte digitali si puo' aprire o chiudere il contatto dei due rele' in modo separato

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...