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>&nbsp;&nbsp; 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> &lt;<a href="mailto:keybuk@gmail.com">keybuk@gmail.com</a>&gt; 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.&nbsp;&nbsp;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 &quot;ifupdown&quot;<br>infrastructure.&nbsp;&nbsp;That allows configuration of interfaces in the
<br>/etc/network/interfaces file either by hand or through the<br>gnome-system-tools &quot;Networking&quot; dialog.&nbsp;&nbsp;Interfaces are brought up at<br>boot time and when the hardware drivers are loaded automatically if<br>they are marked &quot;auto&quot; in the file.&nbsp;&nbsp;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.&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp; 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.&nbsp;&nbsp;This takes care of the issue of DNS information changing
<br>during the lifetype of such applications.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;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.&nbsp;&nbsp;We've
<br>therefore also removed the &quot;named-manager&quot; from n-m entirely.<br><br>&nbsp;&nbsp;&nbsp;&nbsp; Unfortunately the &quot;vpn-manager&quot; had heavy dependencies on the<br>named-manager, so this had to be removed as well.&nbsp;&nbsp;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.&nbsp;&nbsp;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.&nbsp;&nbsp;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.&nbsp;&nbsp;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.&nbsp;&nbsp;Typical behaviour with both fighting ends up<br>something like:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- udev starts: configures eth0 and starts dhclient3 to manage it<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- dbus (and n-m) starts: deconfigures eth0, leaves dhclient3
<br>running (or kills it)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- user logs in<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- nm-applet starts: configures eth0 again, and starts dhclient3 again<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp; We therefore decided that it would be best if Network Manager<br>ignored interfaces completely if they were &quot;manually configured&quot; in
<br>/etc/network/interfaces.&nbsp;&nbsp;This means you need to remove the<br>configuration for them before you can use NM with them.&nbsp;&nbsp;While this<br>has an initial configuration difficulty, the general experience once<br>configured is nicer.
<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp; 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.&nbsp;&nbsp;I intend to<br>improve this if possible before release.
<br><br> (d) Network Manager includes a &quot;Dispatcher&quot; dbus service that listens<br>to messages from the daemon proper and runs scripts in<br>/etc/NetworkManager/dispatcher.d for those events.&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp; Thus it interacts reasonably well with the existing scripts there.<br>
<br> (e) is probably the largest problem.&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp; 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.&nbsp;&nbsp;Some simply fail to<br>be detected, some fail to scan, some fail to connect, etc.<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 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.&nbsp;&nbsp;Now we can decide<br>what we want to do with it.&nbsp;&nbsp;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.&nbsp;&nbsp;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>