MacBook Pro 5,1 and FreeBSD 9.0 Hardware Support

In a previous post, I gave a brief overview of how to dual boot FreeBSD and OS X on a MacBook Pro.
This post covers my findings regarding hardware support.

The hardware support suggested here may vary depending on your particular
hardware. This list is in no particular order.


Keyboard

The keyboard works as expected, with two minor oddities (likely due to an
incorrect keymap selected by me):

  • The “`” (backtick) and “~” (tilde) key does not output any characters
    when pressed.
  • The key combination “Fn+UP” (Function + UP arrow) will output the
    tilde character, though I haven’t found a combination to output the
    backtick

Also note, the “CD Eject” button does not work by default, however the
following command does:

# cdcontrol eject

Mouse/Trackpad

The Apple® Trackpad works for left-clicking and mouse navigation. Though,
by default, no right-click, scroll, or tap support exists. Though, if I’m
using the wrong driver, please let me know.


Sound

Sound works fine with the mixer(8) utility and the snd_hda(4) driver.


Thermal Control

There seems to be no fan control support. The coretemp(4) driver for the
Intel® Core2Duo processor works fine.


Power Control

There seems to be no support for the system to detect that it has been taken
off AC power. amd(8), plugged or unplugged, always displays the AC adapter as
on-line. As a result, powerd(8) seems to be ineffective for switching power
states. However, the battery percentage displayed by amd(8) does appear to be
roughly correct.


Suspend/Resume

Suspend and resume work fine, though I haven’t yet figured out how to make the
system suspend when closing the laptop lid. I’m using the following command
to put the system to sleep:

% apm -z

Graphics

The nVidia® GeForce 9400M graphics card is supported by the x11/nvidia-driver port.


Networking

The wired ethernet works great with the nfe(4) driver. The system has a
built-in Broadcom® bcm4322 chipset which, as of this writing, is not
supported by either the bwi(4) or bwm(4) driver. ndis(4) works, however in my
experience, may cause the machine to panic due to buggy SMP support in the
ndis(4) driver. I’m personally using a Belkin® F5D7050 USB dongle (though
excessively large…) with the rum(4) driver, without any problems.


Webcam

With the multimedia/webcamd port, the iSight® camera in the machine
works fine. It also works fine with the net-im/skype port.