Ci tengo a chiarire che non sono un grande esperto... Quindi mi scuso in anticipo se ho scritto castronerie ;)
Sicuramente degli errori ci sono e quindi benvenga se me li
segnalate!!! Scrivetemi pure all'indirizzo eagleoneTOGLIMI@libero.it
(eliminate "TOGLIMI" dall'indirizzo, scusate la complicazione ma lo
spam uccide!!!).
In questa pagina troverete tutti i passaggi da me compiuti per installare Mandrake 9.2 sul mio portatile. NB: molte cose che dico quindi valgono solo per MandrakeLinux!
Un ringraziamento speciale va a tutta la community del software libero che mi ha permesso innanzitutto di entrare nel fantastico mondo di GNU/Linux e di raccogliere le informazioni che trovate in questa pagina. Ringrazio inoltre tutti i ragazzi del progetto UniversiBO (www.universibo.unibo.it) che mi hanno aiutato in questo lungo percorso...
Buona lettura,
Andrea
PS: For English speaking people: I'm sorry. This page is released in
Italian only... Anyway I'm in order to write it also in English as soon
as I can. Contact me if you have any kind of question and you want a
RTFM answer :D
My email address is eagleoneCUTME@libero.it (delete "CUTME" from the address... No spam reasons...)
Come prima cosa aggiorno il kernel. Quindi scarico il pacchetto rpm del kernel 2.6.3-4mdk da ftp://mandrake.contactel.cz/people/bibri/mandrake/9.2/RPMS/kernel-2.6.3.4mdk-1-1mdk.i586.rpm:
rpm -i kernel-2.6.3.4mdk-1-1mdk.i586.rpm
Mandrake dovrebbe automagicamente aggiungere in Lilo l'opzione di boot per il kernel 2.6. Modifico quindi lilo.conf in modo da impostare come default il kernel 2.6:
vi /etc/lilo.conf
Il mio file lilo attuale è:
boot=/dev/hda map=/boot/map vga=normal default="263-4" keytable=/boot/it-latin1.klt prompt nowarn timeout=20 message=/boot/message menu-scheme=wb:bw:wb:bw image=/boot/vmlinuz label="linux" root=/dev/hda6 initrd=/boot/initrd.img append="devfs=mount hdc=ide-scsi resume=/dev/hda5 splash=silent" vga=788 read-only image=/boot/vmlinuz label="linux-nonfb" root=/dev/hda6 initrd=/boot/initrd.img append="devfs=mount hdc=ide-scsi resume=/dev/hda5" read-only image=/boot/vmlinuz label="failsafe" root=/dev/hda6 initrd=/boot/initrd.img append="failsafe devfs=nomount hdc=ide-scsi resume=/dev/hda5" read-only other=/dev/hda1 label="windows" table=/dev/hda image=/boot/vmlinuz-2.6.3-4mdk label="263-4" root=/dev/hda6 initrd=/boot/initrd-2.6.3-4mdk.img append="devfs=mount resume=/dev/hda5 splash=silent" vga=788 read-only
In sostanza ho impostato default="263-4" e ho rimosso l'emulazione ide-scsi dal boot del kernel 2.6.3
Lancio quindi il comando lilo:
lilo
Non utilizzando l'emulazione ide-scsi è importante anche modificare il file /etc/fstab (la modifica può anche essere fatta in automatico riavviando il computer se si è lasciato attivo il controllo di harddrake che vedrà le modifiche effettuate). Con il kernel 2.4 il cdrom sarà individuato dal device /dev/scd0; per il kernel 2.6 invece non usando l'emulazione ide-scsi utilizzeremo direttamente il device /dev/hdc. Quindi in /etc/fstab metteremo per il mount point del cdrom una riga del tipo:
none /mnt/cdrom supermount dev=/dev/hdc,fs=udf:iso9660,ro,--,iocharset=iso8859-15 0 0
Poi installiamo anche i sorgenti del kernel che serviranno per l'installazione di diversi moduli:
urpmi kernel-source
NB: se vengono presentati più sorgenti scegliere sempre il pacchetto kernel-source-2.6.3
Installiamo anche gli headers:
urpmi kernel-headers
modprobe speedstep-centrino modprobe ac modprobe battery modprobe thermal modprobe processor modprobe fan modprobe button
(Per caricarli ad ogni avvio inserirli in /etc/modules.conf )... Tuttavia a me non funzionava...
Per farlo funzionare io ho messo:
probeall speedstep-centrino
modprobe ac modprobe battery modprobe thermal modprobe processor modprobe fan modprobe button
NB: disabilitare apm!!!
In Mandrake in teoria è semplice abilitare l'ACPI. Lanciare il Centro di Controllo Mandrake => Avvio => DrakBoot
Cliccare su configura e attivare l'ACPI.
A questo punto abilitare l'avvio del demone acpid. Anche questo può essere fatto in maniera semplice utilizzando il tool DrakXServices disponibile nel Centro di Controllo Mandrake alla voce Sistema.
Poi installare il demone per il controllo della velocità del processore: cpufreqd. Potete trovare l'rpm su RPM Search
Avvio il demone lanciando da riga di comando cpufreqd.
Parte in daemon mode. Per verificare che si sia effettivamente avviato eseguo un:
ps ax | grep cpufreqd
Posso eventualmente controllarne il funzionamento lanciandolo in no-daemon mode:
cpufreqd -D
Io per ora l'ho messo in /etc/rc.d/rc.local, aggiungendolo alla fine del file:
cpufreqd
su mkdir /home/eagleone/script chmod 700 /home/eagleone/script
cd /home/eagleone/script vi rc.battstat
#!/bin/sh #solo se non e` in carging export DISPLAY="unix:0.0" # Prima soglia di allarme MIN=200 # Soglia critica che attiva lo spegnimento MINCRITIC=50 #while true ; do CHARGING=`cat /proc/acpi/battery/BAT1/state | grep "charging state" | cut -b 26-` REMAINING=`cat /proc/acpi/battery/BAT1/state | grep remaining | sed -e 's/[^0-9]//g'` #echo $REMAINING #echo $CHARGING STATUS=`echo "$REMAINING < $MIN" | bc -q` if [[ $1 == "--force" ]] ; then STATUS=1 ; CHARGING="discharging" ; fi if [[ $STATUS == 1 && $CHARGING == "discharging" ]] then DISPLAY="unix:0" /usr/X11R6/bin/xmessage -center -default okey "stai finendo la batteria hai ancora $REMAINING mAh" & /usr/bin/wavplay /usr/share/sounds/KDE_Notify.wav fi CRITIC=`echo "$REMAINING < $MINCRITIC" | bc -q` if [[ $CRITIC == 1 && $CHARGING == "discharging" ]] then DISPLAY="unix:0" /usr/X11R6/bin/xmessage -center -default okey "batteria finita hai ancora $REMAINING mAh e 2 minuti prima che il sistema si spenga" & /usr/bin/wavplay /usr/share/sounds/KDE_Notify.wav /sbin/shutdown -h 2 & fi #sleep 60 #done #logger "`cat /proc/acpi/battery/BAT1/state`"
chmod 700 /home/eagleone/script/rc.battstat
crontab -eE quindi inseriamo l'esecuzione dello script ogni 2 minuti inserendo la seguente riga nel file che automaticamente vi viene aperto:
*/2 * * * * /home/eagleone/script/rc.battstat
urpmi irda-utils
Aggiungo la seguente linea a /etc/conf.modules:
alias char-major-161 ircomm-tty
Poi aggiornare la configurazione dei moduli mediante il comando:
depmod -a
Caricare i moduli:
modprobe irda modprobe ircomm modprobe ircomm-tty
setserial /dev/ttyS1 uart none
modprobe nsc-ircc irq=3 io=0x02f8 dma=3 dongle_id=0x09
irattach irda0 -s(l'opzione -s fa la ricerca delle periferiche)
killall irattach
mknod /dev/ircomm0 c 161 0Creo il link al device per il cellulare:
ln -s /dev/ircomm0 /dev/gsmodem chmod 644 /dev/gsmodemOra la periferica è individuabile come gsmodem ;)
ln -s /dev/ircomm0 /dev/pilot chmod 666 /dev/pilot
#!/bin/bash # carico i moduli modprobe irda modprobe ircomm modprobe ircomm-tty # Elimino configurazioni seriali setserial /dev/ttyS1 uart none # Attivo la porta IR modprobe nsc-ircc irq=3 io=0x02f8 dma=3 dongle_id=0x09 # Avvio irattach e rilevo periferiche irattach irda0 -s
modprobe hci_usb
pin_helper /etc/bluetooth/bluepin
##############bluepin########## #!/bin/sh echo "PIN:654321" ################
chmod 710 /etc/bluetooth/bluepin
/etc/rc.d/init.d/bluetooth start
hciconfig hci0 up
hcitool scan
sdptool search DUNE dovrebbe dare un output del genere:
sdptool search DUN Inquiring ... Searching for DUN on xx:xx:xx:xx:xx:xx ... Service Name: Dial-up networking Service RecHandle: 0x11103 Service Class ID List: "Dialup Networking" (0x1103) "Generic Networking" (0x1201) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100
hciconfigChe darà un output del genere:
hci0: Type: USB BD Address: yy:yy:yy:yy:yy:yy ACL MTU: 192:8 SCO MTU: 64:8 UP RUNNING PSCAN ISCAN RX bytes:2471 acl:55 sco:0 events:113 errors:0 TX bytes:1414 acl:25 sco:0 commands:49 errors:0Quindi lancio con gli stessi parametri:
rfcomm bind 0 xx:xx:xx:xx:xx:xx 1
mknod -m 666 /dev/rfcomm0 c 216 0
#!/bin/bash # carico i moduli modprobe hci_usb # Lancio il demone: /etc/rc.d/init.d/bluetooth start # Attivo la periferica: hciconfig hci0 up # Creo il bind per il telefono rfcomm bind 0 xx:xx:xx:xx:xx:xx 1
Installare gsmlib:
[root@localhost]# urpmi gsmlib
Poi invio così:
gsmsendsms -d /dev/gsmodem -C +393492000300 3479999999 "Testo del messaggio"
ove -C è il numero del centro servizi, poi segue quello del destinatario e il testo.
Per i cellulari Wind:
gsmsendsms -d /dev/gsmodem -C +393205858500 3381234567 "Messaggio di prova dal mio pc :P"
Installo SCMxx (per cellulari Siemens): http://www.hendrik-sattler.de/scmxx/index.html
urpmi scmxx
Ad esempio per esportare via infrarossi gli sms già letti dal cellulare faccio ad esempio:
scmxx -d /dev/ircomm0 -b 115200 -g -r --sms=read -o - >> /home/eagleone/sms_log.txt
Ovviamente per maggiori info man scmxx
Volendo è disponibile anche una gui gscmxx: http://gscmxx.sourceforge.net/
urpmi wvdial
vi /etc/wvdial.confe ci metto (per cellulari Wind):
[Dialer Defaults] Modem = /dev/ircomm0 Baud = 115200 Carrier Check = no Init1 = ATE Init2 = AT&FE0 INit3 = AT+FCLASS=0 Init4 = AT+CGDCONT=1,"IP","INTERNET.WIND" Modem Type = Analog Modem Phone = *99***1# Username = " " Password = " "NB: Username e Password vanno proprio lasciati vuoti! L'autenticazione viene fatta sul telefonino.
Modem = /dev/rfcomm0
[root@localhost]# urpmi perl-Tk
Installo GPRS Easy Connect: http://www.easyconnect.linuxuser.hu/
decomprimere e installare il programma GPRS_Easy_Connect_250_Install.tar.gz e applicare la patch con l'elenco aggiornato dei "provider" gprs (attualmente patch_2004-03-09.tar.gz)
wget ftp://ftp.smlink.com/linux/unsupported/slmodem-2.9.6.tar.gz
tar zxvf slmodem-2.9.6.tar.gz
cd slmodem-2.9.6
su
make make install
ln -s /dev/ttySL0 /dev/modem
modprobe slamr
slmodemd -c 59
Per la ATI la configurazione automatica di Mandrake è abbastanza corretta. L'unica cosa che ho sistemato è stata quella di installare il programma atitvout (si trova anche l'rpm) che permette all'uscita S-Video di funzionare
Questo è il listato del mio XF86Config-4. L'ho prima configurato con totale insuccesso usando i tool di Mandrake. Son quindi passato alla modifica manuale delle sezioni Mouse, Monitor e Screen:
# File generated by XFdrake. # ********************************************************************** # Refer to the XF86Config man page for details about the format of # this file. # ********************************************************************** Section "Files" # Multiple FontPath entries are allowed (they are concatenated together) # By default, Mandrake 6.0 and later now use a font server independent of # the X server to render fonts. FontPath "unix/:-1" EndSection Section "ServerFlags" AllowMouseOpenFail # allows the server to start up even if the mouse doesn't work #DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching) #DontZap # disable <Crtl><Alt><BS> (server abort) EndSection Section "Module" Load "dbe" # Double-Buffering Extension Load "v4l" # Video for Linux Load "extmod" Load "type1" Load "freetype" Load "glx" # 3D layer Load "dri" # direct rendering Load "synaptics" # Aggiunto da eagleone per TouchPad Load "vbe" #Prova eagleone per atitivout EndSection Section "DRI" Mode 0666 EndSection Section "InputDevice" Identifier "Keyboard1" Driver "Keyboard" Option "XkbModel" "pc105" Option "XkbLayout" "it" Option "XkbOptions" "" EndSection Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/usbmouse" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" Identifier "Mouse3" Driver "mouse" Option "Protocol" "PS/2" Option "Device" "/dev/psaux" Option "Emulate3Buttons" Option "Emulate3Timeout" "50" EndSection Section "InputDevice" Identifier "Mouse2" Driver "synaptics" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "LeftEdge" "1900" Option "RightEdge" "5400" Option "TopEdge" "1800" Option "BottomEdge" "3900" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.02" Option "MaxSpeed" "0.18" Option "AccelFactor" "0.0010" # Option "SHMConfig" "on" EndSection Section "Monitor" Identifier "monitor1" VendorName "Generic" ModelName "Flat Panel 1400x1050" HorizSync 31.5-90 VertRefresh 59-75 # Sony Vaio C1(X,XS,VE,VN)? # 1024x480 @ 85.6 Hz, 48 kHz hsync ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 563 -hsync -vsync # TV fullscreen mode or DVD fullscreen output. # 768x576 @ 79 Hz, 50 kHz hsync ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 # 768x576 @ 100 Hz, 61.6 kHz hsync ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 EndSection Section "Monitor" Identifier "TV" Option "DPMS" HorizSync 50 VertRefresh 50 EndSection Section "Device" Identifier "device1" VendorName "ATI" BoardName "ATI Radeon (fglrx)" Driver "radeon" # Driver "vesa" # atitvout configuration # Option "TVOut" "on" # Option "TVStandard" "PAL" Option "DPMS" EndSection Section "Device" Identifier "Radeon" Driver "ati" Option "SWcursor" "true" Option "DRIReinit" Option "ForcePCIMode" "false" Option "AGPMode" "4" EndSection Section "Screen" Identifier "screen1" Device "device1" Monitor "monitor1" DefaultColorDepth 16 Subsection "Display" Depth 8 Virtual 1024 768 EndSubsection Subsection "Display" Depth 15 Virtual 1024 768 EndSubsection Subsection "Display" Depth 16 # Virtual 1024 768 Modes "1400x1050" EndSubsection Subsection "Display" Depth 24 # Virtual 1024 768 Modes "1400x1050" EndSubsection EndSection ### TV: 800x600 max Section "Screen" Identifier "Screen_tv" Device "Radeon" Monitor "TV" DefaultDepth 16 Subsection "Display" Depth 16 Modes "800x600" "640x480" EndSubsection EndSection Section "ServerLayout" Identifier "layout1" Screen "screen1" InputDevice "Keyboard1" "CoreKeyboard" InputDevice "Mouse1" "AlwaysCore" InputDevice "Mouse2" "CorePointer" EndSection Section "ServerLayout" Identifier "TV" Screen "Screen_tv" InputDevice "Keyboard1" "CoreKeyboard" InputDevice "Mouse1" "AlwaysCore" InputDevice "Mouse2" "CorePointer" Option "TVOut" "on" Option "TVStandard" "PAL" EndSection
In generale come guida al wireless consiglio questa: http://www.bertolinux.com/wireless/italiano/Wireless-HOWTO.html Per abilitare la WLAN 2100 del Centrino sono disponibili tre vie:
tar -zxvf ndiswrapper-0.8.tar.gz cd ndiswrapper-0.8 su make install
unzip intel2100b.zipVerranno create tre cartelle: DOCS, WIN2K, WINXP.
ndiswrapper -i WINXP/w70n51.infControllo che i driver siano installati usando il comando:
ndiswrapper -lSe tutto è andato a buon fine mi mostrerà:
Installed ndis drivers: w70n51 present
modprobe ndiswrapper
wlan0: ndiswrapper ethernet device xx:xx:xx:xx:xx:xx using driver w70n51.sys
vi /etc/sysconfig/network-scripts/ifcfg-wlan0
DEVICE=wlan0 BOOTPROTO=dhcp ONBOOT=no MODE=Managed ESSID=IL_TUO_ESSID_DI_RETE KEY=LA_TUA_CHIAVE_WEP
iwconfig wlan0 mode Managed ifconfig wlan0 up
dhclient wlan0
urpmi pcmcia-cs
modprobe pcmcia_core modprobe yenta_socket modprobe ds
[root@localhost]# cardctl ident Socket 0: no product info available Socket 1: product info: "O2Micro", "SmartCardBus Reader", "V1.0" manfid: 0xffff, 0x0001
Una buona documentazione può essere questa: http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/USB-Digital-Camera-HOWTO.html
La mia fotocamera è una Sony DSC-F717.
Cmq in generale dovrebbero funzionare quasi tutte. Per vedere la memoria tramite cavo USB:
modprobe usb-storageCome prima lo posso aggiungere in automatico a /etc/rc.d/rc.modules
Attaccando ora il cavo USB e accendendo la fotocamera Mandrake dovrebbe montarla automaticamente e sul desktop dovrebbe comparirvi il collegamento a /mnt/camera o /mnt/removable.
Altrimenti in /etc/fstab aggiungo:
none /mnt/camera supermount dev=/dev/sda1,fs=ext2:vfat,--,iocharset=iso8859-15,codepage=850,kudzu 0 0
E poi per montarla faccio un semplice:
mount /mnt/camera
Come documentazione è possibile fare riferimento a:
http://www.oziosi.org/ZoD/acer.html
http://members.xoom.virgilio.it/enicopi/: ottima guida. oltretutto basata su Mandrake 9.2
La firewire funziona correttamente utilizzando i moduli ohci1394 e ieee1394.
Non ho ancora provato ad acquisire da una telecamera digitale ma
caricando anche i moduli dv1394 e raw1394 tutto dovrebbe correttamente.
Scarico il drivere per XFree86 da: http://w1.894.telia.com/~u89404340/touchpad/index.html:
wget http://w1.894.telia.com/~u89404340/touchpad/files/synaptics-0.13.3.tar.bz2
Decomprimo e installo:
tar -jxvf synaptics-0.13.3.tar.bz2 cd synaptics-0.13.3 su make
Carico i moduli necessari utilizzando il kernel 2.6:
modprobe evdev
Questo genererà il modulo per XFre86. Lo copio quindi nella directory opportuna:
cp synaptics_drv.o /usr/X11R6/lib/modules/input/
Modifico il file di configurazione di X: vi /etc/X11/XF86Config-4
Section "Module" [...] Load "synaptics" [...] EndSection
Section "InputDevice" Identifier "Mouse1" Driver "synaptics" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "LeftEdge" "1900" Option "RightEdge" "5400" Option "TopEdge" "1800" Option "BottomEdge" "3900" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.02" Option "MaxSpeed" "0.18" Option "AccelFactor" "0.0010" Option "SHMConfig" "on" EndSectionDove l'Identifier da utilizzare è lo stesso di ServerLayout
Section "ServerLayout" ... InputDevice "Mouse1" "CorePointer"
Ho fatto riferimento al progetto acerhk: http://www.informatik.hu-berlin.de/~tauber/acerhk/
Dopo aver scaricato il file in formato bzip2 lo decomprimo:
tar -jxvf acerhk-0.5.12.tar.bz2 cd acerhk-0.5.12
Modifico il Makefile e vi inserisco l'indirizzo corretto dei moduli del kernel: vi Makefile e imposto:
KERNELSRC=/lib/modules/2.6.3-4mdk/build/
Copio quindi il modulo compilato nella directory opportuna:
cp acerhk.ko /lib/modules/2.6.3-4mdk/kernel/drivers/char/
Aggiorno la configurazione dei moduli:
depmod -a
Carico il modulo:
modprobe acerhk
Alcuni tasti funzionano in maniera corretta utomaticamente (Email, Net, VolUp, VolDown, Mute) ma altri vanno impostati usando setkeycodes... Ma mi da dei problemi... Per cui per ora utilizzo solo quelli già funzionanti senza modifiche. Per maggiori info potete guardare questa soluzione: http://www.kcore.org/?menumain=4&menusub=1
Installo hotkeys
urpmi hotkeys
Creo il file di configurazione vi /usr/share/hotkeys/acertm.def e vi inserisco:
<?xml version="1.0"?> <definition> <CONFIG model="Acer TravelMate 803Lmi"> <VolUp keycode="176"/> <VolDown keycode="174"/> <Mute keycode="160"/> <userdef keycode="236" command="evolution">evolution (Email)</userdef> <userdef keycode="178" command="mozilla">Mozilla (Web)</userdef> </CONFIG> </definition>
Poi con il mio utente (e NON come root) lancio:
hotkeys -t acertm