Device Descriptor Request Failed - "mass" example

I am using NCS v2 and VSCode extension on Windows 11.

I have two pieces of hardware I am testing with:

  • Adafruit nRF52840 Feather
  • Custom nRF52840 board

When I flash the 'mass' example on the feather, and plug the device into USB, I see a USB Mass Storage Device popup and I can open it from Explorer.

When I flash my custom board, then plug it in to USB, I see a brief flicker on Windows near the tray, but no popup, nothing visible from Explorer.

In PowerShell, as Admin, I run the following command and get output showing "Unknown USB Device (Device Descriptor Request Failed)."

Get-PnpDevice -PresentOnly | Where-Object { $_.InstanceId -match '^USB' }

...
Error      USB             Unknown USB Device (Device Descriptor Request Failed)                            USB\VID_0000...
...

So it seems the USB interfacing is at least partly working.  Can you help me narrow down what might be going wrong?

I read the datasheet for using the nRF52840 and USB and thought I wired it up correctly.

I route USBD- to USBD-, USBD+ to USBD+, and VBUS to the VBUS_5VDC pin.  VBUS also leads to a 3.3v regulator separately.  VDDH is tied to VDD.  All VBUS/VDD/VDDH are decoupled from ground with a 10uF cap.  I do not have an inline resistor on D+ or D-, as I have recently seen in other designs (which notably is not present in the nRF52840-DK).

My prj.conf file is this for the example:

CONFIG_STDOUT_CONSOLE=y

#USB related configs
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_DEVICE_PRODUCT="Zephyr MSC sample"
CONFIG_LOG=y
CONFIG_USB_DRIVER_LOG_LEVEL_ERR=y
CONFIG_USB_MASS_STORAGE=y
CONFIG_USB_DEVICE_LOG_LEVEL_ERR=y
CONFIG_USB_MASS_STORAGE_LOG_LEVEL_ERR=y

CONFIG_MAIN_STACK_SIZE=1536

CONFIG_HW_STACK_PROTECTION=y
CONFIG_USE_SEGGER_RTT=y






CONFIG_FAT_FILESYSTEM_ELM=y
CONFIG_DISK_DRIVER_RAM=y
CONFIG_APP_MSC_STORAGE_RAM=y
# CONFIG_APP_MSC_STORAGE_FLASH_FATFS=y



Thanks.

Related