HOWTO: Downgrading Intrepid’s bluetooth packages to Hardy’s

** Update: Jaunty has now fixed pairing devices with non-standard pins, so this HOWTO is now moot (for me at least)

Summary

The purpose of this document is to describe how to roll-back the bluetooth packages in Intrepid to Hardy’s version.

There have been a lot of Bluetooth regressions which were introduced in Bluez 4.x, one of which has stopped me from being able to pair my Orange Bluetooth Speakers with Intrepid. Other bugs include the following:

https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/285412

The only solution that worked for me was to remove Intrepid’s bluetooth packages and install Hardy’s instead. I’ve been using them quite a bit now and haven’t spotted any problems even though I had to fudge the dependencies.

WARNING: Following this HOWTO could potentially break your bluetooth altogether or even your whole installation. Make sure you backup before trying any of these steps.

Steps

1) Convert Intrepid repos to Hardy’s:

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
$ sudo gedit /etc/apt/sources.list

Search and replace all instances of the word ‘intrepid’ with ‘hardy’. Save and exit.

$ sudo apt-get update

3) Replace libbluetooth3 with libbluetooth2’s files. Hardy really uses libbluetooth2, but there are a ton of apps in Intrepid which are dependent on libbluetooth3, so we can’t remove it, otherwise we’ll break apt-get due to dependency errors. Instead, we’ll install libbluetooth2 alongside libbluetooth3 and manually remove libbluetooth3’s files:

$ sudo mv /usr/lib/libbluetooth* /tmp

2) Install libbluetooth2 & disguise it as libbluetooth3

$ sudo apt-get install libbluetooth2
$ sudo ln -s /usr/lib/libbluetooth.so.3 /usr/lib/libbluetooth.so.2.9.6

4) Remove all of Intrepid’s bluetooth related packages:

$ sudo apt-get remove bluetooth bluez-utils bluez bluez-alsa bluez-audio bluez-cups bluez-gnome bluez-gstreamer bluez-compat --purge
$ sudo apt-get clean

5) Install Hardy’s bluetooth related packages:

$ sudo apt-get install bluetooth bluez-utils bluez-audio bluez-cups bluez-gnome bluetooth-alsa

6) Restart bluetooth:

$ sudo /etc/init.d/bluetooth restart

Make sure to test everything you’re using carefully and roll-back if this breaks something in an app you need. Some apps will probably break because they really do require libbluetooth3, although I personally have not seen any.

7) Convert your repos back to Intrepid’s. Follow step #1 again, but replace Hardy with Intrepid.

Advertisements

2 Responses to “HOWTO: Downgrading Intrepid’s bluetooth packages to Hardy’s”

  1. Jason Says:

    I tried this but intrepid would not recognize or aknowledge my dongle anymore. I reupdated back to intrepids defaults, but I would really like to get my bluetooth to work.. I will try to go through the instructions again from the beginning, but I could use any extra informaition you may have on what you did after this to get your setup to work.

  2. jackflapb Says:

    To be fair, I recently tested Jaunty and was able to pair it with my bluetooth speakers by doing the following :

    Right-click on the bluetooth icon – Set up new Device – Choosing custom pin and specifying the speaker’s pin manually – then setting up a2dp as necessary.

    So, for me, downgrading to hardy’s packages is no longer necessary.

    Sounds like there’s an issue with Hardy’s bluetooth packages and your dongle specifically. Have you tested hardy’s live cd and your dongle to make sure they CAN work together?

    What is the problem you’re experiencing with intrepid? Are you trying to set-up a bluetooth speaker?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: