[Bug 4598] New: udhcpc stop getting address from dhcp server from version 1.19.0 and up
bugzilla at busybox.net
bugzilla at busybox.net
Mon Dec 12 12:30:41 UTC 2011
https://bugs.busybox.net/show_bug.cgi?id=4598
Summary: udhcpc stop getting address from dhcp server from
version 1.19.0 and up
Product: Busybox
Version: 1.19.x
Platform: Other
OS/Version: Linux
Status: NEW
Severity: critical
Priority: P5
Component: Networking
AssignedTo: unassigned at busybox.net
ReportedBy: gianlucarenzi at eurekelettronica.it
CC: busybox-cvs at busybox.net
Estimated Hours: 0.0
I am using for ages busybox in my own cross-build environments all based on
ARM.
Last time I upgraded busybox was from an ancient version (pre-1.0 or similar)
to 1.18.4. The only thing I had to patch was a fbsplash utility to support
screen depth higher than 16bpp. Everything was working fine.
After some months I decided to upgrade to 1.18.5 (with the same configuration
files as the procedure is fully automatic). Everything is working fine until I
tried the 1.19.2 version, because of an already patched framebuffer utilities
to support 24/32 bpp depth.
Now the udhcpc client is not getting any address anymore from my dhcp server.
The same problem appear in version 1.19.2 and 1.19.3.
The only workaround I found is replace the dhcpc.c/.h from 1.18.5 to higher
version, and luckily it compiles and runs properly in my hardware.
Here is my specs:
Platform A: Samsung S3C2442 (arm toolchain 4.1.1)
Linux Kernel: 2.6.27
Platform B: Freescale i.MX27 (arm toolchain 4.1.1)
Linux Kernel: 2.6.19.2
Here is an (almost) detailed log of WORKING (1.18.5) busybox installation:
# busybox
BusyBox v1.18.5 (2011-12-12 12:37:09 GMT) multi-call binary.
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: busybox --list[-full]
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, [[, addgroup, adduser, adjtimex, ar, arp, arping, ash, awk, base64,
basename, beep, bootchartd, brctl, bunzip2, bzcat, cal, cat, chgrp,
chmod, chown, chpasswd, chroot, chvt, clear, cmp, comm, cp, cpio,
crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser,
depmod, df, dirname, dmesg, dnsdomainname, dos2unix, dpkg, dpkg-deb,
du, dumpkmap, echo, ed, egrep, env, expr, false, fbset, fbsplash,
fdisk, fgrep, find, fold, free, ftpget, ftpput, getopt, getty, grep,
gunzip, gzip, halt, hd, head, hexdump, hostid, hostname, httpd,
hwclock, id, ifconfig, ifdown, ifenslave, ifplugd, ifup, init,
inotifyd, insmod, install, ionice, ipcalc, kill, killall, killall5,
klogd, last, length, less, linuxrc, ln, loadfont, loadkmap, logger,
login, logread, losetup, ls, lsmod, lsusb, makedevs, md5sum, mkdir,
mkdosfs, mkfs.vfat, mknod, mkswap, mktemp, modinfo, modprobe, more,
mount, mv, nameif, nbd-client, nc, netstat, nice, nohup, nslookup, od,
openvt, passwd, patch, pidof, ping, ping6, pipe_progress, pivot_root,
poweroff, printf, ps, pwd, rdate, readlink, readprofile, realpath,
reboot, renice, reset, rm, rmdir, rmmod, route, rpm, run-parts, rx,
sed, sendmail, seq, setkeycodes, sh, sleep, sort, start-stop-daemon,
stat, strings, stty, su, sulogin, sum, swapoff, swapon, sync, sysctl,
syslogd, tail, tee, telnet, telnetd, test, tftp, tftpd, time, top,
touch, tr, traceroute, traceroute6, true, tty, udhcpc, umount, uname,
uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
vi, vlock, watchdog, wc, wget, which, who, whoami, xargs, yes, zcat
# udhcpc -v
Adapter index 2
MAC 00:60:35:10:7e:ff
udhcpc (v1.18.5) started
Executing /usr/share/udhcpc/default.script deconfig
eth0: status: link is up
eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.
Entering listen mode: raw
Opening raw socket on ifindex 2
Got raw socket fd 5
Attached filter to raw socket fd 5
Created raw socket
Adapter index 2
MAC 00:60:35:10:7e:ff
Sending discover...
Waiting on select...
Adapter index 2
MAC 00:60:35:10:7e:ff
Sending discover...
Waiting on select...
NETDEV WATCHDOG: eth0: transmit timed out
eth0: transmit timed out.
Got valid DHCP packet
Adapter index 2
MAC 00:60:35:10:7e:ff
Sending select for 192.168.143.151...
Waiting on select...
Got valid DHCP packet
Waiting on select...
Got valid DHCP packet
Lease of 192.168.143.151 obtained, lease time 14400
Executing /usr/share/udhcpc/default.script bound
deleting routers
route: SIOCDELRT: No such process
adding dns 192.168.143.2
adding dns 8.8.8.8
Entering listen mode: none
and now the NON WORKING busybox udhcpc installation on the same hardware:
# busybox
BusyBox v1.19.0 (2011-12-12 12:44:52 GMT) multi-call binary.
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: busybox --list[-full]
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, [[, addgroup, adduser, adjtimex, ar, arp, arping, ash, awk, base64,
basename, beep, bootchartd, brctl, bunzip2, bzcat, cal, cat, chgrp,
chmod, chown, chpasswd, chroot, chvt, clear, cmp, comm, cp, cpio,
crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser,
depmod, df, dirname, dmesg, dnsdomainname, dos2unix, dpkg, dpkg-deb,
du, dumpkmap, echo, ed, egrep, env, expr, false, fbset, fbsplash,
fdisk, fgrep, find, fold, free, ftpget, ftpput, getopt, getty, grep,
gunzip, gzip, halt, hd, head, hexdump, hostid, hostname, httpd,
hwclock, id, ifconfig, ifdown, ifenslave, ifplugd, ifup, init,
inotifyd, insmod, install, ionice, ipcalc, kill, killall, killall5,
klogd, last, less, linuxrc, ln, loadfont, loadkmap, logger, login,
logread, losetup, ls, lsmod, lsusb, makedevs, md5sum, mkdir, mkdosfs,
mkfs.vfat, mknod, mkswap, mktemp, modinfo, modprobe, more, mount, mv,
nameif, nbd-client, nc, netstat, nice, nohup, nslookup, od, openvt,
passwd, patch, pidof, ping, ping6, pipe_progress, pivot_root, poweroff,
printf, ps, pwd, rdate, readlink, readprofile, realpath, reboot,
renice, reset, rm, rmdir, rmmod, route, rpm, run-parts, rx, sed,
sendmail, seq, setkeycodes, sh, sleep, sort, start-stop-daemon, stat,
strings, stty, su, sulogin, sum, swapoff, swapon, sync, sysctl,
syslogd, tail, tee, telnet, telnetd, test, tftp, tftpd, time, top,
touch, tr, traceroute, traceroute6, true, tty, udhcpc, umount, uname,
uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
vi, vlock, watchdog, wc, wget, which, who, whoami, xargs, yes, zcat
# udhcpc -v
Adapter index 2
MAC 00:60:35:10:7e:ff
udhcpc (v1.19.0) started
Executing /usr/share/udhcpc/default.script deconfig
eth0: status: link is up
eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.
Entering listen mode: raw
Opening raw socket on ifindex 2
Got raw socket fd 5
Attached filter to raw socket fd 5
Created raw socket
Adapter index 2
MAC 00:60:35:10:7e:ff
Sending discover...
Waiting on select...
Adapter index 2
MAC 00:60:35:10:7e:ff
Sending discover...
Waiting on select...
NETDEV WATCHDOG: eth0: transmit timed out
eth0: transmit timed out.
Adapter index 2
MAC 00:60:35:10:7e:ff
Sending discover...
Waiting on select...
Adapter index 2
MAC 00:60:35:10:7e:ff
Executing /usr/share/udhcpc/default.script leasefail
Waiting on select...
and wait forever (until a CTRL-C)
Can you check what is changed between versions 1.18 and 1.19?
diff gives me a lot of API changes... Maybe some pitfalls in between??
Best regards,
Gianluca
--
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the busybox-cvs
mailing list