Para que linux pueda leer/escribir en el Zen V, necesitamos instalar la librería libmtp. Para que la librería compile y funcione necesitas: primero que tengas montado el sistema de ficheros usbfs. Mira en /etc/fstab si tiene la siguiente línea:
none /proc/bus/usb usbdevfs noauto,devmode=0666 0 0
También necesitas la librerías libusb:
tar xf libusb-0.1.12.tar.gz
cd libusb-0.1.12
./configure --prefix=/usr/local/usb
make
#Como root
make install
Para que el configure de la libmtp encuentre bien la libusb:
export LDFLAGS=-L/usr/local/usb/lib
export CPPFLAGS=-I/usr/local/usb/include
Ahora compilamos la libmtp:
tar xf libmtp-0.1.5.tar.gz
cd libmtp-0.1.5
./configure --prefix=/usr/local/zen
make
#Como root
make install
cp libmtp.rules /etc/udev/rules.d/82-mtp.rules
udevcontrol reload_rules
Si ahora conectamos el Zen en /dev se crearán varios enlaces simbólicos mtp -> usbdev. Lo puedes ver poniendo ls -lrt /dev
Vamos a probar si le detecta nuestro Zen. /usr/local/zen/bin/mtp-detect. Tiene que salir info del Zen.
Para instalar un entorno gráfico busca en la página de libmtp sección Downstream el que más te guste.
viernes, julio 27, 2007
miércoles, enero 17, 2007
wifi con WPA III
Me he comprado la Wii y la he configurado con WPA, para hacerlo compatible he puesto el router utilice wpa y wpa2, y encripción TKIP y AES...
Ademas he modificado el fichero de configuración /usr/local/wifi/etc/wpa:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
ssid="MISSSID"
scan_ssid=1
psk="XXXXXXXX"
}
Para que el propio wpa_supplicant decida que utlizar.
Ademas he modificado el fichero de configuración /usr/local/wifi/etc/wpa:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
ssid="MISSSID"
scan_ssid=1
psk="XXXXXXXX"
}
Para que el propio wpa_supplicant decida que utlizar.
miércoles, enero 03, 2007
wifi con WPA II
Con mi router wireless Comtrend HG536+ tengo problemas para identificarme mediante WPA, he configurado el router a WPA2 y en /usr/local/wifi/etc/wpa modifica a proto=WPA2.
Y parece que funciona.
Y parece que funciona.
sábado, diciembre 23, 2006
wifi con WPA
Nos bajamos wpa_supplicant. Editamos el fichero defconfig y descomentamos la línea CONFIG_DRIVER_IPW=y. También he añadido la lineas:
CFLAGS += -I/usr/local/ssh/include
LIBS += -L/usr/local/ssh/lib
Porque en /usr/local/ssh es donde tengo el OpenSSL y por último sed -i "s:-lcrypto:/usr/local/ssh/lib/libcrypto.a -ldl:g" Makefile
y copiamos el fichero defconfig a .config
Ahora make, después copiaremos los ejecutables wpa_cli y wpa_supplicant a el directorio /usr/local/wifi/sbin
Ahora creamos el archivo de configuración /usr/local/wifi/etc/wpa:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
#Si ocultamos el SSID en el router
ap_scan=2
network={
ssid="MISSSID"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="XXXXXXXX"
}
Y lo lanzamos: /usr/local/wifi/sbin/wpa_supplicant -c /usr/local/wifi/etc/wpa -i eth1 -D wext -dd
Para comprobar que estamos conectados: /usr/local/wifi/sbin/wpa_cli status
Selected interface 'eth1'
bssid=00:16:38:c4:b9:51
ssid=MISSSID
pairwise_cipher=TKIP
group_cipher=TKIP
key_mgmt=WPA-PSK
wpa_state=COMPLETED
ip_address=192.168.1.20
Ya podemos levantar el interfaz: ifup eth1 ipv4
Para parar wpa_supplicant, /usr/local/wifi/sbin/wpa_cli terminate
CFLAGS += -I/usr/local/ssh/include
LIBS += -L/usr/local/ssh/lib
Porque en /usr/local/ssh es donde tengo el OpenSSL y por último sed -i "s:-lcrypto:/usr/local/ssh/lib/libcrypto.a -ldl:g" Makefile
y copiamos el fichero defconfig a .config
Ahora make, después copiaremos los ejecutables wpa_cli y wpa_supplicant a el directorio /usr/local/wifi/sbin
Ahora creamos el archivo de configuración /usr/local/wifi/etc/wpa:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
#Si ocultamos el SSID en el router
ap_scan=2
network={
ssid="MISSSID"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="XXXXXXXX"
}
Y lo lanzamos: /usr/local/wifi/sbin/wpa_supplicant -c /usr/local/wifi/etc/wpa -i eth1 -D wext -dd
Para comprobar que estamos conectados: /usr/local/wifi/sbin/wpa_cli status
Selected interface 'eth1'
bssid=00:16:38:c4:b9:51
ssid=MISSSID
pairwise_cipher=TKIP
group_cipher=TKIP
key_mgmt=WPA-PSK
wpa_state=COMPLETED
ip_address=192.168.1.20
Ya podemos levantar el interfaz: ifup eth1 ipv4
Para parar wpa_supplicant, /usr/local/wifi/sbin/wpa_cli terminate
sábado, diciembre 16, 2006
Touchpad
SynPS/2 Synaptics TouchPad es que tengo instalado. Para que lo detecte bien las xorg, nos bajamos el paquete Synaptics.
Desempaquetamos, make y copiamos synaptics_drv.so a /usr/xorg/lib/X11/modules/input
Ahora lo configuramos /etc/X11/xorg.conf:
Section "ServerLayout"
...
InputDevice "Synaptics Mouse" "AlwaysCore"
...
EndSection
Section "Module"
...
Load "synaptics"
...
EndSection
Section "InputDevice"
Identifier "Synaptics Mouse"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.09"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0015"
Option "SHMConfig" "on"
EndSection
Además del driver se han creado dos ejecutables, synclient y syndaemon. Con syndaemon podemos deshabilitar el touchpad cuando estamos escribiendo: syndaemon -i 1 -d.
Desempaquetamos, make y copiamos synaptics_drv.so a /usr/xorg/lib/X11/modules/input
Ahora lo configuramos /etc/X11/xorg.conf:
Section "ServerLayout"
...
InputDevice "Synaptics Mouse" "AlwaysCore"
...
EndSection
Section "Module"
...
Load "synaptics"
...
EndSection
Section "InputDevice"
Identifier "Synaptics Mouse"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.09"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0015"
Option "SHMConfig" "on"
EndSection
Además del driver se han creado dos ejecutables, synclient y syndaemon. Con syndaemon podemos deshabilitar el touchpad cuando estamos escribiendo: syndaemon -i 1 -d.
viernes, diciembre 15, 2006
USB
Nos vamos al kernel:
Device Drivers -> SCSI device support ->
<M> SCSI device support
[*] legacy /proc/scsi/ support
<M> SCSI disk support
Device Drivers -> USB support ->
<M> Support for Host-side USB
[ ] USB verbose debug messages
[*] USB device filesystem
<M> EHCI HCD (USB 2.0) support
<M> UHCI HCD (most Intel and VIA) support
<M> USB Mass Storage support
[ ] USB Mass Storage verbose debug
[*] Datafab Compact Flash Reader support (EXPERIMENTAL)
[*] Freecom USB/ATAPI Bridge support
[*] ISD-200 USB/ATA Bridge support
[*] Microtech/ZiO! CompactFlash/SmartMedia support
[*] USBAT/USBAT02-based storage support (EXPERIMENTAL)
[*] SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL)
[*] SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL)
[*] Lexar Jumpshot Compact Flash Reader (EXPERIMENTAL)
[*] Olympus MAUSB-10/Fuji DPC-R1 support (EXPERIMENTAL)
[ ] The shared table of common (or usual) storage devices
<M> USB Human Interface Device (full HID) support
[*] HID input layer support
Ahora vamos cargando los módulos principales: usbcore, uhci_hcd
Para pen drive necesitamos cargar, usb_storage, scsi_mod y sd_mod, la enganchar el pen drive se reará un dispositivo scsi, que puede ser sda, sdb. Para verlo dmesg.
Ya sólo falta montar el dispositivo: mount /dev/sda1 /mnt/pendriver
NOTA: Los pendriver normalmente están con un sistema de fichero FAT.
Device Drivers -> SCSI device support ->
<M> SCSI device support
[*] legacy /proc/scsi/ support
<M> SCSI disk support
Device Drivers -> USB support ->
<M> Support for Host-side USB
[ ] USB verbose debug messages
[*] USB device filesystem
<M> EHCI HCD (USB 2.0) support
<M> UHCI HCD (most Intel and VIA) support
<M> USB Mass Storage support
[ ] USB Mass Storage verbose debug
[*] Datafab Compact Flash Reader support (EXPERIMENTAL)
[*] Freecom USB/ATAPI Bridge support
[*] ISD-200 USB/ATA Bridge support
[*] Microtech/ZiO! CompactFlash/SmartMedia support
[*] USBAT/USBAT02-based storage support (EXPERIMENTAL)
[*] SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL)
[*] SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL)
[*] Lexar Jumpshot Compact Flash Reader (EXPERIMENTAL)
[*] Olympus MAUSB-10/Fuji DPC-R1 support (EXPERIMENTAL)
[ ] The shared table of common (or usual) storage devices
<M> USB Human Interface Device (full HID) support
[*] HID input layer support
Ahora vamos cargando los módulos principales: usbcore, uhci_hcd
Para pen drive necesitamos cargar, usb_storage, scsi_mod y sd_mod, la enganchar el pen drive se reará un dispositivo scsi, que puede ser sda, sdb. Para verlo dmesg.
Ya sólo falta montar el dispositivo: mount /dev/sda1 /mnt/pendriver
NOTA: Los pendriver normalmente están con un sistema de fichero FAT.
jueves, diciembre 14, 2006
AIGLX + beryl
Vamos a instalar beryl un gestor de ventana OpenGL. Para ello nos bajamos los fuentes beryl, nos bajamos todos los ficheros svn:
svn co svn://svn.beryl-project.org/beryl/trunk beryl/
* beryl-core-svn, tiene dependencias de startup-notification, libxcomposite, libxdamage, libgl, libpng, glib2, gconf. Libxcomposite y Libxdamage ya está instalados con el xorg. Es importante que esten los fuentes de beryl-mesa en el directorio ../beryl-mesa.
* beryl-plugins-svn, depende librsvg, aquí realmente no obliga a instalar GTK2
* beryl-manager-svn, depende GTK2.
* beryl-dbus-svn, depende dbus.
* beryl-settings-svn, depende GTK2.
* emerald-svn, depende libwnck.
* emerald-themes-svn.
Con esto ya tendríamos el systema montado, si queremos una integración con kde instalaramos aquamarine-svn, si es con gnome heliodor-svn
Para compilar tenemos que hacer hacerlo por orden (ver arriba) y... ./autogen.sh --prefix=/usr/local/beryl-svn
Como no tengo instalado las dependencias en /usr, sino directorios diferentes tengo que decirselo a la utilidad aclocal:
export ACLOCAL="aclocal -I /usr/local/pkgconfig/share/aclocal -I /usr/local/gtk2/share/aclocal -I /usr/local/gnome/share/aclocal"
Una vez terminado de compilar modificamos el .xinitrc:
export PATH=$PATH:/usr/local/beryl-svn/bin:/usr/local/gnome/bin:/usr/local/gtk2/bin
emerald &
beryl-manager &
beryl --indirect-rendering --strict-binding dbus settings &
xterm
Para integrarlo con xfce:
xrdb $HOME/.Xresources
# start beryl and beryl-manager
emerald &
beryl --indirect-rendering --strict-binding &
beryl-manager &
startxfce4
svn co svn://svn.beryl-project.org/beryl/trunk beryl/
* beryl-core-svn, tiene dependencias de startup-notification, libxcomposite, libxdamage, libgl, libpng, glib2, gconf. Libxcomposite y Libxdamage ya está instalados con el xorg. Es importante que esten los fuentes de beryl-mesa en el directorio ../beryl-mesa.
* beryl-plugins-svn, depende librsvg, aquí realmente no obliga a instalar GTK2
* beryl-manager-svn, depende GTK2.
* beryl-dbus-svn, depende dbus.
* beryl-settings-svn, depende GTK2.
* emerald-svn, depende libwnck.
* emerald-themes-svn.
Con esto ya tendríamos el systema montado, si queremos una integración con kde instalaramos aquamarine-svn, si es con gnome heliodor-svn
Para compilar tenemos que hacer hacerlo por orden (ver arriba) y... ./autogen.sh --prefix=/usr/local/beryl-svn
Como no tengo instalado las dependencias en /usr, sino directorios diferentes tengo que decirselo a la utilidad aclocal:
export ACLOCAL="aclocal -I /usr/local/pkgconfig/share/aclocal -I /usr/local/gtk2/share/aclocal -I /usr/local/gnome/share/aclocal"
Una vez terminado de compilar modificamos el .xinitrc:
export PATH=$PATH:/usr/local/beryl-svn/bin:/usr/local/gnome/bin:/usr/local/gtk2/bin
emerald &
beryl-manager &
beryl --indirect-rendering --strict-binding dbus settings &
xterm
Para integrarlo con xfce:
xrdb $HOME/.Xresources
# start beryl and beryl-manager
emerald &
beryl --indirect-rendering --strict-binding &
beryl-manager &
startxfce4
miércoles, diciembre 13, 2006
módulo ipw2200
El siguiente paso es hacer funcionar el USB, concretamente un pen driver (genérico), un mp3 (creative) y el ratón usb.
Como voy a estar compilado continuamente el kernel y no quiero estar instalando el módulo de la tarjeta wireless, muevo el directorio wireless de /lib/modules/2.6.18.3/kernel/driver/net a /lib/modules/2.6.18.3/net
Como voy a estar compilado continuamente el kernel y no quiero estar instalando el módulo de la tarjeta wireless, muevo el directorio wireless de /lib/modules/2.6.18.3/kernel/driver/net a /lib/modules/2.6.18.3/net
lunes, diciembre 11, 2006
X Window: DRI
Compilamos los módulos del kernel:
Device Drivers -> Character devices ->
<*> /dev/agpgart (AGP Support)
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
<M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<M> Intel 830M, 845G, 852GM, 855GM, 865G
<M> i915 driver
En /etc/X11/xorg.conf añadimos en la sección "Device": Option "DRI" "True", en "Module": Load "dri", y añadimos la sección
Section "DRI"
Group "video"
Mode 0660
EndSection
Device Drivers -> Character devices ->
<*> /dev/agpgart (AGP Support)
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
<M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<M> Intel 830M, 845G, 852GM, 855GM, 865G
<M> i915 driver
En /etc/X11/xorg.conf añadimos en la sección "Device": Option "DRI" "True", en "Module": Load "dri", y añadimos la sección
Section "DRI"
Group "video"
Mode 0660
EndSection
X Window
Ya tengo todo instalado para xorg 7.1, sólo me falta los drivers. Me bajo todos y iré compiladon uno a uno lo que necesite.
El touchpad es:
Synaptics Touchpad, model: 1, fw: 5.9, id: 0x256eb1, caps: 0x804713/0x0
input: SynPS/2 Synaptics TouchPad as /class/input/input1
Input: keyboard, mouse (para el touchpad).
Video: Para nuestra Intel Corporation 82852/855GM Integrated Graphics Device el driver es i810.
Section "Device"
Identifier "Card0"
Driver "i810"
VendorName "Intel Corporation"
BoardName "82852/855GM Integrated Graphics Device"
EndSection
Ok, startx y funciona. El touchpad funciona pero habrá que instalar un driver más especifico.
Pero tenemos un problema direct rendering está Disabled, intentaremos solucionarlo.
El touchpad es:
Synaptics Touchpad, model: 1, fw: 5.9, id: 0x256eb1, caps: 0x804713/0x0
input: SynPS/2 Synaptics TouchPad as /class/input/input1
Input: keyboard, mouse (para el touchpad).
Video: Para nuestra Intel Corporation 82852/855GM Integrated Graphics Device el driver es i810.
Section "Device"
Identifier "Card0"
Driver "i810"
VendorName "Intel Corporation"
BoardName "82852/855GM Integrated Graphics Device"
EndSection
Ok, startx y funciona. El touchpad funciona pero habrá que instalar un driver más especifico.
Pero tenemos un problema direct rendering está Disabled, intentaremos solucionarlo.
sábado, diciembre 09, 2006
Administración de la energía IV: Suspensión II
Ok, ya lo he conseguido...
echo 524288000 > /sys/power/image_size
/usr/local/vbetool/sbin/vbetool vbestate save > /delme
sync ; echo -n platform > /sys/power/disk; echo -n mem > /sys/power/state
/usr/local/vbetool/sbin/vbetool vbetool post
/usr/local/vbetool/sbin/vbetool vbestate restore < /delme
rm /delme
/etc/rc.d/init.d/console start
Puede que necesites pulsar alguna tecla porque habrá saltado el protector de pantalla.
echo 524288000 > /sys/power/image_size
/usr/local/vbetool/sbin/vbetool vbestate save > /delme
sync ; echo -n platform > /sys/power/disk; echo -n mem > /sys/power/state
/usr/local/vbetool/sbin/vbetool vbetool post
/usr/local/vbetool/sbin/vbetool vbestate restore < /delme
rm /delme
/etc/rc.d/init.d/console start
Puede que necesites pulsar alguna tecla porque habrá saltado el protector de pantalla.
viernes, diciembre 08, 2006
RAMDISK
Para hacer más rápidas la compilaciones vamos a realizar un ramdisk, que no es otra cosa que un disco virtual en memoria.
Activamos la opción del kernel Device Drivers -> Block devices -> <M> RAM disk support
Como voy a utilizar ext2 para el ramdisk, la reiserfs utiliza 33 Mb para empezar: File systems -> <M> Second extended fs support
Ahora cargarmos el módulo, como quiero más de 4 Mb pongo la opción rd_size=100000, es decir, unos 100 Mb: modprobe rd rd_size=100000, y el módulo ext2.
Ahora tengo que formatear la "disco" voy a formatearlo en ext2, , mke2fs /dev/ram0, luego lo monto mount /dev/ram0 sources -t ext2
Activamos la opción del kernel Device Drivers -> Block devices -> <M> RAM disk support
Como voy a utilizar ext2 para el ramdisk, la reiserfs utiliza 33 Mb para empezar: File systems -> <M> Second extended fs support
Ahora cargarmos el módulo, como quiero más de 4 Mb pongo la opción rd_size=100000, es decir, unos 100 Mb: modprobe rd rd_size=100000, y el módulo ext2.
Ahora tengo que formatear la "disco" voy a formatearlo en ext2, , mke2fs /dev/ram0, luego lo monto mount /dev/ram0 sources -t ext2
Y ahora el sonido...
Volvamos a las fuentes del kernel...
Device Drivers->
Sound ->
<M> Sound card support
Advanced Linux Sound Architecture ->
<M> Advanced Linux Sound Architecture
<M> OSS Mixer API
<M> OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
<M> RTC Timer support
[*] Support old ALSA API
[*] Verbose procfs contents
[*] Verbose printk
PCI devices --->
<M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
Compilamos, instalamos los módulos (hay que volver a reinstalar los driver de la wifi) y ahora a cargar el módulo snd_intel8x0 vemos la salida de dmesg
ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 59491 usecs
intel8x0: clocking to 48000
Para tener compatibilidad OSS cargamos los módulos snd-mixer-oss y snd-pcm-oss
Sólo nos queda instalar ALSA para probar el sonido...
Device Drivers->
Sound ->
<M> Sound card support
Advanced Linux Sound Architecture ->
<M> Advanced Linux Sound Architecture
<M> OSS Mixer API
<M> OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
<M> RTC Timer support
[*] Support old ALSA API
[*] Verbose procfs contents
[*] Verbose printk
PCI devices --->
<M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
Compilamos, instalamos los módulos (hay que volver a reinstalar los driver de la wifi) y ahora a cargar el módulo snd_intel8x0 vemos la salida de dmesg
ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 59491 usecs
intel8x0: clocking to 48000
Para tener compatibilidad OSS cargamos los módulos snd-mixer-oss y snd-pcm-oss
Sólo nos queda instalar ALSA para probar el sonido...
Seguimos con el ahorro: El disco duro
Para activar el ahorro de energia en el disco necesitamos hdparm:
make
make binprefix=/usr/local/ manprefix=/usr/local/ install
Probemos hdparm -I /dev/hda
/dev/hda:
ATA device, with non-removable media
Model Number: FUJITSU MHV2040AT
Serial Number: NS9CT5925NAG
Firmware Revision: 00000096
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 3a
Supported: 6 5 4
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 78140160
device size with M = 1024*1024: 38154 MBytes
device size with M = 1000*1000: 40007 MBytes (40 GB)
Capabilities:
LBA, IORDY(cannot be disabled)
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = ?
Advanced power management level: 128 (0x80)
Recommended acoustic management value: 254, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
Security Mode feature set
* Power Management feature set
* Write cache
* Look-ahead
* Host Protected Area feature set
* WRITE_BUFFER command
* READ_BUFFER command
* DOWNLOAD_MICROCODE
* Advanced Power Management feature set
Power-Up In Standby feature set
* SET_MAX security extension
* Automatic Acoustic Management feature set
* Device Configuration Overlay feature set
* Mandatory FLUSH_CACHE
* SMART error logging
* SMART self-test
* IDLE_IMMEDIATE with UNLOAD
* SMART Command Transport (SCT) feature set
* SCT LBA Segment Access (AC2)
* SCT Error Recovery Control (AC3)
* SCT Features Control (AC4)
* SCT Data Tables (AC5)
Security:
Master password revision code = 65534
supported
not enabled
not locked
frozen
not expired: security count
not supported: enhanced erase
40min for SECURITY ERASE UNIT.
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct
Y ahora hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 1412 MB in 2.00 seconds = 706.00 MB/sec
Timing buffered disk reads: 80 MB in 3.02 seconds = 26.53 MB/sec
Aplicamos hdparm -d1 -c3 -m16 -M128 /dev/hda
Volvemos hacer hdparm -Tt /dev/hda
Timing cached reads: 1484 MB in 2.00 seconds = 741.98 MB/sec
Timing buffered disk reads: 80 MB in 3.01 seconds = 26.56 MB/sec
Realmente no se nota el cambio. Pero el hdparm nos sistema para suspender el disco duro con la opción -Sn, donde n * 5 de segundos de inactividad para suspender el disco.
make
make binprefix=/usr/local/ manprefix=/usr/local/ install
Probemos hdparm -I /dev/hda
/dev/hda:
ATA device, with non-removable media
Model Number: FUJITSU MHV2040AT
Serial Number: NS9CT5925NAG
Firmware Revision: 00000096
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 3a
Supported: 6 5 4
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 78140160
device size with M = 1024*1024: 38154 MBytes
device size with M = 1000*1000: 40007 MBytes (40 GB)
Capabilities:
LBA, IORDY(cannot be disabled)
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = ?
Advanced power management level: 128 (0x80)
Recommended acoustic management value: 254, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
Security Mode feature set
* Power Management feature set
* Write cache
* Look-ahead
* Host Protected Area feature set
* WRITE_BUFFER command
* READ_BUFFER command
* DOWNLOAD_MICROCODE
* Advanced Power Management feature set
Power-Up In Standby feature set
* SET_MAX security extension
* Automatic Acoustic Management feature set
* Device Configuration Overlay feature set
* Mandatory FLUSH_CACHE
* SMART error logging
* SMART self-test
* IDLE_IMMEDIATE with UNLOAD
* SMART Command Transport (SCT) feature set
* SCT LBA Segment Access (AC2)
* SCT Error Recovery Control (AC3)
* SCT Features Control (AC4)
* SCT Data Tables (AC5)
Security:
Master password revision code = 65534
supported
not enabled
not locked
frozen
not expired: security count
not supported: enhanced erase
40min for SECURITY ERASE UNIT.
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct
Y ahora hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 1412 MB in 2.00 seconds = 706.00 MB/sec
Timing buffered disk reads: 80 MB in 3.02 seconds = 26.53 MB/sec
Aplicamos hdparm -d1 -c3 -m16 -M128 /dev/hda
Volvemos hacer hdparm -Tt /dev/hda
Timing cached reads: 1484 MB in 2.00 seconds = 741.98 MB/sec
Timing buffered disk reads: 80 MB in 3.01 seconds = 26.56 MB/sec
Realmente no se nota el cambio. Pero el hdparm nos sistema para suspender el disco duro con la opción -Sn, donde n * 5 de segundos de inactividad para suspender el disco.
Administración de la energía IV: Suspensión
Para suspender:
sync ; echo platform > /sys/power/disk; echo mem > /sys/power/state
El Q25 suspender se suspender, pero al despertarlo no se enviende la pantalla. Buscado por he encontrado una utilizadad vbetool que permite encender y apagar la pantalla.
Para compilar vbetool necesitamos las PCI Utils:
sed -i 's/null ;/null 2>\&1 ;/' update-pciids.sh
make PREFIX=/usr/local/pciutils
make PREFIX=/usr/local/pciutils install
install -v -m 755 -d /usr/local/pciutils/include/pci
install -v -m 755 -d /usr/local/pciutils/lib
install -v -m 644 lib/libpci.a /usr/local/pciutils/lib
install -v -m 644 lib/*.h /usr/local/pciutils/include/pci
Para el update-pciids.sh, que actuliza la base de datos de lspci, necesitamos wget (ya lo tenemos) y which:
cat > /usr/local/bin/which << "EOF"
#!/bin/bash
type -pa "$@" | head -n 1 ; exit ${PIPESTATUS[0]}
EOF
chmod -v 755 /usr/local/bin/which
chown -v root:root /usr/local/bin/which
Actualizamos la base de datos: /usr/local/pciutils/sbin/update-pciids
Ahora instalamos vbetool:
./configure --prefix=/usr/local/vbetool
Editamos el Makefile: y en CPPFLAGS añadimos -I/usr/local/pciutils/include y buscamos todos lo sitios donde ponga $(libdir)/libpci.a lo reemplazamos por /usr/local/pciutils/lib/libpci.a
make
make install
Probamos...
sync ; echo platform > /sys/power/disk; echo mem > /sys/power/state
/usr/local/vbetool/sbin/vbetool dpms on
Pero no funciona :-(
sync ; echo platform > /sys/power/disk; echo mem > /sys/power/state
El Q25 suspender se suspender, pero al despertarlo no se enviende la pantalla. Buscado por he encontrado una utilizadad vbetool que permite encender y apagar la pantalla.
Para compilar vbetool necesitamos las PCI Utils:
sed -i 's/null ;/null 2>\&1 ;/' update-pciids.sh
make PREFIX=/usr/local/pciutils
make PREFIX=/usr/local/pciutils install
install -v -m 755 -d /usr/local/pciutils/include/pci
install -v -m 755 -d /usr/local/pciutils/lib
install -v -m 644 lib/libpci.a /usr/local/pciutils/lib
install -v -m 644 lib/*.h /usr/local/pciutils/include/pci
Para el update-pciids.sh, que actuliza la base de datos de lspci, necesitamos wget (ya lo tenemos) y which:
cat > /usr/local/bin/which << "EOF"
#!/bin/bash
type -pa "$@" | head -n 1 ; exit ${PIPESTATUS[0]}
EOF
chmod -v 755 /usr/local/bin/which
chown -v root:root /usr/local/bin/which
Actualizamos la base de datos: /usr/local/pciutils/sbin/update-pciids
Ahora instalamos vbetool:
./configure --prefix=/usr/local/vbetool
Editamos el Makefile: y en CPPFLAGS añadimos -I/usr/local/pciutils/include y buscamos todos lo sitios donde ponga $(libdir)/libpci.a lo reemplazamos por /usr/local/pciutils/lib/libpci.a
make
make install
Probamos...
sync ; echo platform > /sys/power/disk; echo mem > /sys/power/state
/usr/local/vbetool/sbin/vbetool dpms on
Pero no funciona :-(
Administración de la energía IV: Hibernación
Para hibernar el Q25 hay que hacer:
#Amplio la imagen a mis 1,25 Gbytes: (1024 + 256) * 1024 * 1024
echo 1342177280 > /sys/power/image_size
sync ; echo platform > /sys/power/disk; echo disk > /sys/power/state
Para que al arrancar vaya al swap para recuperar, editar /boot/grub/menu.lst y en la opciones kernel añadir resume=/dev/hda3 (mi partición swap). Así es como quedaría:
kernel (hd0,1)/boot/bzImage-2.6.18.3 root=/dev/hda2 ro resume=/dev/hda3
Al volver la consola no recupera el tipo de letra correcto, para recupelarla: /etc/rc.d/init.d/console start.
Para que todo se automático creo el script:
echo 1342177280 > /sys/power/image_size
sync ; echo platform > /sys/power/disk; echo disk > /sys/power/state
/etc/rc.d/init.d/console start
El comando sync vacía los buffers del disco.
#Amplio la imagen a mis 1,25 Gbytes: (1024 + 256) * 1024 * 1024
echo 1342177280 > /sys/power/image_size
sync ; echo platform > /sys/power/disk; echo disk > /sys/power/state
Para que al arrancar vaya al swap para recuperar, editar /boot/grub/menu.lst y en la opciones kernel añadir resume=/dev/hda3 (mi partición swap). Así es como quedaría:
kernel (hd0,1)/boot/bzImage-2.6.18.3 root=/dev/hda2 ro resume=/dev/hda3
Al volver la consola no recupera el tipo de letra correcto, para recupelarla: /etc/rc.d/init.d/console start.
Para que todo se automático creo el script:
echo 1342177280 > /sys/power/image_size
sync ; echo platform > /sys/power/disk; echo disk > /sys/power/state
/etc/rc.d/init.d/console start
El comando sync vacía los buffers del disco.
jueves, diciembre 07, 2006
Administración de la energía III: ACPI
Ya hemos visto el módulo processor.
ac:
al cargar el módulo ac crea un fichero /proc/acpi/ac_adapter/ADP1/state indicando si está conectado a la red eléctrica (on-line) o no (off-line)
thermal:
Crea el directorio /proc/acpi/thermal_zone/THRM con información sobre la temperatura del Q25. El fichero más interesante es temperature que nos indica la temperatura del cpu.
fan:
Crea el fichero /proc/acpi/fan/FAN0/fan, el estado del ventilador.
dock:
Según la documentación del kernel añade soporte para ACPI controle las dock stations.
button:
crea en /proc/acpi/button los directorios lid/* power/* sleep/*. /proc/acpi/button/lid/LID0/state nos indica si está levantada la tapa o no del Q25.
battery:
Crea /proc/acpi/battery/BAT1 con información de la bateria y consumo. El fichero info nos da información de la bateria y state con el estado cargando/descargando, consumo en eso momento y energia almacenada.
ac:
al cargar el módulo ac crea un fichero /proc/acpi/ac_adapter/ADP1/state indicando si está conectado a la red eléctrica (on-line) o no (off-line)
thermal:
Crea el directorio /proc/acpi/thermal_zone/THRM con información sobre la temperatura del Q25. El fichero más interesante es temperature que nos indica la temperatura del cpu.
fan:
Crea el fichero /proc/acpi/fan/FAN0/fan, el estado del ventilador.
dock:
Según la documentación del kernel añade soporte para ACPI controle las dock stations.
button:
crea en /proc/acpi/button los directorios lid/* power/* sleep/*. /proc/acpi/button/lid/LID0/state nos indica si está levantada la tapa o no del Q25.
battery:
Crea /proc/acpi/battery/BAT1 con información de la bateria y consumo. El fichero info nos da información de la bateria y state con el estado cargando/descargando, consumo en eso momento y energia almacenada.
Administración de la energía II: Frecuencia del procesador
Vemos a que velocidad corre nuestro procesador:
cat /proc/cpuinfo
cpu MHz : 1594.910
modprobe speedstep-centrino
Esto carga los módulos speedstep_centrino, freq_table, processor
dmesg:
Time: acpi_pm clocksource has been installed.
ACPI: CPU0 (power states: C1[C1] C2[C2])
ACPI: Processor [CPU0] (supports 2 throttling states)
Y crea el directorio /sys/devices/system/cpu/cpu0/cpufreq. En este directorio hay varios ficheros que nos sirve para dar órdenes y obtener información. El que nos interesa es scaling_governor, es aquí donde vamos a decirle cual va a ser la política de frecuencia del procesador. Por defecto hemos decidido que sea performance, que significa que el procesador irá a 1,6 Ghz. Tenemos 4 políticas:
a) performance. Mayor frecuencia de procesador siempre. 1,6 Ghz
b) powersave. Menor frecuencia de procesador siempre. 600 Mhz
c) userscape. La frecuencia que queramos dentro del rango: cat scaling_available_frequencies
d) ondemand. Según la demanda.
e) conservate. Según la demanda pero enfocado al ahorro.
Las politicas que podemos utilizar están en el fichero scaling_available_governors. Por defecto sólo está performance. Yo utilizo conservate, así pues, modprobe cpufreq_conservative y lo activo: echo -n conservative > scaling_governor
Volvemos hacer cat /proc/cpuinfo
cpu MHz : 600.000
A mayor frecuencia mayor consumo y mayor calor disipado
Lamentablemente no se puede poner por defecto la política conservative, así pues habrá que hacer un guión de arranque que lo haga.
cat /proc/cpuinfo
cpu MHz : 1594.910
modprobe speedstep-centrino
Esto carga los módulos speedstep_centrino, freq_table, processor
dmesg:
Time: acpi_pm clocksource has been installed.
ACPI: CPU0 (power states: C1[C1] C2[C2])
ACPI: Processor [CPU0] (supports 2 throttling states)
Y crea el directorio /sys/devices/system/cpu/cpu0/cpufreq. En este directorio hay varios ficheros que nos sirve para dar órdenes y obtener información. El que nos interesa es scaling_governor, es aquí donde vamos a decirle cual va a ser la política de frecuencia del procesador. Por defecto hemos decidido que sea performance, que significa que el procesador irá a 1,6 Ghz. Tenemos 4 políticas:
a) performance. Mayor frecuencia de procesador siempre. 1,6 Ghz
b) powersave. Menor frecuencia de procesador siempre. 600 Mhz
c) userscape. La frecuencia que queramos dentro del rango: cat scaling_available_frequencies
d) ondemand. Según la demanda.
e) conservate. Según la demanda pero enfocado al ahorro.
Las politicas que podemos utilizar están en el fichero scaling_available_governors. Por defecto sólo está performance. Yo utilizo conservate, así pues, modprobe cpufreq_conservative y lo activo: echo -n conservative > scaling_governor
Volvemos hacer cat /proc/cpuinfo
cpu MHz : 600.000
A mayor frecuencia mayor consumo y mayor calor disipado
Lamentablemente no se puede poner por defecto la política conservative, así pues habrá que hacer un guión de arranque que lo haga.
Administración de la energía I
Con las opciones de kernel de administración de la energía nos permite ver el consumo el Q25, cuanta batería queda, modificar la frecuencia de procesador, suspensión e hibernación, y demás opciones de ahorro de la energía.
Hibernación:
Power management options (ACPI, APM) ->
[*] Power Management support
[*] Software Suspend
(/dev/hda3) Default resume partition
/dev/hda3 es mi partición swap, esta debe ser el doble, al menos, de la memoria RAM que tenga el Q25. Yo tengo 1,25 G y una swap de 3 G
ACPI:
Power management options (ACPI, APM) ->
[*] Power Management support
ACPI (Advanced Configuration and Power Interface) Support ->
[*] ACPI Support
[*] Sleep States (NEW)
<M> AC Adapter
<M> Battery
<M> Button
<M> Generic Hotkey
<M> Fan
<M> Dock
<M> Processor
<M> Thermal Zone (NEW)
Frecuencia del procesador:
Power management options (ACPI, APM) ->
[*] Power Management support
CPU Frequency scaling --->
[*] CPU Frequency scaling
<M> CPU frequency translation statistics
[*] CPU frequency translation statistics details
Default CPUFreq governor (performance) --->
--- 'performance' governor
<M> 'powersave' governor
<M> 'userspace' governor for userspace frequency scaling
<M> 'ondemand' cpufreq policy governor
<M> 'conservative' cpufreq governor
<M> Intel Enhanced SpeedStep
[*] Use ACPI tables to decode valid frequency/voltage pairs (NEW)
[*] Built-in tables for Banias CPUs (NEW)
Ok, salimos guardamos y compilar...
Lo instalamos los módulos. Esto hace que perdamos el driver de la tarjeta wifi, lo cual entramos en las fuentes del driver y... make install
Hibernación:
Power management options (ACPI, APM) ->
[*] Power Management support
[*] Software Suspend
(/dev/hda3) Default resume partition
/dev/hda3 es mi partición swap, esta debe ser el doble, al menos, de la memoria RAM que tenga el Q25. Yo tengo 1,25 G y una swap de 3 G
ACPI:
Power management options (ACPI, APM) ->
[*] Power Management support
ACPI (Advanced Configuration and Power Interface) Support ->
[*] ACPI Support
[*] Sleep States (NEW)
<M> AC Adapter
<M> Battery
<M> Button
<M> Generic Hotkey
<M> Fan
<M> Dock
<M> Processor
<M> Thermal Zone (NEW)
Frecuencia del procesador:
Power management options (ACPI, APM) ->
[*] Power Management support
CPU Frequency scaling --->
[*] CPU Frequency scaling
<M> CPU frequency translation statistics
[*] CPU frequency translation statistics details
Default CPUFreq governor (performance) --->
--- 'performance' governor
<M> 'powersave' governor
<M> 'userspace' governor for userspace frequency scaling
<M> 'ondemand' cpufreq policy governor
<M> 'conservative' cpufreq governor
<M> Intel Enhanced SpeedStep
[*] Use ACPI tables to decode valid frequency/voltage pairs (NEW)
[*] Built-in tables for Banias CPUs (NEW)
Ok, salimos guardamos y compilar...
Lo instalamos los módulos. Esto hace que perdamos el driver de la tarjeta wifi, lo cual entramos en las fuentes del driver y... make install
miércoles, diciembre 06, 2006
wifi con WEP
Configuramos nuestro router wifi con encriptación wep y le ponemos una clave.
Ponemos el essid y channel con en el caso anterior y añadir la opción key:
iwconfig eth1 essid TOLETUM channel 11 key restricted key s:CLAVE
Vemos si hemos conectado iwconfig eth1 tiene que tener puesto el "Access Point" la MAC del router.
Y levantamos el interfaz.
Ponemos el essid y channel con en el caso anterior y añadir la opción key:
iwconfig eth1 essid TOLETUM channel 11 key restricted key s:CLAVE
Vemos si hemos conectado iwconfig eth1 tiene que tener puesto el "Access Point" la MAC del router.
Y levantamos el interfaz.
Suscribirse a:
Entradas (Atom)