Table of Contents
recursive toc v1.5

Apple MacBook Pro information

Contents

cpu specs performance

This chip is a Merom Intel Core 2 Duo processor. It's a dual core with 4096 KB of unified cache L2, offers a complete x86_64 instruction set and includes an NX bit (Intel calls it XD bit, IIRC). Two generations ahead of the Pentium M, but still similar. The first iteraction of the Intel Core Duo CPUs (codenamed Yonah) were roughly just two Pentium M cores on the same die with a common cache L2. Clever but not innovative. Core 2 Duo chips are a major improvement over the Yonahs but nothing innovative.

A comparison between the Pentium M Banias 705, the Pentium M Dothan 750 and the Core 2 Duo is shown on the table below:

1500 MHz200 MHz (400 MT/s)1024 KB5fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2
Pentium M Core 2
705 750 T7700
Codename Banias Dothan Merom
Architecture 130 nm 90 nm 65 nm
Clock Speed 1860 MHz 2400 MHz
Front Side Bus 266 MHz (533 MT/s) 200 MHz (800 MT/s)
Cache L2 size 2048 KB 4096 KB
(unified)
Family 6 6 6
Model 9 13 15
Model Name Intel(R) Pentium (R) M processor 1500MHz Intel(R) Pentium (R) M processor 1.86GHz Intel(R) Core 2 Duo T7700
Stepping 8 10
Flags fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflsh ds acpi mmx fxsr sse sse2 ss ht tm pbe sse3 monitor ds-cpl vmx est tm2 ssse3 cx16 xTPR xd(NX) em64t lahf_lm
References

back to top

power/battery notes

The battery runs out in almost 6 hours when the computer is idle (meaning noone is doing anything with it) using frequency scaling to cut down CPU and chipset power consumption. Normal usage drains the battery in about 3 hours which is well within the Centrino territory. Heavy usage drains it in about 1h-1h30 (linux kernel compilations or dvd burning, etc).

The battery on this laptop is a standard Control Mode battery, which means that the kernel can read reliably the battery state/status and the AC adapter state. Many graphical and text daemons currently monitor this information so no issues here.

Modules: ac, battery

back to top

Sound device

SigmaTel STAC92xx

Modules: snd_hda_intel, snd_hda_codec

PCI id: [8086:284b]

back to top

Video display card

Nvidia

Modules: nvidia (binary form: taints the kernel)

PCI id: [10de:0407]

back to top

Ethernet network card

Marvell Yukon 2 Gigabit 10/100/1000 Base-T is the name of the PCI-Express integrated ethernet controller. The best driver for this card is the sky2, although the older skge works as well. Selected under the Device Drivers - Network device support - Ethernet (1000 Mbit). For the sky2 driver, the option to select is SysKonnect Yukon2 support while for the skge it's the Marvell Yukon Chipset / SysKonnect SK-98xx Support in the kernel configuration tool.

Support for this PCI device [11ab:436a] was included in kernel version 2.6.21. By looking at the diffs, the driver itself did not change much - only the detection routine was changed to support this new id.

Modules: sky2 or skge

PCI id: [11ab:436a]

back to top

Wireless network card

This MacBook Pro contains a wireless card based on the Atheros AR5008E chipset. Like in most other wireless NICs, this chipset is composed of an AR5133 802.11 radio chip and an AR5418 MAC/baseband processor module. The radio module is autonomous and handles the electric and radio work (both (de/)modulation and reception/radiation of the radio signal, along with any other signaling involved). The MAC module works at the link layer and interacts with the operating system through the PCI-Express bus to its respective driver.

Support isn't perfect but we're getting there. As far as I know, three (3) drivers may be used to handle this card, with the last (ath9k) likely to be the best one.

madwifi
The madwifi project provides a driver containing a wrapped binary blob (supplied by Atheros) that interacts with the kernel's HAL, hence it isn't distributed in the kernel tree. Up to version 0.9.4 of the stable driver, this chipset isn't supported. However, the trunk code does support and work with this card for some time. The in-development driver seems reasonably stable and should be released on the stable driver soon. To build it, it is necessary to checkout and build the SVN trunk code against the running kernel.
zealot src $ lspci -tvnn | grep -i Atheros

           +-1c.4-[0000:0b]----00.0  Atheros Communications, Inc. Unknown device [168c:0024]
zealot src $ svn checkout http://svn.madwifi.org/madwifi/trunk madwifi-trunk
(...)

zealot src $ cd madwifi-trunk
zealot madwifi-trunk $ make
(...)
zealot madwifi-trunk $ su root 'make install'
zealot madwifi-trunk $ modprobe ath_pci
zealot madwifi-trunk $ dmesg | grep ath
ath_hal: module license 'Proprietary' taints kernel.
ath_hal: 0.9.30.13 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133)
ath_pci: svn r3545
MadWifi: ath_attach: HAL managed transmit power control (TPC) disabled.
MadWifi: ath_attach: Interference mitigation is supported.  Currently disabled.
MadWifi: ath_attach: Switching rfkill capability off.
ath_rate_sample: 1.2 (svn r3545)
wifi0: ath_announce: Use hw queue 1 for WME_AC_BE traffic
wifi0: ath_announce: Use hw queue 0 for WME_AC_BK traffic
wifi0: ath_announce: Use hw queue 2 for WME_AC_VI traffic
wifi0: ath_announce: Use hw queue 3 for WME_AC_VO traffic
wifi0: ath_announce: Use hw queue 8 for CAB traffic
wifi0: ath_announce: Use hw queue 9 for beacons
ath_pci: wifi0: Atheros 5418: mem=0x97300000, irq=16
ath5k
An effort to build a free and open source HAL independent (free of binary blobs) driver has been made in an attempt to achieve better (more open) support and a compatible license for inclusion in the official kernel tree.

Its code tree lives in the wireless-2.6 kernel tree and uses the mac80211 kernel API. It was first pulled into the official vanilla tree for version 2.6.25.

However, it does not support the 5418 MAC chip, so it can't be used with this wireless card yet.
ath9k
Just a few days ago, Atheros released a new free driver for the Linux kernel. It hardly gets any better than this. A vendor developed driver released under a compatible license for inclusion in the kernel? Developers have already cleaned and tuned it significantly.

This driver has been pulled for inclusion in kernel version 2.6.27. Everything points to a bright future for ath9k from now on, for Linux users of this Atheros card.

Modules: ath_pci (madwifi trunk)

PCI id: [168c:0024]

back to top

USB

No hassle.

Modules: uhci_hcd, ehci_hcd

PCI id: [8086:2830-32], [8086:2834-36], [8086:283a]168c:0024]

back to top

Firewire

Modules: firewire_ohci

PCI id: [104c:8025]

back to top

Touchpad

Modules: mousedev, evdev, appletouch