diff options
| author | rbb666 <[email protected]> | 2025-10-24 17:34:27 +0800 |
|---|---|---|
| committer | R b b666 <[email protected]> | 2025-10-27 17:31:55 +0800 |
| commit | ab5afb368943e76f9f41e8d0cd75abf5b6508108 (patch) | |
| tree | 54e1e43dd8a0b6a0c15cc5ed3261ec5586382b96 | |
| parent | e5556be19fd5ac4212e20f94fdd51b828298de39 (diff) | |
cherryusb:Fixed the issue where the USB device in the cdc_rndis_template example could not enable DHCP.
| -rw-r--r-- | components/drivers/usb/cherryusb/demo/cdc_rndis_template.c | 13 |
1 files 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 <dhcp_server.h> #endif #include <rtthread.h> #include <rtdevice.h> #include <netif/ethernetif.h> -#include <dhcp_server.h> +#include <netdev.h> 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) |
