Re: USB chip CH9102F

From: Daniel Braniss <>
Date: Thu, 15 Sep 2022 12:29:45 UTC

> On 14 Sep 2022, at 18:14, CeDeROM <> wrote:
> On Wed, Sep 14, 2022 at 3:43 PM Daniel Braniss wrote:
>> Hi,
>> is there/will there be any support for this chip? CH9102F.
>> there is a driver for linux and windows, but event though it sort of works on FreeBSD,
>> the magic needed to flash the firmware on newer esp32’s is not working.
> I also bought USB-C based UART-to-USB adapter from Waveshare with
> CH343G chip and use it for ESP32 flashing.
> This chip is a bit tricky and I have noticed it is less reliable for
> initial flashing on a custom ESP32 board (boot mode selection using
> RTS/CTS pins). It sometimes fails, while older USB-UART converters
> works fine.
> What are your problems exactly?
pampa> /vol/src/esp/current/components/esptool_py/esptool/ -p /dev/ttyU0 read_mac v3.3-dev
Serial port /dev/ttyU0
Failed to get PID of a device on /dev/ttyU0, using standard reset sequence.
Detecting chip type... ESP32-C3
Chip is ESP32-C3 (revision 3)
Features: Wi-Fi
Crystal is 40MHz
MAC: 7c:df:a1:a3:61:74
Uploading stub...

A fatal error occurred: Failed to write to target RAM (result was 01070000: Operation timed out)

> Are you sure this is not the custom hardware design issue?
no, it’ happens on several esp32s specially from m5stack

> Do you have Reset and BootSel pins on your board that you can trigger
> by hand in order to help USB-UART cable?
this particular onw, m6stack black/basic, has no gpio-0 available to enter
download mode, the older models have no problem with the usb-c
> What is your magic that you need to do in order to flash the chip successfully?
see the above.
some other boards I just connect gpio-0 to ground, or have to press a button before power on,
but I can flash. Also, as soon as I manage to flash, I can continue flashing over the air.

> Does standard operations (UART CLI) work as expected?
again, all boards/thingis i have no problem reading the console, and even writing
> Did you take a look at man stty and use stty crtscts <port> / stty
> -crtscts <port> to see if that fixes anything?

the initial (or when my software crashes) flashing is done via a python that does all the magic.
> --

well, it does feel better knowing i’m not the only one with this problem :-)