busybox udhcpc收到了NAK

问题描述 投票:0回答:1

我有一个定制板,带有LPC1788,32Mbyte SDRAM,128Mbyte Nand闪存,108Mhz。我下载了emcraft uclinux和网络项目。

poroblem是busybox udhcpc命令:

init started: BusyBox v1.17.0 (2014-12-05 16:25:33 CET) 
~ # ifconfig 
~ # udhcpc -f -i eth0 
udhcpc (v1.17.0) started 
Setting IP address 0.0.0.0 on eth0 
Sending discover 0... 
Sending discover 0... 
Sending select for 192.168.0.27... 
Received DHCP NAK 
Sending discover 0... 
Sending select for 192.168.0.27... 
Received DHCP NAK 
Sending discover 0... 
Sending select for 192.168.0.27... 
Received DHCP NAK 
^C 
~ # ifconfig 
eth0 Link encap:Ethernet HWaddr C0:B1:3C:88:88:84 
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
RX packets:37 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:7432 (7.2 KiB) TX bytes:2278 (2.2 KiB) 
Interrupt:28 Base address:0x4000 

~ #

u-boot不是send bootargs网络选项。 udhcpc总是收到NAK

这是默认脚本:

#!/bin/sh
# udhcpc script edited by Tim Riker

RESOLV_CONF="/etc/resolv.conf"

[ -n "$1" ] || { echo "Error: should be called from udhcpc"; exit 1; }

NETMASK=""
[ -n "$subnet" ] && NETMASK="netmask $subnet"
BROADCAST=""
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"

case "$1" in
deconfig)
echo "Setting IP address 0.0.0.0 on $interface"
ifconfig $interface 0.0.0.0
;;

renew|bound)
echo "Setting IP address $ip on $interface"
ifconfig $interface $ip $NETMASK $BROADCAST

if [ -n "$router" ] ; then
echo "Deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done

for i in $router ; do
echo "Adding router $i"
route add default gw $i dev $interface
done
fi

echo "Recreating $RESOLV_CONF"
echo -n > $RESOLV_CONF-$$
[ -n "$domain" ] && echo "search $domain" >> $RESOLV_CONF-$$
for i in $dns ; do
echo " Adding DNS server $i"
echo "nameserver $i" >> $RESOLV_CONF-$$
done
mv $RESOLV_CONF-$$ $RESOLV_CONF
;;
esac

exit 0

192.168.0.27是我的路由器的正确IP地址,但为什么收到nak?为什么不工作udhcpc,这是我不修改的默认项目,我不明白。请给我一个建议!

dhcp busybox uclinux
1个回答
0
投票

udhcpc正在做一个发现,并获得报价。出于某种原因,当我们要求地址时,dhcp服务器正在响应NAK。也许dhcp服务器想要一些我们没有请求的特定字段?登录dhcp服务器应该给出一些想法。如果您没有日志,则在另一个节点上运行tcpdump可能有助于调试。就像是:

tcpdump -i any -s0 -vvv port 67 or port 68
© www.soinside.com 2019 - 2024. All rights reserved.