Archive for the ‘T61p’ Category
Hacks for Intel 3945ABG Wireless Card
My laptop has an Intel 3945ABG mini-pci wireless card. Overall it seems to be a pretty good card, but there are some driver issues on Linux (as of 2.6.24). First wpa_supplicant has an annoying habbit of spewing out an error message (ioctl[SIOCSIWAUTH]: Operation not supported) whenever I start up the network interface. It seems to work fine regardless, but the message annoys me. I silenced it by adding the following line to my /etc/conf.d/net:
wpa_supplicant_wlan0="-Dwext 2> /dev/null"
Another problem I had was that the card wasn’t properly powering itself up and down when I restarted the network interface. I took care of that with this little preup script which I also added to /etc/conf.d/net:
preup() {
if [ ${IFACE} = "wlan0" ]; then
echo 0 > /sys/bus/pci/drivers/iwl3945/*/rf_kill
iwconfig wlan0 txpower on
fi
}
Update: As of 2.6.25 the powerup issue seems to be resolved, but I still see the error message from wpa_supplicant.
CPU Frequency Scaling
I just setup CPU frequency scaling in Gentoo on my Thinkpad T61p (Intel Core 2 Duo). These are the steps I followed:
- Enable relevant kernel modules/options:
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=m
CONFIG_CPU_FREQ_DEBUG=y
CONFIG_CPU_FREQ_STAT=m
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set - Add the appropriate modules to /etc/modules.autoload.d/kernel-2.6 so that they are loaded at boot time:
# cpu frequency scaling
acpi-cpufreq
cpufreq_ondemand - Install cpufrequtils:
emerge cpufrequtils - Set CPU frequency governor in /etc/conf.d/cpufrequtils:
# /etc/conf.d/cpufrequtils: config file for /etc/init.d/cpufrequtils
# Which governor to use. Must be one of the governors listed in:
# cat /sys/devices/system/cpu/cpu?/cpufreq/scaling_available_governors
#
GOVERNOR="ondemand" - Add cpufrequtils to boot runlevel:
rc-update add cpufrequtils boot - Reboot (or start the stuff by hand) and enjoy a more efficient system.
