Super Spread Sheet S³

Or little computing tricks and hacks

Tag Archives: installation

Adventures with Ubuntu in a MacBookPro9,2

My daughter came to me one day: “Mum, my Mac is kaput”. When upgrading, the computer just hang. After all the diagnosis possible, we figured it was a disc crash.

A mac techie acquaintance took the computer and after checking it up told us that he could replace the disc and … install Ubuntu! Yes please!

After getting the computer back I started playing with it, connect to the wifi, install this, download that, why is the Ubuntu version only 14.04? Let’s upgrade. After all we are only a few days from the next release 15.10. Hmm, there are errors. We need to reboot, yes, no, ahhh. Kernel panic…

… After some research I had some interesting findings.

There seems to be a tie between the Mac model and the Ubuntu release. This page shows the recommended Ubuntu release to the specific MacBookPro hardware model. They recommend the latest LTS when the user is not sure of the release to install. I was reticent to leave 14.04LTS, but looking at this wikipedia page, I was reassured that this particular version’s support runs until 2019-04! By then this Mac should be history!

To install according to the Mac’s model, first find out the hardware type by typing the following:

sudo dmidecode -s system-product-name

The output in my case:


And there is where I noticed that 15.04 was not going to work. So I proceeded to reinstall 14.04LTS from a usb stick and that was like a breeze, only after reading how to boot from a usb stick in a Mac:

Insert the Ubuntu LiveCD into your Mac and Shutdown. Restart the Mac and hold the Option Key. When the boot selector screen comes up, choose to boot from the CD.

The full installations instructions can be found here, but I just followed the section “Single-Boot: Ubuntu Only”.

All good except that the wireless card did not seem to be set up. But it was working before so it can be done. I did get scared when I clicked on the MacBookPro9-2/Utopic Unicorn link, and it read that wireless was not supported. But Utopic Unicorn is 14.10. And I have 14.04 Trusty Tahr.

Roughly these are the steps to follow to set up the wireless connection.

Identify the wireless chipset

This can be done in a couple of ways:

  • lspci | grep Network
  • lspci -vvnn | grep -A 9 Network

From the commands I learned that

  • The Chip ID is BCM4331,
  • The PCI-ID is 14e4:4331, and
  • Kernel driver in use is bcma-pci-bridge

Find the drivers for the chipset

This guide contains a full description of specific drivers supporting Broadcom BCM43xx Chipset. And there are a different instructions that one could follow. IN my case the chipset was supported by more that one driver but what worked for me was the section b43 – No Internet access:

  1. Install the b43-fwcutter package.
    cd /media/pool/main/b/b43-fwcutter/
    sudo dpkg -i b43-fwcutter* 
  2. Download the firmware file from here unto a computer with internet connection.
  3. Copy the file to your working directory (yes, using a usb stick). In a terminal use b43-fwcutter to extract and install the firmware:
    tar xfvj broadcom-wl-5.100.138.tar.bz2
    sudo b43-fwcutter -w /lib/firmware broadcom-wl-5.100.138/linux/wl_apsta.o
  4. Restart the computer or reload the b43 module by switching between drivers. I did the later.
    First unload all conflicting drivers (this includes removing the driver you’re trying to install):

    sudo modprobe -r b43 bcma
    sudo modprobe -r brcmsmac bcma

    Then load the driver to use:

    sudo modprobe b43

And by magic I now have a wireless connection, and life is good again!

Related links


Fedora 16 in eeepc

For the longest time, my daughters’ computers, two Asus eeepc’s with almost consecutive serial numbers, had eeebuntu as their OS. When we bought them, ions ago, that was the perfect choice, given that we are ubunut users. At a given point though, they could not update existing software any more… I was too busy to look into it. But later on, when I wanted them to practice touch-typing using k-touch, I couldn’t install any new software in the computers. A quick google search told me that eeebuntu was no longer maintained, that there was some sort of issue between eeebuntu and ubuntu, and the new version was Aurora. But, there did not seem to be much activity in the Aurora’s website either, so I kept searching. There were issues with ubuntu and these pc’s, namely the latest version does not work and one has to install two versions ago. Uhmm, given that they maintain a release for only three years, that is not very encouraging. The next choice was fedora. And most, if not all the posts I found, were from people who were quite happy with fedora in his eeepc. So that was my choice. Given that Alejandra’s disc had crashed, we decided to buy faster discs (7200 rpm, wow) for both of the computers. Fedora even used the legacy of eeebuntu to adjust to the small screen size (1024 x 600).

I decided to write down all the tweaks I did to get the machines going.

1. Bootable usb. These laptops don’t have optical drive. That is how they can afford to be so small. So I needed to create one: download the iso image, launch “Startup creator” …, uhmm, can’t create a bootable fedora usb with the ubuntu software. Luckily there is “UNetbootin” which was able to do the trick.

2. Check that both computers can run fedora. (Well, if one does the other must. Reasonable assumption but not realistic. One of the computers had to be tweaked at the beginning with eeebuntu as it would not work as the other one.) They did.

3. Buy discs. Replace discs.

4. Boot the computer with the usb, pressing the esc key like mad to get it to boot from an external device. After playing around with fedora, it felt really nice in the computers. Time to install.

4. Follow the standard instructions. I took all the suggested options, such as one partition, etc, rougthly from here. Very good documentation.

5. After rebooting from the disc, the standard thing, you need to create an account, and at some point the superuser account as well, and other standard questions and you are in. Success.


6. Setting ssh and the ssh daemon. This requires starting the daemon now, and at boot time, and fix the firewall:

A. You have to enable SSHD using systemctl
# su
# systemctl enable sshd.service

B. Start SSHD
# systemctl start sshd.service
C. Check the status of SSHD service
# systemctl status sshd.service
D. Add tcp at port 22 in the firewall. This can be done interactively, with the firewall gui. Once done, you need to stop and restart the firewall. Just search for firewall in the search window which appers when you click activities.

7. Multimedia. Opposite to what I read (and did) in a blog entry,
you do not need the fluendo which you have to purchase for free, meaning that the code is not free.

A. Get the rmp’s for non-free software, which can’t be released with the distribution:
# rpm -ivh
# rpm -ivh

B. Install the following
# yum -y install gstreamer-plugins-bad gstreamer-plugins-ugly xine-lib-extras-nonfree gstreamer-ffmpeg

C. Installing vlc and mplayer guarantees that you can play almost anything.

8. Adobe flash. How can one live without youtubes nowadays? Instructions from here.
#rpm -ivh
#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
#yum check-update
#yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl

I have read somewhere that pulseaudio produces a crackling noise mixed with the sound, and that one should stick to just alsa. I wonder if that was just for ubuntu as I have not experienced any of that.

9. TeXlive
#rpm -i
#yum clean all
#yum install texlive-scheme-full

10. Touch-pad tap and scroll. You need, as superuser, edit the file
/usr/share/X11/xorg.conf.d/50-synaptics.conf and replace the section
Section "InputClass"
   Identifier "touchpad catchall"
   Driver "synaptics"
   MatchIsTouchpad "on"
   MatchDevicePath "/dev/input/event*"


Section "InputClass"
   Identifier "touchpad catchall"
   Driver "synaptics"
   MatchIsTouchpad "on"
   Option "TapButton1" "1"
   Option "TapButton2" "2"
   Option "TapButton3" "3"
   MatchDevicePath "/dev/input/event*"

You also need the following command somewhere:
gsettings set org.gnome.settings-daemon.peripherals.touchpad tap-to-click true

I put it in the .bashrc but right now it is giving some dbus warnings, which I am not investigating at the moment. So I added
&> /dev/null at the end of command to redirect the warnings, elsewhere.

11. Enjoy!