mercoledì 28 maggio 2008

Rete-usb dopo aggiornamento kernel su ubuntu hardy

Ehmmmm, oggi e arrivato il primo aggiornameto per il kernel, infatti da 2.6.24-16-386 e passato a 2.6.24-17-386, dunque riavviato e collegato subito il mio motorola A1200 e ....
con il solito comando dmesg :
[ 301.275473] usb 1-1: new full speed USB device using uhci_hcd and address 3
[ 301.442595] usb 1-1: configuration #1 chosen from 1 choice

e basta mmmmhh.
era evidente che non ......
provo la soluzione più facile e copio il modulo zaurus.ko "vecchio" nella cartella:
/lib/modules/2.6.24-17-386/kernel/drivers/net/usb

sudo cp zaurus.ko /lib/modules/2.6.24-17-386/kernel/drivers/net/usb

o forse meglio :
sudo cp /lib/modules/2.6.24-16-386/kernel/drivers/net/usb/zaurus.ko /lib/modules/2.6.24-17-386/kernel/drivers/net/usb

poi do il solito :
sudo depmod -a

e provo a caricare il modulo manualmente con:
sudo modprobe zaurus

infatti adesso dando il comando dmesg :
[ 301.275473] usb 1-1: new full speed USB device using uhci_hcd and address 3
[ 301.442595] usb 1-1: configuration #1 chosen from 1 choice
[ 1007.930006] usbcore: registered new interface driver cdc_ether
[ 1007.966988] zaurus: no version for "struct_module" found: kernel tainted.
[ 1007.974094] usb0: register 'zaurus' at usb-0000:00:11.2-1, pseudo-MDLM (BLAN) device,
[ 1007.974693] usbcore: registered new interface driver zaurus
Dunque ci siamo, adesso basta configurare la rete con il solito ifconfig :
sudo ifconfig 192.168.1.1 netmask 255.255.255.0 mtu 900

Ok tutto a posto ;)

Spero possa essere di aiuto.

domenica 18 maggio 2008

Rete-usb per il motorola a1200 su ubuntu hardy

Hello
Allora aggiornato alla versione 8.04 Hardy Heron e ...... manca ancora il modulo zaurus che mi consente di utilizzare la usb-net (rete usb) del mio cellulare un motorola A1200E.
Cosa fare, possibile che non riescono ad integrare questo modulo essenziale per il funzionamento dei vari linuxphone tipo zaurus e ezxphones della motorola?
vabbe, dovrò ricompilare il kernel o anche solo il modulo .
metto giù due righe tanto per ricordarmi il percorso da fare visto che ultimamente uso solo la arch e su ubuntu (debian) la procedura per ricompilare il kernel alla ubuntuway e differente.
allora bisogna scaricarsi i sorgenti del kernel 2.6.24 :
si può fare con synaptic o per chi preferisce la console con il comando apt-get install.
Faccio con la console che si fa prima :)
però prima e forse meglio fare un bel sudo apt-get update.
Bene adesso serve anche un bel sudo apt-get install build-essentials libncurses5-dev per installare i tools necessari per pachettizare alla debian (ubuntu) way.
Era già un bel pò che non avevo più compilato un kernel con il sistema debian e sinceramente non mi ricordavo più bene il procedimento ;)
controllo sul wiki di ubuntu e vedo che per Hardy 8.04 ci son dei comandi "nuovi" che permettono di scaricare i sorgenti e le patch necessarie.
  • sudo apt-get build-dep linux-image-$(uname -r)
  • sudo apt-get source linux-image-$(uname -r)
il primo comando risolve eventuali dipendenze
il secondo comando scarica i sorgenti del kernel più le patch poi decomprime automaticamente i sorgenti e applica le patch. Dunque adesso mi trovo dei sorgenti già patchati pronti per la configurazione e successiva compilazione.
Adesso vediamo dove mi ha messo i sorgenti apt, in teoria dovrebbero essere in /usr/src e infatti ci sono i sorgenti
compressi linux_2.6.24.orig.tar.gz più la patch linux_2.6.24-16.30.diff.gz più una cartella linux-2.6.24 con dentro i sorgenti decompressi e patchati.entro nella cartella :
  • cd /usr/src/linux-2.6.24
e copio il file di configurazione config-xxxxx del kernel attuale che si trova in /boot.per sapere come si chiama questo file di configurazione digito :
  • uname -r
la risposta nel caso mio e : 2.6.24-16-386 dunque il file di configurazione si chiama config-2.6.24-16-386 .
Copio il file di configurazione nell attuale cartella con un :
  • sudo cp /boot/config-2.6.24-16-386 .config praticamente viene copiato e rinominato in .config.
Adesso passo alla configurazione, io preferisco la configurazione semigrafica con il make menuconfig, altre soluzoni make xconfig o make config per i tradizionalisti. prima però, visto che parto con il file di configurazione vecchio do un :
  • sudo make oldconfig.
Inizio con la configurazione vera e propria.:
  • sudo make menuconfig
vado in Device Drivers --> Network device support --> scendo fino a --> USB Network adapters e imposto una in Sharp Zaurus (stock ROMs) and compatible.Adesso in teoria potrei anche uscire e salvare la configurazione, visto che mi interessava solo abilitare/compilare il modulo per la rete USB Zaurus. lo faccio e provo a compilare solo il modulo necessario per poi caricarlo al attuale kernel, questa e la soluzione più veloce.
Do il comando per la compilazione del solo modulo zaurus:
  • sudo make drivers/net/usb/zaurus.ko
e copio il modulo compilato in /lib/modules/2.6.24-16-386 :
  • sudo cp /usr/src/linux-2.6.24/drivers/net/usb/zaurus.ko /lib/modules/2.6.24-16-386/kernel/drivers/net/usb
poi do il comando :
  • sudo depmod -a
faccio subito una prova se me lo carica :
  • sudo modprobe zaurus
se non da nessun errore sono a "cavallo".
connetto il mio A1200 in modalità usb-net alla porta usb e do un :
  • dmesg
alla fine mi dice :
[ 3201.714691] usb0: register 'zaurus' at usb-0000:00:11.2-1, pseudo-MDLM (BLAN) device, da:
[ 3201.716538] usbcore: registered new interface driver zaurus
bene tutto ok, adesso basta configurare la rete (ip) con :
  • sudo ifconfig usb0 192.168.1.1 netmask 255.255.255.0 mtu 900
adesso provo subito con telnet :
  • telnet 192.168.1.2
come pass basta inserire: root
per l' uso con samba :aprire il browser e digitare:
  • smb://192.168.1.2
Fatto, adesso bisogna fare attenzione quando ci sono i aggiornamenti ubuntu tipo quelli per il kernel, può essere che dopo un aggiornamento vi manchi di nuovo il modulo in questo caso bisogna rifare la procedura sopra descritta.
Un altra soluzione e compilare un nuovo kernel con il modulo abilitato e delle ottimizzazioni, poi disabilitare l' aggiornamento per il kernel, cosi vi rimane per sempre.
i comandi per la compilazione del kernel completo e successiva pacchettizzazione .deb sono

sudo make-kpkg --initrd --append-to-version -quellochevolete kernel_image kernel_headers

poi basta installare i .deb creati con il comando :

sudo dpkg -i linux-image-2.6.24.xxxxxx.deb
sudo dpkg -i linux-headers-2.6.24.xxxxxx.deb