0%

udhcpc 不能正常工作

嵌入式环境下使用 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.scriptudhcpc 调用的脚本,卡在 ifconfig eth0 192.168.110.25 netmask 255.255.254.0 broadcast + 此处

经测试原因为使用参数 broadcast +

查找 busybox 配置,发现选项 CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS 未打开,打开此选项以支持 broadcast + 解决问题