Categoria: linux

  • Tethering, Android e Linux

    Considerato il prolungarsi dello stato digital-divided a casa, mi sono finalmente deciso a testare la connessione Internet tramite il mio fido HTC Magic.
    Le guide in rete sono svariate, ma purtroppo danno troppo spesso per scontato che uno abbia Windows nel proprio PC, tralasciando Linux e OSX. Ma fortunatamente qualche anima pia esiste, ed ora, infatti, scrivo questo post usando l’HTC per connettermi alla rete.

    Ecco come ho fatto.

    Prerequisiti:

    * un telefono con Android (HTC Magic qui, non so se per gli altri è uguale);
    * un buon piano dati, per evitare brutte sorprese;
    * il cavetto USB per collegare il telefono al PC;
    * il pacchetto openvpn installato sul PC;
    * l’Android SDK installato sul PC, giusto per avere a disposizione adb (Android Debug Shell);
    * il file azilink.ovpn salvato da qualche parte nell’HD del PC;
    * il file /etc/udev/rules.d/51-android.rules, con i giusti permessi di esecuzione (a+rx), e contenente:

    SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"

    * l’aggiunta di

    nameserver 192.168.56.1

    al file /etc/resolv.conf;

    Ora ci spostiamo sul telefono:

    * abilitare il debugging tramite porta USB (Impostazioni->Applicazioni->Sviluppo);
    * installare Azilink da qui;

    Partiamo (legenda: P == PC, T == Telefono):

    * colleghiamo T a P;
    * P: nella shell, adb forward tcp:41927 tcp:41927;
    * T: avviare Azilink e attivare il servizio; lo stato di Azlink mostrerà Waiting for connection;
    * P: nella shell, sudo openvpn azilink.ovpn, ovviamente verificando il path del file azilink.ovpn, e lasciando il terminale attivo;
    * T: lo status di Azilink passerà a Connected to host;
    * aprire il browser e godere della nuova connessione alla rete;

    Per connettersi successivamente, questi i passi necessari:

    * abilitare il debug USB sul telefono;
    * avviare Azilink sul telefono, e attivarne il servizio;
    * verificare sul PC che il file /etc/resolv.conf contenga la riga aggiunta, è possibile che il file in questione venga rigenerato da programmi esterni, come il Network Manager, ad esempio;
    * eseguire sul PC adb forward tcp:41927 tcp:41927;
    * collegare il telefono al PC;
    * eseguire sul PC sudo openvpn azilink.ovpn;

    e si dovrebbe essere in grado di connettersi alla rete nuovamente.

    Un poco macchinoso, indubbiamente, e probabilmente semplificabile tramite un qualche script, ma garantito funzionante!

    La fonte originale dalla quale ho tratto le informazioni è questa.

    Alla prox

    [tags]android, ubuntu, tethering[/tags]

  • [Tip] VMware Server 2.x in Ubuntu 9.10

    Un breve tip necessario per risolvere un problema contro il quale sono incappato.

    Una parte dell’aiuto che do al team di E17, oltre a scrivere del codice, consta nel testare l’installazione dai sorgenti nei principali sistemi BSD, in primis FreeBSD e NetBSD, OpenBSD a breve.

    Per il test utilizzo la versione Server di VMware, il noto tool di virtualizzazione.

    In seguito al recente aggiornamento di Ubuntu (9.04 -> 9.10) sono incappato un errore che mi impediva di reinstallare VMware Server, errore relativo alla compilazione dei moduli di rete per il kernel.

    Una breve googlata, nel link sottostante il workaround, testato e funzionante. Ah, il link fa riferimento all’architettura x86_64, ma è funzionante anche per la 32bit.

    VMware-server 2.0.x Installation HOWTO for Karmic Koala x86_64 | Acmelabs’ Blog.

    Alla prox

    [tags]ubuntu, karmic, vmware server[/tags]

  • Ubuntu, nVidia, e i video virati al blu

    Dall’ultimo dist-upgrade, 9.04 -> 9.10, mi succede questa cosa, e cioè i video che guardo nel portatile appaiono tutti virati al blu, con i colori palesemente incasinati.

    Dopo aver dato la colpa ad un rippaggio errato del video, e soprattutto dopo essermi accorto del malfunzionamento anche in video che in passato si vedevano bene, ho indagato un poco, ed ecco cosa ho scoperto.

    Dunque, i video non si vedono bene, con nessuno dei player installati nel sistema.

    Lancio l’utility di configurazione della scheda nVidia e, senza modificare alcunché, il video si vede correttamente.

    Chiudo l’utility della scheda video, chiudo il video e lo faccio ripartire, e colori sono nuovamente incasinati.

    Lancio allora l’utility xvinfo, che riporta informazioni sul server X, e questo è il primo output:


    X-Video Extension version 2.2
    screen #0
    Adaptor #0: "NV17 Video Texture"
    number of ports: 32
    port base: 280
    operations supported: PutImage
    supported visuals:
    depth 24, visualID 0x21
    depth 24, visualID 0x24
    depth 24, visualID 0x25
    depth 24, visualID 0x26
    depth 24, visualID 0x27
    depth 24, visualID 0x28
    depth 24, visualID 0x29
    depth 24, visualID 0x2a
    depth 24, visualID 0x2b
    depth 24, visualID 0x2c
    depth 24, visualID 0x2d
    depth 24, visualID 0x2e
    depth 24, visualID 0x2f
    depth 24, visualID 0x30
    depth 24, visualID 0x31
    depth 24, visualID 0x32
    depth 24, visualID 0x33
    depth 24, visualID 0x34
    depth 24, visualID 0x35
    depth 24, visualID 0x36
    depth 24, visualID 0x37
    depth 24, visualID 0x38
    depth 24, visualID 0x39
    depth 24, visualID 0x3a
    depth 24, visualID 0x3b
    depth 24, visualID 0x3c
    depth 24, visualID 0x3d
    depth 24, visualID 0x3e
    depth 24, visualID 0x22
    depth 24, visualID 0x3f
    depth 24, visualID 0x40
    depth 24, visualID 0x41
    depth 24, visualID 0x42
    depth 24, visualID 0x43
    depth 24, visualID 0x44
    depth 24, visualID 0x45
    depth 24, visualID 0x46
    depth 24, visualID 0x47
    depth 24, visualID 0x48
    depth 24, visualID 0x49
    depth 24, visualID 0x4a
    depth 24, visualID 0x4b
    depth 24, visualID 0x4c
    depth 24, visualID 0x4d
    depth 24, visualID 0x4e
    depth 24, visualID 0x4f
    depth 24, visualID 0x50
    depth 24, visualID 0x51
    depth 24, visualID 0x52
    depth 24, visualID 0x53
    depth 24, visualID 0x54
    depth 24, visualID 0x55
    depth 24, visualID 0x56
    depth 24, visualID 0x57
    depth 24, visualID 0x58
    depth 24, visualID 0x59
    number of attributes: 7
    "XV_SET_DEFAULTS" (range 0 to 0)
    client settable attribute
    "XV_ITURBT_709" (range 0 to 1)
    client settable attribute
    client gettable attribute (current value is 0)
    "XV_SYNC_TO_VBLANK" (range 0 to 1)
    client settable attribute
    client gettable attribute (current value is 1)
    "XV_BRIGHTNESS" (range -1000 to 1000)
    client settable attribute
    client gettable attribute (current value is 1)
    "XV_CONTRAST" (range -1000 to 1000)
    client settable attribute
    client gettable attribute (current value is 0)
    "XV_SATURATION" (range -1000 to 1000)
    client settable attribute
    client gettable attribute (current value is 0)
    "XV_HUE" (range -1000 to 1000)
    client settable attribute
    client gettable attribute (current value is -1000)
    maximum XvImage size: 2046 x 2046
    Number of image formats: 4
    id: 0x32595559 (YUY2)
    guid: 59555932-0000-0010-8000-00aa00389b71
    bits per pixel: 16
    number of planes: 1
    type: YUV (packed)
    id: 0x32315659 (YV12)
    guid: 59563132-0000-0010-8000-00aa00389b71
    bits per pixel: 12
    number of planes: 3
    type: YUV (planar)
    id: 0x59565955 (UYVY)
    guid: 55595659-0000-0010-8000-00aa00389b71
    bits per pixel: 16
    number of planes: 1
    type: YUV (packed)
    id: 0x30323449 (I420)
    guid: 49343230-0000-0010-8000-00aa00389b71
    bits per pixel: 12
    number of planes: 3
    type: YUV (planar)

    Lancio nuovamente l’utility nVidia, e poi di seguito xvinfo:


    X-Video Extension version 2.2
    screen #0
    Adaptor #0: "NV17 Video Texture"
    number of ports: 32
    port base: 280
    operations supported: PutImage
    supported visuals:
    depth 24, visualID 0x21
    depth 24, visualID 0x24
    depth 24, visualID 0x25
    depth 24, visualID 0x26
    depth 24, visualID 0x27
    depth 24, visualID 0x28
    depth 24, visualID 0x29
    depth 24, visualID 0x2a
    depth 24, visualID 0x2b
    depth 24, visualID 0x2c
    depth 24, visualID 0x2d
    depth 24, visualID 0x2e
    depth 24, visualID 0x2f
    depth 24, visualID 0x30
    depth 24, visualID 0x31
    depth 24, visualID 0x32
    depth 24, visualID 0x33
    depth 24, visualID 0x34
    depth 24, visualID 0x35
    depth 24, visualID 0x36
    depth 24, visualID 0x37
    depth 24, visualID 0x38
    depth 24, visualID 0x39
    depth 24, visualID 0x3a
    depth 24, visualID 0x3b
    depth 24, visualID 0x3c
    depth 24, visualID 0x3d
    depth 24, visualID 0x3e
    depth 24, visualID 0x22
    depth 24, visualID 0x3f
    depth 24, visualID 0x40
    depth 24, visualID 0x41
    depth 24, visualID 0x42
    depth 24, visualID 0x43
    depth 24, visualID 0x44
    depth 24, visualID 0x45
    depth 24, visualID 0x46
    depth 24, visualID 0x47
    depth 24, visualID 0x48
    depth 24, visualID 0x49
    depth 24, visualID 0x4a
    depth 24, visualID 0x4b
    depth 24, visualID 0x4c
    depth 24, visualID 0x4d
    depth 24, visualID 0x4e
    depth 24, visualID 0x4f
    depth 24, visualID 0x50
    depth 24, visualID 0x51
    depth 24, visualID 0x52
    depth 24, visualID 0x53
    depth 24, visualID 0x54
    depth 24, visualID 0x55
    depth 24, visualID 0x56
    depth 24, visualID 0x57
    depth 24, visualID 0x58
    depth 24, visualID 0x59
    number of attributes: 7
    "XV_SET_DEFAULTS" (range 0 to 0)
    client settable attribute
    "XV_ITURBT_709" (range 0 to 1)
    client settable attribute
    client gettable attribute (current value is 0)
    "XV_SYNC_TO_VBLANK" (range 0 to 1)
    client settable attribute
    client gettable attribute (current value is 1)
    "XV_BRIGHTNESS" (range -1000 to 1000)
    client settable attribute
    client gettable attribute (current value is 0)
    "XV_CONTRAST" (range -1000 to 1000)
    client settable attribute
    client gettable attribute (current value is 0)
    "XV_SATURATION" (range -1000 to 1000)
    client settable attribute
    client gettable attribute (current value is 0)
    "XV_HUE" (range -1000 to 1000)
    client settable attribute
    client gettable attribute (current value is 0)
    maximum XvImage size: 2046 x 2046
    Number of image formats: 4
    id: 0x32595559 (YUY2)
    guid: 59555932-0000-0010-8000-00aa00389b71
    bits per pixel: 16
    number of planes: 1
    type: YUV (packed)
    id: 0x32315659 (YV12)
    guid: 59563132-0000-0010-8000-00aa00389b71
    bits per pixel: 12
    number of planes: 3
    type: YUV (planar)
    id: 0x59565955 (UYVY)
    guid: 55595659-0000-0010-8000-00aa00389b71
    bits per pixel: 16
    number of planes: 1
    type: YUV (packed)
    id: 0x30323449 (I420)
    guid: 49343230-0000-0010-8000-00aa00389b71
    bits per pixel: 12
    number of planes: 3
    type: YUV (planar)

    Dopo un diff tra i due output, ecco cosa emerge:


    75c75
    "XV_BRIGHTNESS" (range -1000 to 1000)
    client settable attribute
    < client gettable attribute (current value is 1) --- > client gettable attribute (current value is 0)
    84c84
    "XV_HUE" (range -1000 to 1000)
    client settable attribute
    < client gettable attribute (current value is -1000) --- > client gettable attribute (current value is 0)

    E’ chiaro che i valori di colore e luminosità sono differenti, ed in particolare il primo potrebbe essere la causa della visualizzazione non corretta.
    Ho cercato il modo di automatizzare l’impostazione agendo sul file xorg.conf, ma senza buoni risultati; l’unica soluzione semi permanente (non ho provato a rivedere un video dopo il reboot), è questa, valida per Totem, il mio videoplayer predefinito, ma applicabile anche agli altri, direi: Preferenze -> Visualizzazione -> Bilanciamento colore -> “Ripristina i valori predefiniti”.

    Alla prox

    [tags]ubuntu, nvidia, xv_hue[/tags]

  • Postr

    Stanco della lentezza di jUploadr (un tool per uploadare le foto nel proprio account Flickr), e soprattutto della sua scarsa integrazione con il resto del sistema, ieri sera mi sono guardato un poco in giro, e greppando in Synaptic, il package manager di Ubuntu, ho scoperto Postr, un programma Python/GTK che ha il medesimo scopo.

    Ecco uno screenshot:

    postr

    L’interfaccia è piuttosto pulita, senza troppi fronzoli, e grazie all’uso delle librerie GTK l’applicazione mantiene il look&feel del resto del sistema. Il fatto che sia scritta in Python non ne riduce assolutamente la reattività.
    Unico neo, mi sembra non sia possibile creare al volo un nuovo set, ma solo usare quelli esistenti.

    A parte questo, di sicuro un ottimo tool, da valutare seriamente come alternativa al più famoso jUploadr.

    Alla prox

    [tags]postr, flickr[/tags]

  • Linux, visto da dentro

    How Software Is Built, un blog forum dedicato all’analisi dei modelli di sviluppo software, ha fatto e pubblicato una bella, lunga intervista a Greg Kroah-Hartman (blog e Wikipage), storico sviluppatore del kernel Linux e maintainer di diversi subsystem.

    L’intervista ha come argomento l’organizzazione e la gestione del source code, topic più che rilevante considerata la moltitudine di persone che scrive codice per il kernel di Linux, sia per passione che per lavoro.

    To give an example, for the 2.5 to 2.6 kernel development series, which took about two years, the top 30 people did 80 percent of the work. Now, the top 30 people do 30 percent of the work. The sheer number of developers has also increased. We were running a couple hundred developers, and now we’re running a couple thousand.

    Con un tasso di crescita del genere è molto interessante capire come il processo di sviluppo viene gestito, e come lo sviluppo stesso sia cambiato nel tempo.

    Altrettanto interessante è il concetto di fiducia (trust) da parte di Linus e dei vari maintaners:

    As I said, I maintain the subsystems such as USB, and I have people who I trust enough that if they send me a patch, I’ll take it, no questions asked. Because the most important thing is I know that they will still be around in case there’s a problem with it.And then I send stuff off to Linus. So, Linus trusts 10 to 15 people, and I trust 10 to 15 people. And I’m one of the subsystem maintainers. So, it’s a big, giant web of trust helping this go on.

    Greg Kroah-Hartman porta avanti anche un’altra iniziativa, il Linux Driver Project, progetto atto a facilitare il porting e/o la scrittura di device driver per quelle aziende che desiderano rendere i propri prodotti HW fruibili anche da una utenza non Windows.

    The Linux Driver Project started out because of the perception that Linux doesn’t support many devices. It turns out that Linux supports all devices out there. There’s really nothing manufactured today that Linux doesn’t support, in a major consumer market. There are some one-offs, like some small video-capture devices I know of that we don’t have support for, but people are actually working on those. The initial goal of the Linux Driver Project was to remove all barriers that could possibly be there, which were mostly managerial. To attain that goal, we said that we will write and maintain any driver for free for any company.

    Qui sotto il link all’intervista completa

    Interview with Greg Kroah-Hartman – Linux Kernel Dev/Maintainer.

    Alla prox

    [tags]linux, kernel, Greg Kroah-Hartman[/tags]

  • Android-x86 su EEEPC 701, nuovo test

    Rieccomi all’attacco con Android-x86 e il mio netbook, l’Asus EEEPC701.

    Un breve riassunto della puntata precedente, con la versione 0.9.
    Dopo una installazione semplice semplice, il mio netbook è rimasto praticamente inutilizzabile, con il processo browser impossibile da avviarsi. E senza browser si va poco in avanti. Non sono stato in grado di installare alcuna applicazione, nè direttamente dal browser (finchè è andato) nè dal Marketplace con un client apposito.

    Questa volta con la versione 1.6 di Android-x86 (qui la ISO), e posso affermare che i passi avanti sono stati notevoli, anche se qualche bug qua e la e’ ancora presente.

    Le novità che ho gradito di più sono la quantità di applicazioni installate di default, più numerose rispetto alla release precedente (tra le quali vi è il client per l’accesso al Marketplace), e l’installer testuale, che ora gestisce filesystems di tipo ext3, ext2, ntfs e fat32. Qui la release note completa.

    Il boot è molto veloce, il sistema veramente scattante, sembra proprio che il mio netbook possa godere di nuova vita.

    Proseguo con i test, stay tuned :)

    Alla prox

    [tags]android, adroid-x86, eeepc701[/tags]

  • FOSDEM2010

    Il 6 e 7 febbraio 2010 Brussel ospiterà la decima edizione del FOSDEM, acronimo che sta per Free and Opensource Software Developer European Meeting.
    Il team di Enlightenment sarà parzialmente presente.
    La relativa vicinanza a Brussel è una occasione ghiotta per gli utenti e sviluppatori italiani di E17 (tipo me, eh) per poter conoscere di persona altri utenti/sviluppatori europei,
    Non si è interessati ad E17? Niente paura, al FOSDEM saranno presenti altri nomi blasonati! Qualche nome dall’edizione 2009? Debian, Drupal, GNOME, KDE, Mozilla, RubyOnRails (qui l’elenco delle devrooms dell’edizione 2009).

    Io ci faccio un pensierino!

    Alla prox

    [tags]fosdem2010, e17, enlightenment[/tags]

  • Android-x86 su Asus EEEPC 701

    Ovvero come giustificare finalmente la presenza del netbook nel marasma dell’angolo tecnologico della casa.

    Allora, ho ereditato l’ASUS EEEPC 701 Surf 2G (pimpato da una SCHD da 4 oppure 8GB) da mio babbo per scopi educativi, tipo “ormai l’ho preso, ma non riesco a farci niente, vedi un pò tu”. Inizialmente montava l’OS di default, e cioè Xandros, che ho prontamente arato per smanettarci un poco. Se non ricordo male, il primo OS testato era gOS, scelto perchè montava il mio DE preferito, E17; ma è durato poco, l’integrazione tra il DE e l’Ubuntu sottostante non era perfetta, e soprattutto risultava difficile gestire alcune finestre che sbordavano verso il basso, nell’esiguo 7″ che monta questo netbook.
    Sono poi passato a Easy Peasy, che per primo mostrava l’innovativa interfaccia Netbook Remix, specifica appunto per questo tipo di device; ma la presenza di Ubuntu era sempre troppo ingombrante, e l’interfaccia era anni luce dal poter essere descritta come fluida.

    E il giocattolino è rimasto fermo per diversi mesi. Ero addirittura tentato di installarci un qualche *BSD (tipo NetBSD), giusto per riuscire a rosicare un pò di risorse il più per la parte grafica.

    Poi, qualche giorno fa ho letto questo articolo su OssBlog e, positivamente incuriosito, ho deciso di tentare la fortuna, per rendere il netbook simile a qualcosa di realmente utilizzabile. E questo è quanto osservato finora.

    Il test

    Prerequisiti
    * Il netbook;
    * I’immagine ISO del LiveCD (io ho usato questa);
    * un pendrive grande a sufficienza da contenere la ISO;
    * unetbootin (o qualcosa di simile per flashare il pendrive e renderlo bootabile);

    Steps
    * Flashare nel pendrive la ISO con il proprio tool preferito, ricordandosi di rendere bootabile il pendrive;
    * Bootare il netbook con il pendrive inserito, ricondandosi di selezionare il boot da USB;
    * Selezionare, nel menu che appare, la modalità di boot preferita (sessione live oppure installazione su disco);
    -> Partenza live: boot piuttosto rapido, e a meno dell’impossibilità di salvataggi persistenti non ho notato grossi rallentamenti;
    -> Installazione su disco: un poche richieste, selezione del disco, tipo di filesystem, installazione o meno del bootloader;
    Poi scelta tra reboot o partenza.
    * Ecco, ora, in un modo o nell’altro, avete una sessione funzionante di Android sul vostro netbook :)

    Annotazioni
    * La rete WEP è stata vista senza problemi, e la connessione è rapida e indolore;
    * Dopo lo stand-by, il sistema fatica un pò a riconnettersi;
    * Ho trovato il touchpad un pò scomodo da usare, mi muovo meglio con la tastiera;
    * Il tasto ESC chiude la finestra corrente;
    * Il tasto Menu (a dx della barra spazio) fa apparire il menu contestuale nel footer del display;
    * Non so come installare una applicazione dal Android Market;
    * Per scrollare una pagina, left click + touchpad

    Per ora, questo è quanto emerso dal veloce test effettuato questa sera; il sistema è molto veloce, e fa sembrare l’Ubuntu installato in precedenza un grosso lumacone. Sembra proprio che Android sia riuscito a dare un senso questo netbook (IMHO).

    Alla prox

    [tags]eeepc 701, android[/tags]

  • easy_e17.sh arriva alla release 1.3.0

    In data odierna è stata rilasciata la release 1.3.0 di easy_e17, uno degli shell script più famosi per l’installazione di E17 direttamente dal source code.
    E il mio preferito, ad essere onesti.

    Questa release introduce alcune interessanti novità:

    • lo scaricamento dei pacchetti, che facilita le cose per i non sviluppatori, salvaguardando disco e banda
    • la notifica onscreen delle operazioni, usando il modulo “Notification”, che ovviamente va caricato
    • un nuovo parametro della commandline, –srcmode=[packages|full], che gestisce appunto il download dei sorgenti

    Inoltre, in seguito allo spostamento di ETK, uno dei toolkit principali assieme a EWL, in OLD, è stata fatta un pò di pulizia nell’elenco dei pacchetti installabili, eliminando quelli che ne dipendevano.

    Per avere una anteprima delle opzioni utilizzabili, lanciare da console :

    massi@e-laptop:~$ $ easy_e17 --help

    Happy hacking, e alla prox

    [tags]easy_e17, e17, enlightenment[/tags]