Hardware

02
07.2008
Usb Missile Drivers per Linux

Image Hosted by ImageShack.us
Ne ho viste di cavolate da collegare alla presa usb, ma questa davvero le batte tutte.
La M&S, qualche anno fa, lancia per Natale un gadget a dir poco curioso, che magari molti di voi già conosceranno:
[youtube EmZ-QKglyrc]
La cosa impressionante è la moltitudine di driver linux (kernel o userspace) creati ad-hoc per questo "giocattolo".. ideale, sicuramente, per trascorrere qualche ora in allegria, col nostro collega di lavoro, nei pomeriggi afosi di Luglio:

  • Missile launcher google-code
  • Ian Jeffray (programmato in python tramite reverse-engeneering sui driver per windows)
  • Luke Cole USB Missile Launcher Linux Driver
  • L'unico requisito è l'installazione delle librerie di sviluppo per l'USB:

    sudo apt-get install libusb-dev

    Prendiamone uno a caso, e installiamolo:

  • Download USBMissileLauncher-1.0.tgz
  • tar xvfz USBMissileLauncher-1.0.tgz
    cd ~/cd USBMissileLauncher-1.0

    Rimuoviamo provvisoriamente i driver usb 2.0 e 1.0:

    sudo rmmod {e,o,u}hci-hcd hid

    Per pilotare i missili dalla linea di comando:

    ./USBMissileLauncherUtils -L
    ./USBMissileLauncherUtils -R
    ./USBMissileLauncherUtils -U -S 100
    ./USBMissileLauncherUtils -R -U -F

    Naturalmente le opzioni -L e -R muovono la piattaforma rispettivamente a sinistra e a destra, mentre -U e -S fanno alzare la gittata e stoppano il motore per 100ms. L'ultimo comando li muove (se ne abbiamo piu' di uno) simultaneamente verso destra fino a fare fuoco con -F.

    È possibile anche comandarli via keyboard tramite il device:

    sudo ./USBMissileLauncherUtils -c /dev/input/event0

    .. o quello corrispondente alla nostra tastiera.

    Di seguito la lista delle key-bindings:

    * Up Arrow - Muove su
    * Down Arrow - muove giu
    * Left Arrow - Ruota a sinistra
    * Right Arrow - Ruota a destra
    * F Key - Fuoco!
    * S Key - Stop

    I vari modelli, nel corso degli anni, si sono evoluti (da qualche parte ho visto persino una catapulta!) e qualcuno di questi programmatori "pazzoidi" (nel senso buono s'intende) ha gia' pensato ad altri dispositivi di controllo remoto come webcam o telefonini cellulari.

    Interfacce

    Oltre a quella in gtk, ne ho trovate altre due:

  • Qt4
  • Kommander
  • Per acquistare questa troiata:

  • Link
  • ;)

    28
    06.2008
    Uvc video e webcam al contrario - Soluzione

    Image Hosted by ImageShack.us
    Torniamo a parlare di hardware. Oggi lascio spazio ad un utente del forum di Ubuntu-it, che ha realizzato una patch per tutte quelle webcam (integrate) montate al contrario, e funzionanti (per modo di dire) con i driver UVCvideo, gli stessi utilizzati della mia webcam Chicony..che invece non è "ribaltata". Le condizioni, oltre a quella appena citata, per le quali si rende necessaria l'applicazione della patch, possiamo leggerle nella guida originale di arjos85.
    Lo spazio per i commenti è a vostra completa disposizione per qualsiasi delucidazione o richiesta di assistenza:

  • Howto webcam capovolta - fix
  • Upside-down finito!
    ;)

    19
    06.2008
    Kernel 2.6.25-7 - riepilogo

    Image Hosted by ImageShack.us
    Oggi, dopo avere un attimo messo da parte il 2.6.26rc* per via dei driver nvidia non ancora compatibili, ho installato il kernel 2.6.25-7 che sembra funzionare davvero molto bene.
    Spariti definitivamente i miei problemi di usb 2.0 (ehci-hcd) nel trasferimento files di grosse dimensioni (con server X attivo) noto anche con molto piacere che i due moduli per la sospensione e ibernazione sono rimesti immutati (funzionano come sul 2.6.24).Qualche dato tecnico .. giusto per aiutare chi avesse un hardware simile al mio:

    Sistema:

  • Sistema operativo: Xubuntu Hardy 8.04.
  • Kernel: 2.6.25-7.
  • Laptop: Lenovo serie 3000 n200.
  • Moduli inclusi nel kernel - Funzionanti:

  • Intel iwl3945 (ancora senza il supporto per il led ma con l' opzione QOS facoltativa)
  • Alsa driver versione 1.0.16rc2
  • ALC861VD Analog : ALC861VD Analog : playback 1 : capture 1
    Conosciuta anche come:
    00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03).

  • mmc_block: fondamentale per il montaggio delle schede di memoria SD (compilato STATICAMENTE)
  • ata-piix e ahci-hcd: driver per dischi SATA supportati.
  • tg3: driver per scheda ethernet Broadcom Corporation NetLink BCM5906M.
  • coretemp: driver per rilevare la T° interna alla CPU (intel core duo).
  • acpi-cpufreq: modulo per lo scaling dei processori core duo.
  • Moduli inclusi nel kernel - Non funzionanti:

  • thinkpad-acpi: ancora non esiste la patch per questo kernel, ma e' quasi sicuro che i Lenovo n200 non vengano più supportati.
    Importando la configurazione del kernel di Ubuntu (2.6.24) riusciamo comunque a far funzionare il Brightness (grazie al modulo generico ACPI) e l'OSD.
  • Moduli esterni al kernel - Funzionanti:

  • uvcvideo: per webcam integrata Chicony Electronics.
  • btsco: modulo per il trasferimento vocale via bluetooth.
  • nvidia 173.14.09: risoolto problema parsing di nvidia-settings. Scheda video in uso Quadro 7300.
  • driver per dispostivo wifi-usb Edimax - r73: Chipset Ralink. Versione svn.
  • sdricohcs: driver per multicard reader Ricoh R5C822 - R5C592.
  • AuthenTec: fingerprint reader id= 08ff:2580.
  • ____________________________

    dd

    10
    06.2008
    Monitor spento dopo il suspend - Nvidia

    Image Hosted by ImageShack.us

    Un piccolo tip per i possessori di schede Nvidia. Consiglio di leggere le seguenti guide per capire di cosa si sta parlando:

  • Pm-utils
  • Kernel 2.6.24 Suspend + Hibernate
  • Sospensione e ibernazione - Howto generico
  • Una volta appreso che la sospensione e l'ibernazione, col nostro kernel, diano l'impressione di funzionare perfettamente..bisogna lavorare sugli hook da "sganciare", per permettere un resume realmente funzionante.
    I driver nvidia sembra che impediscano (cosi' come tanti .. altri tra i quali cito i soliti snd-hda-intel e iwl3945) il ritorno dagli acpi-states (S1 e S3). Detto in parole povere il monitor rimane disattivato.
    Per ovviare a questo dobbiamo modificare alcune impostazioni del file:

    /etc/default/acpi-support

    Se avete letto le guide precedenti, dovreste conoscere ormai questo file di configurazione che permette di attivare/disattivare alcune implementazioni dell'acpi:

    gksu mousepad /etc/default/acpi-support

    Cambiamo il valore booleano da "true" (come lo troviamo di default) a "false":

    # Should we save and restore state using the VESA BIOS Extensions?
    SAVE_VBE_STATE=false

    # Should we attempt to warm-boot the video hardware on resume?
    POST_VIDEO=false

    In questo modo dovremmo finalmente "risvegliare" anche il monitor.

    NB: questo è un problema di affinatura..distinguere bene da problemi di altra natura, come la totale mancanza del funzionamento (a livello kernel) di sospensione e ibernazione!

    ;)