udhcpd not starting
Ruben Lagar
ruben.lagar at gmail.com
Tue Oct 13 14:21:34 UTC 2009
I run it as root
I added that line in the right place
It still doesn't work. When you ask if af_packet is built in my kernel, do
you mean the option "Packet socket" under "Networking options"? I am not
sure what I should check...
Thank you!
2009/10/8 Denys Vlasenko <vda.linux at googlemail.com>
> On Thursday 08 October 2009 14:11, Ruben Lagar wrote:
> > Hello everybody,
> > I have successfully cross-compiled busybox for an arm processor. Now I am
> > trying to run udhcpd with a very basic config file
> >
> >
> > *start ** **10.0.1.100** *
> > *end** **10.0.1.120** *
> > *interface** **usb0** *
> > *max_leases** **21** *
> > *lease_file** **/etc/udhcpd.leases** *
> > *pidfile** **/etc/udhcpd.pid** *
> > *option** **subnet** **255.255.255.0*
> > *option** **domain** **local*
> > *option** **lease** **864000*
> >
> > But when I try to run it, I get an error:
> >
> > udhcpd (v1.14.1) started
> > *udhcpd: can't bind to interface usb0: Protocol not available*
> >
> > I have been Googling it, and it looks like some Kernel problem or
> similar,
> > but haven't found exactly what is going on.
> >
> > Has anyone get this error before? Is there any way around it?
>
> Here is where it comes from:
>
> int FAST_FUNC setsockopt_bindtodevice(int fd, const char *iface)
> {
> int r;
> struct ifreq ifr;
> strncpy_IFNAMSIZ(ifr.ifr_name, iface);
> /* NB: passing (iface, strlen(iface) + 1) does not work!
> * (maybe it works on _some_ kernels, but not on 2.6.26)
> * Actually, ifr_name is at offset 0, and in practice
> * just giving char[IFNAMSIZ] instead of struct ifreq works too.
> * But just in case it's not true on some obscure arch... */
> r = setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr));
> if (r)
> bb_perror_msg("can't bind to interface %s", iface);
> return r;
> }
>
> A few shots in the dark:
>
> (1) Is af_packet built (CONFIG_FILTER=y/m)? If it's a module (m, not y),
> is it inserted?
> (2) Do you run udhcpd as root?
> (3) Try adding "memset(&ifr, 0, sizeof(ifr));" before strncpy_IFNAMSIZ.
>
> --
> vda
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20091013/bcd638d0/attachment.htm>
More information about the busybox
mailing list