It is back

Dopo parecchio tempo, Asus Terminator K7 ha fatto il suo ritorno.

Ne parlavo tanto tempo fa qui. Su di questa piccola macchina c’erano tante belle intenzioni: sarebbe dovuta diventare operativa in breve tempo, far parte della mia rete e soprattutto svolgere il compito di acquisizione dati.

Il destino invece ha deciso per lungo tempo un’altra sorte per questa macchina.

A causa di un problema hardware ad un’altra macchina sorse il bisogno di mettere in funzione nel minor tempo possibile una macchina da usare come desktop di rimpiazzo. L’unica macchina praticamente pronta era Terminator.

Svolse il suo compito in maniera dignitosa, nonostante le sue caratteristiche hardware non esaltanti ma non poteva essere altro che una soluzione temporanea.

Riparata la macchina che Terminator sostituiva, Terminator non fece ritorno a casa: dato che c’erano dei dubbi su quanto fosse affidabile la macchina riparata e dato che ormai su Terminator era stato installato tutto il necessario rimase accantonata come macchina di riserva.

Ebbe il suo momento di gloria quando grazie alla porta parallela e a qualche strana iterazione tra i driver un vecchio scanner A3 decise che era l’unica macchina in grado di dialogare con lui.

Ma a parte questo momento di gloria, Terminator spese buona parte del suo tempo a fare quello che fanno generalmente le macchine spare non particolarmente potenti quando va tutto bene: prendere polvere.

Quando giunse una nuova macchina a sostituire quella di cui Terminator era la riserva venna fatta la rotazion, quindi Terminator divenne la riserva della riserva. La situazione non poteva durare, quindi era tempo per Terminator di tornare a casa.

Dopo aver verificato che, a parte il vecchio lettore floppy, il resto funzionava regolarmente, era il momento di installare qualcosa di interessante. L’unico sistema operativo che avevo sottomano e che era certo funzionasse era Knoppix.

Quindi adesso Terminator ha installato sul suo hard disk Knoppix, funziona regolarmente e proprio da Terminator sto scrivendo questo post.

Per il momento, Terminator si trova fianco a fianco della Sun Blade 2500: mi piace la contrapposizione tra le due macchine.

A.C.

Posted in Uncategorized | Leave a comment

Anatomia di una lampada solare

Con l’arrivo della stagione estiva si iniziano a vedere piuttosto spesso nei negozi dedicati al bricolage o nei comuni supermercati o discount lampade solari simili a quella nella foto sovrastante.

Dato il loro costo esiguo (la lampada nella foto è un esemplare a basso costo: 1 euro) sono piuttosto interessanti per i componenti che si recuperano dal loro smontaggio.

Vediamo quindi come è fatta una di queste lampade solari all’interno.

Nella foto sovrastante a sinistra c’è la parte interessante della lampada solare che contiene le tre parti smontate presenti a destra: una batteria da 600mA Ni-MH 1.2V, un piccolo pannello solare e un circuito elettronico.

Quindi, per il costo di una lampada solare si ottengono un piccolo pannello solare (a chi non piacciono i symet?) e una batteria.

Il funzionamento di una lampada solare è elementare: durante il giorno il pannello solare ricarica la batteria. Quando non c’è il sole, il circuito provvede ad accendere il led e a mantenerlo acceso fino allo scendere al di sotto di un certo valore della tensione della batteria.

In tutte le lampade il circuito è estremamente semplice: un diodo per evitare che la batteria si scarichi sul pannello solare mentre il circuito per accendere il led solitamente è un ladro di Joule, un circuito adatto ad elevare la tensione fornita dalla batteria fino a quella necessaria per accendere il led.

Un convertitore del genere è necessario per avere la tensione necessaria ad accendere il led, tensione superiore a quella massima che la batteria Ni-MH è in grado di offrire.

Il ladro di Joule non è un circuito complicato da realizzare tuttavia quello che rende molto interessante questa lampade è che il circuito utilizzato da questa lampade non è il classico ladro di Joule realizzato a componenti discreti.

Si può infatti notare come il pcb sia scarsamente popolato: abbiamo il led, un interruttore, un integrato ed un induttore.

L’integrato è un 5252. E’ possibile ritrovare il suo datasheet (o quello di uno dei suoi equivalenti) in cinese ma esistono anche traduzioni in inglese.

E’ un componente nato specificatamente per le lampade da giardino. Al suo interno contiene il diodo necessario per ricaricare la batteria senza che questa si scarichi sul pannello solare quando questo non produce energia, un circuito per stabilire quando il pannello solare non stà più producendo energia (ed è quindi il momento giusto per accendere il led) e un completo convertitore DC-DC di tipo boost che ha bisogno dell’induttore come unico componente esterno per funzionare oltre, chiaramente, al led.

Questo integrato è decisamente versatile ed è stato una piacevole scoperta nello smontaggio delle lampade solari.

A.C.

Posted in Analogico, Elettronica | 2 Comments

Bochs su Solaris 10 (SPARC)

Bochs è un programma che emula un pc di tipo x86 (in senso lato, visto che è in grado di emulare da un 386 fino alle architetture Intel x86-64). L’utilità di un emulatore del genere sono molteplici e risultano evidenti anche senza parlare delle differenze tra un emulatore come Bochs e un programma per la virtualizzazione come VirtualBox. Infatti il mio interesse per Bochs nasce dalla possibilità di poter emulare un processore x86 su una macchina SPARC.

Nel momento in cui sto scrivendo questo post, l’ultima versione di Bochs è la 2.6.1 e naturalmente è quella che ho compilato.

Purtroppo le cose non sono andate lisce come speravo.

Per prima cosa, la configurazione non andava a buon fine, segnalandomi (a ragione), l’assenza di Xrandr. Il problema è stato risolto temporaneamente usando ./configure --with-term ma la soluzione non mi soddisfa, visto che vorrei poter usare un interfaccia grafica, quindi dovrò tornarci sopra.

Seconda cosa, non sono riuscito ad utilizzare il compilatore incluso in Oracle Studio, quindi ho ripiegato su gcc.

La compilazione è andata a buon fine ma dopo aver sistemato il file di configurazione di Bochs nel momento di far partire l’emulazione Bochs usciva con il triste errore Bus Error.

Ovvero si tratta un problema di allineamento in memoria. La cosa è piuttosto fastidiosa perchè sarebbe possibile eliminarlo usando un opportuno flag del compilatore di Oracle Studio ma come ho detto per il momento il compilatore che compila è gcc.

Fortunatamente c’è una soluzione, non particolarmente elegante: inserire un istruzione in asm che richieda al kernel di gestire l’eccezione di accesso alla memoria non allineato. Questo significa pagare una penalità in velocità di esecuzione ma non avevo altre alternative.

Qui inizia il mistero.

Le fonti che ho consultato (mailing list di bochs) suggeriscono di inserire la linea di codice asm("ta 6"); all’inizio del main, prima di qualsiasi altra istruzione.

Bene, main si trova, abbastanza ovviamente, in main.cc ma io, anzichè aggiungere all’interno di main l’istruzione asm("ta 6"); ho pensato bene di inserirla alla riga 535 all’interno della funzione bx_int_main e francamente, anche se sono passate appena due settimane e anche se stavo documentando quello che facevo non ho la più pallida idea del motivo che mi ha spinto a scegliere quella linea. Non ho scritto niente in proposito quindi o mi era sembrato particolarmente ovvio il perchè avessi scelto quella linea oppure ho semplicemente sbagliato, anche se non capisco come.

In ogni caso, con quella singola linea di codice aggiunta, Bochs non solo compila ma funziona perfettamente con un’immagine di prova scaricata dal sito di Bochs.

Adesso dovrò provare le altre immagini di disponibili sul sito. Se funzioneranno, proverò a vedere se è possibile compilare Bochs usando Oracle Studio e se è possibile avere una GUI.

E non sarebbe male non avere accessi non allineati alla memoria.

A.C.

Posted in Programmazione, Solaris 10 | Leave a comment

R su Solaris 10 (SPARC)

L’ultima versione di R nel momento in cui sto scrivendo questo post è del 2013-04-03 ed è la versione 3.0.0

Avevo già installato una versione precedente sotto OpenIndiana su x86 ed ero ragionevolmente sicuro che la compilazione sarebbe stata indolore.

In effetti la compilazione è andata oltre le mie più rosee aspettative: le uniche lamentele nella fase di configurazione erano la mancanza di pdftex e pdflatex e direi che si tratta di una lamentela giustificato.

L’assenza di pdftex e pdflatex non pregiudica comunque niente dato che il loro scopo riguarda la documentazione.

La fase di compilazione è stata perfetta, nessun problema nemmeno ‘suggerendo’ l’utilizzo di cc anzichè gcc.

Il test post-installazione a sua volta è stato privo di problemi.

Adesso ci sarà qualche test d’utilizzo vero e proprio che mi aspetto venga superato senza alcun problema.

A. Cicuta

Posted in Programmazione, Solaris 10 | Leave a comment

Raspberry Pi

Un SoC BCM2835 con processore ARM11 a 700MHz, processore video VideoCore IV, sopra 512MB di ram, il tutto saldato su una piccola scheda assieme ad un LAN9512, regolatori, connettori e poco altro.

In altre parole, questa

Una simpatica board che è stata il mio regalo di compleanno (di nuovo grazie) e che ha aspettato fin troppo a lungo per essere messa in funzione e di cui da tempo volevo scrivere.

Ero stato preavvertito del suo arrivo e mi ero premunito. Sfortunatamente mentre avevo a disposizione l’alimentazione e le scheda sd mi sono trovato sprovvisto di un cavo video RCA. Visto l’intoppo ho deciso di aspettare fino a procurarmi un cavo HDMI adatto.

L’installazione è filata liscia come l’olio, qualche piccola incertezza con la tastiera USB che a quanto pare è capitata solo a me, forse dovuta all’alimentazione che controllerò comunque nonostante sia parecchio sicuro della sua affidabilità.

Adesso devo soltanto finire un contenitore con alimentazione degno e poi arriverà il momento della sperimentazione vera e propria.

Il connettore GPIO 2×13 chiaramente mi attira inesorabilmente. Ci sono così tante cose che si potrebbero fare…

Voglio finire scrivendo quello che più mi ha colpito della Raspberry Pi.

Il silenzio.

Niente ventole di raffreddamento sulla board (ed anche niente dissipatore). Utilizzando un caricatore per cellulare neanche l’alimentazione ha una ventola di raffreddamento.

Niente hard disk e quindi nessun rumore di spin-up nè di seeking.

La cosa non dovrebbe stupirmi visto che l’hardware dopotutto non è così dissimile da uno smartphone o un tablet, entrambi dispositivi silenziosi e sempre più comuni. Eppure questa piccola scheda è collegata ad un monitor LCD, lo stesso che uso solitamente con altre, ben più rumorose macchine. La tastiera è la mia tastiera classica.

Non sono abituato a questo silenzio.

A.C.

Posted in Apparecchiature, Digitale, Elettronica | Leave a comment

Clonezilla

Devo ringraziare un amico che ormai parecchio tempo fa mi parlò di questa simpatica distribuzione nata per creare e ripristinare immagini partendo da una partizione/unità disco.

Al di là di una semplice prova non l’avevo mai utilizzata davvero visto che è una distribuzione adatta a macchine dotate di processore x86 o x86-64 mentre buona parte delle macchine con cui mi diverto sono SPARC.

Stavolta, ricordarmi di Clonezilla mi ha salvato da un impiccio e potenzialmente da parecchio lavoro.

L’antefatto è stato un hard disk da 500GB piuttosto restio a funzionare correttamente. Il sistema operativo su di esso ospitato, Windows Vista, si rifiutava assolutamente di partire. Dopo parecchi tentativi rinunciai a cercare di recuparare il disco e reinstallai tutto da capo. L’unico problema era che l’unico disco disponibile (lunga storia…) era un PATA da 80GB. Sufficiente, certo, ma piuttosto piccolo. Installato tutto senza problemi ma in futuro sarebbe stato necessario sostituire il disco.

Il momento di sostituire il disco è arrivato abbastanza presto. Il nuovo disco è un SATA da 1TB.

L’idea di reinstallare il sistema operativo e tutti gli applicativi da capo non mi sorrideva particolarmente.

Clonezilla ha risolto il problema brillantemente.

Dopo aver naturalmente salvato tutti i dati (prudenza o paranoia), via con Clonezilla Live e in una ventina di minuti il disco da 80GB era clonato sul disco SATA da 1TB.

Rimosso il vecchio disco e modificata nel bios della macchina l’unità da cui fare il boot Windows Vista parte senza problemi. L’unica operazione ancora necessaria è intervenire per far crescere la partizione fino ad occupare tutto il disco, operazione rapida e indolore.

A. Cicuta

Posted in Programmazione, Windows | Leave a comment

OpenIndiana e Huawei E353

Uno dei piccoli problemi che ho avuto testando OpenIndiana sul mio portatile è stato l’utilizzo della chiavetta internet E353. Il sistema non la riconosceva come modem e non appariva evidente come configurarla.

Visto che Knoppix non aveva nessun problema a gestire la chiavetta non ho perso le speranze e dopo qualche tentativo sono riuscito a fare funzionare tutto soddisfacentemente.

La Huawei E353 inizialmente si presentava come un cdrom/supporto di memoria di massa e non come modem ed come tale era riconosciuta da OpenIndiana, coem l’output di dmesg mi confermava:


usba: [ID 912658 kern.info] USB 2.0 device (usb12d1,14fe) operating at hi speed (USB 2.x) on USB 2.0 root hub: device@2, usb_mid0 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] usb_mid0 is /pci@0,0/pci103c,30d5@1d,7/device@2
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2 (usb_mid0) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,14fe.config1.0) operating at hi speed (USB 2.x) on USB 2.0 root hub: storage@0, scsa2usb0 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] scsa2usb0 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@0
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@0 (scsa2usb0) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,14fe.config1.1) operating at hi speed (USB 2.x) on USB 2.0 root hub: storage@1, scsa2usb1 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] scsa2usb1 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@1
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@1 (scsa2usb1) online
scsi: [ID 583861 kern.info] sd2 at scsa2usb1: target 0 lun 0
genunix: [ID 936769 kern.info] sd2 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@1/disk@0,0
scsi: [ID 583861 kern.info] sd1 at scsa2usb0: target 0 lun 0
genunix: [ID 936769 kern.info] sd1 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@0/disk@0,0
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@0/disk@0,0 (sd1) online
genunix: [ID 127566 kern.info] device pci8086,27ae@2(display#0) keeps up device sd@0,0(disk#1), but the former is not power managed
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@1/disk@0,0 (sd2) online
genunix: [ID 127566 kern.info] device pci8086,27ae@2(display#0) keeps up device sd@0,0(disk#2), but the former is not power managed

L’output di dmesg mi offiriva due informazioni utili: il vendor id della chiavetta (12d1) e l’id della chiavetta stessa (14fe).

Questa modalità  di funzionamento è usata da diversi produttori ed ha effettivamente una certa utilità: la chiavetta inizialmente si presenta come uno flash storage che contiene i driver necessari all’installazione della chiavetta, eliminando la necessità  di fornire un qualche supporto per l’installazione dei driver ed eliminando anche la possibilità  di perdere detto supporto e ritrovarsi in un loop (per recuperare i driver da internet bisogna poter accedere a internet, per accedere a internet servono i driver)
Installati i driver, questi provvedono a modificare la modalità  di funzionamento della chiavetta stessa in modo che si presenti come modem.

Naturalmente, i driver contenuti nella chiavetta sono per sistemi operativi Windows (forse anche per sistemi operativi Apple), ma non per altri sistemi operativi.

Fortunatamente, esiste un programma open source per modificare la modalità di funzionamento di una chiavetta: usb_modeswitch (si può trovare qui).

Il programma richiede libusb nella versione che è inclusa in OpenIndiana.

Ho modificato il sorgente in modo che compili (ed ovviamente funzioni) sotto OpenIndiana: l’operazione si riduce all’aggiunta di una coppia di #ifdef oltre che alle dovute modifiche al Makefile.

Tornando all’output di dmesg, ho noto che il driver assegnato alla chiavetta è usb_mid, driver per dispositivi usb multi-interfaccia. Alle varie interfacce era assegnato il driver scsa2usb. La manpage del driver scsa2usb riporta che il driver supporta un’interfaccia ugen che permetterebbe a libusb di comunicare direttamente al device, ma non ho investigato questa strada.

Dopo aver scollegato smontato e scollegato la chiavetta, ho usato il seguente comando che forza OpenIndiana ad utilizzare ugen come driver per la chiavetta:

update_drv -a -i '"usb12d1,14fe"' ugen

Al successivo inserimento della chiavetta, dmesg mi offriva questo output:

usba: [ID 912658 kern.info] USB 2.0 device (usb12d1,14fe) operating at hi speed (USB 2.x) on USB 2.0 root hub: device@2, ugen0 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] ugen0 is /pci@0,0/pci103c,30d5@1d,7/device@2
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2 (ugen0) online

Esattamente quello che volevo. Il prossimo comando che ho utilizato è stato usb_modeswitch con gli appropriati parametri:

usb_modeswitch -v 0x12d1 -p 0x14fe -M 55534243123456780000000000000011062000000100000000000000000000

L’opzione obbligatoria -v indica il vendor id del device su cui usb_modeswitch andrà ad agire, l’opzione obbligatoria -p indica il product id del device a cui usb_modeswitch manderà il messaggio indicato dall’opzione -M (chiaramente, vendor id, product id e messaggio sono tipicamente diversi per ogni chiavetta).

Per motivi ancora da chiarire, mi sono ritrovato a dover lanciare il comando due volte prima che succeda qualcosa di utile (mea culpa per non avere ancora letto a fondo la documentazione di usb_modeswitch). Comunque, ancora una volta dmesg mi confortava:

genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2 (ugen0) removed
usba: [ID 912658 kern.info] USB 2.0 device (usb12d1,1506) operating at hi speed (USB 2.x) on USB 2.0 root hub: device@2, usb_mid0 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] usb_mid0 is /pci@0,0/pci103c,30d5@1d,7/device@2
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2 (usb_mid0) online
usba: [ID 349649 kern.info] usba: no driver found for interface 0 (nodename: 'interface') of HUAWEI Mobile
usba: [ID 349649 kern.info] usba: no driver found for interface 1 (nodename: 'interface') of HUAWEI Mobile
usba: [ID 349649 kern.info] usba: no driver found for interface 2 (nodename: 'interface') of HUAWEI Mobile
usba: [ID 349649 kern.info] usba: no driver found for interface 3 (nodename: 'interface') of HUAWEI Mobile
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,1506.config1.4) operating at hi speed (USB 2.x) on USB 2.0 root hub: storage@4, scsa2usb6 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] scsa2usb6 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@4
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@4 (scsa2usb6) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,1506.config1.5) operating at hi speed (USB 2.x) on USB 2.0 root hub: storage@5, scsa2usb7 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] scsa2usb7 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@5
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@5 (scsa2usb7) online
scsi: [ID 583861 kern.info] sd8 at scsa2usb7: target 0 lun 0
genunix: [ID 936769 kern.info] sd8 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@5/disk@0,0
scsi: [ID 583861 kern.info] sd7 at scsa2usb6: target 0 lun 0
genunix: [ID 936769 kern.info] sd7 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@4/disk@0,0

Adesso la chiavetta era riconosciuta come un device diverso, con stesso vendor id (12d1), ma diverso product id in questo caso 1506.

Purtroppo, la chiavetta non era ancora riconosciuta come un modem. In compenso quattro interfacce siano erano di driver. Smontata e scollegata la chiavetta, ho rimediato a questo fatto, forzando OpenIndiana ad utilizzare il driver usbsacm:

update_drv -a -i '"usbif12d1,1506.config1.0"' usbsacm
update_drv -a -i '"usbif12d1,1506.config1.1"' usbsacm
update_drv -a -i '"usbif12d1,1506.config1.2"' usbsacm
update_drv -a -i '"usbif12d1,1506.config1.3"' usbsacm

Ricollegata la chiavetta e utilizzato nuovamente usb_modeswitch, dmesg mi offriva questo output:

usba: [ID 912658 kern.info] USB 2.0 device (usb12d1,14fe) operating at hi speed (USB 2.x) on USB 2.0 root hub: device@2, ugen0 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] ugen0 is /pci@0,0/pci103c,30d5@1d,7/device@2
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2 (ugen0) online
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2 (ugen0) removed
usba: [ID 912658 kern.info] USB 2.0 device (usb12d1,1506) operating at hi speed (USB 2.x) on USB 2.0 root hub: device@2, usb_mid0 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] usb_mid0 is /pci@0,0/pci103c,30d5@1d,7/device@2
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2 (usb_mid0) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,1506.config1.0) operating at hi speed (USB 2.x) on USB 2.0 root hub: interface@0, usbsacm2 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] usbsacm2 is /pci@0,0/pci103c,30d5@1d,7/device@2/interface@0
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/interface@0 (usbsacm2) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,1506.config1.1) operating at hi speed (USB 2.x) on USB 2.0 root hub: interface@1, usbsacm3 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] usbsacm3 is /pci@0,0/pci103c,30d5@1d,7/device@2/interface@1
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/interface@1 (usbsacm3) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,1506.config1.2) operating at hi speed (USB 2.x) on USB 2.0 root hub: interface@2, usbsacm4 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] usbsacm4 is /pci@0,0/pci103c,30d5@1d,7/device@2/interface@2
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/interface@2 (usbsacm4) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,1506.config1.3) operating at hi speed (USB 2.x) on USB 2.0 root hub: interface@3, usbsacm5 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] usbsacm5 is /pci@0,0/pci103c,30d5@1d,7/device@2/interface@3
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/interface@3 (usbsacm5) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,1506.config1.4) operating at hi speed (USB 2.x) on USB 2.0 root hub: storage@4, scsa2usb6 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] scsa2usb6 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@4
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@4 (scsa2usb6) online
usba: [ID 912658 kern.info] USB 2.0 interface (usbif12d1,1506.config1.5) operating at hi speed (USB 2.x) on USB 2.0 root hub: storage@5, scsa2usb7 at bus address 2
usba: [ID 349649 kern.info] HUAWEI Mobile
genunix: [ID 936769 kern.info] scsa2usb7 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@5
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@5 (scsa2usb7) online
scsi: [ID 583861 kern.info] sd8 at scsa2usb7: target 0 lun 0
genunix: [ID 936769 kern.info] sd8 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@5/disk@0,0
scsi: [ID 583861 kern.info] sd7 at scsa2usb6: target 0 lun 0
genunix: [ID 936769 kern.info] sd7 is /pci@0,0/pci103c,30d5@1d,7/device@2/storage@4/disk@0,0
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@4/disk@0,0 (sd7) online
genunix: [ID 408114 kern.info] /pci@0,0/pci103c,30d5@1d,7/device@2/storage@5/disk@0,0 (sd8) online
genunix: [ID 127566 kern.info] device pci8086,27ae@2(display#0) keeps up device sd@0,0(disk#7), but the former is not power managed
genunix: [ID 127566 kern.info] device pci8086,27ae@2(display#0) keeps up device sd@0,0(disk#8), but the former is not power managed

Esattamente quello che volevo. Ho utilizzato il seguente comando per accertarmi che le cose funzionassero nel modo giusto:

tip /dev/term/0

Nella sessione che avevo appena aperto, al comando AT ho ottenuto in risposta OK: il modem funziona.

Ora dovevo preparare i file appropriati perchè pppd potesse funzionare a dovere. In /etc/ppp/peers e /etc/ppp ho creato i file opportuni.

A questo punto mi sono trovato con un piccolo problema: non riuscivo ad accedere ad internet. La soluzione era disabilitare nwadm:

svcadm disable nwam

A questo punto mi potevo connettere con il comando:

pppd call isp

In /etc/ppp mi sono trovato il file resolv.conf che conterreva i DNS che ottenuti dalla connessione.

Usarli è stato molto semplice:

cp /etc/ppp/resolv.conf /etc/resolv.conf
svcadm restart network/dns/client

A questo punto, il comando

ping www.google.it

mi restituiva l’output:

www.google.it is alive

OpenIndiana è quindi connesso alla rete attraverso la chiavetta usb.

Naturalmente ci sono molte cose ancora da migliorare. Ad esempio lanciare usb_modeswitch all’inserimento della chiavetta e automatizzare le diverse procedure che al momento devono essere eseguite da terminale.

A. Cicuta

Posted in Programmazione | Leave a comment

Anno nuovo, OS nuovo

In un tempo discretamente breve mi è suggerito da due diverse persone di sostituire il sistema operativo del mio (non recentissimo) portatile (HP 530, Intel Core Duo T2600, RAM 2,0 GB)

Il sistema operativo in questione è Windows Vista Home Basic, il sistema operativo orignale con cui veniva venduta la macchina.

Una delle due persona mi ha suggerito di passare a Windows 7. L’altra mi ha suggerito GNU/Linux.

Chiaramente ho scelto una terza opzione.

Ora, visto che alcuni dei programmi che solitamente mi trovo ad usare non hanno una valida alternativa Open Source (o quantomeno non l’ho ancora trovata), continuerò ad usare anche Windows Vista Home Basic sul mio portatile, eventualmente passando a Windows 7 qualora non soddisfacesse più le mie esigenza e molto probabilmente non preparerò, per diversi motivi, un sistema dual boot.

Avendo però un hard disk vuoto ed adatto al portatile ho aggirato il problema del dual boot. La sostituzione del disco è stata una passeggiata, più difficile la scelta del sistema operativo.

  • Windows 7? Finchè Windows Vista Home Basic mi basta non me la sento, anche se forse le prestazioni migliorerebbero. Qualcosa di Open Source sarebbe più divertente.
  • GNU/Linux? Già installato su diverse macchine con diverse distribuzioni. Meglio provare qualcosa di diverso, più esotico.
  • NetBSD? Già installato e in uso su alcune macchine SPARC.
  • OpenBSD? Già installato e in uso sul mio anziano ThinkPad.
  • FreeBSD? Escluso considerando che sono già in uso OpenBSD e NetBSD.
  • Solaris? Siamo sulla buona strada, ma come ho scritto per Windows 7, qualcosa di Open Source sarebbe più divertente.
  • OpenSolaris? Inizia ad essere interessante.

Quindi, per esclusione[1], OpenIndiana versione per desktop.

Dopo aver effettuato il download della iso e un dvd masterizzato più tardi ho iniziato l’installazione, che è stata piacevolmente priva di sorprese e problemi.

Problemi che sono arrivati dopo.

Riassumo in breve i punti positivi e negativi.

In positivo

  • ZFS come filesystem di default
  • praticamente tutto l’hardware riconosciuto correttamente.

In negativo

  • il wifi non funziona correttamente ad ogni riavvio: circa tre volte ogni dieci c’è qualche problema. C’è un workaround[2]
  • niente compilatore C/C++ (o almeno, io non sono riuscito a trovarlo) dopo l’installazione, va installato dal repository
  • repository con scelta ancora limitata di programmi

Impressioni

Al momento con questo sistema operativo mi stò trovando bene. Visto ZFS mi piace molto non posso che trovarmi a mio agio con un sistema che lo usa come file system di default. Avendo un pò di esperienza con Solaris 10 con OpenIndiana mi trovo a mio agio.

La macchina sembra molto stabile, la CPU pare girare abbastanza fresca, i programmi scaricati dai repository funzionano senza problemi.

Non c’è una scelta vastissima di programmi, ma prevedo di compilare parecchie cose direttamente dai sorgenti, principalmente per vedere se è fattibile.

Non appena avrò qualche esperienza in più conto di scrivere ancora su OpenIndiana.

  • [1] non proprio per esclusione, visto che non l’ elenco dei possibili sistemi operativi non è nemmeno lontanamente completo, dato che tralascia tra gli altri il molto interessante Haiku
  • [2]quando si presentano dei problemi, questo pare risolverli: svcadm restart nwam
Posted in Novità | Leave a comment

Open Source Day 2012

Anche quest’anno, sono andato al solito appuntamento con l’Open Source Day presso il polo scientifico dell’Università di Udine (link).

Non potevo mancare.

Come al solito, c’era più gente al mattino che al pomeriggio ma l’importante è che la gente c’era. Game Corner e Install Fest non mancavano, così come l’angolo per gli Speed Talk, ma al solito l’attrattiva principale erano le conferenze, divise in tre percorsi: Base, Avanzato e Businness.

Le conferenze che ho seguito erano interessanti e l’ambiente, come l’anno scorso, stimolante. Al solito, rimpiango di poter seguire dal vivo solo una conferenza alla volta.

Quest’anno c’era una piccola differenza: una conferenza era la mia. Introduzione a ZFS, nella fattispecie. Motivo per cui non potevo proprio mancare.

Spero di non aver annoiato troppo il pubblico.

Appuntamento tra un anno.

A. Cicuta

Posted in Fiere, Novità | Leave a comment

Brutta Giornata

Oggi è stata una brutta giornata.

Proprio brutta.

Pessima.

Non si parla di “brutta” nel senso di tempo atmosferico. Magari.

E’ stata brutta e basta.

Odio il flusso temporale. E odio quando Sthepen King nelle sue storie brevi ha ragione.

Ma soprattutto odio il flusso temporale e sono arrabbiato.

Quindi mi sfogo qui. Non per non dimenticare, perchè me ne ricorderò per sempre.

Lo scrivo perchè odio Orazio. Lo odio perchè ha ragione e lo odio perchè vorrei avesse torto.

E odio, detesto la goliardia. Perchè il De Brevitate Vitae cela un’amara verità. Come le storie brevi di King.

Brutta giornata.

Prima o poi mi passerà. Più poi che prima.

A.Cicuta

Posted in Novità | Leave a comment