嵌入式环境下使用 udhcpc 不能正确获取地址,记录解决过程
使用命令如下
udhcpc -t 10 -T 3 -n -q -i "$dev"
执行命令之后无返回, ps 如下
1783 root {default.script} /bin/sh /usr/share/udhcpc/default.script bound
1784 root ifconfig eth0 192.168.110.25 netmask 255.255.254.0 broadcast +
3677 root /bin/sh -c wired_start eth0
3678 root {wired_start} /bin/sh /usr/local/sbin/wired_start eth0
3731 root {if_set_cfg} /bin/sh /usr/local/sbin/if_set_cfg /tmp/ethernet/mo
3746 root udhcpc -t 20 -T 1 -n -q -i eth0
3749 root {default.script} /bin/sh /usr/share/udhcpc/default.script bound
3750 root ifconfig eth0 192.168.110.25 netmask 255.255.254.0 broadcast +default.script 为 udhcpc 调用的脚本,卡在 ifconfig eth0 192.168.110.25 netmask 255.255.254.0 broadcast + 此处
经测试原因为使用参数 broadcast +
查找 busybox 配置,发现选项 CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS 未打开,打开此选项以支持 broadcast + 解决问题