busybox's networking ruined with uClibc, any idea???

kaimi dishui at gmail.com
Wed Dec 27 07:09:25 UTC 2006


hi,all
   I setup a workable system with standard libc(arm-linux-gcc-3.3.2.tar.bz2),
but it consumed too much space, so I changed to uClibc.

/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:3E:26:0A:5B
          inet addr:192.168.0.254  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:193 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:19316 (18.8 KiB)  TX bytes:546 (546.0 B)
          Interrupt:53 Base address:0x300

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
/ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
/ # ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
In busybox/networking/ping.c:sendping():sendto() ret = -1
ping: sendto: Invalid argument
/ # ping 192.168.0.254
PING 192.168.0.254 (192.168.0.254): 56 data bytes
In busybox/networking/ping.c:sendping():sendto() ret = -1
ping: sendto: Invalid argument

/ # strace ping 192.168.0.254
execve("/bin/ping", ["ping", "192.168.0.254"], [/* 9 vars */]) = 0
mmap2(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40005000
stat("/etc/ld.so.cache", 0xbeb6cb4c)    = -1 ENOENT (No such file or
directory)
open("/lib/libcrypt.so.0", O_RDONLY)    = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=12940, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40006000
read(4, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\20\6\0\000"..., 4096)
= 4096
mmap2(NULL, 118784, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4000e000
mmap2(0x4000e000, 9496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) =
0x4000e000
mmap2(0x40018000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x2)
= 0x40018000
mmap2(0x40019000, 70864, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40019000
close(4)                                = 0
munmap(0x40006000, 4096)                = 0
open("/lib/libm.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=45864, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40006000
read(4, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\364\23\0"..., 4096) =
4096
mmap2(NULL, 81920, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4002b000
mmap2(0x4002b000, 42596, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) =
0x4002b000
mmap2(0x4003d000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xa)
= 0x4003d000
close(4)                                = 0
munmap(0x40006000, 4096)                = 0
open("/lib/libgcc_s.so.1", O_RDONLY)    = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=41171, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40006000
read(4, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\334\24\0"..., 4096) =
4096
mmap2(NULL, 61440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4003f000
mmap2(0x4003f000, 26800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) =
0x4003f000
mmap2(0x4004d000, 2728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x6)
= 0x4004d000
close(4)                                = 0
munmap(0x40006000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=314092, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40006000
read(4, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240\264\0"..., 4096)
= 4096
mmap2(NULL, 364544, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4004e000
mmap2(0x4004e000, 306868, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0)
= 0x4004e000
mmap2(0x400a1000, 5328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4,
0x4b) = 0x400a1000
mmap2(0x400a3000, 16188, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400a3000
close(4)                                = 0
munmap(0x40006000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=314092, ...}) = 0
close(4)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=314092, ...}) = 0
close(4)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=314092, ...}) = 0
close(4)                                = 0
mprotect(0x40018000, 4096, PROT_READ)   = 0
mprotect(0x4003d000, 4096, PROT_READ)   = 0
mprotect(0x400a1000, 4096, PROT_READ)   = 0
mprotect(0x4000c000, 4096, PROT_READ)   = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo
...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo
...}) = 0
getuid32()                              = 0
getgid32()                              = 0
getpid()                                = 70
brk(0)                                  = 0x71000
brk(0x73000)                            = 0x73000
open("/etc/protocols", O_RDONLY)        = 4
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbeb6cba4) = -1 ENOTTY
(Inappropriate ioctl for device)
brk(0x74000)                            = 0x74000
read(4, "# /etc/protocols:\n# $Id: protoco"..., 4096) = 1191
close(4)                                = 0
mq_notify(2, ptrace: umoven: Input/output error
{...})                     = 4
getuid32()                              = 0
setuid32(0)                             = 0
open("/etc/resolv.conf", O_RDONLY)      = 5
ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbeb6cab0) = -1 ENOTTY
(Inappropriate ioctl for device)
read(5, "nameserver 221.10.251.197\nnamese"..., 4096) = 50
read(5, "", 4096)                       = 0
close(5)                                = 0
open("/etc/hosts", O_RDONLY)            = 5
ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbeb6cb18) = -1 ENOTTY
(Inappropriate ioctl for device)
read(5, "127.0.0.1\tlocalhost\n", 4096) = 20
read(5, "", 4096)                       = 0
close(5)                                = 0
SYS_294(0x4, 0x1, 0x6, 0xbeb6cdb0, 0x4) = 0
SYS_294(0x4, 0x1, 0x8, 0xbeb6cdb0, 0x4) = 0
write(1, "PING 192.168.0.254 (192.168.0.25"..., 50PING 192.168.0.254 (
192.168.0.254): 56 data bytes
) = 50
rt_sigaction(SIGINT, {0x340c4, [INT], SA_RESTART|0x4000000}, {SIG_DFL}, 8) =
0
gettimeofday({1170, 529510}, NULL)      = 0
SYS_290(0x4, 0xbeb6cc48, 0x54, 0, 0x6d030) = -1 EINVAL (Invalid argument)
write(1, "i=-1\n", 5i=-1
)                   = 5
write(2, "ping", 4ping)                     = 4
write(2, ": ", 2: )                       = 2
write(2, "sendto", 6sendto)                   = 6
write(2, ": ", 2: )                       = 2
write(2, "Invalid argument", 16Invalid argument)        = 16
write(2, "\n", 1
)                       = 1
_exit(1)                                = ?
Process 70 detached

--
kaimi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.busybox.net/pipermail/busybox/attachments/20061227/8962ce2e/attachment.htm 


More information about the busybox mailing list