Procházet zdrojové kódy

fix(demo/cdc_ecm_template): device tcp/ip stack mac can't same as host

sakumisu před 1 rokem
rodič
revize
35807fb9d9
1 změnil soubory, kde provedl 3 přidání a 2 odebrání
  1. 3 2
      demo/cdc_ecm_template.c

+ 3 - 2
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));