diff options
| author | sakumisu <[email protected]> | 2024-06-27 22:36:33 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2024-06-28 16:33:45 +0800 |
| commit | 35807fb9d90923892dba990f2b0788590ad93bcd (patch) | |
| tree | f87db67584d5398f69370fba88c90383c1aa0dad | |
| parent | 6e7502ec07b296919c882162519eb62b2fd3358d (diff) | |
fix(demo/cdc_ecm_template): device tcp/ip stack mac can't same as host
| -rw-r--r-- | demo/cdc_ecm_template.c | 5 |
1 files 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)); |
