Skip to content

CLI alternative to PSA (Peugeot / Citroën / Opel) NAC / RCC firmware update

License

Notifications You must be signed in to change notification settings

ddaumiller/psa-update

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

psa-update

CLI alternative to PSA (Peugeot / Citroën / DS / Opel) infotainment system update (NAC / RCC firmware and navigation maps), hopefully more robust.

Screenshot

psa-update offers mostly the same features as the official firmware/map update application proposed by the car vendor, except that it does not format the USB device that has to be used to upload the firmware/map update to the car. Updates are exclusively downloaded from the official PSA site.

Features:

  • Download of RCC / NAC firmware updates, and GPS navigation map updates (NAC only)
  • Resume of download in case of failure
  • Preparation of USB storage device for car system update
  • Lightweight self-contained executable that can run on multiple platforms: Windows, Linux, MacOS

Usage

The command line executable can be invoked in a terminal using vehicle VIN as a parameter:

$ psa-update <VIN>

This will check for available RCC or NAC updates, and interactively ask for download and extraction of the firmware update to a USB device.

To check for updates of both firmware and GPS navigation map (NAC only):

$ psa-update <VIN> --map eur

The list of available maps identifiers can be obtained using the help:

$ psa-update --help

Once copied to the USB drive, the update can be applied on the infotainement system following PSA instructions. For example for Peugeot:

Install

Binaries are available for Windows (x86-64), Linux (x86-64) and MacOS (x86-64) in the releases section. To install, simply download and extract the psa-update executable. For other platforms the project can be built from source code (see below).

Build from source

To build and run from source code using stable rust compiler toolchain (version 1.54+):

$ git clone https://github.com/zeld/psa-update.git
$ cargo run

Proxy

Download is possible behind a proxy provided the http_proxy and https_proxy environment variables are correctly set. In a Linux or MacOS shell:

export http_proxy=<host>:<port>
export https_proxy=<host>:<port>

In a Windows CMD prompt:

SET http_proxy=<host>:<port>
SET https_proxy=<host>:<port>

Logging

Logging can be enabled using the RUST_LOG variable. For example to enable debug log level:

RUST_LOG="debug" ./psa-update

Credits

  • Inspired from the Linux script in this french forum post
  • For the list of navigation maps, and associated content, this french forum post
  • List of firmware and map updates on this site

About

CLI alternative to PSA (Peugeot / Citroën / Opel) NAC / RCC firmware update

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%