Distribution upgrades

To upgrade Debian, first ensure that there are no conflicting or held back packages. If there are, these issues are best sorted out first.

dpkg --audit
dpkg --get-selections | grep hold

Then run aptitude and press “g” and only carry on when you have the message “No packages are scheduled to be installed, removed or upgraded”.

Next change all your sources over in /etc/apt/sources.list from the old distro name such as squeeze to the new one such as wheezy. And then do the upgrade in two steps, first upgrade the packages and then do the dist-upgrade as follows:

apt-get update
apt-get upgrade
apt-get dist-upgrade

It’s best to use the package maintainer’s version of any updated configuration files it mentions. You can have a second shell window open so you can check the changed parts of the configuration that have changed and back them up or copy them across to the freshly created version.

Centrino Wireless-N 1030

This driver is not included in the Debian installation or on-line repositories so has to be manually installed afterwards. See also Set up a wifi hotspot

echo "deb http://http.debian.net/debian/ wheezy main contrib non-free" >> /etc/apt/sources.list
apt-get update
apt-get install firmware-iwlwifi
modprobe -r iwlwifi ; modprobe iwlwifi


I found that I couldn’t get any of my bluetooth devices to pair in the default install of Debian 7. The devices would show up in the detected list and the pairing process would initiate properly, but would then fail to complete. Using the bluez tools from the terminal worked though with the following procedure I found here. Strangely, after I got the first thing (my mouse) working with this process, then my phone was able to pair from the GUI as normal even though it had failed prior to getting the mouse to work.

hcitool scan

This process gives you the MAC address of your device which you can then begin the pairing process with as follows. This will ask you for the pin which you type in to your device etc or use 0000 if it’s a device like a mouse or headset.

bluez-simple-agent hci0 12:34:56:78:9A:BC

You then make the device trusted so that it can automatically connect in future:

bluez-test-device trusted 12:34:56:78:9A:BC yes

And then finally, connect to the device:

bluez-test-input connect 12:34:56:78:9A:BC

It should now be shown as normal in the bluetooth menus and settings window and should connect automatically when the session starts.

Dual Monitor issues

One problem that often comes up with dual monitor setup in Ubuntu (persisting as of 11.04) is that there’s nothing in the interface allowing the user to define which is the primary monitor having the panels with the launcher and notification icons etc.

But the monitors applet is actually just a graphical interface over the powerful xrandr utility. This tool can also be used to set the resolution – even custom resolutions, as for example shown in HDMI to DVI problem. The changes made with xrandr occur in real-time without any need to log out or restart anything to see the effects.

As an example, when I plugged a second monitor into my laptops HDMI port it automatically changed to an extended desktop setup, but the panels were all on the laptop screen. To move them across to the external monitor involves first querying xrandr to see what the current monitor names are:

Screen 0: minimum 320 x 200, current 3286 x 1080, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 293mm x 165mm
   1366x768       60.0*+
   1360x768       59.8     60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+1366+0 (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080      60.0*+
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  
DP1 disconnected (normal left inverted right x axis y axis)

From this we see that the external monitor is named HDMI1, so we can now make it primary as follows:

xrandr --output HDMI1 --primary

And voila, straight away, the panels shift across to the other screen 🙂

Working with small screens

Something that used to worm on prior versions of Ubuntu and seems to have stopped working in version 12 is the desktop panning feature. This allows your desktop to be bigger than you physical screen size and to scroll when you move the mouse to the edges. You used to be able to do this by typing a simple xrandr command such as the following:

xrandr --output LVDS1 --panning 1920x1080

But this no longer works, which is a real pain if you have a tiny screen because you often have dialog boxes with the buttons off the bottom where they can’t be seen! However it turns out there’s a simple solution to this – you can hold down the ALT key and drag the window around to reveal the hidden parts!

Mobile broadband connection suddenly requires password

One day when I tried to connect to the net using 3G on my USB stick it wouldn’t connect and after removing and reinserting the SIM in the device I was asked for a password when trying to connect. I tried my chip’s PIN and PUK codes, “1234”, “12345” and “vivo” as well but all failed. But when I tried the chip in my phone and in Beth’s laptop it connected without issue.

I compared the /etc/NetworkManager/NetworkManager.conf configuration in Beth’s computer to mine and found that mine had somehow gained en extra line:


The digits correspond to my eth0 MAC address, and the trailing comma seems a little odd. I removed this line and found that after a full reboot everything worked again (I first tried just restarting the Network Manager but that didn’t fix it). I’m not sure how this line got added, but it could have happened during a lot of plugging and unplugging of different routers and things when we had some connection problems earlier in the week.

See also