WYBIERZ JĘZYK/CHOOSE YOUR LANGUAGE -->
Linux na Dell Latitude D800
Instalacja Linuks'a na notebooku nie jest już dziś takim problemem jak kilka lat temu. Ale nie po to oglądasz tą stronę, przejdźmy więc do konkretów.
Konfiguracja sprzętowa i programowa(na której nam zależy, uzyskana z lspci) przedstawia się następująco:
Procesor - Intel Pentium M 1,4GHz
cat /proc/cpuinfo mówi:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 9
model name : Intel(R) Pentium(R) M processor 1400MHz
stepping : 5
cpu MHz : 1398.958
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2
bogomips : 1396.73
|
Możemy więc skonfigurować opcję zmiany częstotliwości pracy procesora w locie, poprzez odpowiednie skonfigurowanie jądra:
Processor type and features --->
Processor family (Pentium M) --->
|
Oraz:
Power management options (ACPI, APM) --->
ACPI (Advanced Configuration and Power Interface) Support --->
[*] ACPI Support
[*] Sleep States
[*] /proc/acpi/sleep (deprecated)
<*> AC Adapter
<*> Battery
<*> Button
<*> Video
< > Generic Hotkey (EXPERIMENTAL)
<*> Fan
<*> Processor
<*> Thermal Zone
< > ASUS/Medion Laptop Extras
< > IBM ThinkPad Laptop Extras
< > Toshiba Laptop Extras
(0) Disable ACPI for systems before Jan 1st this year
[ ] Debug Statements
[*] Power Management Timer Support
<M> ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)
CPU Frequency scaling --->
[*] CPU Frequency scaling
Enable CPUfreq debugging
<*> CPU frequency translation statistics
[ ] CPU frequency translation statistics details
Default CPUFreq governor (performance) --->
--- 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
--- 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
<*> Intel Speedstep on ICH-M chipsets (ioport interface)
< > 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
|
Po zainstalowaniu nowego jądra możemy sprawdzić czy ACPI zostało poprawnie zainstalowane:
rock ~ # dmesg | grep ACPI
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:1d.7[D] -> Link [LNKH] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:00:1d.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
ACPI wakeup devices:
ACPI: (supports S0 S1 S3 S4 S5)
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:02:03.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:02:01.1[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
|
Pozostaje zainstalowanie demona odpowiedzialnego za obsługę ACPI.
* sys-power/acpid
Latest version available: 1.0.4-r3
Latest version installed: 1.0.4-r3
Size of files: 22 kB
Homepage: http://acpid.sourceforge.net
Description: Daemon for Advanced Configuration and Power Interface
License: GPL-2
...oraz jego uruchomienie przy starcie.
Katalog /etc/acpi zawiera skrypty które są wykonywane podczas naciśnięcia guzika power, zamknięcia pokrywy etc.
Można je edytować samodzielnie lub uzyć skryptów z pakietu:
* app-laptop/laptop-mode-tools
Latest version available: 1.27
Latest version installed: 1.27
Size of files: 64 kB
Homepage: http://www.xs4all.nl/~bsamwel/laptop_mode/tools/
Description: Linux kernel laptop_mode user-space utilities
License: GPL-2
Dodatkową funkcją jaką otrzymujemy jest grupowanie żądań zapisu na dysk twardy a co za tym idzie możliwość wyłączenia silnika i zaoszczędzenia mocy.
Na koniec, jeśli używamy GNOME, możemy skorzystać z apletu, który albo ustawi częstotliwość procesora:
albo ustawi tryb zarządzania mocą:
Osobiście korzystam na codzień z trybu ondemand, ponieważ rzadziej włącza się stosunkowo głośnie chłodzenie procesora.
Karta grafiki - nVidia Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x]
Obsługa nVidii 4200 Go to:
- włączenie obsługi AGP w jądrze
- moduł jądra nvidia ładowany podczas stratu. W Gentoo należy go umieścić w /etc/modules.autoload.d/kernel-2.6
- moduł oraz driver dla XFree86 lub Xorg
Wystarczy zainstalować dwa pakiety oraz program do ustawień (np: cień kursora myszki):
* media-video/nvidia-glx
Latest version available: 1.0.8178
Latest version installed: 1.0.8178
Size of files: 21,059 kB
Homepage: http://www.nvidia.com/
Description: NVIDIA X11 driver and GLX libraries
License: NVIDIA
* media-video/nvidia-kernel
Latest version available: 1.0.8178-r3
Latest version installed: 1.0.8178-r3
Size of files: 21,059 kB
Homepage: http://www.nvidia.com/
Description: Linux kernel module for the NVIDIA X11 driver
License: NVIDIA
* media-video/nvidia-settings
Latest version available: 1.0.20051122-r3
Latest version installed: 1.0.20051122-r3
Size of files: 1,065 kB
Homepage: http://www.nvidia.com/
Description: NVIDIA Linux X11 Settings Utility
License: GPL-2
Następnie należy odpowiednio skonfigurować XFree86 lub Xorg (tak aby używany był moduł i driver nvidia):
Section "Module"
Load "extmod"
Load "ddc"
Load "dbe"
Load "record"
Load "xtrap"
Load "glx"
Load "freetype"
Load "type1"
EndSection
Section "Screen"
Identifier "Screen0"
Monitor "Monitor0"
Device "GeForce 4200 Go"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1680x1050" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "Device"
Identifier "GeForce 4200 Go"
Driver "nvidia"
Option "NoLogo" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "NvAgp" "3"
Option "CursorShadow" "true"
Option "backingstore" "true"
EndSection
Można się jeszcze pokusić o dodanie najnowszych rozszerzeń:
Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
EndSection
1650x1080 (aspekt: 16:10)
Aby obsłużyć taką rozdzielczość w naszym systemie, musimy dodać następujące linie do konfiguracji X:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Option "DPMS"
HorizSync 31.5 - 100.0
VertRefresh 30.0 - 90.0
ModeLine "1280x800" 83.9 1280 1312 1624 1656 800 816 824 841
Modeline "1680x1050" 147.14 1680 1784 1968 2256 1050 1051 1054 1087
DisplaySize 332 219
EndSection
Niestety nie udało mi się jej osiągnąć na konsoli w VESA mode, w jądrze 2.6.14 nie znalazłem pasującego wzorca, tak więc standardowo używam 1280x800.
Pozostaje jeszcze zmienić konfigurację Mplayera, aby rozpoznawał nasz ekran. Plik: /etc/mplayer.conf
powinien zawierać:
# Dell D800 LCD
monitoraspect=16:10
Dysk twardy - HTS548060M9AT00
Od dysku chcemy maksymalnej wydajności, a więc odnajdujemy wpisy w dmesg:
ICH4: chipset revision 1
ICH4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
hda: HTS548060M9AT00, ATA DISK drive
Zobaczmy co możemy z naszym dyskiem zrobić:
lukasz@gentoo ~ $ sudo hdparm -I /dev/hda
/dev/hda:
ATA device, with non-removable media
Model Number: HTS548060M9AT00
Serial Number: MRLB**********
Firmware Revision: MGBOA53A
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 3a
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 65535
heads 16 1
sectors/track 63 63
--
CHS current addressable sectors: 4128705
LBA user addressable sectors: 117210240
LBA48 user addressable sectors: 117210240
device size with M = 1024*1024: 57231 MBytes
device size with M = 1000*1000: 60011 MBytes (60 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Vendor, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 1
Advanced power management level: 128 (0x80)
Recommended acoustic management value: 128, 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:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
Automatic Acoustic Management feature set
SET MAX security extension
Address Offset Reserved Area Boot
* SET FEATURES subcommand required to spinup after power up
Power-Up In Standby feature set
* Advanced Power Management feature set
* General Purpose Logging feature set
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
frozen
not expired: security count
not supported: enhanced erase
44min for SECURITY ERASE UNIT.
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct
Co oznacza, że możemy dodać do /etc/conf.d/hdparm:
hda_args="-d1 -m1 -c1 -X69 -u1"
Oczywiście hdparm musi być zainstalowany i uruchamiany przy starcie.
Sprawdzamy zmiany poprzez:
lukasz@gentoo ~ $ sudo hdparm -I /dev/hda
/dev/hda:
multcount = 1 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 117210240, start = 0
Przewodowa karta sieciowa - Broadcom Corporation NetXtreme BCM5705M Gigabit Ethernet
Przewodowa karta sieciowa zgłasza się w dmesg jako:
eth0: Tigon3 [partno(BCM95705A50) rev 3001 PHY(5705)] (PCI:33MHz:32-bit) 10/100/1000BaseT Ethernet 00:0f:1f:xx:xx:xx
eth0: RXcsums[1] LinkChgREG[1] MIirq[1] ASF[0] Split[0] WireSpeed[1] TSOcap[1]
eth0: dma_rwctrl[763f0000] dma_mask[64-bit]
|
Musimy więc włączyć w konfiguracji jądra:
Device Drivers --->
Network device support --->
Ethernet (1000 Mbit) --->
<*> Broadcom Tigon3 support
|
Po uruchomieniu możemy sprawdzić łączność:
rock ~ # mii-tool eth0
eth0: negotiated 100baseTx-FD, link ok
|
Bezprzewodowa karta sieciowa - Broadcom Corporation BCM4309 802.11a/b/g (Dell TrueMobile 1450)
Wraz z jądrem 2.6.17 otrzymaliśmy sterownik dla karty bezprzewodowej: bcm43xx.
W konfiguracji jądra należy zaznaczyć:
Networking -->
[M] Generic IEEE 802.11 Networking Stack
[*] Enable full debugging output
[M] IEEE 802.11 WEP encryption (802.1x)
[M] IEEE 802.11i CCMP support
[M] IEEE 802.11i TKIP encryption
[M] Software MAC add-on to the IEEE 802.11 networking stack
[ ] Enable full debugging output
Device Drivers --> Network device support --> Wireless LAN drivers (non-hamradio) & Wireless Extensions
[M] Broadcom BCM43xx wireless support
[ ] Broadcom BCM43xx debugging (RECOMMENDED)
|
Z ostatniej opcji - debugging - korzystamy tylko w początkowej fazie testów, loguje zbyt dużo na codzienną pracę.
Projekt obsługi powstał dzięki reverse-engineering'owi sterowników dla MS Windows. Z powższą kartą współpracuje
bezproblemowo.
Po zainstalowaniu jądra czas na:
#Instalacja programu do wyciągnięcia firmware z oryginalnego sterowanika.
rock ~ # emerge bcm43xx-fwcutter
#Jako paramert podajemy plik z firmware z oryginalnych sterowników dostarczonych z kartą.
#W razie problemu pobieramy gotowy plik z łącz podanych w /usr/share/doc/bcm43xx-fwcutter/README.gz
rock ~ # bcm43xx-fwcutter -w /lib/firmware PLIK_Z_FIRMWARE
#Instalujemy moduł:
rock ~ # modprobe bcm43xx
#Sprawdzamy działanie:
rock ~ # dmesg | grep bcm43xx
bcm43xx driver
bcm43xx: Chip ID 0x4306, rev 0x3
bcm43xx: Number of cores: 5
bcm43xx: Core 0: ID 0x800, rev 0x4, vendor 0x4243, enabled
bcm43xx: Core 1: ID 0x812, rev 0x5, vendor 0x4243, disabled
bcm43xx: Core 2: ID 0x80d, rev 0x2, vendor 0x4243, enabled
bcm43xx: Core 3: ID 0x807, rev 0x2, vendor 0x4243, disabled
bcm43xx: Core 4: ID 0x804, rev 0x9, vendor 0x4243, enabled
bcm43xx: PHY connected
bcm43xx: Detected PHY: Version: 2, Type 2, Revision 2
bcm43xx: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)
bcm43xx: Radio turned off
bcm43xx: Radio turned off
bcm43xx: PHY connected
bcm43xx: Error: InitVals "bcm43xx_initval06.fw" not available or load failed.
bcm43xx: PHY connected
bcm43xx: Error: InitVals "bcm43xx_initval05.fw" not available or load failed.
bcm43xx: PHY connected
bcm43xx: Radio turned on
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: 80211 cores initialized
bcm43xx: Keys cleared
bcm43xx: Radio turned off
bcm43xx: DMA 0x0200 (RX) max used slots: 1/64
bcm43xx: DMA 0x0260 (TX) max used slots: 0/512
bcm43xx: DMA 0x0240 (TX) max used slots: 0/512
bcm43xx: DMA 0x0220 (TX) max used slots: 0/512
bcm43xx: DMA 0x0200 (TX) max used slots: 0/512
bcm43xx: PHY connected
bcm43xx: Radio turned on
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: 80211 cores initialized
bcm43xx: Keys cleared
bcm43xx: set security called
bcm43xx: .level = 0
bcm43xx: .enabled = 0
bcm43xx: .encrypt = 0
bcm43xx: set security called
bcm43xx: .level = 0
bcm43xx: .enabled = 0
bcm43xx: .encrypt = 0
bcm43xx: set security called
bcm43xx: .level = 0
bcm43xx: .enabled = 0
bcm43xx: .encrypt = 0
bcm43xx: set security called
bcm43xx: .level = 0
bcm43xx: .enabled = 0
bcm43xx: .encrypt = 0
rock ~ # iwconfig eth2
eth2 IEEE 802.11b/g ESSID:off/any Nickname:"Broadcom 4306"
Mode:Managed Frequency=2.447 GHz Access Point: Invalid
Bit Rate=11 Mb/s Tx-Power=15 dBm
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
|
Teraz możemy już przystąpić do opcjonalnego skonfigurowania WPA supplicanta (działa na domyślnych ustawieniach), oraz cieszyć się siecią bezprzewodową.
Linux on Dell Latitude D800
Nowadays, installing Linux on notebook is not that hard as few years ago. But that's now why you're reading this page, let's see the details.
Hardware and software (which we care about, aquired from lspci command):
Procesor - Intel Pentium M 1,4GHz
cat /proc/cpuinfo says:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 9
model name : Intel(R) Pentium(R) M processor 1400MHz
stepping : 5
cpu MHz : 1398.958
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2
bogomips : 1396.73
|
So, on this CPU we can configure the kernel to change frequency on-the-fly:
Processor type and features --->
Processor family (Pentium M) --->
|
And:
Power management options (ACPI, APM) --->
ACPI (Advanced Configuration and Power Interface) Support --->
[*] ACPI Support
[*] Sleep States
[*] /proc/acpi/sleep (deprecated)
<*> AC Adapter
<*> Battery
<*> Button
<*> Video
< > Generic Hotkey (EXPERIMENTAL)
<*> Fan
<*> Processor
<*> Thermal Zone
< > ASUS/Medion Laptop Extras
< > IBM ThinkPad Laptop Extras
< > Toshiba Laptop Extras
(0) Disable ACPI for systems before Jan 1st this year
[ ] Debug Statements
[*] Power Management Timer Support
<M> ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)
CPU Frequency scaling --->
[*] CPU Frequency scaling
Enable CPUfreq debugging
<*> CPU frequency translation statistics
[ ] CPU frequency translation statistics details
Default CPUFreq governor (performance) --->
--- 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
--- 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
<*> Intel Speedstep on ICH-M chipsets (ioport interface)
< > 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
|
After new kernel is in place, we can check if the ACPI was properly initialized:
rock ~ # dmesg | grep ACPI
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:1d.7[D] -> Link [LNKH] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:00:1d.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
ACPI wakeup devices:
ACPI: (supports S0 S1 S3 S4 S5)
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:02:03.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:02:01.1[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
|
What's left is ACPI deamon:
* sys-power/acpid
Latest version available: 1.0.4-r3
Latest version installed: 1.0.4-r3
Size of files: 22 kB
Homepage: http://acpid.sourceforge.net
Description: Daemon for Advanced Configuration and Power Interface
License: GPL-2
...don't forget to add it to startup scripts.
The /etc/acpi folder has some interesting scripts to be executed on events like pressing power button,
or closing the lid. You can edit them manually or use ready ones from:
* app-laptop/laptop-mode-tools
Latest version available: 1.27
Latest version installed: 1.27
Size of files: 64 kB
Homepage: http://www.xs4all.nl/~bsamwel/laptop_mode/tools/
Description: Linux kernel laptop_mode user-space utilities
License: GPL-2
Additionaly you'll get a special kernel module responsible for grouping write to hdd requests, thus saving even more power.
Last but no least is a GNOME applet (if you're GNOME user) which can set the desired CPU frequency:
or set CPU frequency management mode:
I'm using ondemand daily, mainly because the noisy cooler is not kicking in so often.
Graphics - nVidia Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x]
To enable support of nVidii 4200 Go you'll need to:
- turn on AGP support in kernel
- compile nvidia kernel module and enable it during bootup. In Gentoo the place is /etc/modules.autoload.d/kernel-2.6
- module and driver for XFree86 or Xorg
This means installing following packages (also for controlling nVidia settings like mouse cursor):
* media-video/nvidia-glx
Latest version available: 1.0.8178
Latest version installed: 1.0.8178
Size of files: 21,059 kB
Homepage: http://www.nvidia.com/
Description: NVIDIA X11 driver and GLX libraries
License: NVIDIA
* media-video/nvidia-kernel
Latest version available: 1.0.8178-r3
Latest version installed: 1.0.8178-r3
Size of files: 21,059 kB
Homepage: http://www.nvidia.com/
Description: Linux kernel module for the NVIDIA X11 driver
License: NVIDIA
* media-video/nvidia-settings
Latest version available: 1.0.20051122-r3
Latest version installed: 1.0.20051122-r3
Size of files: 1,065 kB
Homepage: http://www.nvidia.com/
Description: NVIDIA Linux X11 Settings Utility
License: GPL-2
Now you need to configure XFree86 or Xorg:
Section "Module"
Load "extmod"
Load "ddc"
Load "dbe"
Load "record"
Load "xtrap"
Load "glx"
Load "freetype"
Load "type1"
EndSection
Section "Screen"
Identifier "Screen0"
Monitor "Monitor0"
Device "GeForce 4200 Go"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1680x1050" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "Device"
Identifier "GeForce 4200 Go"
Driver "nvidia"
Option "NoLogo" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "NvAgp" "3"
Option "CursorShadow" "true"
Option "backingstore" "true"
EndSection
You can also enable latest extensions:
Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
EndSection
1650x1080 (aspect ratio: 16:10)
Such resolution requires additional lines in X confoguration:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Option "DPMS"
HorizSync 31.5 - 100.0
VertRefresh 30.0 - 90.0
ModeLine "1280x800" 83.9 1280 1312 1624 1656 800 816 824 841
Modeline "1680x1050" 147.14 1680 1784 1968 2256 1050 1051 1054 1087
DisplaySize 332 219
EndSection
Sadly I was unable to reach same resolution on console (2.6.14 had no modeline for it), thus I'm using 1280x800.
What's left is the Mplayer configuration. File: /etc/mplayer.conf
should include:
# Dell D800 LCD
monitoraspect=16:10
Hard drive - HTS548060M9AT00
One thing we need here is performance. Lets check dmesg output:
ICH4: chipset revision 1
ICH4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
hda: HTS548060M9AT00, ATA DISK drive
Let's find out what we can do here:
lukasz@gentoo ~ $ sudo hdparm -I /dev/hda
/dev/hda:
ATA device, with non-removable media
Model Number: HTS548060M9AT00
Serial Number: MRLB**********
Firmware Revision: MGBOA53A
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 3a
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 65535
heads 16 1
sectors/track 63 63
--
CHS current addressable sectors: 4128705
LBA user addressable sectors: 117210240
LBA48 user addressable sectors: 117210240
device size with M = 1024*1024: 57231 MBytes
device size with M = 1000*1000: 60011 MBytes (60 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Vendor, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 1
Advanced power management level: 128 (0x80)
Recommended acoustic management value: 128, 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:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
Automatic Acoustic Management feature set
SET MAX security extension
Address Offset Reserved Area Boot
* SET FEATURES subcommand required to spinup after power up
Power-Up In Standby feature set
* Advanced Power Management feature set
* General Purpose Logging feature set
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
frozen
not expired: security count
not supported: enhanced erase
44min for SECURITY ERASE UNIT.
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct
This means that we can add to /etc/conf.d/hdparm:
hda_args="-d1 -m1 -c1 -X69 -u1"
Of course hdparm has to be installed and executed during startup.
Let's check if our settings are enabled:
lukasz@gentoo ~ $ sudo hdparm -I /dev/hda
/dev/hda:
multcount = 1 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 117210240, start = 0
Fixed wired network card - Broadcom Corporation NetXtreme BCM5705M Gigabit Ethernet
Wired NIC will be visible in dmesg as:
eth0: Tigon3 [partno(BCM95705A50) rev 3001 PHY(5705)] (PCI:33MHz:32-bit) 10/100/1000BaseT Ethernet 00:0f:1f:xx:xx:xx
eth0: RXcsums[1] LinkChgREG[1] MIirq[1] ASF[0] Split[0] WireSpeed[1] TSOcap[1]
eth0: dma_rwctrl[763f0000] dma_mask[64-bit]
|
We need to find and enable it in kernel configuration:
Device Drivers --->
Network device support --->
Ethernet (1000 Mbit) --->
<*> Broadcom Tigon3 support
|
Enabled, we can check the status with:
rock ~ # mii-tool eth0
eth0: negotiated 100baseTx-FD, link ok
|
Wireless network card - Broadcom Corporation BCM4309 802.11a/b/g (Dell TrueMobile 1450)
Kernel 2.6.17 introduced new driver: bcm43xx.
Let's configure the kernel anew:
Networking -->
[M] Generic IEEE 802.11 Networking Stack
[*] Enable full debugging output
[M] IEEE 802.11 WEP encryption (802.1x)
[M] IEEE 802.11i CCMP support
[M] IEEE 802.11i TKIP encryption
[M] Software MAC add-on to the IEEE 802.11 networking stack
[ ] Enable full debugging output
Device Drivers --> Network device support --> Wireless LAN drivers (non-hamradio) & Wireless Extensions
[M] Broadcom BCM43xx wireless support
[ ] Broadcom BCM43xx debugging (RECOMMENDED)
|
The last option - debugging - should be used only during initial testing it's too much verbose for normal operation.
The project based on reverse-engineering of original drivers for MS Windows. With this current card drivers works perfectly.
After booting new kernel you need to:
#Install program to extract firmware from driver
rock ~ # emerge bcm43xx-fwcutter
#The parameter should be the filename from MS Windows drivers.
#If you need help with that particular file, consult /usr/share/doc/bcm43xx-fwcutter/README.gz
rock ~ # bcm43xx-fwcutter -w /lib/firmware FIRMWARE_FILE
#Install the module:
rock ~ # modprobe bcm43xx
#Check the output from dmesg:
rock ~ # dmesg | grep bcm43xx
bcm43xx driver
bcm43xx: Chip ID 0x4306, rev 0x3
bcm43xx: Number of cores: 5
bcm43xx: Core 0: ID 0x800, rev 0x4, vendor 0x4243, enabled
bcm43xx: Core 1: ID 0x812, rev 0x5, vendor 0x4243, disabled
bcm43xx: Core 2: ID 0x80d, rev 0x2, vendor 0x4243, enabled
bcm43xx: Core 3: ID 0x807, rev 0x2, vendor 0x4243, disabled
bcm43xx: Core 4: ID 0x804, rev 0x9, vendor 0x4243, enabled
bcm43xx: PHY connected
bcm43xx: Detected PHY: Version: 2, Type 2, Revision 2
bcm43xx: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)
bcm43xx: Radio turned off
bcm43xx: Radio turned off
bcm43xx: PHY connected
bcm43xx: Error: InitVals "bcm43xx_initval06.fw" not available or load failed.
bcm43xx: PHY connected
bcm43xx: Error: InitVals "bcm43xx_initval05.fw" not available or load failed.
bcm43xx: PHY connected
bcm43xx: Radio turned on
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: 80211 cores initialized
bcm43xx: Keys cleared
bcm43xx: Radio turned off
bcm43xx: DMA 0x0200 (RX) max used slots: 1/64
bcm43xx: DMA 0x0260 (TX) max used slots: 0/512
bcm43xx: DMA 0x0240 (TX) max used slots: 0/512
bcm43xx: DMA 0x0220 (TX) max used slots: 0/512
bcm43xx: DMA 0x0200 (TX) max used slots: 0/512
bcm43xx: PHY connected
bcm43xx: Radio turned on
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: 80211 cores initialized
bcm43xx: Keys cleared
bcm43xx: set security called
bcm43xx: .level = 0
bcm43xx: .enabled = 0
bcm43xx: .encrypt = 0
bcm43xx: set security called
bcm43xx: .level = 0
bcm43xx: .enabled = 0
bcm43xx: .encrypt = 0
bcm43xx: set security called
bcm43xx: .level = 0
bcm43xx: .enabled = 0
bcm43xx: .encrypt = 0
bcm43xx: set security called
bcm43xx: .level = 0
bcm43xx: .enabled = 0
bcm43xx: .encrypt = 0
rock ~ # iwconfig eth2
eth2 IEEE 802.11b/g ESSID:off/any Nickname:"Broadcom 4306"
Mode:Managed Frequency=2.447 GHz Access Point: Invalid
Bit Rate=11 Mb/s Tx-Power=15 dBm
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
|
Now, you can optionally instal WPA supplicant (works with default values), sit back and enjoy the new wireless network.