Difference between revisions of "Firmware"

From sigrok
Jump to navigation Jump to search
m
(Where to place firmware files)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Some devices supported by [[libsigrok]] need a '''firmware''' to be uploaded before the device can be used.
Some devices supported by [[libsigrok]] need a '''firmware''' to be uploaded before the device can be used.


== Getting non-distributable firmware files ==
Please check [[libsigrok]]'s [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README.devices README.devices] file or the respective device's wiki page to find out whether your device needs firmware files.
 
== Getting firmware files ==
 
=== Getting non-distributable firmware files ===


Most firmware files are non-free and we have no permission to (re-)distribute them.
Most firmware files are non-free and we have no permission to (re-)distribute them.


For these devices, please check the respective device wiki page (see [[Supported hardware]] for the full list). Usually there are instructions how to extract the firmware file(s) from vendor software, vendor webpages, from USB logs, or using other means.
For these devices, please check the respective device wiki page (see [[Supported hardware]] for the full list). Usually there are instructions on how to extract the firmware file(s) from vendor software, vendor webpages, from USB logs, or using other means.


== Getting distributable firmware files ==
For some firmware files we provide scripts which can extract them from the vendor software for you.
 
$ '''git clone git://sigrok.org/sigrok-util'''
$ '''cd sigrok-util/firmware'''
 
Please check the manpages of the scripts provided there for details.
 
=== Getting distributable firmware files ===


For some (but not all) devices there are publically available and redistributable firmware files in the [http://sigrok.org/gitweb/?p=sigrok-firmware.git;a=tree sigrok-firmware] git repository (i.e., the vendor was kind enough to allow redistribution):
For some (but not all) devices there are publically available and redistributable firmware files in the [http://sigrok.org/gitweb/?p=sigrok-firmware.git;a=tree sigrok-firmware] git repository (i.e., the vendor was kind enough to allow redistribution):
Line 21: Line 32:
  $ '''make install''' (as root or using sudo, if needed)
  $ '''make install''' (as root or using sudo, if needed)


== Getting open-source firmware files ==
=== Getting open-source firmware files ===


For Cypress FX2 based logic analyzers, we have the [[fx2lafw]] firmware (GPL'd) which you can use.
For Cypress FX2 based logic analyzers (and certain other FX2-based devices, such as the [[Hantek 6022BE]] or the [[SainSmart DDS120]]), we have the [[fx2lafw]] firmware (GPL'd) which you can use.


See the [[fx2lafw]] page for details.
See the [[fx2lafw]] page for details.
== Where to put the firmware files ==
The place where you have to put firmware files (so that [[libsigrok]], and thus any frontend such as [[sigrok-cli]] or [[PulseView]]) can find them, depends on your operating system and/or your sigrok install location.
=== Linux / FreeBSD / Mac OS X ===
On [[Linux]], [[FreeBSD]], [[Mac OS X]] (and pretty much any UNIX-like OS) place the files in any of the locations where [[libsigrok]] will look for them:
* Inside the [https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html XDG_DATA_HOME] directory: '''$HOME/.local/share/sigrok-firmware'''
* Inside the [[libsigrok]] install prefix, e.g.: '''$HOME/sr/share/sigrok-firmware''' ''(if you installed libsigrok into '''$HOME/sr''')''
* In /usr/local: '''/usr/local/share/sigrok-firmware'''
* In /usr: '''/usr/share/sigrok-firmware'''
=== Windows ===
On [[Windows]] place the files into the installation directory of the respective frontend. This depends on where you installed the frontend, of course. Defaults:
* [[PulseView]]: '''C:\Program Files (x86)\sigrok\PulseView\share\sigrok-firmware'''
* [[sigrok-cli]]: '''C:\Program Files (x86)\sigrok\sigrok-cli\share\sigrok-firmware'''
Some firmware files (those which we're allowed to redistribute) already come with the [[Windows#Windows_installers|Windows EXE installers we provide]], and don't need to be manually copied.
=== Android ===
On [[Android]] place the files into the following directory on your device:
* '''/sdcard/sigrok-firmware'''
Some firmware files (those which we're allowed to redistribute) already come with the [[Android#Nightly_APK_builds|Android APK we provide]], and don't need to be manually copied.

Latest revision as of 19:57, 21 August 2016

Some devices supported by libsigrok need a firmware to be uploaded before the device can be used.

Please check libsigrok's README.devices file or the respective device's wiki page to find out whether your device needs firmware files.

Getting firmware files

Getting non-distributable firmware files

Most firmware files are non-free and we have no permission to (re-)distribute them.

For these devices, please check the respective device wiki page (see Supported hardware for the full list). Usually there are instructions on how to extract the firmware file(s) from vendor software, vendor webpages, from USB logs, or using other means.

For some firmware files we provide scripts which can extract them from the vendor software for you.

$ git clone git://sigrok.org/sigrok-util
$ cd sigrok-util/firmware

Please check the manpages of the scripts provided there for details.

Getting distributable firmware files

For some (but not all) devices there are publically available and redistributable firmware files in the sigrok-firmware git repository (i.e., the vendor was kind enough to allow redistribution):

$ git clone git://sigrok.org/sigrok-firmware

In order to install the firmware files:

$ cd sigrok-firmware
$ ./autogen.sh
$ ./configure
$ make
$ make install (as root or using sudo, if needed)

Getting open-source firmware files

For Cypress FX2 based logic analyzers (and certain other FX2-based devices, such as the Hantek 6022BE or the SainSmart DDS120), we have the fx2lafw firmware (GPL'd) which you can use.

See the fx2lafw page for details.

Where to put the firmware files

The place where you have to put firmware files (so that libsigrok, and thus any frontend such as sigrok-cli or PulseView) can find them, depends on your operating system and/or your sigrok install location.

Linux / FreeBSD / Mac OS X

On Linux, FreeBSD, Mac OS X (and pretty much any UNIX-like OS) place the files in any of the locations where libsigrok will look for them:

  • Inside the XDG_DATA_HOME directory: $HOME/.local/share/sigrok-firmware
  • Inside the libsigrok install prefix, e.g.: $HOME/sr/share/sigrok-firmware (if you installed libsigrok into $HOME/sr)
  • In /usr/local: /usr/local/share/sigrok-firmware
  • In /usr: /usr/share/sigrok-firmware

Windows

On Windows place the files into the installation directory of the respective frontend. This depends on where you installed the frontend, of course. Defaults:

  • PulseView: C:\Program Files (x86)\sigrok\PulseView\share\sigrok-firmware
  • sigrok-cli: C:\Program Files (x86)\sigrok\sigrok-cli\share\sigrok-firmware

Some firmware files (those which we're allowed to redistribute) already come with the Windows EXE installers we provide, and don't need to be manually copied.

Android

On Android place the files into the following directory on your device:

  • /sdcard/sigrok-firmware

Some firmware files (those which we're allowed to redistribute) already come with the Android APK we provide, and don't need to be manually copied.