COOL 'n' QUIET EN DEBIAN.
Aun que no es algo complicado a continuación describiré el proceso de acctivación (si vale el termino) de esta teccnologia propia de los procesadores AMD, primeramente decir que cool 'n' quiet es una tecnologia que permite tener una frecuencia de trabajo de procesador variable, en función a al esfuerzo de cáculo que requiera el usuario, de esta manera se logra un considerable ahorro de energia. (http://www.amd.com/es-es/0,,3715_12353,00.html)
Lo que nesesitamos para ello es un procesador AMD superior a k6, una placa madre que admita esta funcionalidad (practicamente todas en la acctualidad), y una distribución de linux, en mi caso yo estoy con debian etch, pero la siguiente receta es tambien valida para las demas distribuciones.
1.- Verificamos que en el bios de nuestra placa madre este habilitado cool 'n' quiet [enable], el como habilitarlo depende de tu placa madre, normalmente esta en la sección CPU.
2.- Linux puede manejar esta tecnología mediante una serie de módulos que deben ser habilitados en la compilación del kernel, en el caso de debian etch estos ya los viene agregados por defecto, para las otras distribuciones lo mas probable es que tambíen los traigan agregados, pero para salir de dudas podemos darnos una vuelta por /boot/config-<uname -r>, y en algun lugar de este archivo debe de haber algo parecido a:
$ vim /boot/config-<uname-r>
#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K6=m
CONFIG_X86_POWERNOW_K7=m
CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_POWERNOW_K8_ACPI=y
CONFIG_X86_GX_SUSPMOD=m
CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_ICH=m
CONFIG_X86_SPEEDSTEP_SMI=m
CONFIG_X86_P4_CLOCKMOD=m
CONFIG_X86_CPUFREQ_NFORCE2=m
CONFIG_X86_LONGRUN=m
CONFIG_X86_LONGHAUL=m
Lo que principalmente nos interesa son los CONFIG_X86_POWERNOW_Kx=m, (x= 6 7 8), debe estar asignados con m (m -> indica que se cargará como módulo), de no estarlo será nesesario reconpilar el kernel, pero modificando estos a estos valores el archivo de configuración del nuevo kernel.
3.- Instalar powernowd que es un demonio en cargado de gestionar estos módulos.
apt-get install powernowd -> En debian, y sus deribados
yum install powernowd -> En alguna distro basada en redhat
4.- Arrancar el módulo corespondiente, esto lo logramos mediante el comando:
modprobe powernowd-k8 -> Para un AMD64
Solamente variar el número de kx del 6 hasta el 8, si no se sabe cual procesador tiene, hasta que deje de salir "FATAL: Module powernowd_k7 not found", u dispositivo no encontrado.
5.- Una ves que sabemos que modulo tenemos que arrancar lo agregamos al fichero /etc/modules mediante su editor de texto favorito, en mi caso.
$ sudo kwrite /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
loop
nvidia
powernow-k8
6.- Arrancamos powernowd, en mi caso:
$ sudo powernowd
powernowd: PowerNow Daemon v0.97, (c) 2003-2006 John Clemens
powernowd: Found 1 scalable unit: -- 1 'CPU' per scalable unit
powernowd: cpu0: 1000Mhz - 2200Mhz (4 steps)
7.- Verificamos, podemos ver la frecuencia actual del procesador mediante le comando:
cat /proc/cpuinfo |grep -i mhz
En mi caso:
$ sudo cat /proc/cpuinfo |grep -i mhz
cpu MHz : 1000.000
Como mi procesador trabaja como máximo a 2200 se puede ver que ahora esta trabajando a una frecuencia menor (cuando no hace prácticamente nada), lo cual indica que si trabaja correctamente el módulo.
8.- Frecuencia por demanda, es nesesario indicar que queremos que la velocidad del prcesador se de segun la demanda, esto lo logramos modificando el archivo /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor, que por defecto tiene una única lines "userspace", rempazando esta únicaq linea por "ondemand".
Pero este cabio no es permanente asi que debemos cambiar este archivo cada ves que se inicie el sistema, esto lo podemos hacer añadiendo la siguiente linea a un archivo que siempre se ejecute al iniciar el sistema, un script, puede estar ubicado en /etc/rc.local , o en el caso de otras distribuciones /etc/conf.d/local.start, en mi caso por usar debian etch tuvo que se en la primera opcion.
$ sudo kwrite /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
exit 0
9.- solo nos queda :
cat /proc/cpuinfo
En mi caso:
$ sudo cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 47
model name : AMD Athlon(tm) 64 Processor 3500+
stepping : 2
cpu MHz : 1000.000
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni lahf_lm ts fid vid ttp tm stc
bogomips : 2016.26
clflush size : 64
y final mente a Disfrutar . . .:-)
- Inicie sesión o regístrese para enviar comentarios
- 2627 lecturas

Bueno, solo decir que a mi el Cool `n` quiet de amd no me va (problema de hardware). Hasta tuve que instalar windows para enseñarselo al de la tienda que no iba... Y todo para que me cambiaran placa base, cpu..., y siguiera sin ir.
Evidentemente me tuve que comer la cpu sin el cool `n` quiet, aunque si no fuera estudiante, vamos que si habria denunciado a amd...
En fin, suerte a los que podais usarlo :)
En cuanto al tuto, ¿no hacia falta activar el ACPI 2.0?? Por lo menos eso venia en el manual de mi placa base...
Respuesta a Bueno, solo decir que a
Yo lo tengo funcionando sin problema en un AMD Athlon(tm) 64 X2
Dual Core Processor 5400+
Las frecuencias de trabajo me van desde los 1000 Mhz hasta los
280 Mhz.
Respuesta a Bueno, solo decir que a
En Ubuntu me sale:
$ vim /boot/config-<uname-r>
bash: error de sintaxis cerca de token no esperado `newline'
Respuesta a En Ubuntu me sale:
$ vim
ejecutalo así:
vim config-$(uname -r)
---
No es más rico el que más tiene sino el que menos necesita.
Respuesta a ejecutalo así:
vim config-$(uname -r)
---
No es
Finalmente lo conseguí con
$ vim /boot/config-$(uname -r)
...
#
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K6=m
CONFIG_X86_POWERNOW_K7=m
CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_POWERNOW_K8_ACPI=y
CONFIG_X86_GX_SUSPMOD=m
CONFIG_X86_SPEEDSTEP_CENTRINO=m
...
Pero después me encuentro con
$ sudo apt-get install powernowd
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo información de estado... Hecho
powernowd ya está en su versión más reciente.
0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.
$ modprobe powernowd-k8
FATAL: Module powernowd_k8 not found.
$ modprobe powernowd-k7
FATAL: Module powernowd_k7 not found.
$ modprobe powernowd-k6
FATAL: Module powernowd_k6 not found.
por si acaso tiene algo que ver:
$ uname -r
2.6.20-16-generic
Un saludo
Respuesta a Finalmente lo conseguí con
$ vim
> $ uname -r
> 2.6.20-16-generic
Supongo que recompilaste el kernel . . . o descargaste alguno ya
compilado para amd, del repo de ubuntu.
Pues al parecer el día que escribí este artículo mi ortografía
estaba que daba pena :-(
no es : $ modprobe powernowd-k8
lo correcto es : $ modprobe powernow-k8
Lo ves la 'd' esta por de mas, mil disculpas a todos . . .
Con eso deberia ser suficiente.
Respuesta a Finalmente lo conseguí con
$ vim
prueba con descargar otro kernel... aunque me parece que en ubuntu eliminaron los kernel personalizados para AMD... pero deverian haber para 486 que te deberian funcionar...
Con respecto al tutorial... muy buen dato nunca esta demas
saludos...
Respuesta a > $ uname -r
> 2.6.20-16-generic
Supongo
No, nada de eso. Todavía no me atrevo a tanto. Se trata del kernel que update instala por defecto.
Ahora, con:
$ modprobe powernow-k8
ha funcionado todo correctamente.
Muchas gracias por la ayuda.
Los procesadores de intel pentium 4 de 64 bits EM64T socket 775 que se supone son analogos a los amd64... traen este mismo soporte??? pregunto por que no se hasta donde son parecidos
gracias
Muy buen artículo,aunque yo que desde hace unos meses tengo un AMD64 ,al no ser un portátil ,había dejado en temas pendientes implementar esa tecnología.Ya estoy tardando...