Search This Blog

Tuesday, September 6, 2011

Plasma NM: bugs closed after 4.7.0

Now that NetworkManager 0.9.0 was released it is the perfect time to deprecate Plasma NM for NM-0.8.x, which resides in our branch master. There are some bugs in Plasma NM that only happen with NM-0.8 and since our team is small (in number, not in spirit) we need to concentrate efforts on what really matters. New features have been added to branch nm09 only for quite some time, all Plasma NM developers use only branch nm09 AFAIK, so please migrate to NM-0.9 as soon as possible :-)

Also keep in mind that the monolithic knetworkmanager is unmaintained since early this year. Everybody should have migrated to the plasmoid version of KDE's Network Management (Plasma NM) by now. There will be no monolithic version in branch nm09 by my part. The current monolithic knetworkmanager code do not even compile because of the changes I had to do when I imported Solid's NetworkManager backend to branch nm09 months ago. If anybody wants to take the task of maintaining the monolithic version feel free to contact me. The plasmoid and monolithic versions share about 85% of code, so it is not a huge task, but since I am already busy fixing/implementing new features in Plasma NM and doing my real life work (Android, nothing related to KDE, unfortunately) I do not have the time to do it myself. By the way, if anybody knows about a position to work on something related to KDE, I can send my CV :-)

Ah, the minimum NM version required for Plasma NM/nm09 has been increased to 0.9.0 because of the fix for bug #276486, which is an upstream bug by the way.

All said here is the traditional list of bugs closed since my last post. First for branch nm09:

209464: make hidden wifi networks work. This bug used to be our most hated bug, now we need a new one :-)
249872: Show overlay icon in system tray to indicate that at least one VPN connection is active, also adds that information in systray's tool tip along with all active VPN connection's names.
281074: prevents crash when ethernet carrier goes off in wired connections.
275502: sort connection list by type, then by activation state and then by connection name (or ssid if applicable).
. fix handling of network appearance/disappearance in ScanWidget.
. fix build on Fedora 15 which doesn't have the latest NM 0.9 yet
280913: don't send empty OpenConnect secrets to NM.
259284: show band and channel in ScanWidget/details.
280873: prevents crash when configuring WEP access point using networkmanagement_configshell.
280701: treat ad-hoc connections as normal wifi connections in connection list.
. update BSSID's tooltip and what's this in wireless edit dialog.
. add support for allowing/forbidding GSM roaming.
. add support for 802.1x subject_match and altsubject_match setting introduced in NetworkManager 0.9.0.
279676, 280494: ignore other non-binary compatible backends (NM-0.8 and Wicd) to prevent crashes.
. when in WDS mode there will be several access points with the same ssid, choose the one with strongest signal instead of the first one found when selecting the BSSID.
. add option to mark the GSM PIN as "Not Required" for devices that do not have the PIN set.
. add one tooltip for the the Show More button and one for the system connection checkbox in edit connection dialog.
. make shared connections easier to setup: the "add" button in wired and wireless tabs in Manage Connection widget is now a menu button with two options: Wired / Shared and Wireless / Shared. Also, unneeded widgets are hidden in wireless dialog when adding a shared wireless connection.
. simplify wireless edit dialog.
. use the correct column when updating the LastUsed info in Manage Connection widget.
. prevents crash when disabling the bluetooth controller with interface details opened for a bluetooth device. Also adds missing method setModemCardIface to Solid's NM frontend.
. automatically adds logged username to connection's permissions when changing connection from system scope to user scope. Without this change users would have to add the login name manually. If they forget to do so then the connection will not change from system to user scope and there will be no warning or error message about that.
. make WEP key validation work.
. fix VPN settings dialogs.
. disable NetworkManager going offline notification by default.
. fix crash when creating connections with networkmanagement_configshell.
. watch for kded restarts, call FinishInitialization to activate notifications.
. allow deactivating a connection while it's activating.
. display the AP's strength in its tooltip.
. let the user decide if he wants to store his 802.1x passwords or type them in every time, add real auth dialogs for 802.1x and wireless (needed for LEAP).
. don't copy certificates for 802-1x connections to our own storage to prevent conflicts with other NM's clients (i.e. nm-applet).
. set Connections entry in networkmanagementrc file to empty after importing NM-0.8 connections. The old files are still instact in case someone needs to redo the importing process.
277889: fix crash when trying to connect to wpa.enterprise eduroam.

That sums up to 33 entries. 6 of them are crash fixes, 8 are bug fixes (including minor bugs), the other 19 are new features (including small features). So, in despite of the name "bugs" they are mostly new features.

Now for branch master:

281074: prevents crash when ethernet carrier goes off in wired connections.
280826: fix plasma Shell crush after the mobile boardband connection stoping.
280701: treat ad-hoc connections as normal wifi connections in connection list.
. when in WDS mode there will be several access points with the same ssid, choose the one with strongest signal instead of the first one found when selecting the BSSID.
. add one tooltip for the the Show More button and one for the system connection checkbox in edit connection dialog.
. simplify wireless edit dialog.
. use the correct column when updating the LastUsed info in Manage Connection widget.
. prevents crash when disabling the bluetooth controller with interface details opened for a bluetooth device. Also adds missing method setModemCardIface to Solid's NM frontend.
. remove obsolete user-name stuff from OpenVPN.
. fix loading/saving of VPN connections.
. disable NetworkManager going offline notification by default.

27 comments:

Anonymous said...

lol @ a shitload of bugs since kde 4.7, seems like plasmanm only works for you

Lamarque said...

For branch nm09 there are 30 entries, 6 are crashes fixes, 7 are fixes for other bugs (some are minor bugs), and 17 are new features. So in despite of the name "bugs" more than a half of the listed entries are new features. And yes, Plasma NM works well for me.

Kai Uwe said...

So it does for me. :)
At least since I started filing loads of bug reports and improvement requests :P

test said...

Don't worry about trolls like this Anonymous. At least for me, knm works very well with Fedora 15, VPN included. Thank you for your work!

test said...

s/"knm"/"plasma nm"/

:-)

Nassos Kourentas said...

Plasma NM works perfectly fine for me, too!

Amazing work, of paramount quality!

It has certainly elevated my everyday work to an unbelievable eight!

Keep up the same ingenious spirit!

Nassos

Anonymous said...

Lamarque,

You guys are doing amazing work and it's much appreciated!

Keep rocking on!

Thijs said...

Amazing work you're doing, Lamarque! This is the kind of stuff that makes/breaks a usable Linux Desktop.

One question: A year ago I tried PPPoE and it didnt work at all under KDE; the gnome applet only worked over a wired connection. Is it time for me to try again?

Anonymous said...

While it is certainly great that Plasma NM is improving, it is quite peculiar to see one of the most elementary functions being fixed from not working at all in a supposedly stable software.

Lamarque said...

@Thijs, I do not have access to any DSL connection, I cannot do tests to diagnose the problem. If you can provide me with NM and Plasma NM's logs I can try to fix it.

@Anonymous, which feature and which stable software? Plasma NM has never been declared stable in the sense it is not going to break binary compatibility in a minor versions or not add/change translatable strings like is the norm for software in KDE SC. The software run quite stable, but the source code is in constant change to fix the problems and add new features.

Anonymous said...

You are most definitely my hero of the day, no the month, for fixing the bug with hidden SSID.
Now let's hope I can get my hands on a new version before the google van drives by and records my SSID.

How do we get the latest stable version that includes that bug fix?

Really thanks for all your hard work!!!

John

Lamarque said...

You can compile Plasma NM yourself, read this post to know how to do it:

http://lamarque-lvs.blogspot.com/2011/07/some-clarifications-about-plasma-nm.html

arekm said...

So what is a proper approach for people that want to use networkmanager 0.9.0 and kde 4.7.1?

Does networkmanagement module replace kde-workspace/*/solid/networkmanager* stuff or is this new app?

Lamarque said...

Just install Plasma NM/nm09 and it will install a new Solid NM backend to talk to NM-0.9. That new backend should be used instead of the one in kde-workspace, you can check that in systemsettings -> Information Sources.

The NM-0.9 backend in kde-workspace is required by kdelibs, so we cannot remove it.

arekm said...

So will next kde version have new app as new tarball (networkmanager.tar.gz) or will it be part of something? Want to package it properly for local distro here.

Lamarque said...

@arekm, no, I did no say that.

arekm said...

That doesn't help me since I still don't know how to package the damn thing for use with 4.7.1 :-)

/me hates kde for being, so behind with releases of other stuff.

Lamarque said...

@arekm:
git clone \
git://anongit.kde.networkmanagement

cd networkmanagement

git checkout nm09

cd ..

tar jcf plasma-networkmanagement-nm09-$(date +"%Y%m%d").tar.bz2 networkmanagement

It's not that difficult for you to do that, huh? I've already posted several times how to clone the git repository.

arekm said...

@Lamarque: what I'm trying to do it to package now in the same way as it will be packaged in some future kde version. And that's the question on how things will (or are supposed to) look then.

Lamarque said...

Plasma NM has never been packed like KDE SC because it is not part of KDE SC. Even KDE SC is passing through changes on how it is packed. There is no sense in your complaint about Plasma NM.

arekm said...

That explains things a bit and confirms that kde sc is crap in NM area. Thanks. EOT.

Lamarque said...

@arekm, it is easy to criticize when you do nothing to help. Other distributions already clone the repository and create packages from there. Why can't you do the same?

Solid Smoke said...

Hi.. Thanks for the good work!

A friend of mine (a GNOME user) was searching for a way to have different proxy settings for different connections. He says this feature will be available in a future gnome nm-applet release. As of now, he's managing with NM scripts in /etc/NetworkManager/dispatcher.d.

He asked me if KDE NM applet supports this. As far as I can see, in KDE, proxy settings are not 'per-connection' and this isn't supported. Am I wrong here?

Lamarque said...

@Solid Smoke, you are right, proxy settings is configured in another kcm module and it is valid for the entire KDE session.

Solid Smoke said...

@Lamarque
Hmm.. Do you think this feature could be implemented in KDE NM applet? or perhaps in upstream NetworkManager?

Anonymous said...

The right way to package kde-plasma-networkmanagement in a tarball is to use the releaseme script(s) (in particular the networkmanagement.rb script in the releaseme git repository), which automatically include translations.

Unfortunately, there are no separate translations for the nm09 branch, so not all strings in the nm09 code will be translated, but most strings do have translations.

Lamarque said...

@Solid Smoke, NM guys are already working on it: http://mail.gnome.org/archives/networkmanager-list/2011-September/msg00048.html

@kevinkofler, we are going to discuss that during the Solid sprint.