Installation Process
1. Touchpad
Touchpad doesn't work as usual during installation. Connect a USB mouse and things should be ok.
2. Install
Burn the DVD from http://fedoraproject.org and install OS as usual. If you need some help regarding the partitioning refer to this post
Post Install Process
1. BootDisk error
If you re-format all your partitions using Fedora-11 DVD during the installation, you might see this error "Invalid Boot Disk -- Insert boot disk and press any key to continue" error.
In order to fix this error, you need follow these steps
- Reboot your system
- Go to the 'refit' menu
- Choose the second icon from the left (Partitioning tool)
- If you see the 'refresh mbr', then do as requested
- Thats all! Now you should be able to boot correctly into Fedora
Shutdown your macbook and reboot. Now everything should work as usual
2. Wireless
You no longer need to install the ndiswrapper manually. Configure the 'livna' repository and install the ndiswrapper.
bash$ sudo yum install ndiswrapper
Download the drivers from here, and add them to the ndiswrapper
bash$ cd /tmp/drivers
bash$ sudo ndiswrapper -i *.inf
bash$ sudo ndiswrapper -m
bash$ sudo ndiswrapper -mi
bash$ sudo ndiswrapper -ml
3. Touchpad/Tapping
Fedora 11 Automatically configures the touchpad driver using the bcm5974 driver present in the 2.6.29 kernel.
But, not all the tapping/right-click,scrolling features are available. You need to create a new .fdi file with all the options to "synaptics" driver
nareshv@localhost $ cd /usr/share/hal/fdi/policy/20thirdparty
nareshv@localhost $ cp 10-synaptics.fdi 100-synaptics-custom.fdi
(Now edit 100-synaptics-custom.fdi, with the following contents)
nareshv@localhost $ cat 100-synaptics-custom.fdi
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- DO NOT EDIT THIS FILE IN PLACE.
This file will be overwritten with the next update. If you need to add
custom options, copy the file into /etc/hal/fdi/policy/ first.
See https://fedoraproject.org/wiki/Input_device_configuration -->
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<!-- To add custom options for the touchpad, modify the examples below
to suit your needs. The available options are listed in the
"synaptics" man page. After modifyfing this file, you must
restart HAL. Check the output of lshal whether your modifications
have been merged successfully.
Note: <merge key="input.x11_options.s must always be type "string".
The following examples enable left, right, middle clicks on
single, double, triple finger tapping, respectively.
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>
<merge key="input.x11_options.TapButton3" type="string">2</merge>
-->
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.LeftEdge" type="string">10</merge>
<merge key="input.x11_options.RightEdge" type="string">1200</merge>
<merge key="input.x11_options.TopEdge" type="string">10</merge>
<merge key="input.x11_options.BottomEdge" type="string">370</merge>
<merge key="input.x11_options.FingerLow" type="string">10</merge>
<merge key="input.x11_options.FingerHigh" type="string">20</merge>
<merge key="input.x11_options.MaxTapTime" type="string">180</merge>
<merge key="input.x11_options.MaxTapMove" type="string">220</merge>
<merge key="input.x11_options.SingleTapTimeout" type="string">100</merge>
<merge key="input.x11_options.MaxDoubleTapTime" type="string">180</merge>
<merge key="input.x11_options.LockedDrags" type="string">off</merge>
<merge key="input.x11_options.MinSpeed" type="string">1.10</merge>
<merge key="input.x11_options.MaxSpeed" type="string">1.30</merge>
<merge key="input.x11_options.AccelFactor" type="string">0.08</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>
<merge key="input.x11_options.TapButton3" type="string">2</merge>
<merge key="input.x11_options.ClickFinger1" type="string">1</merge>
<merge key="input.x11_options.ClickFinger2" type="string">3</merge>
<merge key="input.x11_options.ClickFinger3" type="string">2</merge>
<merge key="input.x11_options.RTCornerButton" type="string">0</merge>
<merge key="input.x11_options.RBCornerButton" type="string">0</merge>
<merge key="input.x11_options.LTCornerButton" type="string">0</merge>
<merge key="input.x11_options.LBCornerButton" type="string">0</merge>
<merge key="input.x11_options.VertScrollDelta" type="string">20</merge>
<merge key="input.x11_options.HorizScrollDelta" type="string">50</merge>
<merge key="input.x11_options.HorizEdgeScroll" type="string">0</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">0</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
</match>
</device>
</deviceinfo>
NOTE: If you want to adjust the tapping, speed of mouse scroll, do these things
nareshv@localhost $ sudo yum install gsynaptics
Make your changes. and run the following command to see the latest changes. Now use the below keywords and update the above .fdi file.
nareshv@localhost $ synclient -l
Parameter settings:
LeftEdge = 10
RightEdge = 1200
TopEdge = 10
BottomEdge = 370
FingerLow = 10
FingerHigh = 20
FingerPress = 256
MaxTapTime = 180
MaxTapMove = 220
MaxDoubleTapTime = 180
SingleTapTimeout = 100
ClickTime = 100
FastTaps = 0
EmulateMidButtonTime = 75
EmulateTwoFingerMinZ = 282
EmulateTwoFingerMinW = 7
VertScrollDelta = 20
HorizScrollDelta = 50
VertEdgeScroll = 0
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 1
HorizTwoFingerScroll = 0
MinSpeed = 1.1
MaxSpeed = 0
AccelFactor = 1.3
TrackstickSpeed = 0
EdgeMotionMinZ = 30
EdgeMotionMaxZ = 160
EdgeMotionMinSpeed = 1
EdgeMotionMaxSpeed = 120
EdgeMotionUseAlways = 0
UpDownScrolling = 1
LeftRightScrolling = 1
UpDownScrollRepeat = 1
LeftRightScrollRepeat = 1
ScrollButtonRepeat = 100
TouchpadOff = 0
GuestMouseOff = 0
LockedDrags = 0
LockedDragTimeout = 5000
RTCornerButton = 0
RBCornerButton = 0
LTCornerButton = 0
LBCornerButton = 0
TapButton1 = 0
TapButton2 = 0
TapButton3 = 0
ClickFinger1 = 1
ClickFinger2 = 3
ClickFinger3 = 2
CircularScrolling = 0
CircScrollDelta = 0.1
CircScrollTrigger = 0
CircularPad = 0
PalmDetect = 0
PalmMinWidth = 10
PalmMinZ = 200
CoastingSpeed = 0
PressureMotionMinZ = 30
PressureMotionMaxZ = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 0
GrabEventDevice = 1
4. Audio
Somehow the audio doesn't work out of the box, you need to set the model option
bash$ echo "options snd_hda_intel model=mbp3" >> /etc/modprobe.d/sound
5. Bluetooth
Works out of the box
6. Firewire
Haven't tested (Don't have a device to check)
7. Microphone
Haven't tested
8. Network Card
Works out of the box
9. Nvidia Graphics card
Works out of the box, using "nouveau" driver.
10. Keyboard special keys / Backlight
works out of the box.
11. isight (webcam)
Works out of the box.
12. Sensors
Works out of the box.
nareshv@localhost $ sensors
applesmc-isa-0300
Adapter: ISA adapter
Left side :1996 RPM (min = 2000 RPM)
Right side :1999 RPM (min = 2000 RPM)
temp1: +32.2°C
temp2: +43.2°C
temp3: +42.0°C
temp4: +52.5°C
temp5: +43.0°C
temp6: +70.0°C
temp7: +51.5°C
temp8: +42.8°C
temp9: +36.8°C
temp10: +37.0°C
temp11: +37.8°C
temp12: +34.0°C
14. Suspend , Resume
Fedora 11 still has this suspend resume bug. Upon resume we will get this error from dmesg and the mouse will be stuck
nareshv@ localhost $ | dmesg | tail -1
bcm5974: bad trackpad package, length: 8
Fix is as described in my earlier post.
(If you are running 32-bit Fedora 11 use /usr/lib instead of /usr/lib64)
nareshv@nareshv «sr/lib64/pm-utils/sleep.d $ ls -l
total 64
-rwxr-xr-x. 1 root root 2490 2009-04-24 15:21 00auto-quirk*
-rwxr-xr-x. 1 root root 274 2009-04-24 15:21 00logging*
-rwxr-xr-x. 1 root root 203 2009-04-24 15:21 00powersave*
-rwxr-xr-x. 1 root root 809 2009-04-24 15:21 01grub*
-rwxr-xr-x. 1 root root 664 2009-04-24 15:21 49bluetooth*
-rwxr-xr-x. 1 root root 991 2009-04-24 15:21 55NetworkManager*
-rwxr-xr-x. 1 root root 141 2009-02-26 19:25 56atd*
-rwxr-xr-x. 1 root root 335 2009-04-24 15:21 75modules*
-rwxr-xr-x. 1 root root 455 2009-04-24 15:21 90clock*
-rwxr-xr-x. 1 root root 1098 2009-04-24 15:21 94cpufreq*
-rwxr-xr-x. 1 root root 297 2009-04-24 15:21 95led*
-rwxr-xr-x. 1 root root 707 2009-04-24 14:57 95packagekit*
-rwxr-xr-x. 1 root root 2269 2009-04-24 15:21 98smart-kernel-video*
-rwxr-xr-x. 1 root root 2068 2009-04-24 15:21 99hd-apm-restore.hook*
-rwxr-xr-x. 1 root root 5685 2009-04-24 15:21 99video*
[nareshv@nareshv ~]$ cat /usr/lib64/pm-utils/sleep.d/02touchpad
#!/bin/bash
if [ -e '/usr/lib64/pm-utils/functions' ];then
. /usr/lib64/pm-utils/functions
fi
suspend_bcm5974() { /sbin/rmmod bcm5974; }
resume_bcm5974() { /sbin/modprobe bcm5974; }
case "$1" in
suspend|hibernate)
suspend_bcm5974;
;;
thaw|resume)
resume_bcm5974;
;;
*)
;;
esac
exit $?