1. 程式人生 > 其它 >嵌入式裝置使用 busybox 開啟 udhcpd 功能

嵌入式裝置使用 busybox 開啟 udhcpd 功能

技術標籤:# 網路嵌入式Linuxudhcpdudhcpd.leases

一、編譯 busybox

開啟遍選項(.config 檔案)
CONFIG_UDHCPD=y

二、編輯配置檔案

start	192.168.101.200
end		192.168.101.254

interface ra0

三、下載、啟動

/# udhcpd -f /root/udhcpd.conf &
/# udhcpd: bad line 3: 1 tokens found, 2 needed
udhcpd: started, v1.31.1
udhcpd: max_leases=235 is too big, setting to 155
udhcpd: can't open '
': No such file or directory up and configured?: No such device [1]+ Done(1) udhcpd -f /root/udhcpd.conf

報錯了。。。找不到 leases 的配置檔案

四、解決

CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
CONFIG_DHCPD_LEASES_FILE="/var/udhcpd.leases"

五、開機

/# touch /var/udhcpd.leases
/# ifconfig ra0 192.168.101.199
/# udhcpd -f udhcpd.conf &

六、測試

手機連線 WiFi,提示連線成功,獲取到 IP 地址 192.168.101.200,閘道器 192.168.101.199
同時,閘道器顯示:

udhcpd: sending OFFER to 192.168.101.200
udhcpd: sending ACK to 192.168.101.200

七、進階

/# hexdump -C /var/udhcpd.leases 
00000000  00 00 00 00 38 6d a4 d2  00 0d 2f 00 c0 a8 65 c8  |....8m..../...e.|
00000010  00 08 22 16 d5 fb 4d 45  49 5a 55 2d 4d 58 35 00  |
.."...MEIZU-MX5.| 00000020 00 00 00 00 00 00 00 00 00 00 00 00 |............| 0000002c

從 /var/udhcpd.leases 可以看到如下資訊:
裝置名稱:MEIZU-MX5
裝置MAC:00:08:22:16:D5:FB
裝置獲取的IP:192.168.101.200