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, 增加了一些延时,暂时这样解决了。
离线