diff --git a/components/tinyusb_dfu/additions/src/tinyusb.c b/components/tinyusb_dfu/additions/src/tinyusb.c index 9c2081c..0bf7003 100644 --- a/components/tinyusb_dfu/additions/src/tinyusb.c +++ b/components/tinyusb_dfu/additions/src/tinyusb.c @@ -54,6 +54,14 @@ esp_err_t tinyusb_driver_install(const tinyusb_config_t *config) ESP_RETURN_ON_ERROR(usb_new_phy(&phy_conf, &phy_hdl), TAG, "Install USB PHY failed"); dev_descriptor = config->descriptor ? config->descriptor : &descriptor_kconfig; + if (!config->string_descriptor) { // use configured strings + // set MAC as serial + uint8_t mac[6]; + esp_read_mac(mac, ESP_MAC_ETH); + static char usb_serial[13] = {0}; + snprintf(usb_serial, sizeof(usb_serial), "%02X%02X%02X%02X%02X%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + descriptor_str_kconfig[3] = usb_serial; + } string_descriptor = config->string_descriptor ? config->string_descriptor : descriptor_str_kconfig; tusb_set_descriptor(dev_descriptor, string_descriptor);