Tag Archives: udev

Aiuto: ho aggiornato gentoo e non funziona più la tastiera

Se recentemente avete aggiornato gentoo, e al successivo riavvio vi siete accorti che in X non vi era più traccia della tastiera (senza apparente errore), non vi preoccupate la soluzione è piu facile del previsto e questo nuovo tips and tricks vi aiuterá. Vediamo come risolvere il problema.

Intanto il pacchetto che ha causato questo malfunzionamento è udev. Che ha “rotto” il linking del pacchetto evdev (deputato a gestire la tastiera). Ora se avete xdm installato, per poter avviare il computer e tentare di risolvere il problema avete due possibilitá:

  • Se ssh è configurato per partire all’avvio potreste provare a  collegarvi con ssh
  • Mentre se non lo avete, o non sapete cosa è ssh invece al  riavvio del pc, quando vi si presenta la schermata di gurb, premete il tasto “e” sulla voce linux che intendete avviare, posizionatevi sulla riga di caricamento del kernel premete di nuovo il tasto “e”, aggiungete l’opzione nox che indica al sistema di non avviare x. Premete invio e poi “b”, dovrebbe partire il sistema.

Ora vi dovreste trovare la schermata di login da linea di comando, entrate come root, e date il comando:

revdep-rebuild --library libudev.so.0

Aspettate il termine, e al prossimo riavvio il vostro sistema dovrebbe esser tornato a funzionare quindi riavviate tranquillamente  🙂

Far vedere un tablet android ad adb quando non lo trova

Per il mio compleanno mi è stato regalato un tablet da 8´ della maxell. Si tratta di quei tablet economici che stanno iniziando a girare sul mercato con un prezzo intorno ai 100 euro e caratterestiche alcune volte anche discrete  (per la cronaca quello che mi hanno regalato  a parte qualche pecca, devo dire che è un device soddisfacente).

Provando ad accederci con adb shell, scopro che il mio device non viene visto dal tool. infatti digitando il comando:

adb devices

che dovrebbe mostrarci la lista dei device connessi , invece non ne mostrava nessuno. Questo perchè l’sdk android viene con un supporto per un numero di device limitato. Ma non preoccupiamoci, il problema è facilmente risolvibile in pochi passi. Vediamo quali:

  • Attaccare il device al computer
  • Tramite il comando usb-devices o dmesg individuate il vendorId del dispositivo (cmq per il maxell maxtab c8 é 2207)
  • Dopo di che aprite il file che trovate in ~/.android/adb_usb.ini (dove ~ indica la vostra home directory).
  • All’ultima riga inserite il vendor id appena trovato preceduto dal prefisso 0x, per esempio nel mio caso dovevo inserire il valore 0x2207
  • Date ora il comando:
    • adb kill-server

Riprovate ora con adb devices e il vostro tablet dovrebbe comparire. (Fino a questo punto la guida dovrebbe valere anche per windows) Se ancora avete problemi ad accedervi e il comando vi restituisce una riga di un device che ancora non riesce ad identificare, questa volta si tratta di un problema di permessi, risolvibile aggiungendo una nuova regola udev. Quindi se non esiste create il file /etc/udev/rules.d/51-android.rules (o se avete un file relativo ad android con un nome leggermente diverso potete usare quello esistente) e aggiungete la seguente riga:

SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="plugdev"

Ovviamente sostituite il il valore di ATTR{idVendor} con quello del vostro device. Effettuate nuovamenet il login, e il vostro tablet/smartphone viene visto senza problemi sia da eclipse che da adb.

E ora potete accedere alla shell del vostro tablet con:

adb shell

Prima di chiudere vi ricordo che adb é un programma che viene fornito insieme al sdk di android, quindi a meno che non lo abbiate inserito voi manualmente nei path del vostro sistema, per lanciarlo dovete trovarvi nella all’interno della cartella platform-tools che viene fornita all’interndo dell’sdk android.
UPDATE 13/08/2013

Se dopo un aggiornamento del sdk android, il vostro tablet non viene nuovamente visto, dovete prima di tutto lanciare il seguente comando:

./android update adb

(questo comando si trova all’iterno della cartella tools).

Dopo di che aggiungete nuovamente il vendor id del vostro device, nel file adb_usb.int e tutto dovrebbe tornare a funzionare.

Errore Gentoo CONFIG_DEVTMPFS=y is required

Dopo l’ultimo aggiornamento della mia gentoo mi son ritrovato davanti al seguente errore subito dopo aver riavviato il pc

* CONFIG_DEVTMPFS=y is required in your kernel configuration
 * for this version of udev to run successfully.
 * This requires immediate attention.
 * ERROR: udev-mount failed to start
 * ERROR: cannot start udev as udev-mount would not start

Ovviamente questo messaggio di errore non permetteva il boot e quindi il pc era diventato inutilizzabile. La soluzione a questo problema è abbastanza semplice. In partica implica che nel kernel non è stata abilitata una opzione necessaria alla nuova versione di udev per funzionare. Quindi per risolverlo dobbiamo prima in qualche modo accedere al sistema, per fare questo scarichiamoci dal sito gentoo una iso del sistema minimale (quella che si usa normalmente per effettuare l’installazione va benissimo).

Poi una volta scaricata e masterizzata sul pc (ovviamente questo implica di avere o un pc con dual boot oppure avere comunque una macchina utilizzabile per scaricare la iso 🙂 ) riavviamo il pc bloccato con il cd appena masterizzato. Una volta caricato il sistema live,  dobbiamo prima di tutto chrootarci nel sistema non funzionante.

Per chi non lo sappesse chroot serve per cambiare la root del sistema, con una cartella specificata dall’utente. Per farlo dobbiamo nell’ordine:

  • Montare la partizione root del sistema linux installato
  • Montare eventuali partizioni di boot (se è separata dalla root, assicuratevi di montarla che è necessaria più avanti).
  • Collegare i filesystem speciali del sistema  (dev e proc)
  • Ifine effettuare il chroot.
Se non sapete bene come è strutturato il vostro disco o non lo ricordate, usate il comando cfdisk per aiutarvi, dando:
cfdisk /dev/sdX

Sane: Rendere accessibile lo scanner anche agli utenti

Se avete installato sane e il vostro scanner funziona solo da root, ecco i semplici passi da fare per renderlo utilizzabile anche da un utente. Prima di tutto se non esiste gia create un gruppo chiamato scanner:

groupadd scanner

Dopo di che utilizzate il comando sane-find-scanner per identificare il vostro scanner, nel mio caso l’output e’ il seguente:

found USB scanner (vendor=0x04b8 [EPSON], product=0x082f [USB MFP]) at libusb:001:003

Ora con queste informazioni create una nuova regola udev, in /etc/udev/rules.d/25-libsane.rules:

# Epson Stylus DX-4000
# SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="082f", MODE="0664",
 GROUP="scanner", ENV{libsane_matched}="yes"

dove dovete idVendor equivale a vendor e idProduct equivale a product del comando sane-find-scanner. A questo punto aggiungete il vostro utente al gruppo scanner con:

gpasswd -a username scanner

e il gioco e’ fatto.

Android Lezione 7 – Usiamo un telefonino per il nostro debug (Linux)

Bene in questa lezione spieghero’ come rendere il nostro cellulare un dispositivo debug per android.

Questa operazione ci torna molto utile, in quanto l’emulatore seppur completo non ci permette di testare tutto l’hardware di cui e’ corredato un telefonino (pensiamo ad esempio al multitouch, o ai led frontali di alcuni telefonini). Tutte queste cose insieme a molte altre l’emulatore non ci permette di testarle.

Prima di tutto dobbiamo abilitare il nostro telefonino alla modalita’ debug. Per fare questo apriamo il menu impostazioni del nostro telefonino:

Continue reading Android Lezione 7 – Usiamo un telefonino per il nostro debug (Linux)