Starting system message bus: done
Starting network: [ 9.619955] libphy: 4500000.eth: probed
[ 9.624487] sunxi-gmac 4500000.eth eth0: eth0: Type(8) PHY ID 001cc916 at 0 I RQ poll (4500000.eth-0:00)
udhcpc: started, v1.29.3
udhcpc: sending discover
udhcpc: sending discover
[ 13.867272] sunxi-gmac 4500000.eth eth0: Link is Up - 1Gbps/Full - flow contr ol off
[ 13.875847] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 14.116790] random: crng init done
[ 14.120593] random: 7 urandom warning(s) missed due to ratelimiting
udhcpc: sending discover
udhcpc: no lease, failing
无法获取ipv4, 但是有ipv6.
好像是udhcpc运行时网口还没完全启动,这该怎么办?
离线
是不是可以等启动完后手动启动一下udhcpc试试?
离线
启动udhcpc前加个延时?
离线
是不是可以等启动完后手动启动一下udhcpc试试?
手动 ifup eth0 确实可以,不知道有没有更好的解决办法?
离线
试试dhcpcd看看,udhcpc有时候就这样明明有IP了,会显示获取失败
离线
udhcpc就是这样的,执行前要执行 ifconfig eth0 up,
可能用别的dhcpc解决了这个问题。
离线
udhcpc就是这样的,执行前要执行 ifconfig eth0 up,
可能用别的dhcpc解决了这个问题。
etc/init.d/S40network文件内容如下:
我在前面加上ifconfig eth0 up试试。
#!/bin/sh
#
# Start the network....
#
# Debian ifupdown needs the /run/network lock directory
mkdir -p /run/network
case "$1" in
start)
printf "Starting network: "
/sbin/ifup -a
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Stopping network: "
/sbin/ifdown -a
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
restart|reload)
"$0" stop
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
离线
如果启动完后手动启动udhcp可以正常的话那就是启动顺序的问题,改下init.d,把udhcpc启动脚本放到最后启动(S90)应该就行了
离线
如果启动完后手动启动udhcp可以正常的话那就是启动顺序的问题,改下init.d,把udhcpc启动脚本放到最后启动(S90)应该就行了
改启动顺序可能有别的问题,有别的服务依赖网络。
多加了一行 ifup -a, 增加了一些延时,暂时这样解决了。
离线