Re: NetworkManager on a non-recognised distro : dhcp problem



Hi,

Timoth�Lecomte wrote:
> Dear NetworkManager specialists,
> 
> I am desperate to make NetworkManager work on my machine, as I move my 
> laptop daily between three locations where I have different network 
> setups (one is wired, and two are wireless).
> 
> The problems come with my distribution : Sourcemage 
> (http://www.sourcemage.org) which is not supported by default.
> 
> I managed to compile successfully NetworkManager 0.6.3 with the option 
> --with-distro=debian --without-gnome.
> I have also compiled :
>     - dhcdbd 1.14
>     - dhcp-3.0.4 with the patch "dhcp-3.0.3-x-option.patch" provided on 
> http://people.redhat.com/jvdias/dhcdbd.
>     - iproute2 for /sbin/ip
>     - knetworkmanager from svn
> 
> I also have the wireless-tools and wpa_supplicant, and my wireless 
> connections are working nicely by hand (using nidswrapper for a Netgear 
> WG511 softmac card).
> 
> I have not dealt with the init scripts, I will take care of them later. 
> To make all of these components working together, I just add to symlink 
> /sbin/ip to /usr/sbin/ip, and to copy the dbus files installed by NM 
> from /usr/etc/dbus-1 to /etc/dubs-1.
> 
> Now, NetworkManager is starting without complain, seems to talk nicely 
> with knetworkmanager. Even wpa_supplicant is authentifying properly.
> But, the DHCP part is not working, neither for wireless nor for wired 
> connections.
> 
> A simple 'dhclient eth0' outside of NM would work instantaneously, but 
> when I start NM, I get the following output, when my ethernet card is 
> wired :

You also need a customized dhclient-script, which talks to dhcdbd back with
dbus. In my script I have the following (taken from gentoo)

if [ -n "${dhc_dbus}" ]; then
   /usr/bin/dbus-send \
       --system \
       --dest=com.redhat.dhcp \
       --type=method_call \
       /com/redhat/dhcp/$interface \
       com.redhat.dhcp.set \
       'string:'"`env | /bin/egrep -v '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`";
       if (( ( dhc_dbus & 31 ) == 31 )); then
           exit 0;
       fi;
fi;



Nikolaus




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]