Requirements for proper USB being detected in linux

I’m trying to port to a new STM32H743 based board of my own design. Its broadly in the same as a KakuteH7mini-nand in capability. I’m having an issue with detecting the bootloader via USB after its been uploaded following Loading a bootloader with DFU — Dev documentation and Porting to a new flight controller board — Dev documentation

So the MCU has power, I can upload it in DFU mode, my dev computer detects the MCU in DFU mode however when the bootloader is running it cannot detect the USB.

What are the minimum hardware requirements for use of the bootloader. I have the following hwdef_bl.dat:

# hw definition file for processing by chibios_pins.py
# for Holybro KakuteH7Mini bootloader

# MCU class and specific type
MCU STM32H7xx STM32H743xx

# board ID for firmware load
APJ_BOARD_ID 1958

# crystal frequency, setup to use external oscillator
OSCILLATOR_HZ 8000000

FLASH_SIZE_KB 2048

# bootloader starts at zero offset
FLASH_RESERVE_START_KB 0

# the location where the bootloader will put the firmware
FLASH_BOOTLOADER_LOAD_KB 128

#define HAL_STORAGE_SIZE 32768

# order of UARTs (and USB)
SERIAL_ORDER OTG1

# PA9 Senses USB as being connected.
PA8 VBUS INPUT OPENDRAIN

# PA10 IO-debug-console
PA11 OTG_FS_DM OTG1
PA12 OTG_FS_DP OTG1

PA13 JTMS-SWDIO SWD
PA14 JTCK-SWCLK SWD

PC13 BUZZER OUTPUT LOW PULLDOWN

PC2 LED_BOOTLOADER OUTPUT HIGH
define HAL_LED_ON 1

# default to all pins low to avoid ESD issues
DEFAULTGPIO OUTPUT LOW PULLDOWN

# Add CS pins to ensure they are high in bootloader
PE4 IMU_CS CS
#PB12 MAX7456_CS CS
PA4 FLASH_CS CS

## pull up VTX power
#PB11 VTX_PWR OUTPUT HIGH GPIO(81)

Is the VBUS INPUT essential for usb operation? I cant see it being used in the bootloader except as a flag for running the main application ardupilot/Tools/AP_Bootloader/AP_Bootloader.cpp at bb2249f7667bfbf8dee724c2b0591d9a67f1b86d · ArduPilot/ardupilot · GitHub

It could well be that my USB Differential Pair hardware implementation could be to blame, but its very short (5mm) and I would expect it to fail in DFU mode if this was the issue.

Is the VBUS INPUT in the hwdef essential for USB operation?

Here is a similar symptoms: Pixhawk cube usb connection without carrier board or on cutom board

Any thoughts on debugging this problem or more info on the USB implementation.

Hi @tridge, I can see you wrote the bootloader, is there a way to enable some debugging output to show that it is running. Even something simple like flashing the LED0. I’d like to know the bootloader is running and not stuck or that the chip is in reset or damaged.

100% design error in oscillator design. MCU not working with external oscillator.