Thursday, August 22, 2013

Tethering Blackberry cellular data connection to other devices

This is to summarize tries to get a Linux laptop (with success) and an Apple iPad 3 (without success) connected to a Blackberry phone and use its cellular data connection.

Blackberry OS 7.1 introduced a WiFi hotspot feature. It does work as expected for laptops and non-Apple devices. There's battery drain problem and the phone gets hot, but overall it works and with 3G it's fast enough for me. It does not work with Apple iOS devices since iOS 6—there are numerous posts on this topic, Apple does not care to respond.

Up to now, I didn't find a working solution. Below are the dead-ends I did explore, with a short explanation. Which can be wrong—and you are welcome to comment.

WiFi hotspot tethering

The phone acts as a ad-hoc WiFi network peer and after connection provides an IP address via DHCP and set's up a NAT. iPad usually does associate (WiFi level), but fails to get DHCP.

There is a number of tricks people on the forums recommend. One that works and is recommended by the Apple support is to do hard reset/full wipe on iPad and restore the apps and data from backups. I can confirm that works—for the first connection. Also, changing name of the network and iPad and resetting the iPad network settings works for the first time. Dead end here.

Bluetooth tethering

There are two common ways used to utilize other devices network link via Bluetooth. One is Dial Up Networking profile (DUN), second the Personal Area Network profile (PAN).

Dial Up Networking (DUN) profile

When using DUN, the client device has to specify/know what APN to use and possibly what number to dial. The phone acts as a PSTN modem, basically. That's the older way and iOS does not support it—unless you jailbreak the device and install third party apps. The Bluetooth on Blackberry Bold 9900 that I used for the test does support DUN and it's possible to utilize it from a laptop in the usual way.

Personal Area Network (PAN) profile

Personal Area Network is used to set up network connection. The client does not care about how the upstream link is to be established, that is on the phone/modem to take care of.

Blackberry OS 7.1 does not support PAN profile. However, there are downloadable applications such as EasyTether Pro, which provide that part of BT stack. The BB then acts as a NAP (Network Access Point), much the same way as a WiFi AP.

There are few steps required to connect an Ubuntu 12 laptop to the phone. Associate them, find the device in Bluetooth settings, enable use of PAN. Then initiate the connection in the Network Manager (all via notification area icons).

Linux computers can also act as NAP's—if you have a laptop connected upstream via WiFi, you can use it at the same time to provide connectivity to an iOS device. That requires enabling the Network Access Point switch in Bluetooth settings/Local services.

On the iPad side, you pair the BT with the laptop and initiate a connection. An infinity-like icon will appear in top left corner of the screen—where normally the WiFi signal strength indicator is. You can't ping the outside world, but everything else works flawlessly.

Now, what if we try this between the iPad and the Blackberry. You pair them (this works), then tap to connect. That fails—iPad fails to connect. Easy Tether people kindly responded to a support request, saying that due to Blackberry imposed limit on L2CAP size, they really can't do anything to support iOS in Easy Tether. That's it then.

There's only one way I made the iPad utilize the BB cellular data. You bring an extra laptop with you. You connect iPad to the laptop (via PAN/NAP). You connect the laptop to the Blackberry (via PAN or WiFi). And hey, it works. Super practical way, I'd say.