User Tools

Site Tools

Translations of this page:

howto:p3fwtooluse

DJI Firmware Container tool (dji_xv4_fwcon.py) usage

This tool extracts the main firmare .bin file. It exports all of the packed modules into seperate, single .bin files, as well as a .ini file matching that bin file, presenting information about it.

The command for the python script is as follows:

  dji_xv4_fwcon.py <-x|-a> [-v] [-f] [-c] -p <fwpkgfile> [-d <dcprefix>]
  -h  help
  -p <fwpkgfile> - name of the firmware package file
  -m <mdprefix> - file name prefix for the single decomposed firmware modules, defaults to base name of firmware package file
  -f force continuing execution despite warning signs of issues
  -c disable cryptography - do not encrypt/decrypt modules, 
  -x extract firmware package into modules
  -a add module files to firmware package
  -v increases verbosity level; max level is set by -vvv
  • The main command you will use to extract is
  dji_xv4_fwcon.py -vv -x -p <filename>
  • Where filename = P3S_FW_V01.07.0060.bin or another filename
  • After extracting, you will see many more files in that same folder.

DJI Flight Controller Firmware Parameters Array Editor (dji_flyc_param_ed) usage

This is the script which will extract the contents of the flight controller module, m306. This is important, as this module (m306) contains the flight parameters. The tool will export a file named flyc_param_infos which js a JSON formatted text file. You can edit this file, save it (in the same folder) and then remake the m306 module, to allow 'installing' the mods into your aircraft.

The command for the python script is as follows:

  dji_flyc_param_ed.sh <-l|-x|-u> [-v] -m <mdlfile>
  -h  help
  -m <mdlfile> - Flight controller firmware binary module file
  -l list parameters stored in the firmware
  -x extract parameters array to infos json text file
  -u update parameters array in binary fw from infos text files
  -b <baseaddr> set base address; crucial for finding the array
  -v - increases verbosity level; max level is set by -vvv
  • The main command you will use to extract is
  dji_flyc_param_ed.py -vv -x -m <filename>
  • Where filename = P3S_FW_V01.07.0060_m0306.bin or another filename which includes the 306 module.
  • After extracting, you will see many more files in that same folder.
  • You can now edit the flyc_param_infos and save it in the same folder.
  • The main command you will use to REMAKE after your edits is
   dji_flyc_param_ed.py -vv -u -m <filename>
  • Where filename = P3S_FW_V01.07.0060_m0306.bin
  • You can then rename that file to a service bin name, load on the SD card and install. See below for more.
howto/p3fwtooluse.txt · Last modified: 2018/06/01 17:10 by digdat0