stlink: ST-Link V2 clone: "unknown chip id! 0x3748" after FW update to V2J37S7

  • Programmer/board type: [v2-clone]
  • Programmer firmware version: [V2J37S7]
  • Operating system and version: [macOS]
  • Stlink tools version and/or git commit hash: [1.6.1] (homebrew version)
  • Stlink commandline tool name: [All]
  • Target chip (and board if applicable): [none]

Commandline-Output:

$ st-flash --debug erase                                                                                                                                                                             
st-flash 1.6.1
2020-08-05T00:04:19 DEBUG common.c: *** looking up stlink version
2020-08-05T00:04:19 DEBUG common.c: st vid         = 0x0483 (expect 0x0483)
2020-08-05T00:04:19 DEBUG common.c: stlink pid     = 0x3748
2020-08-05T00:04:19 DEBUG common.c: stlink version = 0x2
2020-08-05T00:04:19 DEBUG common.c: jtag version   = 0x25
2020-08-05T00:04:19 DEBUG common.c: swim version   = 0x7
2020-08-05T00:04:19 DEBUG common.c: *** looking up stlink version
2020-08-05T00:04:19 DEBUG common.c: st vid         = 0x0483 (expect 0x0483)
2020-08-05T00:04:19 DEBUG common.c: stlink pid     = 0x3748
2020-08-05T00:04:19 DEBUG common.c: stlink version = 0x2
2020-08-05T00:04:19 DEBUG common.c: jtag version   = 0x25
2020-08-05T00:04:19 DEBUG common.c: swim version   = 0x7
2020-08-05T00:04:19 DEBUG common.c: stlink current mode: mass
2020-08-05T00:04:19 DEBUG usb.c: JTAG/SWD freq set to 0
2020-08-05T00:04:19 DEBUG common.c: *** set_swdclk ***
2020-08-05T00:04:19 DEBUG common.c: stlink current mode: mass
2020-08-05T00:04:19 DEBUG common.c: *** stlink_enter_swd_mode ***
2020-08-05T00:04:19 DEBUG common.c: *** stlink_jtag_reset ***
2020-08-05T00:04:19 DEBUG common.c: *** stlink_reset ***
2020-08-05T00:04:19 DEBUG common.c: *** stlink_write_debug32 5fa0004 to 0xe000ed0c
2020-08-05T00:04:19 DEBUG common.c: Loading device parameters....
2020-08-05T00:04:19 DEBUG common.c: *** stlink_core_id ***
2020-08-05T00:04:19 DEBUG common.c: core_id = 0x00003748
2020-08-05T00:04:19 DEBUG common.c: *** stlink_read_debug32 3748 is 0xe0042000
2020-08-05T00:04:19 WARN common.c: unknown chip id! 0x3748
Failed to connect to target

$ st-info --probe                                                                                                                                                                                    
Found 1 stlink programmers
 serial:     513f6a06506752541626213f
 hla-serial: "\x51\x3f\x6a\x06\x50\x67\x52\x54\x16\x26\x21\x3f"
 flash:      0 (pagesize: 0)
 sram:       0
 chipid:     0x0748

$ st-util -v99                                                                                                                                                                                                
st-util
2020-08-05T00:05:06 DEBUG common.c: *** looking up stlink version
2020-08-05T00:05:06 DEBUG common.c: st vid         = 0x0483 (expect 0x0483)
2020-08-05T00:05:06 DEBUG common.c: stlink pid     = 0x3748
2020-08-05T00:05:06 DEBUG common.c: stlink version = 0x2
2020-08-05T00:05:06 DEBUG common.c: jtag version   = 0x25
2020-08-05T00:05:06 DEBUG common.c: swim version   = 0x7
2020-08-05T00:05:06 DEBUG common.c: *** looking up stlink version
2020-08-05T00:05:06 DEBUG common.c: st vid         = 0x0483 (expect 0x0483)
2020-08-05T00:05:06 DEBUG common.c: stlink pid     = 0x3748
2020-08-05T00:05:06 DEBUG common.c: stlink version = 0x2
2020-08-05T00:05:06 DEBUG common.c: jtag version   = 0x25
2020-08-05T00:05:06 DEBUG common.c: swim version   = 0x7
2020-08-05T00:05:06 DEBUG common.c: stlink current mode: mass
2020-08-05T00:05:06 DEBUG usb.c: JTAG/SWD freq set to 0
2020-08-05T00:05:06 DEBUG common.c: *** set_swdclk ***
2020-08-05T00:05:06 DEBUG common.c: stlink current mode: mass
2020-08-05T00:05:06 DEBUG common.c: *** stlink_enter_swd_mode ***
2020-08-05T00:05:06 DEBUG common.c: *** stlink_jtag_reset ***
2020-08-05T00:05:06 DEBUG common.c: *** stlink_reset ***
2020-08-05T00:05:06 DEBUG common.c: *** stlink_write_debug32 5fa0004 to 0xe000ed0c
2020-08-05T00:05:06 DEBUG common.c: Loading device parameters....
2020-08-05T00:05:06 DEBUG common.c: *** stlink_core_id ***
2020-08-05T00:05:06 DEBUG common.c: core_id = 0x00003748
2020-08-05T00:05:06 DEBUG common.c: *** stlink_read_debug32 3748 is 0xe0042000
2020-08-05T00:05:06 WARN common.c: unknown chip id! 0x3748
2020-08-05T00:05:06 DEBUG common.c: *** stlink_reset ***
2020-08-05T00:05:06 DEBUG common.c: *** stlink_write_debug32 5fa0004 to 0xe000ed0c
2020-08-05T00:05:06 DEBUG gdb-server.c: Chip ID is 0x00000748, Core ID is 0x003748.
2020-08-05T00:05:06 INFO gdb-server.c: Listening at *:4242...

Possible duplicate of #956

V2 clone was working just fine, noticed it was on older firmware, upgraded it with STSW-LINK007 (2.37.26) - STLinkUpgrade 3.3.4 to version V2J37S7.

Upgrade went fine, but independent of what is connected to the programmer I’m getting the unknown chip id! 0x3748 error. Tested with known good board (bluepill).

this comment in #956 reports 1.6.1 working with a V2 Clone with firmware V2J37S7. So I have no clue what’s going wrong here.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 36 (9 by maintainers)

Most upvoted comments

I managed to solve this problem, by following what has been stated here and here

Windows (ST-Link Utility)

Using ST-Link Utility

  1. In ST-Link Utility go to Settings -> Mode -> Connect under reset
  2. Then connect the last board you used before it malfunctioned (I’m not entirely sure if it has to be that board or you can use any other board which has a reset button) with your ST-Link V2 and hold RESET button of that board
  3. Click “connect to the target” , just after clicking, release the RESET button
  4. Then click “Target” -> “Erase chip”

ST-Link Utility

Using st-flash on All Platforms

  1. Tap RESET , do not hold
  2. Quickly execute this command
    st-flash --connect-under-reset --reset erase
    

If you want to re-flash without erasing you can do this on st-flash

  1. Tap RESET , do not hold
  2. Quickly execute your flash command
    st-flash --connect-under-reset —reset --format binary write /path/to/file.bin 0x8000000
    
  • Programmer/board type: [v2-clone]
  • Programmer firmware version: [V2J36S7] and [V2J37S7]
  • Operating system and version: [macOS Catalina]
  • Stlink tools version and/or git commit hash: [1.6.1] (homebrew version) + lastest master baab8ca

FWIW, I can reproduce the same behavior as seen by @JelmerT with several bluepill (STM32F103) boards on both 1.6.1 and latest master after a recent firmware update to versions V2J36S7 and V2J37S7.

Interestingly, STM32F401 controllers still get detected fine:

$ st-info --probe Found 1 stlink programmers serial: 573f6f06483f52553241063f hla-serial: “\x57\x3f\x6f\x06\x48\x3f\x52\x55\x32\x41\x06\x3f” flash: 262144 (pagesize: 16384) sram: 65536 chipid: 0x0423 descr: F4xx (low power)