I want to use udhcpd to assign ip on mangOH yellow board(be a WiFi AP), but udhcpd cannot be found under the system, and the binary file of udhcpd cannot be found after recompiling with busybox, how to use busybox to generate udhcpd?
busybox defconfig path:
poky/meta/recipes-core/busybox/busybox/defconfig
DHCP setting as below:
CONFIG_UDHCPD=y
CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC
CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
CONFIG_DUMPLEASES=y
# CONFIG_DHCPRELAY is not set
CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
I tried on WP7609 FW 13, I can see udhcpc by default:
root@swi-mdm9x28-wp:~# udhcpc -h
udhcpc: option requires an argument -- 'h'
BusyBox v1.27.2 (2019-07-08 12:01:05 UTC) multi-call binary.
Usage: udhcpc [-fbqRB] [-a[MSEC]] [-t N] [-T SEC] [-A SEC/-n]
[-i IFACE] [-s PROG] [-p PIDFILE]
[-oC] [-r IP] [-V VENDOR] [-F NAME] [-x OPT:VAL]... [-O OPT]...
root@swi-mdm9x28-wp:~# cm info
Device: WP7609
IMEI: 359782080100399
IMEISV: 6
FSN: WA803370010610
Firmware Version: SWI9X07Y_02.28.03.05 000000 jenkins 2019/07/08 11:04:16
Bootloader Version: SWI9X07Y_02.28.03.05 000000 jenkins 2019/07/08 11:04:16
MCU Version:
PRI Part Number (PN): 9908102
PRI Revision: 001.000
Carrier PRI Name: GENERIC
Carrier PRI Revision: 002.073_000
SKU: 1103843
Last Reset Cause: Power Down
Resets Count: Expected: 107 Unexpected: 242
root@swi-mdm9x28-wp:~#
BTW, you can also use this binary download from
https://busybox.net/downloads/binaries/
busybox-armv5l_1.26 (1.1 MB)
root@swi-mdm9x28-wp:~# chmod 777 /tmp/busybox-armv5l_1.26
root@swi-mdm9x28-wp:~#
root@swi-mdm9x28-wp:~# /tmp/busybox-armv5l_1.26 udhcpc -h
udhcpc: option requires an argument: h
BusyBox v1.26.2 (2017-01-10 16:10:07 GMT) multi-call binary.
Usage: udhcpc [-fbqvRB] [-a[MSEC]] [-t N] [-T SEC] [-A SEC/-n]
[-i IFACE] [-s PROG] [-p PIDFILE]
[-oC] [-r IP] [-V VENDOR] [-F NAME] [-x OPT:VAL]... [-O OPT]...
-i,--interface IFACE Interface to use (default eth0)
-s,--script PROG Run PROG at DHCP events (default /usr/share/udhcpc/default.script)
-p,--pidfile FILE Create pidfile
-B,--broadcast Request broadcast replies
-t,--retries N Send up to N discover packets (default 3)
-T,--timeout SEC Pause between packets (default 3)
-A,--tryagain SEC Wait if lease is not obtained (default 20)
-n,--now Exit if lease is not obtained
-q,--quit Exit after obtaining lease
-R,--release Release IP on exit
-f,--foreground Run in foreground
-b,--background Background if lease is not obtained
-S,--syslog Log to syslog too
-a[MSEC],--arping[=MSEC] Validate offered address with ARP ping
-r,--request IP Request this IP address
-o,--no-default-options Don't request any options (unless -O is given)
-O,--request-option OPT Request option OPT from server (cumulative)
-x OPT:VAL Include option OPT in sent packets (cumulative)
Examples of string, numeric, and hex byte opts:
-x hostname:bbox - option 12
-x lease:3600 - option 51 (lease time)
-x 0x3d:0100BEEFC0FFEE - option 61 (client id)
-F,--fqdn NAME Ask server to update DNS mapping for NAME
-V,--vendorclass VENDOR Vendor identifier (default 'udhcp VERSION')
-C,--clientid-none Don't send MAC as client identifier
-v Verbose
Signals:
USR1 Renew lease
USR2 Release lease
1 Like
Thank you for your assistance. It helped me a lot
At the same time, I also found that there is another dhcp server program dnsmasq in the system