MacBookPro5,5
MacBook Pro "Core 2 Duo" 13" (Mid-2009)

Overall Status

Device/task

Wheezy

Buster

Core Components

Boot Standard Kernel:

[?]

{OK}

LAN network card:

[?]

{OK}

Detect (external) CD/DVD:

[?]

{OK}

Detect hard drives:

[?]

{OK}

Extra Features

CPU Frequency Scaling

[?]

[?]

Hibernation

[?]

[?]

Sleep / Suspend

[?]

{OK}

Xorg

[?]

{OK}

- OpenGL

[?]

[?]

- Resize-and-Rotate (randr)

[?]

[?]

- TwinView/Xinerama

[?]

[?]

- External screens:

[?]

{i}

- THUNDERBOLT->DP

[?]

[?]

- THUNDERBOLT->VGA

[?]

[?]

- THUNDERBOLT->DVI

[?]

[?]

- THUNDERBOLT->HDMI

[?]

[?]

- Mini ?DisplayPort -> HDMI

[?]

X-(

Mouse

- Built-in (Touchpad)

[?]

{OK}

Bluetooth

[?]

{OK}

Wireless/Wifi

[?]

X-(

Keyboard's Hotkeys

[?]

{OK}

Sound (Alsa+Pulseaudio)

[?]

{OK}

Integrated Camera

[?]

{OK}

USB 2.0 ports

[?]

{OK}

Thunderbolt ports

[?]

[?]

Card Reader

[?]

{OK}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Buster

Installation

The graphical installation runs flawlessly, either booting from a USB stick or a CD ROM.

Note: the WiFi adapter requires a non-free driver, so to perform a network install or download updates during install you need to connect your MacBook to the network using an Ethernet cable.

WiFi adapter

Hardware: Broadcom Limited BCM4322 802.11a/b/g/n Wireless LAN Controller

The WiFi adapter requires the non-free wl driver. The page also suggests the alternative bcm43xx driver; you might want to consider this should wl not work for you.

Once the package is installed, reboot your system.

Graphics Card

Hardware: Nvidia ?GeForce 9400M

The free, built-in Nouveau driver you get during the system installation works just fine.

However, you might experience:

If these are issues for your laptop usage, you might want to install the proprietary NVIDIA driver on this laptop.

Installing the NVIDIA drivers

Here is the Debian wiki page to install the NVIDIA driver.

Differently from the guidelines, here is what my lshw looks like:

# lshw -businfo -class bridge -class display
Bus info          Device     Class          Description
=======================================================
pci@0000:00:00.0             bridge         MCP79 Host Bridge
pci@0000:00:03.0             bridge         MCP79 LPC Bridge
pci@0000:00:09.0             bridge         MCP79 PCI Bridge
pci@0000:00:10.0             bridge         MCP79 PCI Express Bridge <- NOTE THIS
pci@0000:02:00.0             display        C79 [GeForce 9400M] <- NOTE THIS
pci@0000:00:15.0             bridge         MCP79 PCI Express Bridge
pci@0000:00:16.0             bridge         MCP79 PCI Express Bridge

So, here is what the /etc/grub.d/01_enable_vga.conf I produced looks like:

cat << EOF
setpci -s "00:10.0" 3e.b=8
setpci -s "02:00.0" 04.b=7
EOF

Remember to set the correct permissions to this file:

chmod 755 /etc/grub.d/01_enable_vga.conf

and finally update grub.

/usr/sbin/update-grub

Everything else is just what the wiki describes. Please, be aware you need the nvidia-legacy-340xx-driver driver for your ?GeForce 9400M. You might find it useful to install and then simply run nvidia-xconfig to create a new xorg.conf file which uses the NVIDIA driver. Finally, reboot the system.

Re-enable Display Brightness

The (multimedia) keys to adjust the display brightness are disabled (for some reason) after the NVIDIA driver installation. Simply, add the option "RegistryDwords" "EnableBrightnessControl=1" to the device configuration in your /etc/X11/xorg.conf file.

Mine looks like this:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
EndSection

Disable Logo Display at Boot

If you wan to gain >1s at boot, you might want to disable the NVIDIA logo display at boot, simply add the option "NoLogo" "1" to the screen configuration of your /etc/X11/xorg.conf file.

Mine looks like so:

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "NoLogo" "1"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Troubleshooting

Volume Multimedia Keys

The volume (multimedia) keys work out-of-the-box, but they need to be enabled by your desktop environment. In XFCE, simply add the Pulseaudio Plugin to your panel.

Wheezy

Installation

Install Debian "Wheezy" Linux on MacBook Pro 5,5

I used a wired ethernet connection for this install. I removed the OSX rescue partition to gain some space since I have the stock hard drive. I found out later in the Linux install OSX didn't reclaim the freespace from the rescue partition, yet disk utilty's command line and GUI said otherwise. My Linux partition is only 60GB. May sound low but it works fine for me. I am in the middle or creating a iSCSI server as well for more added space.

Needed for the install USB Jumpdrive 512MB or higher formated to FAT32 A Windows PC with unetbootin (Mac version freaks out after it install syslinux)

rEFInd

Debian Wheezy unoffical firmware netboot install CD image

gDisk

Install rEFInd onto the mac. Create your partition with Disk Utility. Format the new partition as ExFAT so you can easily identify it in the Linux install. Pop in the USB jump drive, reboot and install.

Partition the system manually and create a single partition for ROOT /. If yo want a swap partition you can delete the rescue partition and use that for swap so Linux can behave. Since my system has 8GB of RAM I don't really need swap space. The installer will complain about no EFI partition found, just continue and ignore it for now.

Select the default Linux kernel and when it asks for the initrd drivers just use the generic: include all available drivers.

When setting up APT select yes on using non-free software. Also besure to enable the updates. For the selection of software I picked the base, laptop and Deskop GUI.

Now that was the simple part. The hard part is getting the system to boot. Since the installer could not find a EFI partition for some silly reason we have to create a new one per'say. Reboot into OSX, open terminal and run "sudo gdisk /dev/disk0".

Do the following in gfdisk

x ,enter o ,enter n, enter o, enter w, enter

resintall rEFInd and after installing it run "bless --info" and make sure the two lines state

Blessed System Folder is /EFI/refind Blessed System File is /EFI/refind/refind_x64.efi

Now we need to edit rEFInd's config file. In terminal type in "sudo nano /EFI/refind/refind.conf"

Find scanfor, remove the hash # and change manual to biosexternal.

Save and exit

I almost forgot, you need to copy the ext4 driver from rEFInd to /EFI/refind/drivers. Unless you're using a older ext2 filesystem then you don't have to. Now you can boot into Linux.

-= If rEFInd doesn't load up run the install script again. =-

Wireless still has firmware issues but can be fixed. nvidia driver has to be installed, i don't like the opensource driver. Touchpad needs tweaking.

Wireless fix

open root terminal and issue apt-get update. Then install firmware-b43-installer via apt apt-get install firmware-b43-installer Simple easy fix and now the wireless will work.

Nvidia video

Issue apt-get install nvidia-glx

default nouveau driver but we can blacklist it with a easy tool called nvidia-xconfig. apt-get install nvidia-xconfig and then run the tool nvidia-xconfig this will blacklist the nouveau driver and enable X11 to use the real nvidia driver. You'll know the nvidia driver works when you reboot bcause it will have a special splash screen before X11 starts.

Touch Pad

Install a simple program called gpointing-device-settings via apt. Run the program in X11, the device will be listed as "bcm5974". Just tweak the settings to your liking.

save and exit then reboot.


System Summary

cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz
stepping        : 10
microcode       : 0xa07
cpu MHz         : 1035.727
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips        : 5041.74
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz
stepping        : 10
microcode       : 0xa07
cpu MHz         : 903.333
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips        : 5041.74
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

lspci

00:00.0 Host bridge [0600]: NVIDIA Corporation MCP79 Host Bridge [10de:0a82] (rev b1)
00:00.1 RAM memory [0500]: NVIDIA Corporation MCP79 Memory Controller [10de:0a88] (rev b1)
00:03.0 ISA bridge [0601]: NVIDIA Corporation MCP79 LPC Bridge [10de:0aae] (rev b3)
00:03.1 RAM memory [0500]: NVIDIA Corporation MCP79 Memory Controller [10de:0aa4] (rev b1)
00:03.2 SMBus [0c05]: NVIDIA Corporation MCP79 SMBus [10de:0aa2] (rev b1)
00:03.3 RAM memory [0500]: NVIDIA Corporation MCP79 Memory Controller [10de:0a89] (rev b1)
00:03.4 RAM memory [0500]: NVIDIA Corporation MCP79 Memory Controller [10de:0a98] (rev b1)
00:03.5 Co-processor [0b40]: NVIDIA Corporation MCP79 Co-processor [10de:0aa3] (rev b1)
00:04.0 USB controller [0c03]: NVIDIA Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa5] (rev b1)
00:04.1 USB controller [0c03]: NVIDIA Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa6] (rev b1)
00:06.0 USB controller [0c03]: NVIDIA Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa7] (rev b1)
00:06.1 USB controller [0c03]: NVIDIA Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa9] (rev b1)
00:08.0 Audio device [0403]: NVIDIA Corporation MCP79 High Definition Audio [10de:0ac0] (rev b1)
00:09.0 PCI bridge [0604]: NVIDIA Corporation MCP79 PCI Bridge [10de:0aab] (rev b1)
00:0a.0 Ethernet controller [0200]: NVIDIA Corporation MCP79 Ethernet [10de:0ab0] (rev b1)
00:0b.0 SATA controller [0106]: NVIDIA Corporation MCP79 AHCI Controller [10de:0ab9] (rev b1)
00:10.0 PCI bridge [0604]: NVIDIA Corporation MCP79 PCI Express Bridge [10de:0aa0] (rev b1)
00:15.0 PCI bridge [0604]: NVIDIA Corporation MCP79 PCI Express Bridge [10de:0ac6] (rev b1)
00:16.0 PCI bridge [0604]: NVIDIA Corporation MCP79 PCI Express Bridge [10de:0ac7] (rev b1)
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation C79 [GeForce 9400M] [10de:0863] (rev b1)
03:00.0 Network controller [0280]: Broadcom Limited BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01)
04:00.0 FireWire (IEEE 1394) [0c00]: LSI Corporation FW643 [TrueFire] PCIe 1394b Controller [11c1:5901] (rev 07)

lsusb

Bus 002 Device 004: ID 05ac:8403 Apple, Inc. Internal Memory Card Reader
Bus 002 Device 006: ID 413c:2107 Dell Computer Corp. 
Bus 002 Device 005: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 05ac:8213 Apple, Inc. Bluetooth Host Controller
Bus 004 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 05ac:8507 Apple, Inc. Built-in iSight
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 05ac:0237 Apple, Inc. Internal Keyboard/Trackpad (ISO)
Bus 003 Device 002: ID 05ac:8242 Apple, Inc. Built-in IR Receiver
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


CategoryLaptopComputer