Archives August 2009

HowTo: Pair your Bluetooth mobile phone with Ubuntu Jaunty for file transfers etc.

Following up my previous article of how to pair your Bluetooth mobile phone with Ubuntu Intrepid, I present this updated article for pairing your mobile phone using the updated version of the Bluez Bluetooth stack and the newer and better Blueman applet for Jaunty which greatly simplifies the process of pairing Bluetooth devices and transferring files to your mobile phone.

First up, you need to follow the first 15 steps of my guide on how to seutp a Nokia N95 mobile phone as a Mobile Broadband Device because we need to update the version of the Bluez Bluetooth stack and pair your mobile phone. Once you get to step 15 where it asks about connecting the phone as a dial-up networking device, you can either choose to continue setting that up all the way through to Step 22 (after all, you might find DUN to be of genuine use to you if you’re a Mobile Internet kind of guy), or choose “Don’t connect” instead and just finish at Step 15 and continue on with this article.

Once you’re Bluetooth stack is updated and your mobile phone is paired, transfrerring files is simplicity itself:

  1. Do a left-mouse click on the Bluetooth icon in your system tray. The Bluetooth Devices window will appear showing you your available or previously paired devices. Your mobile phone will be one of them.
The Bluetooth icon in the system tray
  1. Do a right-mouse click on your mobile phone and choose “Browse” from the menu that appears (or select the mobile phone with the left-mouse button and then click on the “Browse” button in the toolbar).
Browsing the Bluetooth device

NOTE: If you get a “Could not display ‘obex://[xxxxxxx]/’.” error when trying to browse, it means that the Bluetooth connection has not re-established itself between your PC and your phone after a previous pairing (ie: “Host is down”. To fix this, click on the “Search” button in the toolbar which will “awaken” your phone’s Bluetooth awareness and then choose “Browse device” again. You should also set your PC and phone to be “trusted” or “authorised” on both sides to prevent timeouts caused by either end asking you for permission to establish the connection.

  1. If your PC is setup as being “trusted” or “authorised” on your phone, within a second or so a Nautilus window should appear showing you the content of your mobile phone, or in the case of my Nokia N95, two Windows-like folders named “C:” and “E:” which represent the phone’s internal memory and my 8GB SD card in the phone. You can browse them like any ordinary folders including copying and pasting files. An icon for the phone will also appear on the desktop (I’m using a custom icon here).
Nautilus browsing the phone contents
  1. When you have finished dealing with the files on your phone, you need to cleanly disconnect the phone and end the Bluetooth session. You can do this one of two ways. Either click on the “Eject” triangle icon next to your phone’s name in the Places list of the Nautilus window, or in the Bluetooth Devices window, do a right-mouse click and choose “Disconnect Device” from the menu.
Disconnecting from the Bluetooth phone
  1. That’s it! Happy file transfers! Smilie: :)

HowTo: Flash your BIOS without a boot floppy disk using Ubuntu

All current “IBM-Compatible” PC’s use a Basic Input/Output System also known as a BIOS. It’s a program that tells the PC how to start up when you switch it on, raises any critical faults with the system and then passes control to an operating system on a boot medium.

As time goes on, like any program, bugs are found, improvements are made, and the manufacturer of your PC’s motherboard will provide updates to the BIOS, usually supplied as a small downloadable file. Normally it is usually intended that you reboot your PC onto a DOS-compatible boot floppy disk and run the BIOS update program to install the new BIOS firmware. These days this process has been a bit simplified what with Windows users generally being able to do this from within Windows itself and even more recently, from the BIOS itself or even though starting the system on a FAT16-formatted USB stick.

This is all well and good, but what if you have an older system that cannot be flashed from Windows? What if you don’t even have Windows? What about a system that still relies on booting from a floppy disk to flash the BIOS? I don’t know about you, but I highly doubt any of the remaining floppy disks in my garage work anymore, and besides that, there’s a good chance that the floppy drive itself on older PC’s probably doesn’t work anymore.

So what can you do?

Well, we can utilise a floppy disk image that ultimately boots from your hard-drive, but acts and operates exactly like a DOS floppy disk would.

Pre-requisites:

  • A boot floppy disk image. You can grab from from the FreeDOS project. FreeDOS is a compatible open source re-invention of Microsoft or IBM DOS. For our needs, we will use the 1.44MB OEM floppy which has just enough on it to boot the disk and that’s it. The filename is called FDOEM.144.gz.
  • Some free space under /boot. This won’t be a concern for most users, but some people, including myself, choose to partition off space for /boot rather than include it as part of the root filesystem partition. You will need about 2MB of space.
  • Some floppy disk image manipulation tools. We will be using MTools for the task, available in the Ubuntu repositories.
  • The new BIOS file for your motherboard.
  • The DOS-based BIOS flashing program executable.
  • OPTIONAL: Wine may be required if the BIOS file is provided as a self-extracting Windows executable. In most cases, the flashing program is usually included in the same archive.

These instructions were written with Ubuntu Jaunty in mind but should work on any version of Ubuntu.

Process:

  1. First up, download the FDOEM.144.gz file from the FreeDOS website.
  2. Extract the image file from the archive either using Ubuntu’s archive manager, or at a terminal use the command:

    $ zcat FDOEM.144.gz >dosfloppy.img
  3. Now we need to install some tools so we can manipulate the image (note that you may already have these tools installed):

    $ sudo apt-get install syslinux mtools
  4. Extract your BIOS file from the archive you downloaded from your motherboard’s manufacturer. If the file was called “bios123.zip”, unzip it with the following command:

    $ unzip bios123.zip

    NOTE: If your BIOS file is a self-extracting executable (eg: “bios123.exe”, then install WINE with:

    $ sudo apt-get install wine

    …and then execute the Windows binary via Wine with:

    $ wine bios123.exe

    …then let the self-extractor extract the files. Retrieve the BIOS file (and if available, the BIOS flashing program executable) from what was extracted. 
  5. Let’s copy the BIOS file and the flashing program onto the boot floppy image. In this example, the BIOS file is called “bios123.bin” and the flashing program is called “flash.exe”:

    $ mcopy -i dosfloppy.img bios123.bin flash.exe ::
  6. Now let’s list the contents of the floppy image to confirm that the files were copied:

    $ mdir -i dosfloppy.img ::
    Volume in drive : is FREEDOS
         Volume Serial Number is 188F-6C25
    Directory for ::/
    COMMAND  COM     66090 2003-12-10   7:49 sys      com      9221 2005-07-18  19:58
    AUTOEXEC BAT        67 2004-02-22  10:16 CONFIG   SYS        52 2004-02-22  10:17
    README            1486 2004-02-22  12:50 BIOS123  BIN   1048576 2009-08-11  22:34
    FLASH    EXE     26351 2009-08-11  22:34
    7 files           1 151 843 bytes 258 048 bytes free
    $

  7. The floppy disk is ready! Now to set it up so we can boot it.

    $ sudo mkdir /boot/biosflash
    $ sudo cp dosfloppy.img /usr/lib/syslinux/memdisk /boot/biosflash/

  8. Now we need to make an entry in the GRUB boot menu for it so we can choose it as a boot option when we start the PC. First open the GRUB menu.lst file in your favourite editor:

    $ sudo gedit /boot/grub/menu.lst
  9. Scroll right down to the very bottom of the file and add the following lines:

    title Boot floppy for BIOS flashing
    kernel /boot/biosflash/memdisk
    initrd /boot/biosflash/dosfloppy.img boot


    NOTE: If your /boot directory is on its own partition (like how I have it on my own system), you need to omit the “/boot” bit from all lines above, thus:

    title Boot floppy for BIOS flashing
    kernel /biosflash/memdisk initrd /biosflash/dosfloppy.img
    boot

  10. Save your changes and quit the editor.
  11. You are now ready to boot! Shutdown and restart your system. When your GRUB menu appears, you will see an entry called “BIOS floppy for BIOS flashing” at the bottom of the menu. Select it and you should very quickly be presented with the familiar A:\> prompt. You can now launch your BIOS flashing program and flash your BIOS!
  12. When you are done with the floppy environment, just press CTRL + ALT + DEL to reset your PC (or after a BIOS flash you should ideally physically switch off and then back on instead).

You’re done! Smilie: :)