E così alla fine sono riuscito a finire il porting di bulbcalculator, dopo anni diversi anni di lavoro. Non che ci abbia impiegato cos’ tanto, ma il tempo era quello che era. In più ovviamente nel mezzo ho fatto un po di altre cose. Tutto sommato però l’importante è esserci riuscito.

A questo punto posso cominciare a pensare a come evolverlo. Suggerimenti ?

Si può scaricare dal sito su gitorious

 

 

Questo è più che altro un promemoria per me.

Per mergiare due (o più ) repository git remoti in un repository locale, basta usare questi comandi:

git remote add [nome] [URL pubblico per il comando clone]
git pull [nome] master
git push

Ovviamente basta una ricerchina su google per trovarlo

 

Basta installare (male) grub2 e ritrovarsi con un sistema che non fa più il boot :-(

Ad ogni modo, la soluzione è abbastanza semplice. Si fa il reboot con una live, si monta la partizione di root del vostro sistema Linux (quello che non parte più) e poi si usa il comando

grub-install --root-directory=[directory] [device]

e se siete fortunati, al reboot tutto torna a posto.

L’alternativa è utilizzare il disco di installazione della Debian.
L’alternativa ancora più ovvia è non fare queste stupidate

 

Rieccomi a fare qualcosa per il bel sito One Liners.
Questa volta è uno scriptino per effettuare il purge di tutti i file di configurazione dei pacchetti rimossi. Non è legato ad una shell specifica, io ho provato sotto Tcsh, ma è bello ed elegante:

dpkg -l | grep "rc  " | awk '{FS="\n"}{ print $NF}' | awk '{FS="  "}
{print $2}' | xargs dpkg --purge 

Da scrivere tutto su una linea ovviamente. Spero serva a qualcuno

Come già detto sul sito, lo script di suo potrebbe prendere dentro anche i pacchetti che finiscono per “rc”, tipo sysv-rc, ma non ci dovrebbero essere problemi

Update: Elena suggerisce che usando grep "^rc  " il bug viene risolto.
 

Dopo un upgrade di Xorg (su Debian Testing), il tutto ha cominciato a muoversi con una lentezza esasperante.

Dopo un pò di ricerca, la soluzione è stata di inserire la riga

Option "AccelMethod" "XAA"

nella voce che definisce la scheda video nel file di configurazione di Xorg. Sembrerebbe che il problema sia dovuto al fatto che il driver Intel non sia in grado di dichiarare correttamente cosa supporta.

=-=-=-=-=
Powered by Blogilo

 

Questa è sostanzialmente una nota per me stesso, però magari torna utile ad altri.

Da qualche tempo il server Xorg ha disabilitato il click da touchpad. Ora, qualcuno lo reputa scomodo, a me è comodissimo.

Per riabilitarlo basta inserire nel file /etc/kde4/kdm/Xsetup le righe:

synclient TapButton1=1
synclient TapButton2=1
synclient TapButton3=1

In modo da riabilitarlo ad ogni avvio.

Ovviamente va installato il pacchetto synclient

 

Come posso rimuovere un branch o un tag anche da server con Git ?
Usando semplicemente il comando

git branch -d -r origin/qualche_branch

lo si cancella fino al successivo pull

Per rimuoverlo definitivamente si deve usare il comando

git push origin :qualche_branch

in questo modo lo si elimina definitivamente

 

Come anticipato, la mia patch a Bugs Everywhere è stata accettata a tempo di record, anche se con una piccola modifica per rendere la sintassi omogenea con il resto. :-D

La patch di suo è una piccola aggiunta al comando “target” di BE e consente di elencare tutti i target presenti nel repository. Un target banalmente può essere visto come una milestone o un tag. L’idea mi era venuta notando che altri comandi avevano la possibilità di visualizzare una lista degli elementi presenti o predefiniti (tipo la severità o lo stato del bug).

A questo punto, visto che sembra divertente, mi sa che be2html (il tool che estrae le informazioni da un repository BE e genera una serie di pagine html) al posto di essere un programmino a se stante, lo farò diventare (se nessuno avrà nulla in contrario) un comando di BE.

 

Complice il fatto che mi è arrivato il cavo per il cellulare, che sostanzialmente è un convertitore USB->Seriale, mi sono messo al lavoro per poterlo utilizzare anche con Linux. La prima brutta sorpresa è stata il non vedere supportato questo convertitore dal kernel che usavo (il 2.6.15.3), che ha reso necessario la ricompilazione di un nuovo kernel. La scelta è caduta sull’ultima versione stabile disponibile, appunto la 2.6.24.2.Queste sono le”scoperte” che ho fatto ricompilando il kernel, dopo un bel po’ di tempo che non lo facevo.

Lezione 1: le patch non sono più incrementali

Nella serie 2.4.x le patch erano incrementali, cioè per passare dalla 2.4.3 alla 2.4.4 scaricavi la patch e l’applicavi. Nel nuovo schema non è più così Questo significa che per passare dalla 2.6.15.3 alla 2.6.15.4, bisogna scaricare la patch che porta da 2.6.15.0 a 2.6.15.3, rimuoverla (con il comando patch -R) e poi applicare la patch che porta dalla 2.6.15.0 alla 2.6.15.4

Lezione 2: CONFIG_NET_RADIO non esiste più

L’opzione CONFIG_NET_RADIO, dalla versione 2.6.22.x non esite più, sostituita dalla CONFIG_MAC80211. Dato che l’opzione mi serviva per compilare i moduli MadWifi per la scheda wireless, il non trovarla mi ha stoppato per un pò.

Corolllario alla lezione 2: leggi la documentazione di ciò che devi compialare

visto che questa infromazione era chiaramente riportata nella documentazione di MadWifi Ver. 0.9.4 (quella attualmente in uso)

Lezione 3: il vecchio config è tuo amico

Come base per la configurazione del nuovo kernel, conviene sempre avere come base di partenza la vecchia configurazione usata per il kernel che si sta usando. Risparmia molto tempo di compilazione e anche un kernel panic quando il nuovo kernel non troverà il root fs Tutto il resto è  andato via liscio. Una volta compilato il kernel nuovo, è possbile compilare MadWifi senza la necessità di fare il reboot con i comandi:

make KERNELPATH=/usr/src/linux
make KERNELVERSION 2.6.24.2 install

A questo punto ho scaricato i nuovi driver NVIDIA per la mia scheda e ho fatto reboot. Al nuovo avvio X ovviamente non funzionava, quindi dopo un giro di installazione dei nuovi driver (quelli vecchi, la 9625 non funzionano con i kernel 2.6.24.2) anche il buon kdm ha fatto la sua ricomparsa.Adesso il mio nuovo convertitore USB-> Seriale funziona, il cellulare però (un LG C1100) ha ancora qualche dubbio nel volersi far sincronizzare. Ma di questo me ne occuperò più avanti.

 

Questo breve documento spiega (o almeno ci prova) i passi necessari per far funzionare questa scheda PCMCIA wireless sotto Linux, più precisamente sotto una Debian Etch.Situazione di partenza:

  • laptop Dell Inspirion 8100
  • Debian Etch (testing) installata e funzionante
  • Access Point della Netgear (che fa anche da modem ADSL, router e quant’altro)

Una prova che ho fatto subito è stata quella di installare la scheda sotto WinXP. Anche se sembra un controsenso, si ha il vantaggio di verificare che la scheda funzioni correttamente. Sulla confezione infatti c’è un bel logo “Designed for WinXP” e di sicuro se dite al rivenditore che non funziona sotto Linux, vi fa storie. La prova ovviamente la si può fare su qualsiasi laptop che abbia su WinXP, mica necessariamente il nostro. E ora si comincia. La scheda, come mostra il comando

lspci -v

risponde a questi dati:


07:00.0 Ethernet controller:
Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
Subsystem: D-Link System Inc D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)
Flags: bus master, medium devsel, latency 168, IRQ 10 Memory at f6000000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [44] Power Management version 2

che significa che bisogna lanciarsi nel fantastico mondo di MadWifi, progetto che sta implementando il supporto per i chipset Atheros. Vi rimando al loro sito per l’elenco delle schede supportate.Dal loro sito ci sono da scaricare i sorgenti, io ho preso l’ultima stabile, la 0.9.2.Una volta scaricati i sorgenti, possiamo cominciare a sporcarci le mani ;-)

Compilare il kernel

La prima cosa in assoluto da fare, anche prima di scaricare i sorgenti di MadWifi, è ricompilare il kernel per includere il supporto Wireless, il supporto alla crittografia e alla sysctl. Le opzioni sono queste:CONFIG_CRYPTOCONFIG_SYSCTLCONFIG_NET_RADIOCONFIG_NET_WIRELESSPer il resto dei requisiti necessari, vedete alla pagina dei requisiti del progetto. Personalmente uso un 2.6.15.3 compilato dai sorgenti presi da www.kernel.org Se preferite usare il sistema Debian per compilare il kernel non c’è problema, la Etch fornisce anche il pacchetto madwifi-source, ma non ho provato. Una volta ricompilato il kernel, lo installiamo e riavviamo il sistema. La ricompilazione del kernel è necessaria solo se quelle opzioni non sono attive, se le avete già potete evitare questo passo.

Compilare MadWifi

Questo passo è molto semplice. Una volta scompattati i sorgenti, si entra nella directory e si lancia il comando make.Dato che MadWifi usa l’infrastruttura di configurazione del kernel per compilarsi, vi conviene usare il comando make KERNELPATH=[path per i sorgenti del kernel]in questo modo siete sicuri che troverà tutto quello che gli serve. Se la compilazione finisce bene, basta dare un belmake installe tutto il necessario verrà installato. A questo punto il documento per i Newbe sul sito di MadWifi, fa eseguire un po’ di test, che dovete eseguire se non conoscete i dati della rete Wireless (SSID e crittografia). Tra parentesi, la prova sotto XP serve anche a questo: a recuperare i dati che ci servono.

Configurare l’interfaccia

Una volta caricato il modulo ath_pci (più tutti quelli che si porta dietro lui) possiamo cominciare a configurare l’interfaccia. Sulla Debian, tutte a quanto ne so, il file che definisce le interfacce di rete è /etc/network/interfaces Dopo aver fatto una copia di backup, lo possiamo aprire con il nostro editor preferito per inserire i dati di questa nuova interfaccia.Nel mio caso, il blocco da inserire è stato questo:

iface ath0 inet dhcp
wireless-essid [mio ssid]
wireless-key [mia pwd in hex]

dove ath0 è l’interfaccia che crea il modulo ath_pci, e la stiamo impostando come interfaccia di rete (inet) e in dhcp. Con man interfaces ottenete una spiegazione dettagliata di tutte le opzioni possibili nel file.Nota: io ho usato il DHCP perchè il mio Access Point fa anche da server DHCP, è ovvio che se non avete un server DHCP sulla rete, la configurazione sopra va modificata in qualcosa del genere:

iface ath0 inet static
address [ip che deve prendere la macchina]
netmask [vostra netmask]
wireless-essid [mio ssid]
wireless-key [mia pwd in hex]

Se la volete attivare automaticamente ad ogni avvio, non dimenticatevi di aggiungere l’ath0 sulla riga “auto”, normalmente la prima. Due parole sulle opzioni wireless* che ho usato.Dato che uso una connessione crittografata, l’opzione wireless-key serve a specificare la password per la connessione. Per sapere come ottenerla, dovete consultare la documentazione del vostro Access Point.L’opzione wireless-essid specifica l’SSID della rete (un po’ come il gruppo nella rete M$) e conviene impostarlo sempre. Anche qui, per sapere come fare, dovete consultare l’interfaccia del vostro Access Point.Queste due opzioni sono necessarie per evitare di dover usare il comando
iwconfig ath0 key [mia pwd in hex]

ad ogni riavvio della macchina.A questo punto, se tutto va bene, riavviando la rete, dovreste avere attiva la scheda, con tutti e due i led verdi che lampeggiano insieme, indicando che la scheda sta lavorando.In caso di problemi, potete fare riferimento alla guida ai problemi del progetto MadWifi. L’unico problema che ho avuto io è stato quello dell’autenticazione, per il resto è filato tutto liscio.

 

… bello ma inutilizzabile sul mio portatile. Quindi, anche se sono caduto nella tentazione di provarlo, purtroppo non posso usarlo, visto che il PC diventa inutilizzabile. Penso che il problema sia dovuto alla scheda video (che in fin dei conti ha 5 anni), solo che essendo un portatile, nonè possibile aggiornarla. Pazienza, aspetterò di comprare un portatile nuovo.

© 2011 G.R.Y.S. Suffusion theme by Sayontan Sinha