Using NetworkManager in Portage, I noticed that it segfaults if in /etc/conf.d/net there are these "malformed" but accepted and valid (not all) config parameters: config_ethXX="dhcp" --> segfault config_ethXX=("dhcp") --> segfault --> not the missing space between brackets iface_ethXX=("dhcp") --> not anymore supported but NM crashes (SIG 11) iface_ethXX=( "dhcp" ) --> not anymore supported but NM crashes (SIG 11) The only valid setting is: config_ethXX=( "dhcp" ) --> this works
known issue this is being worked. we need to push our patches to get this working to upstream cvs and then put it on portage.
nice to know :) thanks dev.
Here's the backend I've been working on if you want to test it. It supports most config options that NM can handle, except dialup, wireless (upstream is working on a seperate system-wide configuration for this anyway), and nis domain names. Any comments would be appriciated, if something doesn't work, please recompile with USE="debug" and post any <debug> lines that NM prints from your system log. @metalgod: This is a newer patch than the one I emailed you.
Created attachment 101897 [details, diff] files/networkmanager-0.6.4-gentoobackend.patch
Just for every bug watcher, I've added the new patched NM (_pre20061115) to the "sabayon" overlay.
Only one thing does not work out of the box: DNS. resolv.conf gets completely overwritten by networkmanager. I still have to see if dhcp_ethX="nodns" might help.
(In reply to comment #6) > Only one thing does not work out of the box: DNS. resolv.conf gets completely > overwritten by networkmanager. I still have to see if dhcp_ethX="nodns" might > help. > Currently the backend doesn't check one weather it's allowed to overwrite reslov.conf or not, it just does. Shouldn't be too hard to add in, I'll look into it.
ok, we are soo close then. anyway, playing with net.example and NM sources, I found that I only need to set dns_servers_ethX=" xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx " to get DNS configuration working with NM. So, feel free to close this bug if you want. Well done guys! :)
i added Nathan patch to the tree i'll fix the resolv.conf problem before commit his changes and my changes to upstream cvs. Please help test the backend so we can get it at perfect state on upstream cvs. Thanks all
(In reply to comment #9) > i added Nathan patch to the tree i'll fix the resolv.conf problem before commit > his changes and my changes to upstream cvs. Please help test the backend so we > can get it at perfect state on upstream cvs. > > Thanks all > The new backend mostly works fine here, with one quite major exception: On wired networks the resolv.conf is not written correctly, it's just empty after a dhcp-connect. Wireless works fine, though
yes i notice that too another thing is that dhcp is replacing hostname i'm going to fix that. Again please test the best you can since i will commit this to upstream cvs.
I didn't realize that ESSID was supposed to be replaced with an interface name. The comments in /etc/conf.d/net should be updated. Also, setting dhcp_eth1 to "nodns" while having dns_servers_eth0 set causes whichever interface that gets started last to replace resolve.conf. I expected entries for each interface to get added.
from /etc/conf.d/net.example: lxnay ~ # cat /etc/conf.d/net.example | grep "dns_servers" #dns_servers_ESSID=( "192.168.0.1" "192.168.0.2" ) #mac_dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" ) #dns_servers_192168000001=( "192.168.0.1" ) #dns_servers_010000000001=( "10.0.0.1" ) #dns_servers_192168000001_001122AABBCC=( "192.168.0.1" ) #dns_servers_010000000001_334455DDEEFF=( "10.0.0.1" ) # To use dns settings such as these, dns_servers_eth0 must be set! #dns_servers_eth0="192.168.0.2 192.168.0.3"
@Andreas, I'm working on getting the resolv.conf issues fixed. (In reply to comment #12) > I didn't realize that ESSID was supposed to be replaced with an interface name. > The comments in /etc/conf.d/net should be updated. Also, setting dhcp_eth1 to > "nodns" while having dns_servers_eth0 set causes whichever interface that gets > started last to replace resolve.conf. I expected entries for each interface to > get added. > The comments in /etc/conf.d/net.example are correct. NetworkManager only reads the config when starting up (thus it doesn't know the ESSID yet), and it only passes along an interface name to the backend functions. So there is no way of doing what the net scripts do properly. What I'm working on will just read all the possible ESSIDs pass them to NM, but you still won't be able to configure a device using it's ESSID. You will still have to use the interface. Hopefully the system-wide NM config will take care of this.
While we're at it: I'm using NetworkManager 0.6.5, and I noticed grepping syslog that it tries to spawn some processes with a wrong path. For example, it tries to spawn "/usr/bin/killall" but on my machine it's just "/bin/killall". Should be trivial to fix. An example (it's the only one I'm aware of): nm_spawn_process(): nm_spawn_process('/usr/bin/killall -q nscd'): could not spawn process. (Failed to execute child process "/usr/bin/killall" (No such file or directory)) The configuration script should perform a `which killall` afaik...
Is this still an issue for you with the latest versions?
Yes, it's still an issue. networkmanager-0.6.6 still overwrites /etc/resolv.conf and does not obey rules in /etc/conf.d/net I configured dhclient and dhcpcd (don't know why I have both) not to overwrite resolv.conf, yet it still gets overwritten.
I think that Steev was referring to 0.7
A year ago? ;) NM 0.7 was introdcued in Gentoo on 4 Dec 2008 :)
(In reply to comment #19) > A year ago? ;) NM 0.7 was introdcued in Gentoo on 4 Dec 2008 :) > Oops, I misread if and thought it asked it in 2009 :-S