From 35807fb9d90923892dba990f2b0788590ad93bcd Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Thu, 27 Jun 2024 22:36:33 +0800 Subject: [PATCH] fix(demo/cdc_ecm_template): device tcp/ip stack mac can't same as host --- demo/cdc_ecm_template.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/demo/cdc_ecm_template.c b/demo/cdc_ecm_template.c index eca74bc6..fd58a299 100644 --- a/demo/cdc_ecm_template.c +++ b/demo/cdc_ecm_template.c @@ -215,6 +215,7 @@ void cdc_ecm_lwip_init(void) netif->hwaddr_len = 6; memcpy(netif->hwaddr, mac, 6); + netif->hwaddr[5] = ~netif->hwaddr[5]; /* device mac can't same as host. */ netif = netif_add(netif, &ipaddr, &netmask, &gateway, NULL, cdc_ecm_if_init, netif_input); netif_set_default(netif); @@ -264,14 +265,14 @@ struct usbd_interface intf0; struct usbd_interface intf1; /* ecm only supports in linux, and you should input the following command - * + * * sudo ifconfig enxaabbccddeeff up * sudo dhcpclient enxaabbccddeeff */ void cdc_ecm_init(uint8_t busid, uint32_t reg_base) { cdc_ecm_lwip_init(); - + usbd_desc_register(busid, cdc_ecm_descriptor); usbd_add_interface(busid, usbd_cdc_ecm_init_intf(&intf0, CDC_INT_EP, CDC_OUT_EP, CDC_IN_EP)); usbd_add_interface(busid, usbd_cdc_ecm_init_intf(&intf1, CDC_INT_EP, CDC_OUT_EP, CDC_IN_EP));