lunes, 25 de agosto de 2008

Debian en Acer Aspire 2003WLMi. (Actualización del 02/08/2004)

Aquí tenéis una configuración de mi portátil en Debian. Está claro que el hw de mi portátil es un poco antíguo, pero siempre viene bien tener un punto de referencia. Por otro lado prometo que actualizaré este post con nueva información ya que ha pasado mucho tiempo desde este HOWTO.

Configuración del equipo



TipoComponentesEstadoRepresentaciónDescripción
Power ManagerACPIFuncionando
Testeando suspender, e hibernación.
RatónTouchPad (Synaptic)Funcionando
Touchpad con dos teclas, pulsación en la superficie, y un joystick de cuatro direcciones.(Por fin funciona el joystick)
Tarjeta GráficaATI Radeon Mobility 9200 (M9+)Funcionando
Funciona perfectamente con dri, glx. Sin el uso de los drivers de ATI
PantallaWXGA 15.4" con resolución de 1280x800.Funcionando
Funcionamiento correcto con XFree 4.3
Disco DuroHITACHI DK23FA-60 (60 GB)Funcionando
UDMA 100 Funciona correctamente.
DVD/CDRWMatshita DVD-RAM UJ-815AFuncionando
Funciona correctamente, software recomendado k3b o x-cd-roast.
EthernetRealtek RTL8101Funcionando
Funciona correctamente.
WirelessIntel PRO/Wireless 2100Funcionando
Wi-Fi con driver ipw2100 de Intel + hostap (para la encriptación WEP). Ahora también sin la necesidad de HOSTAP.
SonidoIntel i810Funcionando
Funcionando bajo ALSA (Con reproducción de dos sonidos simultaneos)
ModemIntel 82801DB AC'97 (winmodem)No Testeado
En pruebas
PCMCIAENE Technology Inc CB1410Hardware Detectado
No usado.
FirewireTI TSB43AB21 IEEE-1394a-2000Hardware Detectado
No usado.
USBIntel 82891DBFuncionando
Testeado con ratón USB, y Disco duro externo.
IrDASMC IrCC Fast Infrared (FIR)Funciona (Actualizado)
Testeado con mi movil Nokia 7650.
Teclas EspecialesAcer special keysFuncionando (Parcialmente)
Funcionando todas, menos BLUETOOTH, Fn+F1, Fn+F2, Fn+F3 y Fn+F4

ACPI [Inicio]


Hago uso del ACPI que se incluye en la serie del Kernel 2.6.x, en mi caso en este momento estoy con el kernel 2.6.7, si el uso de ningún parche del proyecto ACPI.
De momento conseguimos que funcione tanto el botón de apagado, y que el ordenador se apague y no se quede esperando a apagar.
Además con ACPI podemos ver el estado de bateria, procesador ..., y todo lo relacionado con el power manger.
De momento no he conseguido que funcione la suspensión ni la hibernación. Pero estoy mirando el proyecyo swsusp.


CPUFREQ


Para gestionar la velocidad de nuestra cpu, he usado el programa cpufreq, que se puede conseguir haciendo apt-get install cpufreq. Además tenemos que seleccionar la opciones en el kernel para que podamos cambiar la frecuencia de la cpu. Estas opciones son las siguientes:



[*] CPU Frequency scaling
[ ] Enable CPUfreq debugging
< > /proc/cpufreq interface (deprecated)
Default CPUFreq governor (userspace)
---><*> 'performance' governor
<*> 'powersave' governor
--- 'userspace' governor for userspace frequency scaling
[ ] /proc/sys/cpu/ interface (2.4. / OLD)
<*> 'ondemand' cpufreq policy governor
<*> CPU frequency table helpers
--- CPUFreq processor drivers
<*> ACPI Processor P-States driver
< > AMD Mobile K6-2/K6-3 PowerNow!
< > AMD Mobile Athlon/Duron PowerNow!
< > AMD Opteron/Athlon64 PowerNow!
< > Cyrix MediaGX/NatSemi Geode Suspend Modulation
<*> Intel Enhanced SpeedStep
[*] Use ACPI tables to decode valid frequency/voltage pairs
[*] Built-in tables for Banias CPUs
<M> Intel Speedstep on ICH-M chipsets (ioport interface)
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)
< > Intel Pentium 4 clock modulation
< > nVidia nForce2 FSB changing
< > Transmeta LongRun
< > VIA Cyrix III Longhaul
--- shared options
[ ] /proc/acpi/processor/../performance interface (deprecated)
[*] Relaxed speedstep capability checks

Una vez que compilamos el kernel con estas opciones pasamos ahora a configurar el cpufreq,haciendo los siguientes pasos



  • $cd /sys/devices/system/cpu/cpu/cpufreq

  • $cat scaling_available_governors ondemand pwersave performance userspace

  • $echo ondemand > scaling_governor

  • $cat scaling_min_freq 600000

  • $cat scaling_max_freq 1600000


RATÓN [Inicio]


El ratón que incluye el portatil es del tipo synaptic. Para esto hacemos apt-get install synaptic y conseguiremos instalar el driver synaptic. Aun así usaremos para el control del ratón la interfaz GPM. Para más información sobre el GPM mira la página de Dmitry Torokhov's page.


Además tenemos que seleccionar las siguientes opciones en el kernel:



<*> Event interfacez
<M> Event debugging
[*] Mice
<*> PS/2 mouse
[*] Synaptics TouchPad

Cuando tengamos todo esto solo tenemos que poner la configuración del fichero /etc/gpm.conf. Y poner la configuración adecuada en la configuración de las X, que a continuación podemos ver.



Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "CorePointer" "1"
Option "Protocol" "auto-dev"
Option "Protocol" "event"
Option "ZAxisMapping" "4 5"
Option "Device" "/dev/gpmdata"
Option "UpDownScrolling" "on"
Option "LeftEdge" "1900"
Option "RightEdge" "5400"
Option "TopEdge" "1900"
Option "BottomEdge" "4000"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "MinSpeed" "0.02"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
Option "HorizScrollDelta" "100"
Option "VertScrollDelta" "100"
Option "Emulate3Buttons"
EndSection

Tarjeta gráfica [Inicio]

Este ha sido mi mayor problema para que funcionase correctamente. Dado que la tarjeta gráfica es una ATI Mobility Radeon 9200, lo primero fue probar con los drivers de ATI, pero no he conseguido que con los drivers de ATI funcionase el dri. Con lo que si hacemos un glxgear nos da unos resultados de entre 250 ~ 315 FPS, que es bastante bajo.

Entonces decidí probar con los driver de dri, además de ser drivers open.

Para esto debemos habilitar las siguientes opciones en el kernel:

<M> /dev/agpgart (AGP Support)
<M> ATI chipset support
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
[*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<M> ATI Rage 128
<M> ATI Radeon

Además hay que instalar los siguientes paquetes:

  • xfree86-common_4.3.0.dfsg.1-4_all.deb
  • xlibmesa-dri_4.3.0.dfsg.1-4_i386.deb
  • xlibmesa-gl_4.3.0.dfsg.1-4_i386.deb
  • xlibmesa-glu_4.3.0.dfsg.1-4_i386.deb
  • xserver-common_4.3.0.dfsg.1-4_i386.deb
  • xserver-xfree86_4.3.0.dfsg.1-4_i386.deb
  • x-window-system-core_4.3.0.dfsg.1-4_i386.deb
  • xlibs_4.3.0.dfsg.1-4_all.deb
  • libxt6_4.3.0.dfsg.1-4_i386.deb

Además yo instalé el paquete correspondiente que hay en http://www.freedesktop.org/~dri/snapshots/. Una vez hechoesto tenía el problema de que no arrancaba las X, con lo que reinstalé el paquete xserver-xfree86 con apt-get install xserver-xfree86 --reinstall.

A continuación muestro la configuración de la tarjeta en las X:

=== ATI device section ===
Section "Device"
Identifier "ATI Graphics Adapter"
Driver "radeon"
ChipID 0x5c61
Option "EnablePageFlip" "yes"
Option "AGPMode" "4"
Option "BusType" "AGP"
BusID "PCI:1:0:0"
Screen 0
EndSection

Para saber si está activado el dri hacemos glxinfo | grep direct.

Con esta configuración he conseguido unos registros en el glxgears de 2050 FPS.

Aquí tienes mi fichero /etc/X11/XF86Config-4

Pantalla [Inicio]

La configuración de la pantalla es bastante sencillo, sólo hay que decirle la resolución correcta. Entonces sólo tenemos que editar un fichero, que será nuestro /etc/X11/XF86Config-4.

A continuación pongo la parte del fichero para la configuración de la pantalla:

# **********************************************************************
# Monitor section
************************************************************************
# Any number of monitor sections may be present
Section "Monitor"
Identifier "Acer Panel WXGA"
#DisplaySize 330 210
HorizSync 31.5 - 91.1
VertRefresh 60 - 100
Option "DPMS"
Modeline "1280x800@60" 83.91 1280 1312 1624 1656 800 816 824 841
EndSection

Con esta configuración la pantalla funciona de vicio.

Disco Duro [Inicio]

No es necesario hacer nada en la configuración para configurar el disco duro.

Con el kernel 2.6.7

/dev/hda:
Timing buffered disk reads: 82 MB in 3.03 seconds = 27.02 MB/sec

DVD/CDRW [Inicio]

En el kernel 2.6.7 no es necesario usar la emulación SCSI, pero yo he seguido usandola, y no he tenido problemas. Así que tendríamos que en el lilo.conf append="hdc=ide-scsi"

Para la grabación, yo uso el programa K3B, o en su defecto X-CD-Roast.

Como hemos utilizado la emulación el DVD-RW estará en /dev/scd0, con lo que yo hago los siguientes enlaces:

  • ln -s /dev/scd0 /dev/dvd
  • ln -s /dev/scd0 /dev/cdrom

Las opciones del kernel que hay que habilitar son:

  • CONFIG_BLK_DEV_IDECD
  • CONFIG_BLK_DEV_IDESCSI
  • CONFIG_BLK_DEV_SR

Ethernet [Inicio]

Para configurar la tarjeta de red lo único que hay que hacer es cargar el módulo
8139too, para esto lo tenemos que tener seleccionado como módulo en el kernel.

Wireless [Inicio]

Desde el principio utilizo el driver de Intel en su desarrollo open,
que se encuentra en el proyecto ipw2100.

Lo único que hay que hacer es descargarse las fuentes, y compilarlas, para que este funcione. Pero de esta manera tiene un problema, y es que no funciona la encriptación WEP, por lo menos en la versión que utilizo ( 0.41 ).

Para solucionar el problema de la encriptación, vamos a recurrir a HOST AP DRIVER, con el que si que tendremos la posibilidad de utilizar el WEP. Para esto seguimos las siguientes instrucciones.

  1. Compilamos primero el hostap.
  2. Después compilamos el ipw2100.
  3. Por último dejamos el fichero del firmware ( ipw2100-1.0.fw ) en el directorio /etc/firmware.

Otra manera de hacer esto es aplicando parches sobre el kernel ( así es como lo tengo yo ), para esto tenemos que hacer lo siguiente.

  1. Aplicamos el parche del hostap en el kernel.
  2. Aplicamos el parche del ipw2100.
  3. Habilitamos las siguientes opciones en el kernel

    • CONFIG_IPW2100
    • CONFIG_IPW2100_LEGACY_FW_LOAD
    • CONFIG_HOSTAP
    • CONFIG_HOSTAP_PLX
    • CONFIG_HOSTAP_PCI

Nota: Con esto sólo tengo un problema, y es que cuando compilo el kernel, antes de compilar tengo que declarar una variable de entorno con el root. Esta es export HOSTAP_SRC=/<directorio_del_kernel>/drivers/net/wireless. Con esto compila perfectamente. Otro detalle a destacar es que las opciones del kernel dichas, las tengo marcadas como módulo.

Sonido [Inicio]

Para el sonido tenemos dos opciones, o bien usar ALSA, o usar
OSS. En mi caso me decanto por ALSA, ya que con alsa conseguimos
que nuestra tarjeta funcione con sonido Full Duplex, cosa que no quiere decir que podamos escuchar dos o más sonidos a la vez, sino que podemos grabar y reproducir a la vez. Para la reproducción de dos sonidos simultaneos, veremos como conseguirlo con ALSA.

Para empezar tenemos que configurar nuestro kernel con las siguientes opciones.

<*> Advanced Linux Sound Architecture
<*> Sequencer support
<*> Sequencer dummy client
[*] OSS API emulation
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS Sequencer API
PCI devices --->
<*> Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111

Para habilitar la reproducción simultanea de dos sonido tenemos que hacer los siguiente.

Tenemos que tener dentro de nuestro fichero .asoundrc lo siguiente.
#~/.asoundrc
# Everuthng sall be dmixed
pcm.!default{
type plug
slave.pcm "ossmix"
}
#OSS via aoss should d(mix)stroyed:
pcm.dsp0{
type plug
slave.pcm "ossmix"
}
#out ICE1712 dmix:
pcm.ossmix{
type dmix
ipc_key 1024
slave{
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
bindings{
0 0
1 1
}
}
ctl.mixer0 {
type hw
card 0
}

Modem [Inicio]


PCMCIA [Inicio]

En este apartado me detecta el hardware, pero no he tenido la posibilidad de probar este dispositivo.

FireWire [Inicio]

Aunque no he podido comprobar el funcionamiento de este dispositivo, si que me detecta el hardware, además de activarme la red sobre el IEEE1394, con el módulo eth1394.

USB [Inicio]

Para hacer funcionar el USB, tendremos que seleccionar las siguientes opciones en el kernel.

Bus options (PCI, PCMCIA, EISA, MCA, ISA)
[*] Support for hot-pluggable devices
SCSI device support
<M> SCSI device support
<M> SCSI disk support
<M> SCSI CDROM support
[*] Enable vendor-specific extensions (for SCSI CDROM)
<M> SCSI generic support
[*] Probe all LUNs on each SCSI device
[*] Build with SCSI REPORT LUNS support
USB support
<*> Support for USB
[*] USB device filesystem
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
<*> UHCI HCD (most Intel and VIA) support
<*> USB Modem (CDC ACM) support
<M> USB Mass Storage support
[*] USB Mass Storage verbose debug
[*] SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL)
[*] SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL)

IrDA [Inicio]

Actualización 2/8/2004: Ya está configurado los irda, lo primero es saber que chipset debemos usar, en nuestro caso hemos de usar el smsc_ircc2, para esto activaremos las siguientes opciones en el kernel.

Bus options (PCI, PCMCIA, EISA, MCA, ISA)
[*] ISA support
<M> IrDA (infrared) subsystem support
--- IrDA protocols
<M> IrLAN protocol
<M> IrNET protocol
<M> IrCOMM protocol
[*] Ultra (connectionless) protocol
--- IrDA options
[*] Cache last LSAP
[*] Fast RRs (low latency)
[*] Debug information
Infrared-port device drivers --->
--- SIR device drivers
<M> IrTTY /uses Linux serial driver)
--- Old SIR device drivers
<M> IrPort (IrDA serial driver)
--- FIR device drivers
<M> SMSC IrCC (EXPERIMENTAL)

Una vez tengamos compilado el kernel, con esta opciones, tenemos que cargar el módulo smsc_ircc2,
con esto nos va a aparecer una nueva interfaz, llamada irda0, no confundir con irlan0.

Después de esto tenemos que instalar el paquete irda-utils, con el apt. Despues sólo
tenemos que escribir la siguiente instrucción: irattach irda0, teniendo cargados los módulos
irda y smsc_ircc2. Así ya está configurado el irda. Para usar la conectividad con el
móvil uso OpenObex, que obtenemos instalando el paquete openobex-apps.

Teclas Especiales[Inicio]

Para poder usar la teclas especiales de acer vamos a necesitar instalar
Acer Hotkey driver for Linux, con esto vamos a habilitar los botones, pero estos no activan nada. Para poder hacer que ejecuten un comando, vamos a utilizar Hotkeys. Entonces seguiremos los siguientes pasos.

  1. Instalamos acerhk.
  2. Cargamos el modulo creado por acerhk, con modprobe acerhk poll=1.
  3. Instalamos hotkeys (hacemos apt-get install hotkeys).
  4. Creamos un fichero en /usr/share/hotkeys/, que se llame acer_aspire_2000.def. El enlace no muestra el contenido exacto ya que es un fichero xml.
  5. Una vez creado el fichero tenemos que configurar el fichero /etc/hotkeys.conf, con el siguiente contenido.
  6. Por último arrancamos hotkeys, y ya está.


Además de las instrucciones anteriores vamos a necesitar mapear una teclas esto lo conseguimos con lo siguiente:

  • setkeycodes e03e 123 (Tecla vol+)
  • setkeycodes e03f 138 (Tecla vol-)
  • setkeycodes e071 148 (Tecla P1)
  • setkeycodes e072 149 (Tecla P2)
  • setkeycodes e012 122 (Tecla ARCADE)

Las únicas teclas que no funcionan con esta configuración son Bluetooth, Fn+F1, Fn+F2, Fn+F3 y Fn+F4.

Para no tener que mapear cada vez que iniciamos, creamos un script y lo ponemos en /etc/init.d/.

viernes, 22 de agosto de 2008

Bienvenid@

Hace muchísimo tiempo que no escribo en un blog. Se me pueden ocurrir miles y miles de razones por las que no lo he hecho:
  • Pereza (Yo no soy perezoso, es mi cuerpo el que no quiere levantar).
  • No tener tema sobre el que escribir (siempre hay algo sobre lo que escribir, volvemos a la pereza)
  • Falta de tiempo (Falta de tiempo + Pereza = NO BLOG).
  • ...
He dicho que tenía miles de razones, pero bien por pereza o por falta de tiempo, sólo escribo tres, xD. Bueno quizás esta pueda ser otra razón...



Mientras estoy escribiendo, he recordado que tenía ya un blog en blogger, aquí dejo el enlace [hugopm.blogspot.com], aunque únicamente hay un triste enlace a un HOWTO de Linux, en fin, parece que no tenía mucho tiempo.

Sin embargo, voy a intentar bloggear un poco más desde este momento. Intentaré escribir de todo tipo de cosas, pero para que os voy a mentir, soy informático y seguramente el 50% de las entradas serán de temas tecnológicos, de los que un alto grado serán de informática. No preguntéis.... soy así.

Por último añadir que me tenéis en Facebook y en Tuenti. En ambas me encontraréis como Hugo Párraga.

Saludos a todos.