zeld / psa-update

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

The update and license files must be copied to an empty FAT32 USB drive, eiter using the tool or manually.

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

Requirements

On Linux, OpenSSL is required. On Windows and MacOS, nothing is required, the operating system TLS framework is used.

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 / DS / Opel) infotainment system update (NAC / RCC firmware and navigation maps), hopefully more robust.

License:The Unlicense


Languages

Language:Rust 100.0%