Archivio della categoria: Linux

Documenti, esperienze, guide, suggerimenti sul sistema operativo più discusso del momento.

Fedora e modem HSDPA ONDA MT503HS (TIM)

Anche questo modem USB funziona con Fedora senza particolari sbattimenti. La procedura è identica a quella dell’Itelco ITM22, solo che la stringa magica da inserire nel file /etc/modprobe.conf è questa:

options usbserial vendor=0x19d2 product=0x0002

Se per qualche motivo la procedura con “Espelli” non dovesse funzionare, basta aprire un terminale ed usare il comando:

$ eject /dev/scd1

dove scd1 è il CDROM simulato creato alla connessione della chiavetta. Se non avete un CD/DVD-ROM può essere scd0 oppure se ne avete due sarà scd2, insomma viene posizionato come ultimo device CD/DVD-ROM del computer.

Altre informazioni su come impostare la connessione e altre cosucce su Fedora si trovano nella procedura per Momodesign MD-@ e qui.

Fedora e modem HSDPA Itelco ITM22 (Wind)

Mi è capitato per le mani questo modem USB che, a differenza del Momodesign MD-@, non ha la commutazione manuale fra memoria flash con i driver e modem vero e proprio.

Il problema è che all’inserimento del modem nella presa USB viene riconosciuto come memoria di massa (come CDROM per la precisione), e montato come tale.

Ho fatto qualche tentativo pasticciando con udev, ma non sono molto esperto in ciò, ed il massimo che ho ottenuto è di non far montare la memoria flash all’inserimento nella presa USB, ma niente di più.

Viene riconosciuto un device USB che ha come identificativo vendor 0x1a8d e come product 0×1000. Viene rilevato come CDROM e come tale montato. Puntando l’icona che appare sul desktop col tasto destro del mouse e selezionando la voce “Espelli”, il dispositivo viene smontato e succede la magia: appare un altro device USB con lo stesso ID vendor, 0x1a8d, ma con identificativo di prodotto pari a 0×1007, e qui il tutto si ferma.

Ho fatto vari test, ed il dispositivo appare solo e solo se si lascia montare automaticamente lo pseudo-CDROM e poi si smonta da interfaccia grafica. Se si va a smontarlo con il comando umount non apparirà l’altro device, come non appare se si inserisce una regola di udev per far ignorare l’evento di inserimento del CDROM simulato.

Inoltre ho fatto dei test con il programma usb_modeswitch, che pare funzionare con l’eeePC e altri modem USB di questo tipo, ma niente. Pur ottenendo il messaggio di commutazione avvenuta, in realtà non succede nulla.

Insomma l’unico modo è quello di lasciar montare il CDROM e smontarlo a mano da interfaccia grafica. A questo punto però occorre una piccola modifica al file /etc/modprobe.conf. Aggiungendo questa riga:

options usbserial vendor=0x1a8d product=0x1007

e poi eseguendo il comando depmod -a per far leggere le modifiche al file, al successivo ciclo di inserimento/mount del CDROM simulato/umount verranno riconosciuti e configurati tre dispositivi seriali: /dev/ttyUSB0, /dev/ttyUSB1 e /dev/ttyUSB2. Il primo ed il terzo sembrano identici, mentre il secondo appare inerte.

Ebbene, usando come dispositivi il primo o il terzo, il modem Itelco funziona perfettamente. Si può seguire la procedura mostrata per il Momodesign MD-@, naturalmente sostituendo il device /dev/ttyACM0 con /dev/ttyUSB0 quando necessario.

L’unica cosa da fare da ora in poi è che quando si inserisce il modem nella presa USB occorre “espellere” a mano il CDROM simulato, dopodiché si può usare come un normale modem.

Se qualcuno trova come configurare udev o altro per aggirare questa manovra manuale, me lo faccia sapere. Io non ci sono riuscito, ma come ho detto non sono molto pratico in questo campo.

Fedora, Zenity, modem HSDPA e tempo da perdere

Ho giocato un po’ con le quattro cose del titolo, stimolato da un commento di Matteo Moro, questo. Il risultato è uno script shell molto semplice che chiede a quale porta è connesso il modem USB e mostra operatore a cui è connesso sulla rete GSM/3G ed il livello di segnale.

Se si opera da una shell, e non si ha a disposizione Zenity o un display X, lo script lavora totalmente da terminale, altrimenti passa in modalità GUI.

Per funzionare richiede che l’utente da cui viene eseguito abbia i diritti di scrittura sul device del modem. In Fedora basta assegnare all’utente anche il gruppo di sistema uucp, usando l’utility in Sistema, Amministrazione, Utenti e gruppi, oppure col comando:

# usermod -G uucp nomeutente

dato da root. Ricordo che per far valere le variazioni di permessi e gruppi ad un utente occorre terminare la sessione desktop e rientrare, altrimenti i nuovi gruppi non saranno attivi per l’utente.

E’ utile per capire se siamo agganciati all’operatore giusto e quanto segnale abbiamo senza fare strane manovre o digitare stringhe impossibili nel terminale.

Naturalmente, lo script non funziona se il modem è attivo, ossia stiamo connessi a Internet. Va lanciato prima di connettersi per controllare appunto la rete a cui siamo agganciati, ed evitare salassi al portafogli.

Lo script è qui:
ck3g (click col tasto destro e “salva con nome”). Ricordatevi di dargli i permessi di esecuzione con un chmod a+x ck3g, altrimenti non viene eseguito e lamenta un “permesso negato”. Non c’è nessun bisogno di eseguirlo da utente root.

L’utilità? Nessuna, è solo un esercizio di programmazione che mostra alcune tecniche per scrivere e leggere dai dispositivi con uno script shell, oltre all’uso di alcune funzioni di Zenity, di cui avevo già parlato in passato.

Riferimenti

Asus eeePC 900 e modem HSDPA Momodesign MD-@

Dovendo garantirmi una connessione a Internet anche in luoghi palesemente privi di prese LAN, ho fatto qualche indagine fra amici e Internet, e grazie anche ad un articolo molto dettagliato (ripreso qui), ho deciso di prendere un abbonamento solo dati con annesso modem USB, questo.

Poi, grazie al mio amico spacciatore di hardware, mi sono convinto a prendere l’Asus eeePC 900 con Linux. Appena ho potuto li ho accoppiati, e il tutto funziona egregiamente, a patto di fare qualche piccola modifica alle configurazioni.

La procedura è abbastanza semplice. Una volta connesso il modem USB all’Asus, basta andare nel menù Internet, selezionare l’icona Rete e creare una nuova connessione UMTS/HDSPA (figura sotto).

Al pannello seguente selezionare il modem H3G (figura sotto).

Poi arriva la selezione dell’operatore, necessaria per evitare salassi in bolletta. L’elenco è inizialmente vuoto, ed occorre premere il pulsante Cerca per ottenere l’elenco degli operatori a portata d’antenna (figura sotto).

Il pannello successivo permette di scegliere il gestore, e l’elenco comprende praticamente tutti quelli presenti in Italia (figura sotto).

Nell’esempio mostrato ho selezionato l’operatore H3G Italia, ed automaticamente viene inserito come APN (Access Point Name) il valore tre.it.

Ebbene, se come me avete scelto un abbonamento “solo dati”, l’APN è sbagliato. Quello inserito vale per le normali SIM abilitate sia al traffico dati che voce. Quello per le connessioni solo dati è datacard.tre.it come specificato qui.

Il problema è che se l’APN è sbagliato, la connessione non verrà effettuata ed il messaggio d’errore sarà del tutto fuorviante, lamentando apparentemente un “Protocol-Reject for ‘Compression Control Protocol’ (0x80fd) received” (figura sotto).

In realtà non c’entra nulla. Ho fatto delle prove con praticamente tutte le combinazioni di configurazione del protocollo con Fedora (successivamente ci sarà un articolo anche per questa distribuzione) ed alla fine, pur non avendo più un messaggio di “Protocol-Reject” la connessione veniva abbattuta immediatamente dal server remoto. Inserendo l’APN giusto è andata al primo colpo.

Quindi, inseriremo l’APN giusto, se abbiamo un abbonamento “solo dati” (vedi figura sotto).

Proseguendo, daremo un nome qualsiasi alla connessione, ci viene presentato un riepilogo delle impostazioni, e siamo pronti per navigare. La connessione partirà al primo tentativo senza problemi.

Analizzatore spettrografico di file

A seguito di uno scambio di idee con gli amici di CFItaly, mi è venuta l’idea di provare a giocare un po’ con l’analisi statistica del contenuto di un file generico. Non è una idea nuova (rif. Denis Frati), certamente no, ma al solito ogni tanto mi piace di curiosare in cose per me nuove.

Il risultato è un programmino semplicissimo, che ho chiamato Prisma.

L’idea è questa: in ogni tipologia di file la presenza di certi valori di byte non è casuale, ma è in qualche modo legata al contenuto del file stesso. Per cui un file di testo avrà una particolare distribuzione dei valori dei byte, mentre una immagine o un file eseguibile ne avranno una differente, anche in funzione della codifica. Analizzando le frequenze con cui ogni valore di byte compare nel file si potrebbero individuare anomalie nel contenuto del file stesso, come ad esempio un testo nascosto in un file audio, oppure più semplicemente file camuffati: immagini spacciate come file compressi e simili.

Funziona in questo modo: si forniscono in standard input i dati da analizzare, per esempio un file, e in uscita si hanno tre differenti tipi di output a scelta. Il primo, banale, è un file CSV con i dati di frequenza complessivi di tutti i dati forniti in ingresso. E’ utilizzabile per fare un grafico con OpenOffice Calc e simili.

L’altro output è grafico, sotto forma di immagine PNG, in due varianti: la più semplice mostra uno spettrogramma complessivo per tutti i dati in input, ed è semplicemente una differente rappresentazione dei dati forniti anche in CSV, tanto che si possono chiedere entrambi. La seconda opzione è più intrigante: produce una immagine larga 256 pixel in cui ogni riga è lo spettrogramma di un blocco di dati in input, e la dimensione del blocco è configurabile. In pratica si ha un colpo d’occhio sul contenuto del file, reso in forma grafica.

Spettro di un file di testo
Questo è lo spettro di un file di testo (la licenza GNU GPL per la precisione).

Spettro di un file Wave
Questo è quello che si ottiene usando un file Wave.

Spettrogramma di un file Wave
Questo invece è lo spettrogramma dello stesso file (clicca sull’immagine per la dimensione reale).

Il primo file è stato ottenuto col comando:


$ cat COPYING | prisma -p asciitext.png

Lo spettrogramma del file Wave invece è stato ottenuto col comando:


$ cat test.wav | prisma -p wave-big.png -b 100000

Per chi è interessato, il programma è rilasciato sotto licenza GNU GPLv2, ed il tarball dei sorgenti con il makefile per compilare ed installare il tutto, con tanto di pagine man in italiano ed inglese è scaricabile qui. Richiede le librerie e gli header di ImageMagick per la compilazione

Sono ovviamente graditi commenti e suggerimenti per il miglioramento.

Fedora Release Party Roma: un successo, naturalmente.

Non ho molto da dire, se non che sono estremamente soddisfatto per come è andato il pomeriggio, cosa di cui va reso pieno merito agli organizzatori, in particolare a Marco Palazzotti e Gianluca Varisco.

Presenti molte persone “comuni”, niente geek pinguinari, niente fanatismi. La curiosità intorno a Linux e Fedora c’è, e si capisce dalle domande che hanno rivolto le persone, soprattutto a Gianluca, di RedHat Italia.

La sala, messa gentilmente a disposizione dall’Associazione Sportiva Roma12, era organizzata molto bene: dieci postazioni (offerte in prestito da Ergo Italia) di libero uso con installata Fedora 9, sia in versione Gnome che in “veste” KDE4. Le postazioni erano in LAN, e per gli ospiti c’era un access point Wi-Fi aperto. Un lato della sala attrezzata con sedie ed un telo di proiezione, l’angolo dei rinfreschi ben fornito, con anche torte casalinghe fornite da alcune rappresentanti del gentil sesso intervenute alla festa, nel pieno spirito di collaborazione della comunità di Fedora.

In uno dei tavoli, quasi invisibile fra i gadget, faceva mostra di sé un XO, della organizzazione no-profit OLPC, su cui ho potuto mettere le mani. Una sola parola: sbalorditivo!
L’interfaccia utente è semplicissima, è veloce, è comodo, ovviamente per chi ha le mani piccole come un bambino, visto che i tasti sono piccoli. E non è una battuta, visto che i destinatari di questo incredibile oggetto sono proprio i bambini.

C’era una postazione automatizzata per creare versioni “live” di Fedora 9 su pen drive, che ha riscosso parecchio successo.

Anche io ho cercato di fare la mia parte, anche se non sono per niente navigato in queste cose. C’era qualcuno che è venuto con il proprio notebook per vedere se si riusciva a far funzionare qualche periferica recalcitrante. A me è capitato un portatile al quale non funzionava il wireless. Nel log del kernel c’era bene in vista il messaggio di dove andare a prendere il pezzo che mancava, ossia il firmware dai driver di Windows, che, incredibilmente, non siamo riusciti a trovare in Rete. Il colmo!

Si è parlato di Open Source, del rapporto con scuola, istituzioni e imprese. Tutto questo in maniera assolutamente tranquilla e con il tono delle chiacchiere da bar. Ma i contenuti e le idee che sono circolate erano tutt’altro che banali.

Ho potuto conoscere finalmente Serendippo, al secolo Alessandro, che ogni tanto commenta in questo blog. C’era anche Antonio, c’era il simpaticissimo Lorenzo, c’era Luca Cipriani, insomma valeva la pena esserci.

Per chiudere, ancora un ringraziamento agli organizzatori ed a tutti i partecipanti per il bel pomeriggio passato insieme.

Le foto “presentabili” che ho fatto sono qui. Qui invece quelle fatte da Gianluca.

Virtualmente: Fedora su Qemu

Se, come me, avete voglia di sperimentare cose nuove senza autodistruggervi la tanto sudata installazione di Linux su cui lavorate, potrebbe tornarvi utile la creazione di installazioni virtuali di Fedora, per esempio, da poter maltrattare a piacere.

Nella nostra distribuzione preferita, quale che sia, avremo certamente a disposizione Qemu, un completo e versatile emulatore di PC (ed anche di altro). In Fedora è fra i pacchetti pronti per l’uso e, se abbiamo aggiunto il deposito Livna, abbiamo anche a disposizione il modulo kernel per l’accelerazione (kqemu).

Partiamo con il creare il disco virtuale su cui andiamo ad installare. Qui ci riferiremo a Fedora 8, ma qualsiasi altra distribuzione è utilizzabile senza problemi. Personalmente ho installato in questo modo Debian per x86 e per ARM, Damn Small Linux, Slackware, Knoppix, System Rescue CD, RedHat 9 e varie versioni di Fedora, oltre al FreeDos, Windows 2000 e XP.

Scegliamo la dimensione del disco. Se vogliamo una installazione minima di Fedora bastano 2Gbyte, altrimenti di più, secondo le richieste della nostra distribuzione. Qui supporremo una installazione ridotta all’osso, con solo la modalità testuale, niente desktop grafico. Scegliamo 2Gbyte:


$ dd if=/dev/zero of=virt-fedora.qemu bs=1M count=1 seek=2000
1+0 records in
1+0 records out
1048576 bytes (1,0 MB) copied, 0,0111865 s, 93,7 MB/s

L’esecuzione è pressoché istantanea. Questo perché sto usando un filesystem (ext3) che permette i cosiddetti sparse files, e l’opzione seek fa il resto. Il file è visualizzato come grande 2Gbyte, ma in realtà sul disco c’è solo un Mbyte scritto. Il file si chiama virt-fedora.qemu.
A questo punto serve l’immagine ISO della distribuzione da installare, oppure il supporto, CD o DVD. Possiamo inserire il modulo di accelerazione di Qemu, da utente root:


# modprobe kqemu

Di seguito avviare Qemu per installare:


$ qemu -m 256 -boot d -cdrom Fedora-8-i386-DVD.iso -hda virt-fedora.qemu

Esaminiamo i singoli parametri per capirne il funzionamento.

  • -m 256 sta per “assegna 256 Mbyte di memoria alla macchina virtuale. Da adattare secondo i requisiti della distribuzione da installare.
  • -boot d indica alla macchina virtuale di fare il boot da CDROM. Dopo lo cambieremo in -boot c per avviare da hard disk.
  • -cdrom Fedora-8-i386-DVD.iso indichiamo a Qemu di usare un file immagine ISO. Se invece abbiamo un supporto CD o DVD, basta cambiare in -cdrom /dev/scd0 o in -cdrom /dev/cdrom.
  • -hda virt-fedora.qemu indichiamo a Qemu il file che rappresenta il disco virtuale.

Se il comando è corretto dovremmo immediatamente vedere la prima schermata di boot del disco di installazione. In Fedora 8 è questa sotto.

Nel nostro caso installeremo usando la seconda voce, in modo solo testo. Possiamo riferirci al manuale della distribuzione scelta per avere dettagli sull’installazione.

Qualche avvertenza: al momento di partizionare, il file da 2Gbyte da noi scelto viene visto ed usato come un normale disco della dimensione complessiva pari al file, quindi nello spazio disponibile ci andranno almeno due partizioni, quella di root e quella di swap, teniamone conto. La macchina virtuale avrà una scheda di rete NE2000 compatibile e scheda video SuperVGA. Qemu agirà da server DHCP, da DNS e da default router, assegnando alla macchina virtuale un indirizzo IP 10.0.2.15. Per maggiori dettagli ci riferiremo alla documentazione di Qemu.

Al termine dell’installazione possiamo configurare tutto come di nostro gradimento, poi salviamo il file del disco virtuale da qualche parte. Non lo useremo mai direttamente, ma ne faremo delle copie “a perdere” che devasteremo a piacere. Quando non serviranno più le potremo buttare e riprendere l’originale, intatto, per farne una copia di lavoro, che conserverà intatte tutte le caratteristiche dell’originale.

Gli usi possibili sono infiniti. Supponiamo di avere una immagine disco raw presa con dd al cui interno vi sono due partizioni in NTFS. Possiamo installare “virtualmente” una versione di Windows capace di leggere NTFS, e far partire Qemu con il disco acquisito raw come disco secondario. Potremo accedere alle partizioni come se avessimo installato il disco dentro un computer con Windows. Oppure possiamo far partire una macchina virtuale con una distribuzione Linux di tipo Forensics, vedi Helix, ed usare l’immagine acquisita con dd direttamente, connessa come un disco.

Insomma, ora sta a noi. Buon lavoro!

Fedora 9 a Roma: io ci sarò!

Ci siamo! Fra pochi giorni verrà rilasciata la versione 9 di Fedora. Si sta tentando di organizzare una festa per il rilascio a Roma. Per ora i dettagli sono disponibili qui e sulla mailing list dedicata agli utenti italiani di Fedora.

La data scelta è il 24 maggio, un sabato, alle ore 16.00.
La partecipazione è aperta a tutti, e saranno disponibili DVD di installazione e Live CD.

Per quanto mi riguarda ci sarò, se avete tempo passate e potremo conoscerci di persona.

Aggiornamento

Come Serendippo mi fa notare, mi sono dimenticato di citare la postazione di creazione di versioni Live su pen-drive: portate la vostra penna USB (vuota ovviamente) e potrete crearvi la vostra Fedora Live da portachiavi!

Se intendete partecipare vi prego di farmelo sapere, o di segnalarlo nella Mailing list. Ci serve per l’organizzazione.

Aggiornamenti

Ne parla anche Punto Informatico.

Durante l’evento parlerò brevemente di come Fedora mi aiuta nel lavoro di tutti i giorni.