我有一块带有 LPC1788、32Mbyte SDRAM、128 Mbyte Nand 闪存的定制板,频率为 108Mhz。我下载了 emcraft uclinux 和网络项目。
问题是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 不发送 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,这是我没有修改的默认项目,我不明白。请给我一个建议!