Bluetooth NAP tethering support in KDE Plasma NM

Recently, Plasma Network Management applet gained ability for bluetooth tethering. The initial support was only for DUN (Dial Up Networking), but not for PAN (Personal Area Network) or NAP (Network Access Point).

Sat a whole day staring at KDE networkmanagement code and GNOME network-manager-applet to figure out how to extend this to NAP (my phone seems to support that); and with help of Lamarque, a few lines of code did the job.

Plasma NM Bluetooth NAP tethering

The patch to implement this is under review. It has had only limited testing from my end. Note that this will work only if you have applied patch for Solid to support bluetooth devices in kdebase-workspace. I’ve updated the kde-plasma-networkmanagement and kdebase-workspace RPMS and uploaded here. Binary RPMs are only for x86_64; for other architectures, rebuild the SRPMs. If there are brave souls out there to test it out, here’s the procedure:

  1. Update kdebase-workspace with the above ones
  2. Update kde-plasma-networkmanagement*
  3. Run “/usr/libexec/kde4/networkmanagement_configshell create --type bluetooth --specific-args "A1:B2:C3:D4:E5:F6 nap“. Replace A1:B2:C3:D4:E5:F6 with the hardware address of your bluetooth device (can be found out easily from BlueDevil).
  4. That’s it, the connection should automatically be set up and appear in Plasma NM.

Update: The patch is upstream. Lamarque has adapted and integrated it.

State of the KDE NetworkManagement

Ever since KDE 4 NetworkManager introduced, I’ve been playing with it. knetworkmanager was fairly usable then, but with various limitations including lack of support for mobile broadband devices. Knetworkmanager has been deprecated, and the replacement is kde-plasma-networkmanagement applet.

Lamarque Souza has been working on incorporating the mobile broadband support, and integration of ModemManager into Solid, the KDE hardware library. During the recent Solid Sprint, he has implemented the Mobile Connection Wizard (which is familiar to the NetworkManager-gnome users) and has called for help with wider testing. (kde-plasma-networkmanagement has been updated for F14 with this snapshot).

Yesterday I have built the networkmanagement trunk and tested Tata Indicom (Photon+) [India] device, and found that it crashes on finishing the wizard. I grabbed the backtrace from GDB and sent it over to Lamarque, who quickly fixed the issue and enabled CDMA support today. Checked out this latest version and tested it, and now mobile broadband connection works like a charm. Here’s a screenshot of the same.

I could say that now KDE NetworkManager is feature complete, as Wired, Wireless, Mobile Broadband and VPN connections work fine.

For people using Fedora 13, I have built RPMs for the latest version and uploaded in Note, there are no translations present at the moment, and it is only 64 bit. If you’d like to build for other architectures, please rebuild the SRPM.

Update 1: Rex Dieter has updated Fedora 14 RPMs, which I have re-spun for F13 and can be found at the above URL.

Mobile broadband : NetworkManager, you are the man!

Last night, I received a USB mobile broadband modem (commonly called Datacard, from Tataindicom) from my project manager as I’ll be away for a week and have to connect remotely. I took it to the Windows XP machine, connected to USB port, and got a bubble “Your hardware is not recogzined” message after those funny “Install driver” screens. I went back to him and got a small software provided by the vendor to connect. After installing it and clicking the “Connect” button, it got connected.

I left office, reached home and did boot up my Fedora 10 laptop, and then plugged in the Datacard. Few seconds later, the red blinking light turned green and I cliked on the NetworkManager applet to see avilable connections. Doh – “Auto Mobile Broadband Connection” is there! I checked the log files and saw that HAL and DBus conspired together with NM to make that happen. 🙂

I chose that connection, NM tried to connect, but failed. I was puzzled at what could be the problem, so checked the connection by editing it, and guessed that I need a username/password. Thankfully, I came across this post, and gave the username/password as “internet”. I tried to connect, and it got connected the next second!


Next time I find another guy arguing about the ‘user friendliness’, I going to punch straight on his face with no questions asked.

Well, as I mentioned many times elsewhere, NetworkManager is the best thing that happened in Linux desktop in quite some years. Great piece of engineering.