Hello,<br>
<br>
I will not be a great help but I just want to thank you for this wonderful work ! You are my hero ! ;-)<br>
<br>
As I was talking about NM in a previous thread, I just want to add that :<br>
<br>
- I've a bug whick I think is the unfamous atheros one : My connection
seems to be disconnected for 2 seconds every 3-4 minutes. I didn't saw
it until I try to play Enemy Territory, where a 3-4 seconds freeze is
fatal ! ;-)<br>
<br>
- I reported the following bug upstream :
<a href="http://bugzilla.gnome.org/show_bug.cgi?id=331529">http://bugzilla.gnome.org/show_bug.cgi?id=331529</a> It's IMHO
an important issue.<br>
<br>
Have a good day <br>
<br>
Ploum<br><br><div><span class="gmail_quote">On 17/02/06, <b class="gmail_sendername">Scott James Remnant</b> <<a href="mailto:keybuk@gmail.com">keybuk@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
(Note: I'm currently changing ISPs, thus the unusual e-mail address<br>and lack of signature. Please also Cc me on replies, as I'm not<br>subscribed to the list and am just reading via the web-interface.)<br><br>I've just uploaded a version of NetworkManager that implements the
<br>network-magic specification (<a href="http://wiki.ubuntu.com/NetworkMagic">http://wiki.ubuntu.com/NetworkMagic</a>).<br>This e-mail is to serve as both a rationale for the changes that have<br>been made and to start a discussion about the ultimate destination of
<br>this package.<br><br><br>First off let's outline the requirements we had:<br><br> (a) it should not introduce any major new dependencies, and<br>especially not introduce any new open ports.<br><br> (b) where possible it uses our existing tools and daemons, especially
<br>the ISC dhcp3 client (dhclient3) instead of a different tool such as<br>pump.<br><br> (c) it integrates and interoperates well with our existing "ifupdown"<br>infrastructure. That allows configuration of interfaces in the
<br>/etc/network/interfaces file either by hand or through the<br>gnome-system-tools "Networking" dialog. Interfaces are brought up at<br>boot time and when the hardware drivers are loaded automatically if<br>they are marked "auto" in the file. This system allows configuration
<br>of both static interfaces and DHCP interfaces.<br><br> (d) scripts can be run when network interfaces are brought up and<br>down, such as ntpdate; and if possible without having to duplicate the<br>locations for them.
<br><br> (e) be reliable and not cause additional complications.<br><br><br>The changes we made for each of the requirements and rationale are as follows:<br><br> (a) Network Manager depends on the ISC bind9 name service daemon and
<br>reconfigures the machine to use the local name server, adjusting the<br>name server configuration to forward to the appropriate DNS servers.<br>This not only introduces a major new dependency, one which listens on<br>
network sockets, but also would prevent users from having a different<br>DNS server on their system. We've already undertaken a lot of work to<br>remove any MTA from our system, so introducing something as major as a<br>
DNS server seemed like a backward step.<br><br> Instead we've applied a patch to the libc which causes<br>/etc/resolv.conf to be reloaded whenever it changes under a running<br>application. This takes care of the issue of DNS information changing
<br>during the lifetype of such applications.<br><br> As we've already ensured that /etc/resolv.conf is modified and<br>replaced correctly by dhclient, there was no need for Network Manager<br>to try and maintain it itself; a source of several open bugs. We've
<br>therefore also removed the "named-manager" from n-m entirely.<br><br> Unfortunately the "vpn-manager" had heavy dependencies on the<br>named-manager, so this had to be removed as well. VPN support wasn't
<br>a use case we've considered for dapper, where we're concentrating only<br>on improving existing functionality and not necessarily introducing<br>new functionality. Also the VPN support in Network Manager was<br>largely hidden, and has been vastly changed upstream in CVS anyway.
<br>It's inclusion can be reconsidered for dapper+1.<br><br> (b) this was easy to accomplish, the dhcdbd daemon has been made to<br>control dhclient and use the same PID and leases files that we use<br>already. This daemon responds to the same dbus messages Network
<br>Manager sends.<br><br> (c) The problems here are that ifupdown and Network Manager have<br>fundamentally different use cases. ifupdown's goal is to keep all<br>interfaces up all of the time, where Network Manager's is just to keep
<br>one up at a time. Typical behaviour with both fighting ends up<br>something like:<br><br> - udev starts: configures eth0 and starts dhclient3 to manage it<br> - dbus (and n-m) starts: deconfigures eth0, leaves dhclient3
<br>running (or kills it)<br> - user logs in<br> - nm-applet starts: configures eth0 again, and starts dhclient3 again<br><br> This may initially seem merely irritating, but there's a lot of<br>additional configuration option with the /etc/network/interfaces file
<br>-- such as wireless channels and mode that Network Manager would then<br>fail to take into account.<br><br> We therefore decided that it would be best if Network Manager<br>ignored interfaces completely if they were "manually configured" in
<br>/etc/network/interfaces. This means you need to remove the<br>configuration for them before you can use NM with them. While this<br>has an initial configuration difficulty, the general experience once<br>configured is nicer.
<br><br> This also removes some of the problems with static interface<br>configuration; as currently Network Manager has no UI for configuring<br>network interfaces, whether dynamic, static, or otherwise.<br><br> Currently however this patch has resulted in Network Manager
<br>simply not knowing about such interfaces, and it'll claim that no<br>interfaces are configured when it should at least show the status of<br>the configured interface and not allow changing of them. I intend to<br>improve this if possible before release.
<br><br> (d) Network Manager includes a "Dispatcher" dbus service that listens<br>to messages from the daemon proper and runs scripts in<br>/etc/NetworkManager/dispatcher.d for those events. We've modified<br>this to include additional events (before an interface comes up, and
<br>after it has been taken down), and also changed it such that it<br>instead causes the scripts in /etc/network/if-*.d to be run instead.<br><br> Thus it interacts reasonably well with the existing scripts there.<br>
<br> (e) is probably the largest problem. With the most modern wireless<br>cards and drivers (which is currently the largest reason for using<br>it), Network Manager generally works well.<br><br> However with less main-stream drivers, including Atheros cards
<br>(which are a fairly popular 802.11g card) and most USB adapters, our<br>testing has indicated a wide range of problems. Some simply fail to<br>be detected, some fail to scan, some fail to connect, etc.<br><br> Network Manager also seems to behave very poorly if there are
<br>multiple wireless interfaces, and seems to often try to configure the<br>wrong one.<br><br><br>So that's the requirements, changes and rationale. Now we can decide<br>what we want to do with it. The options are simple:
<br><br> (1) leave it in universe for dapper<br> (2) move it to main, but only on the archive so people can install it<br>if they want it and get security support<br> (3) move it to main and the ship seed, so that it's available on the
<br>CD for people who want it<br> (4) move it to main and install by default in the desktop seed<br><br>There's also the option for the LiveCD of having it installed by default there.<br><br>My current feeling is that with the above modifications it can be
<br>installed by default, as it needs manual work to activate, but only if<br>we provide some easy way to make that happen with a clear notice that<br>it might not work.<br><br>I'd probably rather it were in the ship seed, so those who know about
<br>it can install it, and those who don't won't experience any<br>regressions. We should probably install by default on the LiveCD.<br><br>--<br>ubuntu-devel mailing list<br><a href="mailto:ubuntu-devel@lists.ubuntu.com">
ubuntu-devel@lists.ubuntu.com</a><br><a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel">https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel</a><br></blockquote></div><br>