Floris Bos <b...@je-eigen-domein.nl> writes: > On Friday, December 10, 2010 05:12:39 pm Ferenc Wagner wrote: > >> Floris Bos <b...@je-eigen-domein.nl> writes: >> >>> I think the arping applet should be enabled in the Busybox build. >>> It helps a great deal in debugging general network issues and could be >>> helpful to create a solution for some other bugs like: >>> >>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537271 (network may not >>> be usable as soon as link is up) >>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=606515 (Preseed >>> installation does not wait for network to be ready) >> >> Please read >> http://wiki.debian.org/DebianInstaller/FAQ#Q.3AWhyispingnotavailableinthede >> bugshell >> >> Roughly the same applies to arping. After all, you can cat /proc/net/arp >> to check whether the gateway has a complete entry. > > But wouldn't you need to initiate network communication before an entry in > /proc/net/arp for the gateway appears?
Yes, sure. > Right now PXE preseed installations are broken, making Debian unsuitable for > use by dedicated server providers. > The Debian installer does not wait for the network link to come up (can take > about 3 seconds on some NICs connected to a standard Gigabit switch), > nor does it take into account that it can take 30 seconds before network > activity is possible in spanning tree configurations. I agree that this is a problem, I've been bitten by this recently. > A simply 1-line fix if we had arping might be executing between netcfg and > network-preseed: > > arping -f -c 35 $GATEWAY_IP > > (wait until you get an ARP reply from the gateway, timeout after 35 > seconds/tries). Something like that should go *into* netcfg, between configuring the network statically and querying the DNS for the name of the configured IP address. For DHCP, udhcpc should be invoked with -t 20 or similar, so that it doesn't just sleep most of the time but actually tries to get a license during the time allowed by the dialog timeout. > I don't think calling wget 35 times, and grepping /proc/net/arp is a clean > alternative, just to save 4 KB of space. wget isn't pretty, but one could do something like while [ "$i" -lt 30 ] && ! nc -w 1 GATEWAY 80 -e /bin/true; do i=$(($i + 1)); done grep "^GATEWAY .* 00:00:00:00:00:00 " /proc/net/arp && echo fail for example. But netcfg is written in C, and this stuff belongs to there, where one could do even better. -- Cheers, Feri. -- To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87lj3xie5h....@tac.ki.iif.hu