Difference between revisions of "Firmware"
Uwe Hermann (talk | contribs) (More info about the firmware extraction scripts in sigrok-util. Add more fx2lafw details.) |
Uwe Hermann (talk | contribs) (Where to place firmware files) |
||
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. | ||
Line 14: | Line 18: | ||
Please check the manpages of the scripts provided there for details. | Please check the manpages of the scripts provided there for details. | ||
== Getting distributable firmware files == | === 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 28: | 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 (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. | 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.