cancel
Showing results for 
Search instead for 
Did you mean: 

USB HS Device Losing Status of Configured

jvavra
Associate III
Posted on September 02, 2014 at 14:16

EDIT: Disregard. I was missing a breakpoint on USBD_RESET; my host is indeed trying to reset my device.

I've got a USB HS device based on the STM4 I am attempting to transfer some data using several back-to-back calls to the USBD_HID_SendReport function from the USB Device library on EP1. The issue I am seeing is that when sending the first report, the device status of my device gets changed from USB_OTG_CONFIGURED (value of 3) to USB_OTG_DEFAULT (value of 1). My host then sees the device is not configured, and tries to re-enumerate it all over again. I am able to pinpoint the location of where this happens to here:

/* EP enable, IN data in FIFO */<

br

> depctl.b.cnak = 1;<

br

> depctl.b.epena = 1;<

br

> USB_OTG_WRITE_REG32(&pdev->regs.INEP_REGS[ep->num]->DIEPCTL, depctl.d32);

After I execute the next line, I can see the device_status value change to 1. However, there are no calls or anything that should be performing this. I set breakpoints in the three locations device_status is set to 1, and it never hits any of these. Further, if I single-step through the assembler code, this does not happen: the device stays at device_status = 3. Anyone have any ideas? #stm32-usb-hs
0 REPLIES 0