EG915N-EU (on EVB) ESP32S3 esp-modem (USB connection) USB_BOOT only enumeration

Hi All,
I’m developing a board using EG915N-EU module connecting to ESP32-S3 modem port.

When I connect the EVB to windows the USB ports enumerate correctly (Vid: 0x2C7C Pid 0x6002), but when I connect to my hardware (ESP32S3-devkit) I get the USB_BOOT port only (Vid: 0x2ECC Pid 0x3004).
I have no GPIO lines connected between the devkit and EVB (I manually do the PWRKEY). Using external 5A PSU so it’s not a power thing.

My question is how can I get past the USB_BOOT port enumeration - tyo the actual modem ports, without having GPIO connections to the EVB please?

Thanks very much in advance for your help.

This is the enumeration of the USB_BOOT port currently:
debug_log:
(15800) modem_board: Waiting for modem initialize ready
I (20800) USB_HCDC: iot_usbh_cdc, version: 0.1.3
I (20800) IOT_USBH: iot_usbh, version: 0.1.2
I (20830) IOT_USBH: USB Port=1 init succeed, fifo strategy=0
I (20830) USB_HCDC: CDC task start
I (20830) IOT_USBH: usb port start succeed
I (20834) USB_HCDC: usbh cdc driver install succeed
I (20839) USB_HCDC: Waiting CDC Device Connection
I (20845) IOT_USBH: USB Processing Start
I (20849) IOT_USBH: Waiting USB Connection
I (20854) IOT_USBH: Port power: ON Succeed
I (50937) IOT_USBH: line 131 PORT_EVENT_CONNECTION
I (51037) IOT_USBH: Resetting Port
I (51097) IOT_USBH: Port reset succeed
I (51097) IOT_USBH: Getting Port Speed
I (51097) IOT_USBH: USB Speed: full-speed
I (51100) IOT_USBH: Pipe init succeed, addr: 00
I (51105) IOT_USBH: Set Device Addr = 1
I (51109) IOT_USBH: Set Device Addr Done
I (51114) IOT_USBH: get device desc
I (51119) IOT_USBH: get device desc, actual_num_bytes:26
*** Device descriptor ***
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0x2
bDeviceSubClass 0x2
bDeviceProtocol 0x0
bMaxPacketSize0 64
idVendor 0x2ecc
idProduct 0x3004
bcdDevice 0.00
iManufacturer 1
iProduct 2
iSerialNumber 3
bNumConfigurations 1
I (51147) IOT_USBH: get short config desc
I (51153) IOT_USBH: get config desc, actual_num_bytes:16
I (51158) IOT_USBH: get full config desc
I (51164) IOT_USBH: get full config desc, actual_num_bytes:75
*** Configuration descriptor ***
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 4
bmAttributes 0xc0
bMaxPower 0mA
*** Interface descriptor ***
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 0x2
bInterfaceSubClass 0x2
bInterfaceProtocol 0x0
iInterface 5
*** Endpoint descriptor ***
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 0x3 INT
wMaxPacketSize 10
bInterval 1
*** Interface descriptor ***
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 0xa
bInterfaceSubClass 0x0
bInterfaceProtocol 0x0
iInterface 6
*** Endpoint descriptor ***
bLength 7
bDescriptorType 5
bEndpointAddress 0x2 EP 2 OUT
bmAttributes 0x2 BULK
wMaxPacketSize 64
bInterval 0
*** Endpoint descriptor ***
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 0x2 BULK
wMaxPacketSize 64
bInterval 0
I (51262) IOT_USBH: Set Device Configuration = 1
I (51268) IOT_USBH: Set Device Configuration Done
I (51273) IOT_USBH: Pipe init succeed, addr: 86
I (51278) IOT_USBH: Pipe init succeed, addr: 04
I (51283) USB_HCDC: CDC Device Connected
I (51288) esp-modem: --------- Modem PreDefined Info ------------------
I (51295) esp-modem: Model: BG96MA
I (51299) esp-modem: Modem itf: IN Addr:0x86, OUT Addr:0x04
I (51305) esp-modem: ----------------------------------------------------
I (51313) gpio: GPIO[12]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (51322) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (51332) USB_HCDC: rx0 flush -0 = 0
W (51336) USB_HCDC: Itf:0 ep: 0x86 PIPE_EVENT_ERROR_XFER
W (51342) USB_HCDC: Itf:0 ep: 0x04 PIPE_EVENT_ERROR_XFER
I (51348) 4g_main: Modem Board Event: USB connected
I (51348) modem_board: DTE reconnect, reconnecting …

W (51514) IOT_USBH: line 135 PORT_EVENT_DISCONNECTION
I (51514) IOT_USBH: hcd port state = 7
I (51515) USB_HCDC: CDC task Reset
W (51517) IOT_USBH: pipe=0x3fcb9064 clear failed
W (51522) USB_HCDC: in pipe flush failed
I (51527) IOT_USBH: iot_usbh_pipe_deinit: pipe state = 1
I (51533) IOT_USBH: Pipe deinit succeed, addr: 86
W (51538) IOT_USBH: pipe=0x3fcb9118 clear failed
W (51544) USB_HCDC: out pipe flush failed
I (51548) IOT_USBH: iot_usbh_pipe_deinit: pipe state = 1
I (51554) IOT_USBH: Pipe deinit succeed, addr: 04
I (51560) USB_HCDC: rx0 flush -0 = 0
I (51564) USB_HCDC: tx0 flush -0 = 0
W (51568) IOT_USBH: Resetting USB Driver
W (51568) 4g_main: Modem Board Event: USB disconnected
W (51573) IOT_USBH: Resetting default pipe
W (51684) IOT_USBH: pipe=0x3fcb3bcc clear failed
I (51684) IOT_USBH: iot_usbh_pipe_deinit: pipe state = 1
I (51684) IOT_USBH: Pipe deinit succeed, addr: 00
I (51690) IOT_USBH: hcd recovering
I (51694) IOT_USBH: Port power: ON Succeed
I (51798) IOT_USBH: Waiting USB Connection
I (52360) modem_board: reconnect after 5s…

Hi @lebies
Is this problem solved?

Hi , yes seems that it jumped into flash mode.

idVendor 0x2ecc
idProduct 0x3004
You can measure the USB_BOOT with an oscilloscope.

And why did the device disconnect?

anyone managed to resolve this issue, also facing the same error??

It might be hardware problem.

Hardware problem from the ESP32 side or the Quectel Modem?

When the module is powered on, it will go through a stage, appearing the vendor VID of the chip such as 0x2ecc, but after the module is powered on, 2C7C will appear. So it actually go through two stages of enumeration.
You should let the MCU enumerate again.

Mmmm will try and feedback, But the MCU is always waiting for the module to enumerate again see image attached.
usb_w

I know that there is an example of Quectel BG96 in the ESP32S3. Does you just try that example?

Hi Bean managed to get the USB working, thanks a lot for assisting.