Wednesday, June 30, 2010

ModemManager vs. modems

The last days I worked on porting newer versions of ModemManager (MM) and NetworkManager (NM) to SLE11-SP1. Basically, the NM version from openSUSE 11.2 plus some patches and the latest MM release v0.4 are working now, but that's not the point of this posting.

It was the first time I touched the code of these tools. My expectation was that ModemManager should contain all modem related code and provide a DBus interface for NM to handle all the networking. The first issue I tested was using a mobile (GSM) via USB. It worked. Also UMTS/CDMA devices should work. But to my surprise ModemManager don't support plain modems (simple old and slow modems like a serial 56k modem) at all. Or did I miss something?

So why is this daemon called ModemManager if there is no modem support? It's all about WWAN devices and not modems. Not that this project is completely new, the first git commit is from July 2008.

If this should be a manager for modems, it should IMO support all kinds of modems like e.g. serial or PCMCIA modems, cable or (A)DSL modems and WWAN devices. Otherwise rename it to WwanManager (or should it be WWANManager?) for example!

Another point that's absurd to me: All the PPPoE handling (as e.g. used for DSL modems) is still part of NetworkManager. And AFAICS the modem dialup support is still covered by pppd and
under GNOME by gnome-ppp. It would make much more sense to do all the PPP handling in one place. Until now I assumed NM to be the central place to handle network, but the last days disabused me. The current situation is far far away from being reasonable.
Tech Tags:


Anonymous said...

Yeah! My dsl was down for a few days recently and I had to go get an old external USR 56K modem from the garage. I fully expected the modem manager to do it's job, but found out that I had to install a bunch of other packages to get it to work (and make it work with a non-root account).

A re-name would be appropriate.

John G.

ln said...

dsl 'modems' aren't devices you need to do something with like classical AT modems. They are just called 'modem' for marketing purpose or something like that. So it's perfectly fine to handle the AT command stuff in one program and the networking (ppp) in another.

Danny said...

But both use ppp/AT commands and there is no reason to have two (or more) places where you do basically all the same ppp/AT stuff again and again. That's inefficient.