That's interesting.
The open() and probe() logic in the 2.2.18 driver is basically unchanged
since 2.2.14. And 3com's driver breaks with pump too. AFAIK it's
completely unchanged.
This makes one wonder what a successful return from open() actually
_means_. Autonegotiation takes up to three seconds, and we return from open()
with it still in progress. So the interface is not yet usable.
> > I note that with 3c59x in 2.4.0, pump-0.7.3 basically freezes up.
> > It spits out a single bootp packet then goes to lunch. I got
> > bored waiting after ten minutes. So an upgrade is definitely needed.
>
> strace would be interesting
It's very sick. It forks a daemon. The child process gets to
the stage where it has written out your new /etc/resolv.conf
and then it gets stuck making no system calls, chewing 100%
of CPU.
Yes, it ups and downs the interface a couple of times,
but everything seems happy. In fact, killing off the
bisbehaving pump leaves the interface in a working state,
so perhaps I have not in fact reproduced the problem. Hopefully
Christian can retest with a later pump and let me know.
1801 read(6, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1748
1801 read(6, "", 4096) = 0
1801 close(6) = 0
1801 munmap(0x40014000, 4096) = 0
1801 open("/etc/ld.so.cache", O_RDONLY) = 6
1801 fstat(6, {st_mode=S_IFREG|0644, st_size=24405, ...}) = 0
1801 mmap(NULL, 24405, PROT_READ, MAP_PRIVATE, 6, 0) = 0x40014000
1801 close(6) = 0
1801 open("/lib/libnss_files.so.2", O_RDONLY) = 6
1801 fstat(6, {st_mode=S_IFREG|0755, st_size=292788, ...}) = 0
1801 read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\36"..., 4096) = 4096
1801 mmap(NULL, 37640, PROT_READ|PROT_EXEC, MAP_PRIVATE, 6, 0) = 0x40110000
1801 mprotect(0x40118000, 4872, PROT_NONE) = 0
1801 mmap(0x40118000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x7000) = 0x40118000
1801 close(6) = 0
1801 munmap(0x40014000, 24405) = 0
1801 socket(PF_UNIX, SOCK_STREAM, 0) = 6
1801 connect(6, {sin_family=AF_UNIX, path="
/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or directory)
1801 close(6) = 0
1801 open("/etc/host.conf", O_RDONLY) = 6
1801 fstat(6, {st_mode=S_IFREG|0644, st_size=26, ...}) = 0
1801 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
1801 read(6, "order hosts,bind\nmulti on\n", 4096) = 26
1801 read(6, "", 4096) = 0
1801 close(6) = 0
1801 munmap(0x40014000, 4096) = 0
1801 open("/etc/hosts", O_RDONLY) = 6
1801 fcntl(6, F_GETFD) = 0
1801 fcntl(6, F_SETFD, FD_CLOEXEC) = 0
1801 fstat(6, {st_mode=S_IFREG|0644, st_size=314, ...}) = 0
1801 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
1801 read(6, "10.0.0.15\t\tmnm.uow.edu.au mnm\n10"..., 4096) = 314
1801 read(6, "", 4096) = 0
1801 close(6) = 0
1801 munmap(0x40014000, 4096) = 0
1801 open("/etc/resolv.conf", O_RDONLY) = 6
1801 fstat(6, {st_mode=S_IFREG|0644, st_size=40, ...}) = 0
1801 read(6, "nameserver 61.8.0.5\nnameserver 6"..., 40) = 40
1801 close(6) = 0
*** End of output.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/