O cozinheiro de bits
- Created on 03 May 2008
- Last Updated on 07 August 2012
- Published on 03 May 2008
- Written by Helio Loureiro
- Hits: 8281
This article is kindly linked by:
Barely finished my last article about FreeBSD (PRERELEASE at that time) on Compaq laptops, and my computer was replaced (as part of Company refresh policy). I was upgraded to a laptop Compaq NC 6400.
As any good lazy Unix sysadmin (and clever), I just recovered a backup from my previous model (nc 6220). It worked *almost fine*. Just a few adjustments were needed.
Previously I wrote about my quest, getting FreeBSD up and running. As such, let me start describing a little better this laptop hardware:
- CPU Intel Centrino Dual Core 1.66 GHz
- 2 GB of RAM
- 80 GB of Hard Disk SATA (faster!!! And kernel says 76319 MB instead)
- Built-in bluetooth
- Built-in Wireless Intel 3945ABG
- 3 USB ports
- VGA and S/Video outputs
- CD/DVD-RW unity (finally!!!)
- SD Memory card reader
- Gigabit Ethernet interface (Broadcom)
- Internal Modem
- Smart Card reader
- Fingerprint sensor
- Sound system Intel 82801G
Getting hands dirty
First thing, I had to move my partitions from /dev/ad0 to /dev/ad4since they use the new SATA interface. A boot with recovery disk was enough to achieve this.
First boot was ok, but far from fine. Screen came up weirdly, caused by xorg.conf, due the chipset swap from i810 to i915. And also the physical screen size was different from old 14".
Seeking in google, I found the following links:
Last resource was really handy. I could realize screen was 1280x800 instead. And some Linux procedures (not so few nowadays) helped me to make a roadmap to have FreeBSD successfully installed.
Graphical card 945GM
To achieve an optimal usage, add the following lines in /boot/loader.conf:
It'll load all required modules (drm and so on).
Through ports, install package sysutils/915resolution. Then add the following lines to /etc/rc.conf:
i915resolution_enable="YES" i915resolution_modes="3c" i915resolution_width=1280 i915resolution_height=800
This will be enough to fix the poorly effect from xorg usage only.
Sound card Intel 82801G
Just add the following line to /boot/loader.conf:
Wireless 3945ABG (wpi0)
This one was a little bit trick. I had to add the following lines to /boot/loader.conf:
wlan_wep_load="YES" wlan_scan_sta_load="YES" if_ath_load="YES" legal.intel_wpi.license_ack=1 wpifw_load="YES" if_wpi_load="YES" wlan_load="YES" wlan_amrr_load="YES" firmware_load="YES"
The last statement, firmware_load isn't needed since legal.intel_wpi.license_ack is in place, but it didn't hurt me to include there :-)
As a plus, I added package sysutils/lineakd to make all internet keys useful (they were dead before). I configured /usr/local/etc/lineakkb.def as described in Linux article, just appending the following lines:
[HP-NC6400] brandname = "Hewlett Packard" modelname = "Compaq NC6400" [KEYS] Information = 245 Wireless = 133 Presentation = 205 Mute = 160 VolumeDown = 174 VolumeUp = 176 [END KEYS] [END HP-NC6400]
It worked fine.
Dual Core CPU
It works by default once ACPI is enabled. Just check the following line in your boot messages:
SMP: AP CPU #1 Launched! I've seen lately a lot of kernel messages as below: acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _CRT value is absurd, ignored (256.0C)
It's harmless, but annoying. I tried to remove it setting sysctl with hw.acpi.thermal.polling_rate=0, but it didn't work...
Gigabit ethernet (bge0)
Just loaded as before, as bge0.
ACPI and sleep mode
Remains as a dream. Not working and crashing everything, as before. Some day it'll be fixed... For now, I need to shutdown my laptop every time. At least it isn't crashing on boot as before.
Card reader, fingerprint sensor and others
Not working and just detected as generic USB. Since I don't use so much those things, I really don't care about it. Maybe it would useful for internal modem, but since wireless broadband is becoming popular, I really don't think I'll need it soon.
- Dual core CPU: Working (requires ACPI)
- Sound system Intel 82801G: Working (requires snd_hda)
- Video card Mobile 945GM: Working (requires i915 module and i915resolution)
- Gigabit Ethernet: Working (requires if_bge)
- Bluetooth: Working
- Wireless 3945ABG: Working (requires wpifw, if_wpi andlegal.intel_wpi.license_ack=1 )
- SD Memory card reader: Not working
- Internal Modem: Not working
- Smart Card reader: Not working
- Fingerprint sensor: Not working
hostb0@pci0:0:0:0: class=0x060000 card=0x30ad103c chip=0x27a08086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = '955XM/945GM/PM/GMS/940GML Express Processor to DRAM Controller' class = bridge subclass = HOST-PCI vgapci0@pci0:0:2:0: class=0x030000 card=0x30ad103c chip=0x27a28086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = 'Mobile 945GM/GU Express Integrated Graphics Controller' class = display subclass = VGA vgapci1@pci0:0:2:1: class=0x038000 card=0x30ad103c chip=0x27a68086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = 'Mobile 945GM/GU Express Integrated Graphics Controller' class = display pcm0@pci0:0:27:0: class=0x040300 card=0x30ad103c chip=0x27d88086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) High Definition Audio' class = multimedia pcib1@pci0:0:28:0: class=0x060400 card=0x30ad103c chip=0x27d08086 rev=0x01 hdr=0x01 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) PCIe Root Port' class = bridge subclass = PCI-PCI pcib2@pci0:0:28:1: class=0x060400 card=0x30ad103c chip=0x27d28086 rev=0x01 hdr=0x01 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) PCIe Root Port' class = bridge subclass = PCI-PCI pcib3@pci0:0:28:3: class=0x060400 card=0x30ad103c chip=0x27d68086 rev=0x01 hdr=0x01 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) PCIe Root Port' class = bridge subclass = PCI-PCI uhci0@pci0:0:29:0: class=0x0c0300 card=0x30ad103c chip=0x27c88086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) USB Universal Host Controller' class = serial bus subclass = USB uhci1@pci0:0:29:1: class=0x0c0300 card=0x30ad103c chip=0x27c98086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) USB Universal Host Controller' class = serial bus subclass = USB uhci2@pci0:0:29:2: class=0x0c0300 card=0x30ad103c chip=0x27ca8086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) USB Universal Host Controller' class = serial bus subclass = USB uhci3@pci0:0:29:3: class=0x0c0300 card=0x30ad103c chip=0x27cb8086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) USB Universal Host Controller' class = serial bus subclass = USB ehci0@pci0:0:29:7: class=0x0c0320 card=0x30ad103c chip=0x27cc8086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) USB 2.0 Enhanced Host Controller' class = serial bus subclass = USB pcib4@pci0:0:30:0: class=0x060401 card=0x30ad103c chip=0x24488086 rev=0xe1 hdr=0x01 vendor = 'Intel Corporation' device = '82801BAM/CAM/DBM (ICH2-M/3-M/4-M) Hub Interface to PCI Bridge' class = bridge subclass = PCI-PCI isab0@pci0:0:31:0: class=0x060100 card=0x30ad103c chip=0x27b98086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801GBM (ICH7-M) LPC Interface Controller' class = bridge subclass = PCI-ISA atapci0@pci0:0:31:1: class=0x01018a card=0x30ad103c chip=0x27df8086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801G (ICH7 Family) Ultra ATA Storage Controller' class = mass storage subclass = ATA atapci1@pci0:0:31:2: class=0x010601 card=0x30ad103c chip=0x27c58086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82801GB Mobile I/O Controller Hub SATA cc=AHCI' class = mass storage bge0@pci0:8:0:0: class=0x020000 card=0x30ad103c chip=0x16fd14e4 rev=0x21 hdr=0x00 vendor = 'Broadcom Corporation' device = 'BCM5753M NetXtreme Gigabit Ethernet PciXpress' class = network subclass = ethernet wpi0@pci0:16:0:0: class=0x028000 card=0x135c103c chip=0x42228086 rev=0x02 hdr=0x00 vendor = 'Intel Corporation' device = '10418086 Intel 3945ABG Wireless LAN controller' class = network cbb0@pci0:2:6:0: class=0x060700 card=0x30ad103c chip=0x8039104c rev=0x00 hdr=0x02 vendor = 'Texas Instruments (TI)' device = 'PCIxx12 Cardbus Controller' class = bridge subclass = PCI-CardBus none0@pci0:2:6:2: class=0x018000 card=0x30ad103c chip=0x803b104c rev=0x00 hdr=0x00 vendor = 'Texas Instruments (TI)' device = 'PCIxx12 Integrated Flash Media Controller' class = mass storage none1@pci0:2:6:3: class=0x080500 card=0x30ad103c chip=0x803c104c rev=0x00 hdr=0x00 vendor = 'Texas Instruments (TI)' device = 'PCIxx12 SDA Standard Compliant SD Host Controller' class = base peripheral none2@pci0:2:6:4: class=0x078000 card=0x30ad103c chip=0x803d104c rev=0x00 hdr=0x00 vendor = 'Texas Instruments (TI)' device = 'N/A Texas Instruments PCI GemCore based SmartCard controller' class = simple comms
Section "ServerLayout" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" RgbPath "/usr/local/share/X11/rgb" ModulePath "/usr/local/lib/xorg/modules" FontPath "/usr/local/lib/X11/fonts/misc" FontPath "/usr/local/lib/X11/fonts/TTF" FontPath "/usr/local/lib/X11/fonts/OTF" FontPath "/usr/local/lib/X11/fonts/Type1" FontPath "/usr/local/lib/X11/fonts/100dpi" FontPath "/usr/local/lib/X11/fonts/75dpi" FontPath "/usr/local/share/fonts" EndSection Section "Module" Load "GLcore" Load "dbe" Load "dri" Load "extmod" Load "glx" Load "record" Load "xtrap" Load "freetype" Load "type1" EndSection Section "Extensions" Option "Composite" "Enable" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "abnt2" Option "XkbLayout" "br" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "ZAxisMapping" "4 5 6 7" EndSection Section "Device" ### Available Driver options are:- ### Values: : integer, : float, : "True"/"False", ### : "String", : " Hz/kHz/MHz" ### [arg]: arg optional #Option "NoAccel" #  #Option "SWcursor" #  #Option "ColorKey" # #Option "CacheLines" # #Option "Dac6Bit" #  #Option "DRI" #  Option "NoDDC" Option "DRI" "true" #Option "NoDDC" #  #Option "ShowCache" #  #Option "XvMCSurfaces" # #Option "PageFlip" #  Option "XAANoOffscreenPixmaps" "true" Identifier "Card0" Driver "i810" VendorName "Intel Corporation" BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller" BusID "PCI:0:2:0" VideoRam 64000 EndSection Section "Device" Identifier "Card1" Driver "i810" BusID "PCI:0:2:0" # activate maximum supported througput thrue AGP Option "AGPMode" "4" # activate fast writes Option "AGPFastWrite" "yes" # needed for OpenGL support Option "ColorTiling" "on" # Advanced 3D option Option "EnablePageFlip" "yes" # Must be enabled to support dual monitor #Option "MergedFB" "true" # Modes for the second minitor #Option "MetaModes" "1024x768" # What monitor is connect where: 1: LCD, 2: CRT #Option "MonitorLayout" "LVDS, CRT" # Advanced power saving option. Option "DynamicClocks" "true" # Allow Fn-F4 Option "BIOSHotkeys" "true" EndSection Section "Monitor" Identifier "Monitor0" ModelName "1280X1024@60HZ" #Option "DPMS" EndSection Section "Monitor" DisplaySize 300 230 HorizSync 28-82 Identifier "Monitor1" ModelName "1280X1024@60HZ" Option "DPMS" VendorName "--> LCD" VertRefresh 50-60 #UseModes "MyModes" EndSection Section "Modes" Identifier "MyModes" Modeline "1280x1024" 105.15 1280 1360 1496 1712 1024 1025 1028 1059 Modeline "1280x960" 97.68 1280 1352 1488 1696 960 961 964 993 Modeline "1280x800" 80.58 1280 1344 1480 1680 800 801 804 827 Modeline "1152x864" 78.82 1152 1216 1336 1520 864 865 868 894 Modeline "1280x768" 77.37 1280 1344 1480 1680 768 769 772 794 Modeline "1024x768" 61.89 1024 1080 1184 1344 768 769 772 794 Modeline "800x600" 36.88 800 832 912 1024 600 601 604 621 Modeline "768x576" 33.74 768 792 872 976 576 577 580 596 Modeline "640x480" 23.06 640 656 720 800 480 481 484 497 EndSection Section "Screen" Identifier "Screen0" Device "Card1" Monitor "Monitor1" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x800" "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "800x600" "768x576" "640x480" Virtual 1600 1200 EndSubSection EndSection Section "DRI" Group 0 Mode 0666 EndSection