From aecf3f08180cf6b6a8f68c8ac94a77f223387fef Mon Sep 17 00:00:00 2001 From: Benedek Kupper Date: Tue, 25 Aug 2020 23:17:07 +0200 Subject: [PATCH] get rid of manual USB driver installation by using MS OS descriptors --- Config_FreeRTOS/usbd_config.h | 6 ++++++ README.md | 19 ------------------- USBDevice | 2 +- 3 files changed, 7 insertions(+), 20 deletions(-) diff --git a/Config_FreeRTOS/usbd_config.h b/Config_FreeRTOS/usbd_config.h index 2e6151f..3599373 100644 --- a/Config_FreeRTOS/usbd_config.h +++ b/Config_FreeRTOS/usbd_config.h @@ -42,6 +42,12 @@ extern "C" * protocol (v1.1A) shall be used instead of the standard DFU (v1.1). */ #define USBD_DFU_ST_EXTENSION 1 +/** @brief Selects which Microsoft OS descriptor specification should be used (if any). + * Supported values are: 0, 1, 2 + * @note Microsoft OS 2.0 descriptors are supported by Windows 8.1 and higher. + * Unless the device is required to operate on earlier Windows OS versions, use version 2. */ +#define USBD_MS_OS_DESC_VERSION 2 + /** @} */ /** @} */ diff --git a/README.md b/README.md index 3f3b6a0..18ae6ef 100644 --- a/README.md +++ b/README.md @@ -24,25 +24,6 @@ There are two possible supported software configurations: * Reprogramming via USB supported by DFU interface (DFU standard implementation to reboot to ROM) * [FreeRTOS][FreeRTOS] variant allows the choice of any lwIP APIs to be used by the application -## Driver installation on Windows 10 - -Even though NCM is a standardized USB protocol (unlike RNDIS), and the necessary driver -is already included by Microsoft, Windows doesn't bind the appropriate driver to it automatically. -Here's a step by step guide to install the correct driver: - -1. Find the NCM interface device in Device Manager under "Other devices" (it goes under the name "LwIP gateway" -2. Browse the computer for driver software -3. Pick from available driver list -4. Select "Network adapters" as device type -5. Select "MSFT" manufacturer (it's code for Microsoft), "UsbNcm Host Device" model -6. Profit - -In case you also want to use the bootloader functionality, -you have to perform these steps for the "STM32 BOOTLOADER" device as well. The parameters are: -- Device type = Universal Serial Bus devices -- Manufacturer = STMicroelectronics -- Model = STM32 BOOTLOADER - [FreeRTOS]: https://www.freertos.org/ [lwIP]: https://savannah.nongnu.org/projects/lwip/ [USBDevice]: https://github.com/IntergatedCircuits/USBDevice diff --git a/USBDevice b/USBDevice index 386d9f9..a4d67ef 160000 --- a/USBDevice +++ b/USBDevice @@ -1 +1 @@ -Subproject commit 386d9f90f40b49c9929b0c25b88174493f53385d +Subproject commit a4d67efafbff9e6dc96aeb9cc02c11739ad3bd98