From ab5afb368943e76f9f41e8d0cd75abf5b6508108 Mon Sep 17 00:00:00 2001 From: rbb666 Date: Fri, 24 Oct 2025 17:34:27 +0800 Subject: [PATCH] cherryusb:Fixed the issue where the USB device in the cdc_rndis_template example could not enable DHCP. --- .../drivers/usb/cherryusb/demo/cdc_rndis_template.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/components/drivers/usb/cherryusb/demo/cdc_rndis_template.c b/components/drivers/usb/cherryusb/demo/cdc_rndis_template.c index ff9526413a..c7bda9316b 100644 --- a/components/drivers/usb/cherryusb/demo/cdc_rndis_template.c +++ b/components/drivers/usb/cherryusb/demo/cdc_rndis_template.c @@ -189,14 +189,14 @@ void usbd_rndis_data_send_done(uint32_t len) #error rndis must enable RT_LWIP_DHCP #endif -#ifndef LWIP_USING_DHCPD -#error rndis must enable LWIP_USING_DHCPD +#ifdef LWIP_USING_DHCPD +#include #endif #include #include #include -#include +#include struct eth_device rndis_dev; @@ -250,7 +250,14 @@ void rndis_lwip_init(void) eth_device_init(&rndis_dev, "u0"); eth_device_linkchange(&rndis_dev, RT_TRUE); +#ifdef LWIP_USING_DHCPD dhcpd_start("u0"); +#else + struct netdev *netdev = netdev_get_by_name("u0"); + if (netdev) { + netdev_dhcp_enabled(netdev, RT_TRUE); + } +#endif } void usbd_rndis_data_recv_done(uint32_t len)