Re: problem with NM



On Thu, 2006-01-12 at 21:21 +0100, giskard wrote:
> Il giorno gio, 12/01/2006 alle 16.48 +0100, giskard ha scritto:
> > hello,
> > 
> > i'm tring to setup my wifi/wired connection trough NM.
> > but, i don't know why NM cannot retrive a valid ip from the dhcp.
> > 
> > i'm running Debian unstable with NM 0.5.1 an dhcdbd 1.10 both compiled
> > from the sources.
> > 
> > i attached my syslog.log 
> 
> jvdias (upstream of dhcdbd) told me that my dhcp client doesn't support
> '-x' option, and that i had to recompile it with the   
> -DDHCLIENT_EXTENDED_OPTION_ENVIRONMENT=0 flag (or to set it to 0 in
> dhcdbd.h).
> 
> i did what he told me and now dhcdb is working fine.
> 
> btw, the problem persists, because when dhcdbd is done with taking an IP
> 
> after some seconds NM start automagically "autoip":
> 
> Jan 12 20:41:40 localhost avahi-daemon[5881]: Registering new address
> record for 1.127.139.36 on eth0.
> Jan 12 20:42:01 localhost NetworkManager: <information>^IDevice 'eth0'
> DHCP transaction took too long (>25s), stopping it.
> Jan 12 20:42:01 localhost dhclient: DHCPRELEASE on eth0 to 1.127.139.32
> port 67
> .....
> Jan 12 20:42:02 localhost NetworkManager: <information>^INo DHCP reply
> received.  Automatically obtaining IP via Zeroconf.
> Jan 12 20:42:02 localhost NetworkManager: <information>^Iautoip: Sending
> probe #0 for IP address 169.254.224.212.
>                         ^^^^^^^^^^^^^^^^
> (taken from the syslog)

Because you also need to modify the script that dhclient calls when it
gets the IP to send those options back to dhcdbd.  Otherwise, NM can't
get the options from dhcdbd, and it times out the transaction.

Something like this near the top (for me, /sbin/dhclient-script):

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;


Dan





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