Archive for June, 2007

Laptop wireless via mobile GPRS over bluetooth

Thursday, June 21st, 2007

I’ve been using Vodafone Ireland as my mobile operator since my first mobile phone – so probably for the last 7 or 8 years now. I’m tied into a damned contract with them until early Jan 2008. I’ll hopefully be switching to 3 Ireland then because of their groovy mobile phone data plans – 100mb for €6 a month or unlimited for €20.

Now couple the “3 Ireland” data price plan with the Linux + Bluetooth + Mobile + GPRS tutorial below and I’ll be laughing.

1. Turn on bluetooth on your mobile phone (ensure visibility is enabled)

2. Find out your mobile phone mac address is:

sean@viper:~$ hcitool scan
Scanning ...
        00:19:2D:43:00:D9       button

3. Find out what channel DUN (dial up networking) is running on your device:

sean@viper:~$ sdptool search DUN
Inquiring ...
Searching for DUN on 00:19:2D:43:00:D9 ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10002
Service Class ID List:
  "Dialup Networking" (0x1103)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2
Language Base Attr List:
  code_ISO639: 0x454e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100

4. Establish a connection with your mobile’s DUN. With Ubuntu Feisty this will trigger an automatic pairing of your device if you haven’t already done so. Also this will automagically create a /dev/rfcomm0 device if all goes well.

sean@viper:~$ sudo rfcomm connect 0 00:19:2D:43:00:D9 2

5. Configure wvdial (this is how I do it at the moment – should be trivial to configure Ubuntu’s swish NetworkManager applet to do the same with a similar configuration). I’ve included both Vodafone and 3 Ireland settings below for completeness – both have been tested and work well.

sean@viper:~$ sudo vi /etc/wvdial.conf 

[Modem0]
Modem = /dev/rfcomm0
Baud = 115200
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
Init3 = ATM0
FlowControl = CRTSCTS

[Dialer vodafone]
Username = "vodafone"
Password = "vodafone"
Phone = *99#
Stupid Mode = 1
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","isp.vodafone.ie","",0,0
Inherits = Modem0

[Dialer three]
Username = "none"
Password = "none"
Phone = *99#
Stupid Mode = 1
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","3ireland.ie","",0,0
Inherits = Modem0

6. Launch wvdial

sean@viper:~$ wvdial vodafone

7. Ping google.com and shout “I am so wireless right now”

With all of the above in mind – why would one want the USB/PCMCIA GPRS modems these operators offer – which in some cases are more expensive?

Tambur MMS Library

Thursday, June 21st, 2007

At work I’ve been using the Tambur MMS Library to encode and decode MMS messages. Recently I encountered an unusual bug; some data parts were not being encoded correctly. The bug was related to how the MMEncoder sets the indicated data length of the image/payload.

The packaging date of the MMS Library on the website says 18th April 2005 – So for anyone using that version of the library be aware of the bug. And heres how to fix it:

MMEncoder:

protected static void encodeUintvar(ByteArrayOutputStream res, int l)
throws Exception {
    //.....
    for (int i = 0; i < buf.length; i++) {
        if ((buf[i] & 0xFF) != 0x80)
            res.write(buf[i]);
    }
}

It should read:

protected static void encodeUintvar(ByteArrayOutputStream res, int l)
throws Exception {
    //.....
    boolean hasWrittenOnce = false;
    for (int i = 0; i < buf.length; i++) {
        if (hasWrittenOnce || (buf[i] & 0xFF) != 0x80) {
            res.write(buf[i]);
            hasWrittenOnce = true;
        }
    }
}

Reva Health Network

Sunday, June 17th, 2007

I keep in regular touch with a good friend and former work colleague of mine Caelen King. He frequently visits the office and from time to time we’re lucky enough to enjoy a few drinks and talk about all things centric to us.

Caelen has been working very hard at his online startup Reva Health Network. Reva help people to find and compare hospitals, clinics and many forms of medical treatment throughout the world and facilitate people getting in touch with those endpoints directly. Reva’s current focus is on dental treatment – which I’m not too shy to say I’m going to be looking at in more detail very soon for myself.

My most enjoyable and valuable year of working life to date was my first year at NewBay. It was made so by people like Caelen King. I wish him the best and if anyone can transform the medical tourism industry…

Reva Health Network

aNobii – Online Book Community

Wednesday, June 6th, 2007

Paddy Benson pointed me to [anobii.com] – the latest in social networking / online communities. It all revolves around your bookshelf.

I’ve signed up and aNobii currently lists a slice of mine.

Moved to GoDaddy Hosting

Wednesday, June 6th, 2007

Just moved this site [thecentric.com] to a new home on my GoDaddy virtual dedicated server. Have more ram here – which allows me to run live some of my spike java web apps. Seems faster and cheaper… no complaints yet.

Also uploaded some pics of my few hours with Anna out on Lough Corrib.