Eseguire comandi root su modem linkem

Qualche tempo fa ho sottoscritto il piano ricaricabile linkem che mi offriva due mesi di navigazione ed il modem incluso per 49€.

Inutile dire che il servizio era pessimo e non ho piu ricaricato per utilizzarlo oltre i due mesi inclusi.

Mi sono chiesto allora se fosse possibile riutilizzarlo in altri ambiti. Ma per far ció occorre poter avere accesso root sul modem.

In effetti é molto semplice. Se non volete aprire il modem per accedere alla porta seriale si puó sfruttare una vulnerabilitá dell’interfaccia web.

Collegatevi alla pagina Manutenzione -> Test di Rete

avrete lo strumento per effettuare il ping. In pratica la pagina nn fa altro che concatenare una stringa che contiene il comando ping con il contenuto della textarea ma prima di far ció controlla che la textarea sia un indirizzo ip.

Per bypassare questo controllo che viene fatto in javascript basta aprire i sorgenti della pagina colk votro browser ed aprire in un nuovo tab il link contenuto nel tag <iframe>.

Nel nuovo tab dopo aver editato in maniera oppportuna la textarea, apriamo la console javascript e scriviamo:

document.forms['Ping_form'].submit();

La pagina si caricherá nuovamente ed avremo l’output di ping concatenato a quello del comando chiamato.


advantech pcm-9587

Mi sono imbattuto per caso su questa scheda in un mercatino e l’ho comprata. Si tratta di un pc embedded industriale che monta una cpu intel celeron m da 600 MHz e 512 kiB di cache l2. Inizialmente volevo utilizzarla per realizzare un htpc, tuttavia ho desistito per via del connettore non standard della vga. Al posto del classico connettore vga è presente una doppia fila di pin da 2 mm di passo. Avendo a disposizione un connettore con passo adatto (quelli da 2 mm sono difficili da trovare per gli hobbisti), con il datasheet alla mano é  possibile realizzarsi un adattatore. Le altre porte con connettori non standard sono ethernet, usb, audio… Tra le porte standard abbiamo sata e ide. Sono disponibili inoltre slot pci legacy e mini pci.

Al momento la sto utilizzando come home server per la condivisioni di dati e stampante con gli altri pc e smartphone in casa e come vpn per la sicurezza quando utilizzo reti pubbliche con lo smartphone.

Uso del sensore ottico sulla mini2440

La camera fornita assieme alla mini2440 è sicuramente da preferire ad una camera usb inquanto ci permette di utilizzare la porta usb per altri scopi ( wifi, rootfs etc).
Tuttavia la documentazione è scarsa e la fotocamera non è gestibile dalla classica interfaccia v4l.
Per poter utilizzarla è necessario avere il kernel ufficiale di friendlyarm (e non quello del progetto openmoko). Se il kernel è stato compilato con i driver della camera noteremo sotto /dev il device camera. Questo è tutto quello di cui abbiamo bisogno per poter utilizzare la camera.
Come dicevo la documentazione è scarsa a riguardo, anzi inesistente, l’unico indizio che ho trovato è l’esempio camtest nel dvd del kit.
In questo esempio il programmino in questione è formato da un loop infinito che legge i dati da /dev/camera e li mostra su schermo. In particolare legge l’immagine assumendo che sia 640×512 pixel e a 16 bit, anche se in teoria la camera dovrebbe arrivare a 1280×1024 pixel.
Si può catturare un fotogramma semplicemente dando il comando:
dd if=/dev/camera of=fotogramma bs=640k count=1
Il file fotogramma conterrà esclusivamente i pixel dell’immagine senza nessun altra informazione, quindi dovrà essere convertito in un formato noto per poter essere visualizzato.

Prima app per android (player megavideo)

Ho realizzato una piccola applicazione per android si tratta di un player megavideo che userò sul mio nuovo ideos visto che è sprovvisto di flash player.

Bisogna inserire in codice del video (oppure il link) e si verrà portati ad una pagina web con il link per scaricare il video.

Sto lavorando per migliorare l’applicazione, magari per guardare direttamente il streaming il video. Nei prossimi giorni vedrò di migliorarla :)

Per chi fosse interessato ecco il link per il download:

update: corretto il bug che faceva crashare l’app se si scriveva il link invece del codice univoco del video

http://mylinuxlab.altervista.org/MegaDroid.apk

(continua…)

Mini2440: Linux & GPIO

Una delle caratteristiche più interessanti della mini2440 è il gran numero di ingressi/uscite GPIO a disposizione. Ogni singolo pin gpio può essere usato per pilotare un dispositivo come led, motori etc. E’ ovvio che carichi che assorbono correnti molto alte non possono essere collegati direttamente alla scheda ma devono essere preceduti ad esempio da dei buffers in modo che l’impedenza vista dalla scheda si molto alta.

Vediamo come si può facilmente gestire il gpio sulla mini2440 con linux. Per prima cosa è necessario che sia abilitato il supporto nel kernel:

(continua…)

Consumo energetico della Mini2440

Prima di fare queste misurazioni credevo che il consumo energetico della mini2440 fosse molto basso, adesso però mi devo ricredere, è davvero bassissimo.

(Il modulo lcd non è collegato)

Potenza Massima

Il valore che vedete è stato raggiunto solo per pochi istanti dopo l’avvio

(continua…)

Informazioni generali sulla mini2440

Ho deciso di pubblicare un articolo per fornire qualche info in più riguardo la mini2440 in modo che chiunque possa avere una idea chiara di cosa possa o non possa fare questo mini pc.

Info sul processore
mini2440:~# cat /proc/cpuinfo
Processor : ARM920T rev 0 (v4l)
BogoMIPS : 201.93
Features : swp half thumb
CPU implementer : 0×41
CPU architecture: 4T
CPU variant : 0×1
CPU part : 0×920
CPU revision : 0

Hardware : MINI2440
Revision : 0000
Serial : 0000000000000000

Info sulla memoria principale

mini2440:~# free
total used free shared buffers cached
Mem: 60088 28936 31152 0 1684 14440
-/+ buffers/cache: 12812 47276
Swap: 0 0 0

Il comando si riferisce ad una mini2440 con debian lenny appena avviata con terminale attivo su telnet; il display non è collegato nè è attivo un xserver. Come si vede sono utilizzati appena 13 mb di ram.

Velocità di scrittura sulla nand

mini2440:~# dd if=/dev/zero of=/mtdblock3/test bs=1M count=5
5+0 records in
5+0 records out
5242880 bytes (5.2 MB) copied, 0.254657 s, 20.6 MB/s

Per il momento non mi viene in mente altro :-) Se volete altre info non esitate a chiedere :)

Condivisione internet su bluetooth

In questi giorni sto cercando il modo di utilizzare la connessione bluetooth armai presente su tutti i cellulari appunto per fornire l’accesso ad internet anche a quei terminali che non hanno il wifi. Il bluetooth fa parte della famiglia ieee 802; per questo motivo a livello 3 (della pila ISO/OSI) dovrebbe supportare l’Internet Protocol e quindi la cosa sarebbe fattibile. Spero di poter postare a breve un mini hotwo.

Usare la mini2440 come router 3g (parte II)

Chi ha seguito la parte I adesso dovrebbe poter usare la scheda come router 3g, tuttavia dal momento che non esistono tariffe flat per l’internet mobile e maggior parte sono conteggiate a tempo, dobbiamo poter connettere e disconnettere la chiavetta quando ci serve ed in maniera rapida senza dover collarsi e fare il login su telnet o ssh.

Per questi motivi ho pensato di costruire una interfaccia web che ci dia la possibilità di compiere queste operazioni. Salveremo l’indirizzo ip della mini2440 (nella nostra rete wlan ovviamente) fra i preferiti, in modo da poter accedere rapidamente.

(continua…)

VNCserver sulla mini2440

Ho deciso di provare a far girare X11 sulla mini, ecco il risultato: