Browse Wiki

CAN Firmware Flashing Do's and Don'ts

Firmware download over CAN begins with a short handshake between the PC host tool and the charger's bootloader. If the physical layer, baud rate, power-up timing or grounding is incorrect, the handshake never completes and the tool reports "Handshake failed" or stays at "Handshaking…". A failed handshake does no damage; the charger keeps its existing firmware. A disconnection during the write phase corrupts the firmware, and the unit must then be recovered or scrapped. Most of the rules on this page exist to protect the write phase.

Handshake failed = no damage. Switch AC OFF, wait at least 45 seconds, and try again.
Cable moved or power lost while writing = charger destroyed. Hands off from Starting… until Completed.
Document no. Programming-001
Revision 01
Issue date 18.09.2026
Host tool Solterra DownloadTool V2.07.03

Applies to on-board chargers and rectifier modules flashed via CAN, by production, quality, service and R&D personnel using a USB-CAN adapter and the approved PC host tool.

Terminology

Four words this page uses in a precise sense.

Term Definition
Handshake Initial request / response exchange between the host tool and the charger bootloader.
Bootloader window Short interval (about 2 seconds) after AC power-up during which the bootloader listens on CAN before jumping to the application firmware.
Termination 120 Ω resistor connected across CANH–CANL at each physical end of the bus.
Bricked Charger with a corrupted or incomplete firmware image that no longer boots or responds.

1. What You Need At The Station

Check the station before the first unit of the shift. Do not start without every item.

USB-CAN adapter

CANalyst-II (Chuangxin) or PEAK PCAN-USB. Driver installed.

USB data cable

Short, data-rated. No extension cable. No unpowered hub.

CAN cable

Short twisted pair for CANH and CANL. Good connectors.

120 Ω resistor

For the charger end, if the charger has no resistor inside.

ESD wrist strap

Clipped to the bench earth point.

Multimeter

To check the wiring and the 60 Ω bus reading.

PC with DownloadTool

Version 2.07.03. On mains power. Sleep off. No other CAN software.

Correct .hex file

For this model, hardware revision and part number.

2. Procedure — Do The Steps In This Order

Words in boxes are exactly what you see on the DownloadTool screen.

1

Power OFF and protect

Charger AC switch OFF. Put on the ESD wrist strap and clip it to the bench earth point. Connect the earth (PE) wire of the charger input cable.

2

Connect CAN

Adapter CANH to charger CANH. Adapter CANL to charger CANL. Fit the 120 Ω resistor at the charger end if the charger has none inside. Multimeter across CANH and CANL, power still OFF: about 60 Ω.

3

Connect USB

Adapter to a rear USB port of the PC, or to a powered hub. Close every other CAN or diagnostic program.

4

Set up DownloadTool

Open DownloadTool on the Config | Update tab. Set Device Type to CAN and BaudRate to CAN250K. Do not change CAN TX ID, CAN RX ID, Channel or TimeOut(ms).

On screen Config | UpdateDevice Type = CANBaudRate = CAN250K
5

Select the file

Click the ... button next to Path. Choose the .hex file for this model. Check model, hardware revision and part number.

On screen Path...
6

Open the device

Click Open Device. The screen must show Device initialize success! If it shows Failed to open device!, use the table in section 7.

On screen Open DeviceDevice initialize success!
7

Start the update — 2 seconds

Click Update. The screen shows Handshaking... Within 2 seconds switch the charger AC ON. This is sequence A. If it fails: AC OFF, wait at least 45 seconds, then sequence B: AC ON first, then click Update within 2 seconds.

On screen UpdateHandshaking...
8

Hands off

The screen shows Starting... Erasing... Transferring... (bar 0 to 100 %) Verifying... Completed and then Reset. Touch nothing until Completed. Not the cables, not the AC switch, not the PC.

On screen Starting...Erasing...Transferring...Verifying...Completed
9

Finish

Wait for Completed and Reset. Switch AC OFF. Click Close Device. Disconnect CAN and USB.

On screen Close Device
10

If it fails

Update failed while Handshaking... = no damage. Use the table in section 7 and try again. Failure after the bar started moving = STOP. Do not retry. Quarantine the unit (section 6).

Handshaking...

Fails here = no damage. Retry.

Starting...Erasing...Transferring...Verifying...

Hands off. A break here destroys the charger.

CompletedReset

Only now switch AC OFF and click Close Device.

3. The 2-Second Window

The charger listens for the tool for only 2 seconds after AC ON. The click on Update and AC ON must be less than 2 seconds apart, in either order. The work instruction calls these Method A and Method B; they are the two power-on timing sequences within CAN flashing, not the CAN / UART route choice used elsewhere in the programming guide.

Sequence A

Use this first
  1. 1 Click Update
  2. 2 Switch AC ON within 2 seconds
Handshake OK · writing starts · hands off

Sequence B

Only if A fails
  1. 1 Switch AC ON
  2. 2 Click Update within 2 seconds
Handshake OK · writing starts · hands off

Too late

Window missed
  1. 1 AC ON
  2. 2 Click Update after the window has closed
Old firmware running · tool ignored · Update failed · no damage
Set every field first. Keep the AC switch within reach. Then do the two actions. Missed the window? Switch AC OFF and wait at least 45 seconds before you start again, so the charger discharges fully. A quick OFF–ON does not restart the charger's bootloader.

4. Wiring Check — Power OFF

Twisted pair, like to like, one 120 Ω resistor at each end. Measure across CANH–CANL with everything OFF.

Reading Meaning
≈ 60 Ω Both 120 Ω resistors present. The bus is correctly terminated.
≈ 120 Ω One resistor missing. Fit the 120 Ω at the charger end.
Open circuit (OL) No resistor, or a broken wire. Find and fix it before power ON.
Wires crossed (CANH to CANL) or a missing 120 Ω resistor both give an endless Handshaking… or random failures. Without the resistor the update can succeed once and fail the next time, usually halfway through the write.

5. Before Power ON

Everything in this section happens with the charger AC switch OFF.

Pre-Flash Setup

Do

Required
  1. Check the wires with a multimeter. CANH to CANH, CANL to CANL, nothing crossed. Bus reads about 60 Ω with power OFF.

  2. Set the baud rate. CAN250K first. If the handshake keeps failing: AC OFF, wait 45 s, then try CAN500K, then CAN125K.

  3. Fit the 120 Ω resistor. Across CANH–CANL at the charger end if the charger has none inside. One resistor at each end of the bus.

  4. Connect the earth wire. The PE wire of the charger input cable must be firmly connected. No earth = random failures.

  5. Use a good USB port. Rear port of the PC or a powered hub. At least 1000 mA. Data cable, not a charge-only cable.

  6. Load the correct .hex file. Check model, hardware revision and part number before power ON.

  7. Wear the ESD wrist strap. Clipped to the bench earth point. Every unit, every time.

  8. Close other CAN software. A CAN monitor, a diagnostic tool or a second DownloadTool window blocks the adapter.

  9. Keep the AC switch within reach. You have 2 seconds. Set up everything first, then start.

Pre-Flash Setup

Do Not

Do Not
  1. Skip the 120 Ω resistor. "It worked before" is not a reason. Without it the write can fail halfway.

  2. Change the baud rate with the charger ON. AC OFF first and wait 45 s. Change the rate. Start again from step 7.

  3. Use an unpowered hub or a long USB extension. No laptop on battery either. The adapter drops out during the write.

  4. Flash a unit with a loose connector or damaged cable. Repair the connection first. A drop-out during the write destroys the firmware.

  5. Click Update again and again. If Handshaking... does not end: AC OFF and find the cause in the table.

  6. Switch AC OFF and ON quickly. Switch OFF and wait at least 45 seconds so the charger discharges fully. A quick toggle does not restart the bootloader.

  7. Start the tool minutes after power ON. The 2-second window has closed. The charger is running its old firmware.

  8. Use J-Flash V8.00 or newer, or an unofficial tool. See section 6. Only the approved DownloadTool build.

6. Never During The Write

From Starting… until Completed the charger's memory is being erased and rewritten. Any break leaves a corrupted image.

Critical · Risk Of Bricking

Hands off until the screen shows Completed

Do Not
  • Do not touch, move or re-plug the CAN cable or the USB cable.
  • Do not switch the charger AC OFF.
  • Do not close DownloadTool. Do not let the PC sleep.
  • Do not plug in or remove any other USB device.
  • Do not start any other program, Windows update or virus scan.
  • Do not knock the bench or pull on the unit.

A break while the bar is moving corrupts the firmware. The charger will not start again.

Tool And Debugger Restrictions

Never read the MCU with J-Flash V8.00 or newer

Warning

J-Flash 8.00 and newer can remove the read protection. The whole MCU is erased and cannot be recovered. Only R&D may read the MCU, with an approved older version. Never try to unlock, dump or copy a protected MCU on a production unit. Use only the approved DownloadTool build.

If A Unit Is Bricked

If the write stops before Completed

Quarantine
  1. STOP. Do not click Update again. Do not switch the charger ON again.

  2. Tag the unit SUSPECTED BRICKED and put it in quarantine. Do not return it to the line or to stock.

  3. Write down: serial number, .hex file name, tool version, percentage at failure, and what was disturbed.

  4. Hand the unit to R&D / repair. Only they may attempt recovery. If it cannot be recovered it goes to rework or scrap through the non-conformance process.

7. What The Screen Shows — What To Do

For "Handshake failed" or a session stuck at "Handshaking…".

Screen shows Likely cause Do this
Failed to open device! Adapter not found: driver missing, another program holding the adapter, or a charge-only USB cable Reinstall the driver · close other tools · swap the USB cable · use a rear port
Handshaking... never ends Wrong baud rate, or CANH / CANL crossed or open AC OFF, wait 45 s · check the wires with the multimeter · next baud rate · repeat the 2-second sequence
Update failed straight after Handshaking... 2-second window missed AC OFF · wait 45 s · sequence A again, then sequence B
Works sometimes, fails sometimes 120 Ω resistor missing, or a loose connector Fit 120 Ω (bus reads ≈ 60 Ω) · repair the harness
Fails only on some PCs USB port cannot give 1000 mA, or unstable voltage Powered hub · rear port · different PC
Random failures, no pattern No earth on the charger input · ESD · interference Connect PE · wear the strap · check bench earthing
File path error! or File format error! Wrong file, or the file was moved or renamed Select the correct .hex file again
Bar was moving, then Update failed Cable disturbed or contact fault STOP · quarantine as suspected bricked · repair the harness before any retry
Still failing after these checks? Stop. Call the line leader or R&D. Do not keep trying.

8. Bench Checklist

The quick reference for the flashing station: check every item before the first unit of the shift.

Before power ON
Wires checked, ≈ 60 ΩBaud rate set120 Ω fittedEarth connectedCorrect .hex loadedWrist strap onUSB ≥ 1000 mAOther CAN software closedAC switch within reach
Sequence
Settings → Open Device → Update → AC ON within 2 sor: Settings → Open Device → AC ON → Update within 2 sRetry: AC OFF → wait at least 45 s → start again from step 7
While writing
Hands offNo cable contactNo power cyclingNo PC activity
Never
J-Flash V8.00 or newerA bus without the 120 Ω resistorFlashing a unit with a loose connectorA retry after the bar has started moving

Take the rules to the bench

The step-by-step CAN and UART procedure, the exact DownloadTool field values, the pin map, and the error reference live in the programming guide.

Digital Charger Programming Guide