Search This Blog

Friday, May 14, 2010

Solid and ModemManager

Hi all,

This is my first post on planetkde. For those who do not know me, I live in Brazil (Minas Gerais state), I am also member of KDE-MG and use KDE since 1997. Although I have been using KDE (now KDE SC) for so long it was only last year I started to contribute more to KDE SC bug fixing and source code.

Last month, during Akademy-br, I started to work on implementing some features in knetworkmanager (knm). I use 3G Internet on traveling and miss some things, such as signal quality indicator (3G here in Brazil can be very unstable), statistics about speed, round-trip time (ping), and a way to force knm to use only HSDPA. Of course those things must be implemented in NetworkManager, or more recently in ModemManager, so that knm can make use of them. Some of those features are already implemented in ModemManager but to use them in knm solid, our hardware independent layer, must support them too.

I have implemented the first part of ModemManager support in solid and have some things working (signal quality indicator and network operator name to name the most important ones). The patch for solid and knm are in

Adds preliminary ModemManager support to solid
Adds support to show signal quality and cellular operator name in tooltip.

For those who like screenshots, here they are:

Well, the operator " 31"  (there is a space before the 31 number) is right according to my 3G modem (Sony MD300), I have checked it using the chat command. The wierd thing is that I can scan for all networks around and only my operator has this wierd name. My cell phone picks the correct name tough (TIM MG 37).

Today I have finished to implement dbus interfaces org.freedesktop.ModemManager and org.freedesktop.ModemManager.Modem.Gsm.Network, there are several other to implement according to the specification. I think the work will be done to be included in KDE SC 4.6.0 next year, so wish me luck :-)


Duda Nogueira said...

Way to go, my friend!

Good luck :)

ggrabler said...

That really looks great, that's a really nice piece!

Zayed said...

Thank you for take this. KDE client for NM is lucking a lot of feature in compare to GNOME one.

Anonymous said...

Does this benefit also the Plasma applet? Remember, KNM is a stop-gap solution until the applet is stable.

Lamarque said...

@Zayed, I know, I am also fixing some bugs in knm too.

@Einar, the patch for solid benefits all KDE software, including the plasma applet. The patch for knm is for the monolithic version because I have never got the plasma applet to work in my notebook. Since before KDE SC 4.3.0 people say knm is a stop-gap solution, but it works better than the plasma applet. I am going to do my tests in knm and fix bugs some bugs in it because I really do not want to wait years for the plasma applet to be stable.

Anonymous said...

The applet "takes years" because there are not enough people to work on it.
AFAIK its current status is much better than before, but could use some help.

Lamarque said...

@Einar, I use kde-networkmanager svn since last year, it includes both plasma applet and knm tray icon. I tested plasma applet two weeks ago and it did not work for me. If someday someone make it at least work to connect to wired, wireless and 3G then I will start to using it again, until then I prefer to use knm and do my tests on something I know will not broke for some unknown reason. I used to use plasma applet long ago, it worked for wired and wireless (not for 3G), now it does not work for neither of them, that is a regression in my oppinion. I do not understand why it is broken, I do not even get any debug message from it. Anyway, I need some things in the applet to do my tests with ModemManager and I do not know if plasma applet implements them, if not that will delay even more my changes in solid.

I am also alone with my ModemManager implementation, I asked for help and review of my code several times in kde-networkmanager and kde-hardware-devel lists, but nobody has actually helped me yet.

Anonymous said...

Good to see someone is working on 3G-support for Knetworkmanager. Any chance you could also add support for the
mobile-broadband-provider-info which works fine with the gnome-version?

Lamarque said...

If you mean the wizard to configure 3G connections I do not plan to implement that. My changes in solid will let any KDE application to get information about GSM networks, you can even scan to see which operators have networks around, like in wireless. Implementing ModemManager specification is the first step to do that and it will be a lot of work to do, when finished then I will see what I can add to knm or plasma applet. If plasma applet is working here by then then maybe I will implement some feature in it. If not I will stay with knm.

Gerard said...

Great to hear that someone is working on this. what would also be very nice is a basic traffic counter, So, if you have a traffic limit for your 3g you would know when reaching the limit.

Lamarque said...

I plan to add a traffic counter after I finish the modemmanager support in solid.

Gerard said...

That's a great news, thanks alot