lunedì 28 novembre 2011

[Dev] Android 4 Ideos U8150 "Ice Cream Sandwich"

Salve sono riuscito a compilare ICS in ARMV5 tramite i sorgenti Android AOSP, partendo dai file di configurazione della CyanogenMod per l'Ideos pubblicati su github. Ho dovuto applicare alcuni fix per completare la compilazione e far avviare ICS sull'ideos, una modifica importante che ho fatto grazie all'aiuto di EstebanSannin è stata quella di abilitare nel file config del kernel Ideos tramite make menuconfig in Power management options - User-space screen access (sysfs interface) - Sysfs interface i file in /sys/power/, infatti senza di essi la rom non si avviava, nel logcat di adb dava questo errore di SurfaceFlinger:

ANDROID_WAIT_FOR_FB_WAKE failed (Bad file number)
ANDROID_WAIT_FOR_FB_SLEEP failed (Bad file number)

La rom è abbastanza veloce e fluida, ma purtroppo non funziona il modulo telefonico, l'audio, fixato il mount della microsd sul device ma non va il mount sul pc, non va la fotocamera, il bluetooth, la vibrazione dei softkey, il solito bug del MAC del wifi e altre cose. Spero che si potranno fixare piano piano tutti questi problemi, allego alcune foto. Enjoy




DOWNLOAD VERSIONE BETA

http://dl.dropbox.com/u/64550987/ideos-ics-armv5.zip

Thread su XDA e Myppc

http://forum.xda-developers.com/showthread.php?t=1366342

http://www.myppc.it/web/community/viewtopic.php?f=126&t=6824

Sto provando pure a compilare ICS anche per armv6, appena riesco posto la rom :)

DOWNLOAD PORTING ICS C8500 PER IDEOS U8150
http://dl.dropbox.com/u/64550987/ics-cine.zip




sabato 12 novembre 2011

[Manuale] Il Sistema Operativo Android

Salve a tutti, ho scritto un manuale che parla del Sistema Operativo Android. Cos'è e come è fatto Android, come modificare una rom, cos'è il boot, la system e la recovery, come compilare un kernel android, come compilare android dai sorgenti, cross compilare programmi unix/linux ed altro :D

lunedì 3 ottobre 2011

Web Server e programmi cross compilati per il fw azbox sul decoder pirelli stb hy100/101

Per chi possiede un decoder pirelli stb hy100/101 alice home tv sbloccato può inserire nella sua pendrive dove c'è caricato il fw azbox un web server creato da me con il layout delle pagine web create da EstebanSannin e alcuni programmi che possono servire. Per la procedura di sblocco del decoder vi consiglio di leggere il forum di ilpuntotecnicoeadsl "Nuovo STB Alice homeTV by Pirelli" e "STB Pirelli - Sviluppo fw AZBox", dovete registrarvi per accedere alla sezione hacking adsl e il wiki http://hy100wiki.algasystems.net/wiki/doku.php/azbox_firmware anche se non è molto aggiornato.
Personalmente il mio pirelli stb hy100 l'ho sbloccato tutto da telnet usando questo pacchetto http://www.multiupload.com/57EKVC59XJ e questa guida http://www.box.net/shared/xsnbiranfl.

Link programmi cross compilati (file,htpasswd,nano,scp,dropbearkey)

Link utili:
http://wiki.opentvix.com/Sigma_Tools#SMP86XX_Toolchain

Credit:
Morfes (compilazione e sviluppo web server)
EstebanSannin (layout pagine web e sorgenti upload.cgi)


mercoledì 21 settembre 2011

Kernel usb host per Ideos

Ho ricompilato il kernel con le patch di sven per l'usb host, il kernel non ha bisogno dei moduli in quanto sono stati inseriti direttamente nel kernel, in più questo kernel ha abilitato il multitouch di TJ Style,  supporto per la swap, ext3-4, cifs, nfs. Per far funzionare l'usb host è stata disabilitata la modalità gadget, quindi non potete montare la vostra sd sul pc e usare adb tramite il cavo, potete usare adb tramite wifi, ricordo che per inserire le vostre periferiche usb come mouse o tastiera dovete avere il cavo usb autoalimentato se no non funziona. Ho ottenuto il config tramite il kernel di sven postato sul suo sito ed ho abilitato i moduli che ha aggiunto modificandoli da m a y, chi ha esperienza di compilazione di kernel sa di cosa sto parlando.  :D
Dovete flashare lo zip tramite le vostre recovery UltraJack o ClockWordMod senza fare nessun wipe!



domenica 21 agosto 2011

DroniX: experimental Robot with Huawei Ideos U8150

Oggi volevo presentarvi uno dei progetti in via di sviluppo targato DroniX Dev Team.

Si tratta di un primo esperimento della costruzione di un BOT utilizzando il nostro Ideos U8150.

Al momeno ho impiegato gli stessi materiali che avevo utilizzato per un vecchio progetto ossia l'AGPF Robot ( http://goo.gl/jUPMW ) in piu' ho sistemato un kernel prendendo spunto da quello sviluppato da sven, per abilitare l'usb host e tutti i moduli necessari per far riconoscere la schedina che avevo progettato in passato per il mio AGPF.

La schedina e' stata realizzata totalmente da ZERO, sia la parte hardware che il piccolo firmware che permette l'interfacciamento e la gestione con i motori.

Al momento il tutto e' ancora da sistemare, ma abbiamo ottenuto i risultati che speravamo, ossia che e' possibile gestire da remoto sia i motori che qualsiasi altra cosa.

Al momento abbiamo testato solo con la mia Schedina, ma ci stiamo gia' organizzando per effettuare il test con l'Arduino ;-)

Ecco il video (mi scuso con i linguisti per il pessimo italiano :-P



Credit by EstebanSanni e il suo team dronix




giovedì 11 agosto 2011

Cross compile File for android

Sono riuscito a cross compilare file per android dinamicamente con la ndk di android, per la guida su come installare ndk android su linux leggete qui, li ancora risulta la versione 5, ma potete scaricare dal sito ufficiale di google la ndk versione 6. Il problema maggiore che ho avuto nel cross compilare era quello di riuscire a cambiare il percorso del file magic da /usr/local/share/misc in /system/etc/share/misc, infatti senza questi files, file non funzionava e non riusciva a dare le info per gli eseguibili. I comandi dati nel configure sono questi:

$./configure --host=arm-eabi --prefix=/system/etc --exec-prefix=/system/etc --libdir=/system/etc
$make

qui potete scaricare lo zip dove trovate il programma file e i due magic files, magic e magic.mgc, in /system/etc/ dovete creare le cartelle share e misc e mettere i due magic.

mercoledì 1 giugno 2011

Porting U8180 per IdeosU8150

Vi linko il mio post e quello di udk su myppc del porting U8180 per Ideos8150

http://www.myppc.it/web/community/viewtopic.php?f=126&t=6209

http://www.myppc.it/web/community/viewtopic.php?f=126&t=6206

lunedì 16 maggio 2011

Guida per creare la swap file su sd per Android

Vi spiegerò come creare un file di swap da mettere nelle vostre rom cucinate, dovete avere una sd con almeno una partizione ext e l'app link2d, scaricabile dal market. Per creare il file di swap dovete utilizzare l'emulatore terminale di android già root o adb, da terminale andate sulla cartella /sdcard e digitate questi comandi:


dd if=/dev/zero of=swapfile bs=1M count=64


con questo comando ho creato un file di swap da 64Mb io vi consiglio di creare un file a partire da 32Mb a un massimo di 128Mb


mkswap swapfile


questo comando imposta il file di swap


swapon swapfile


questo comando l'attiva

dopo di che copiate il file swap in /data/sdext2/, io ho questa cartella perchè ho una partizione ext2 di 512Mb sulla sd, ma penso che cambia in base al filesystem creato, questa guida è stata testata solo con l'app link2SD. Affinchè tale swapfile possa funzionare sul nostro ideos, dovete avere un kernel con attivo il supporto swap. Il problema che rimane è quello di avere la swap attiva ad ogni avvio, per far questo dobbiamo creare uno script su /etc/init.d/. Lo script avvia il file swap sulla sd ext ad ogni avvio di android, ma visto che android monta la sd e la sd ext dopo che legge questi script, dobbiamo montare noi prima l'sd ext tramite questi comandi:

01swap esempio nome script su /etc/init.d


#!/system/bin/sh 
mount -t ext2 /dev/block/vold/179:2 /data/sdext2  
/system/xbin/swapon /data/sdext2/swapfile


dovete ovviamente modificare lo script in base al vostro filesystem se è ext2,ext3 o ext4


come vedete dallo script nel primo comando io ho montato la sd ext in /data/sdext2, vi chiedete come mai non montarla sulla /mnt/sdcard? perchè facendo cosi avete molti problemi con l'installazione delle app e l'avvio di alcune che utilizzano l'sd, sopratutto avremo problemi se lasciamo il file swap attivo sulla sd, infatti quando andiamo a collegare il cellulare acceso al pc la sd non viene montata, per questo grazie anche al consiglio di JackTheVendicator e di EstebanSannin, è meglio metterla nella partizione ext. Ma se non volete un avvio automatico della swap ad ogni avvio ma volete avviarla e stopparla voi, potete creare due scripts in /system/xbin come ho fatto io, cioè cosi:

startswap nome file per avviare la swap


#!/system/bin/sh 
#Avvio della swap 
swapon /data/sdext2/swapfile


stopswap nome file per stoppare la swap


#!/system/bin/sh 
#Stop della swap 
swapoff /data/sdext2/swapfile


Ah dimenticavo per rendere gli script eseguibili dovete dare questo comando:

chmod +x nomescript


Per vedere se la vostra swap è attiva date su adb o terminale il comando

free
se non capite la guida o non riuscite, aspettate la prossima versione della Dronix che avrà la swap. Come vedete ho modificato la guida, perchè finalmente almeno per ora ho trovato la soluzione per avere la swap ad ogni avvio senza alcun problema, ne di app ne di mantaggio della sd. Enjoy :D

Kernel Developer Ideos U8150

Ho pubblicato i sorgenti del Kernel 2.6.32.9 del nostro Ideos su github, le modifiche fatte sono state al file acpuclock.c per l'under e overclock da parte di EstebanSannin il file è stato aggiornato, inserito nei files board-msm7x25.c e synaptics_i2c_rmi_tm.c le modifiche di TJ Style per il multitouch e messo a disposizione anche la sua patch, aggiunto da me in /drivers/cpufreq/ tre governor l'interactive, smartass e il minmax. L'interactive è stato preso dal kernel della cyanogen, lo smartass e il minmax dal kernel hero 2.6.29.flykernel che li trovate su github. Ho inserito pure il file .config per compilare il kernel, in questo file è stato abilitato il supporto per ext3/4, swap, cifs, nfs, tun e tap per openvpn, abilitati tutti i governor. Ho voluto pubblicare tutti i sorgenti modificati per coloro che volessero apportare qualche altra modifica e compilarsi a loro piacimento tramite il menuconfig il loro kernel personale. Ringrazio il team di Myppc, di Hacklabproject e il mitico EstebanSannin che mi ha e hanno dato molti consigli e idee.Il repo verrà aggiornato anche con i lavori di esteban o di altri sviluppatori che vogliono migliorare il kernel.


Link: https://github.com/morfes/Kernel-IdeosU8150/tree/master/kernel-ideos


Guida di Esteban per compilare il kernel ideos: http://www.hacklabproject.org/drupal/content/compilare-il-kernel-dellhuawei-u8150-ideos

Guida mia per compilare il kernel ideos:

- prima di tutto utilizzate una distro debian o ubuntu
- poi aggiungete in /etc/apt/sources.list alla fine del file questi repository:

# -- Emdebian sources.list entries
#
# deb http://www.emdebian.org/debian/ unstable main
# deb http://www.emdebian.org/debian/ testing main
deb http://www.emdebian.org/debian/ lenny main

- date questi comandi per installare la toolchain di emdebian per la crosscompilazione di architetture arm:

sudo apt-get update

sudo apt-get install gcc-4.3-arm-linux-gnueabi linux-libc-dev-armel-cross

- infine andate nella cartella principale del vostro kernel e compilate con questi comandi:

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabi-

make menuconfig

make

Happy Hacking!

lunedì 2 maggio 2011

Morfes Droid 0.1 per Android Ideos

La Morfes Droid è una rom per android ideos U8150 smartphone della Huawei, creata da me, essa contiene un kernel compilato da me con frequenze da 49Mhz a 691Mhz, supporto per il filesystem ext3 - ext4 e tun - tan per openvpn. Per maggiore info visitate il mio post sul forum MyPPC: Morfes Droid 0.1.

Link dove scaricarla: Morfes Droid 0.1 .



mercoledì 6 aprile 2011

Dronix per Android Ideos

La Dronix è una rom per android ideos U8150 smartphone della Huawei, creata da EstebanSannin, ideale per tutti e per gli amanti di linux, infatti essa contiene dei programmi che vengono spesso utilizzati da utenti linux, il suo punto di forza è il suo kernel modificato per l'underclock, overclock e il multitouch, per maggiore info visitate il forum di Myppc, ecco il link del post della rom sul forum dove potete scaricarla: Dronix 0.3 power.




sabato 12 marzo 2011

Compilare ed eseguire programmi in C su android

Si, si possono compilare ed eseguire direttamente programmi scritti in C sui smartphone android, per far ciò dobbiamo prima installare una distro linux debian sul nostro smartphone. Per installare debian su android possiamo seguire questa guida che vi linko "Installare Debian su Android", è riferita per ideos ma penso che sia valida anche per tutti gli altri smartphone. Ovviamente per procedere all'installazione dovete avere installato sul vostro android busybox, emulatore di terminale ed avere i permessi di root, dopo aver copiato l'immagine di debian sulla vostra sd card, dovete anche copiare gli scripts startdeb.sh e stopdeb.sh direttamente sulla directory /data/local/bin del vostro android e dare i permessi di esecuzione ai due script chmod +x startdeb.sh stopdeb.sh. Avviate debian e tramite i comandi apt-get install build-essential installate automaticamente gcc e arm-linux-gnueabi-gcc che vi servono per compilare i files o scripts scritti in C. Affinchè un programma in C possa essere eseguito oltre che su debian anche su android, dovete compilare il programma, scritto in C con un editor come nano o vi su debian, dando questi comandi gcc nomefile.c -o nomefile -static, quindi aggiungendo anche la stringa -static. Fatto questo copiate il binario del programma sulla directory /sdcard, stoppate debian, andate su /sdcard e copiate o spostate il programma nella directory /data/local/bin di android, se serve date anche i soliti permessi di esecuzione esempio chmod 777 o chmod +x, ora potete eseguire il programma direttamente su android richiamandolo con il suo nome.




domenica 27 febbraio 2011

Configurare Busybox, compilare e installare nmap, strace e gdb su smartphone Android

Qualche giorno fa ho comprato un cellulare della vodafone ideos al prezzo di 99 euro, è un cellulare della HUAWEI. Le caratteristiche hardware di questo smartphone rispetto al suo prezzo sono ottime, anche perchè come sistema operativo usa android 2.2. La prima cosa che ho fatto oltre che a scaricare qualche apps dal market e stata quella di ottenere i privilegi di root, scaricando e installando z4root dal market di AndAppStore. Questo perchè grazie ai privilegi di root, posso installare particolari apps del market e configurare per bene il mio smartphone, visto che già ideos ha installato la versione 1.17.2 di busybox sulla cartella /system/bin, copiamolo su /data/local/bin/, ora vediamo come configurarlo seguendo questa guida: http://www.consulenti-ict.it/Area-Tecnica/Programmazione/busybox-a-android-la-command-line-facile.html su come abilitare i comandi di busybox senza ogni volta digitare ./busybox, fortunatamente su ideos già la PATH del terminale è impostata su /data/local/bin, dimenticavo per avere l'emulatore del terminale dovete scaricare sul market anche quello di android l'app Android Terminal Emulator. Invece per installare strace seguite questa guida http://www.consulenti-ict.it/Area-Tecnica/Programmazione/installare-strace-su-android.html, io ho avuto qualche difficoltà nel compilare strace su ubuntu 10.4, nei commenti della guida c'è scritto come ho risolto,

"Citazione Rodolfo Giometti:
Citazione morfes85:
ma non riesco a compilare strace, nella cartella non trovo il file configure
In che senso non trova il file configure? Non è presente nel clone dei sorgenti di strace?
Non trovavo il file configure nella cartella di strace scaricata da git,poi ho avviato il file make-dist che ha creato un archivio di strace.tar.bz2 e dentro c'era il file configure, per la compilazione a me ha funzionato con ./configure --build=arm-linux-gnueabic --host=arm-linux-gnueabi senza il none."

Invece per installare gdb e nmap ho solo scaricato i binari già cross-compilati con il compilatore arm-linux-gnueabi da qui per gdb e da qui per nmap, scaricate i due archivi zip e all'interno trovate i binari di nmap, ncat e nping o potete avviare lo script nmap.sh che fa tutto lui, ma a me lo script non ha funzionato, i binari caricateli su android ideos nella cartella /data/local/bin e date i permessi sul terminale di ideos (ovviamente dovete essere root) cosi:

$su
#pwd
/data/local/bin/
#chmod 777 nmap
#chmod 777 gdb

fate lo stesso anche con gli altri binari. Enjoy!