Jump to Navigation

MeeGo tethering: A Personal Hotspot open source implementation

Session Summary: 
With the latest ConnMan bits, MeeGo comes with extended and powerful tethering features. During this presentation, we will describe the MeeGo tethering architecture and how we implemented it. We will also compare it to the other existing (open source or not) tethering solutions. Finally, we will run a demo where a 3G uplink will be shared concurrently between WiFi and Bluetooth clients, while those clients will be able to talk to each other.
Session Abstract: 

Tethering, also known as Personal Hotspot, is becoming a key mobile operating systems feature. With ConnMan 0.69 integration, MeeGo offers the most powerful and complete tethering solution.

MeeGo allows sharing of any networking technology between WiFi, Bluetooth or USB tethering clients. All of them can join the MeeGo tethering bridge at the same time. And since they're all bridged (as in 802.1d bridging), they belong to the same subnet and can thus easily exchange data through this bridge.

Getting the tethering implementation right involved writing an internal DHCP server, extending our DNS proxy and being able to switch between 802.11 STA and AP mode flawlessly. Some serious iptables hacking was also needed. We will get into more details of the MeeGo tethering architecture and implementation during this presentation. We will also talk about future improvements and extensions.

A typical tethering use case is about sharing your cellular link between several WiFi clients. We will demonstrate how MeeGo allows to do exactly that, but extends that use case to Bluetooth clients as well, for example. As a side effect, all those clients, belong to the same IP subnet, regardless of their underlying physical networking layer. We will show that too.