Use your Android Phone as a Wireless Adapter for your Computer

So my Linux install going messed up somehow and I was left with no wireless driver installed. I know that you can use Android phones to USB tether mobile data (e.g. 3G/4G/LTE) but I didn’t know that you can do the same over WiFi!

Image

Image

Now while in OSX I’m pretty sure it worked out of the box previously, it seems that you need now need to download the HoRNDIS driver. With Linux (Ubuntu) it worked out of the box and in my previous usage of USB tethering, Windows should work automatically as well.

Ubuntu 11.04, Natty Narwhal, has been released

The first version of Ubuntu for this year has been released. It is dubbed Natty Narwhal or for easier date reference 11.04. Check out the release naming scheme on the Wiki that includes the history of this naming convention. But in all seriousness the main new change is that they have changed to the Unity as the desktop environment instead of Gnome. This brings a refreshed look to this Linux distribution as well as providing added functionality. Check out OMG! Ubuntu’s guide to Natty Narwhal and Ubuntu’s own “What’s New” page.

Summary for UI changes as well as naming convention:

  • Unity: a new desktop environment which could be described as the desktop / user interface that the user sees when they log in. It is comprised of the Launcher, the Dash and the Panel
  • The Launcher: This seems more like OS X’s dock than WIndows task bar. You can launch applications from from it and open windows should shown in the launcher
  • The Dash: similar to the Window’s Start button (or now the Windows button), this will allow you to look through and launch any application installed
  • The Panel: situated at the top of the screen, this acts as a global menu bar just like OS X, but also integrates with other applications through the indicator area (similar to Windows’ notification area)

Go try it out and download it now. You don’t even have to install it, just burn it to a CD or install it to a USB drive and boot straight from it to see how your hardware handles it. For the computer enthusiast there is no reason not to give Ubuntu a try and delve into the world of Linux.

Playing Nice with Filesystems

If you have played around with any 2 of the 3 major operating systems (Windows, OS X and Linux) and start transferring files to and from external hard disk you will probably run into an issue with the type of filesystem you choose for your hard disk. Windows likes NTFS, OS X likes HFS and Linux likes ext. As you can see none of them are the same. Being different is not so much an issue, but being compatible and accessible to all is.

Based on default system settings:

  • NTFS is readable on all operating systems, but not writable on OS X. Most modern Linux distributions can write to NTFS drives
  • HFS is readable on OS X and modern Linux distributions, and not writable on Windows or Linux
  • ext is only readable on Linux and not writable on Windows or OS X.

or to put it based on operating system

  • Windows can only read and write to NTFS, nothing else
  • OS X can read and write to HFS and read NTFS
  • Linux can read and write to ext and NTFS and read HFS

Take note that there is also the older FAT32 filesystem that is fully supported for reading and writing by all operating systems but due to limitations of FAT32, I rather not consider this. Basically the main issues with FAT32 is that the maximum file size is 4GB and the maximum partition size is 32GB (actually Windows can’t format a FAT32 partition greater than 32GB but can read FAT32 partitions of more than 32GB. Use GParted or just filter this Google search to be able to create and format a partition of 32GB). If these are limitations you can deal with, for the sake for interoperability stick with FAT32.

Now to solve the problem of support for each filesystem in each operating system:

NTFS:

  • OS X: NTFS-3G + MacFUSE
  • Linux: NTFS-3G
  • I’ve been using NTFS-3G in Linux for many years and haven’t had any problems with it and so far it’s working well with OS X too
  • On another note if the NTFS drive is not unmounted properly or there are some issues with the file system integrity, it is necessary to use Windows scan disk to rectify the problem. Thus this requires a copy of Windows to fix the filesystem.

ext:

  • Windows: Ext2 Installable File System for Windows
  • OS X: Mac OS X Ext2 filesystem
  • I’ve had issues of only being able to mount an ext2 partition in Linux and it gave a mount error in Windows and OS X and was due to an inode issue as new Linux distributions create the file system with inodes of 256 bytes but Ext2 fs only supports the older version with 128 bytes. And the only solution is to back up the files, and reformat partition with inodes of 128 bytes (-I 128) and restore the files.
  • Filesystem integrity issues should be able to be fixed with “fsck” from a Linux distribution / live CD. The great thing about this is that you can get a Linux distribution for free and this recovery can be done with out any strings attached.

HFS:

  • Windows: MacDrive (US$50, read and write), Paragon HFS for Windows (read only)
  • Linux: Enabling HFS writing in Ubuntu
  • Note: I have not personally tested these so I cannot give first hand experience of how well it works or what issues can be had with this.
  • I believe that HFS+ journal
  • I would believe any filesystem repairs would have to be done in OS X (similar to NTFS and Windows) and if so this enforces that you have OS X at hand, and in order to have OS X you must have Apple hardware or a Hackintosh either way this is very restrictive.

So it is pretty easy to get full read and write support of all 3 default file systems on the 3 major OS’s but there are issues. So far I’m inclined to stick with ext2/ext3 just due to the fact that it has no restrictions in terms of filesystem repair. I’ve had many NTFS issues related to damaged filesystems that required Windows and the inconvenience of taking the drive out of my box to find a Windows box was too much.

Using your phone as a Bluetooth modem in Linux

Software Package Requirements:

  • wvdial
  • bluez
  • bluetooth

Install packages for Ubutun/Debian systems
sudo apt-get install wvdial bluez bluetooth

Steps to get your Bluetooth modem working

  1. Turn phone’s Bluetooth connection and set to discoverable mode
  2. Scan for your device:
    sudo hcitool scan
    Result:
    Scanning ...
    00:11:22:33:44:55 MyPhone
  3. Search device to see if supports Dial-Up Networking (DUN) for use as a modem. Look out for RFCOMM channel
    sdptool search --bdaddr 00:11:22:33:44:55 DUN
    Result:
    Searching for DUN on 00:11:22:33:44:55 ...
    Service Name: Dial-Up Networking
    Service RecHandle: 0x1000f
    Service Class ID List:
    "Dialup Networking" (0x1103)
    Protocol Descriptor List:
    "L2CAP" (0x0100)
    "RFCOMM" (0x0003)
    Channel: 4
    Language Base Attr List:
    code_ISO639: 0x454e
    encoding: 0x6a
    base_offset: 0x100
    Profile Descriptor List:
    "Dialup Networking" (0x1103)
    Version: 0x0100
  4. Bind the modem on the RFCOMM Channel to a device
    sudo rfcomm bind /dev/rfcomm0 00:11:22:33:44:55 4
  5. Dial and connect (ensure your wvdial configuration is correct, for sample see below)
    sudo wvdial dstbt
    Result:
    --> WvDial: Internet dialer version 1.60
    --> Cannot get information for serial port.
    --> Initializing modem.
    --> Sending: ATZ
    ATZ
    OK
    --> Sending: AT+CGDCONT=,,"dst.internet"
    AT+CGDCONT=,,"dst.internet"
    OK
    --> Modem initialized.
    --> Sending: ATDT*99#
    --> Waiting for carrier.
    ATDT*99#
    CONNECT
    ~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&} }*} } g}%~
    --> Carrier detected. Waiting for prompt.
    ~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&} }*} } g}%~
    --> PPP negotiation detected.
    --> Starting pppd at Wed Aug 19 23:45:04 2009
    --> Pid of pppd: 17558
    --> Using interface ppp0
    --> local IP address 10.84.2.128
    --> remote IP address 10.6.6.6
    --> primary DNS address 202.152.64.27
    --> secondary DNS address 202.152.64.28
  6. You’re connected! Surf and enjoy the Internet!

Sample wvdial configuration file

  • Stored in ~/.wvdialrc
  • Change “dst.internet” to your provider’s APN

[Dialer dstbt]

Modem = /dev/rfcomm0 # modem device
Baud = 115200 # 921600 / 460800 / 115200 / 57600

Init = ATZ # far card with no PIN
# Init = ATZ+CPIN=”0000″ # for card with PIN, replace 0000 with your PIN

# If you know your ISP’s APN, specify it instead of YOUR_ISP_APN below.
# There’s also an APN table at https://wiki.ubuntu.com/NetworkManager/Hardware/3G .
# use one of the following 3 options. change to your providers APN
Init2 = AT+CGDCONT=,,”dst.internet”
#Init2 = AT+CGDCONT=1,”IP”,”YOUR_ISP_APN”
#Init2 = AT+CGDCONT=1,”IP”

# Most services/devices dial with *99# . A few seem to require *99***1#
Phone = *99#

# These often suffice, but your ISP might require different details. They’re
# often dummy details used for all users on the ISP, frequently the ISP’s
# name, but some ISP’s do require you to use a real username and password.
# any details possible
Username = internet
Password = internet

PS: bmobile customers change APN to “bmobilewap”

Mobile Internet (DST) in Ubuntu with a Nokia E51

I heard about Ubuntu’s 3G support quite a while back, but yesterday was the first time I actually tried it out. This was done using a Nokia E51 connected via USB with a DST Easi card with Ubuntu 9.04. Please note of the importable troubleshooting note below

  1. Connect the phone and set connectivity mode to “PC Suite”
  2. A configuration wizard should pop up as shown below:

    New Mobile Broadband Connection - Welcome screen 

    If the wizard does not show, start it manually by following these steps:

    1. Go to the Ubuntu Menu: System > Preferences > Network Connections
    2. Go to the “Mobile Broadband” tab and click the “Add” button
      Network Connections - Add a new Mobile Broadband Connection
  3. Select the any setting as they will be manually edited later. For this example I chose Albania and Vodafone as the country and provider respectively as it has minimal configuration changes
    New Mobile Broadband Connection - Select Service Provider
  4. Give the connection a name: “dst.internet”
    New Mobile Broadband Connection - Name it / Summary
  5. Go to Network connections (System > Preferences > Network Connections) and edit the newly created connection
    Network Connections - Edit new connection
  6. Ensure the configuration is as follows:
    • Number: *99#
    • APN: dst.internet
    • Username and password can be left blank
    • If the Albania > Vodafone settings were used, only the APN needs to be changed

    Edit connection - Mobile Broadband Tab

    Edit connection - PPP Settings Tab

    Edit connection - PPP Settings Tab - Configure Methods...

    Edit connection - IPv4 Settings Tab

    Edit connection - IPv4 Settings Tab - Routes 

  7. Left click the network manager applet and connect to the newly created “dst.internet” connection

    Connect to dst.internet via Network Manager applet

  8. Enjoy your mobile broadband =)
    Connection Information 

Now I wonder if this works for the DST Go! and bmobile Zoom! modems….

Troubleshooting Note

If you have a problem connecting please note this bug that causes the connection to timeout if there is a shell running as root. So close all terminals open. It took me 2 hours to figure this out so I hope you won’t have to suffer the same.