Differences between revisions 1 and 31 (spanning 30 versions)
Revision 1 as of 2020-05-14 02:38:50
Size: 2065
Editor: PaulWise
Comment: add initial set of open firmware I can remember
Revision 31 as of 2022-08-08 01:39:24
Size: 4775
Editor: PaulWise
Comment: note bcm5719-fw limitation
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

While all the firmware below is open source, some of it uses read-only firmware embedded in ROM chips and some of the read-only firmware does not have freely licensed public source code. Some of the devices in this situation do not have enough RAM that they could completely avoid the read-only firmware in the ROM chips.

The [[https://osfw.foundation/|Open-Source Firmware Foundation (OSFF)]] promotes open firmware.
Line 5: Line 9:
| Project | Debian package | description | status |
| [[https://www.coreboot.org/|coreboot]] | ITP DebianBug:381727 | open firmware for initialising computers from reset |
| [[https://github.com/u-boot/u-boot|u-boot]] | DebianPackage:u-boot | open firmware for initialising computers from reset, used on ARM a lot |
| [[https://github.com/christinaa/rpi-open-firmware|rpi-open-firmware]] | | open firmware for initialising Raspberry Pi devices from reset | [[https://github.com/christinaa/rpi-open-firmware/issues/37|stalled]] |
|| '''Project''' || '''Debian package''' || '''Description''' || '''Comment''' ||
|| [[https://www.coreboot.org/|coreboot]] || RFP DebianBug:381727 || initialising computers from reset ||
|| [[https://github.com/u-boot/u-boot|u-boot]] || DebianPackage:u-boot || initialising computers from reset, used on ARM a lot ||
|| [[https://github.com/librerpi/rpi-open-firmware|rpi-open-firmware]] || || initialising Raspberry Pi devices from reset || [[https://github.com/christinaa/rpi-open-firmware/issues/37|was briefly stalled]], [[https://github.com/itszor/vc4-toolchain/issues/7|toolchain not upstreamed]] ||
|| [[https://www.tianocore.org/|TianoCore]] || [[DebianPackage:src:edk2]] || UEFI || hardware support not packaged in Debian ||
Line 10: Line 15:
== WiFi == == Embedded controllers ==
Line 12: Line 17:
| Project | Debian package | description | status |
| [[http://netweb.ing.unibs.it/~openfwwf/|OpenFWWF]] | | open firmware for Broadcom/AirForce chipset based WiFi devices |
| [[https://github.com/qca/open-ath9k-htc-firmware|open-ath9k-htc-firmware]] | DebianPackage:firmware-ath9k-htc | open firmware for Qualcomm Atheros AR7010 and AR9271 USB based WiFi devices |
| [[https://github.com/chunkeey/carl9170fw|carl9170fw]] | DebianPackage:firmware-linux-free | open firmware for Atheros AR9170 based WiFi devices | not built from source in Debian |
| [[https://web.archive.org/web/20151002084517/http://lekernel.net/prism54/freemac.html|Prism54 FreeMAC]] | open firmware for Conexant based WiFi devices | dead, the source code is not online any more and was not archived anywhere |
|| '''Project''' || '''Debian package''' || '''Description''' || '''Comment''' ||
|| [[https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md|CrOS EC]] || || Chromebooks || ||
|| [[https://github.com/crust-firmware/crust|crust]] || [[DebianPackage:crust-firmware]] || [[https://linux-sunxi.org/AR100|AR100]] OpenRISC EC in Allwinner SoCs ||
|| [[https://github.com/intel/pse-fw|pse-fw]] || || Intel Programmable Services Engine ARM Cortex-M7 companion cores ||

== Keyboards ==

|| '''Project''' || '''Debian package''' || '''Description''' || '''Comment''' ||
|| [[https://zmkfirmware.dev/|ZMK]] || || || ||
|| [[https://github.com/qmk/qmk_firmware|QMK]] || || || ||
|| [[https://github.com/tmk/tmk_keyboard|TMK]] || || || ||

== Network ==

|| '''Project''' || '''Debian package''' || '''Description''' || '''Comment''' ||
|| [[https://github.com/meklort/bcm5719-fw|bcm5719-fw]] || || BCM5719 firmware reimplementation || Requires LLVM/Clang fork to build ||

== Radio ==

|| '''Project''' || '''Debian package''' || '''Description''' || '''Comment''' ||
|| [[http://netweb.ing.unibs.it/~openfwwf/|OpenFWWF]] || || Broadcom/AirForce chipset based WiFi devices ||
|| [[https://github.com/qca/open-ath9k-htc-firmware|open-ath9k-htc-firmware]] || DebianPackage:firmware-ath9k-htc || Qualcomm Atheros AR7010 and AR9271 USB based WiFi devices || requires binutils/GCC patches||
|| [[https://github.com/chunkeey/carl9170fw|carl9170fw]] || DebianPackage:firmware-linux-free || Atheros AR9170 based WiFi devices || not built from source in Debian; [[https://bugs.debian.org/980889|needs sh-elf toolchain]], no patches needed||
|| [[https://perso.m-labs.hk/sb/prism54/freemac.html|Prism54 FreeMAC]] || || Conexant based WiFi devices || no longer developed, Subversion repository was lost, only a snapshot of the code remains ||
|| [[http://osmocom.org/projects/baseband|OsmocomBB]] || || GSM devices || not suitable for end users, only researchers ||
Line 20: Line 45:
| Project | Debian package | description | status |
| [[https://www.sofproject.org/|Sound Open Firmware]] | | open firmware for various Intel audio devices |
|| '''Project''' || '''Debian package''' || '''Description''' || '''Comment''' ||
|| [[https://www.sofproject.org/|Sound Open Firmware]] || DebianPackage:firmware-sof-signed || various Intel audio devices || most devices that can run SOF require Intel signatures on the binaries ([[https://github.com/thesofproject/sof/issues/2571|1]] [[https://github.com/thesofproject/sof/issues/2888|2]] [[https://github.com/thesofproject/sof/issues/1885|3]] [[https://github.com/thesofproject/sof/issues/2200|4]] [[https://github.com/thesofproject/sof/issues/5814|5]]) ||
Line 25: Line 50:
| Project | Debian package | description | status |
| [[colorhug2-firmware|https://github.com/hughski/colorhug2-firmware]] | | open firmware for the ColorHug family of open display colorimeter hardware |
|| '''Project''' || '''Debian package''' || '''Description''' || '''Comment''' ||
|| [[https://github.com/hughski/colorhug2-firmware|colorhug2-firmware]] || || ColorHug family of open display colorimeter hardware || Requires a proprietary toolchain to build ||
Line 30: Line 55:
| [[https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/|linux-firmware]] | DebianPackage:firmware-linux-free | misc firmware gathered by Linux developers | not built from source in Debian | || '''Project''' || '''Debian package''' || '''Description''' || '''Comment''' ||
|
| [[https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/|linux-firmware]] || DebianPackage:firmware-linux-free || misc firmware gathered by Linux developers || not built from source in Debian ||
|| [[https://github.com/djmuhlestein/fx2lib|fx2lib]] || || Cypress FX/FX2 code library || ||
|| [[https://sigrok.org/wiki/Fx2lafw|fx2lafw]] || DebianPackage:sigrok-firmware-fx2lafw || Cypress FX2(LP) based logic analyzers || [[EmbeddedCopies|embeds copy]] of fx2lib ||

----

CategoryHardware

There are number of open firmware projects, some of which are listed below.

While all the firmware below is open source, some of it uses read-only firmware embedded in ROM chips and some of the read-only firmware does not have freely licensed public source code. Some of the devices in this situation do not have enough RAM that they could completely avoid the read-only firmware in the ROM chips.

The Open-Source Firmware Foundation (OSFF) promotes open firmware.

Booting

Project

Debian package

Description

Comment

coreboot

RFP 381727

initialising computers from reset

u-boot

u-boot

initialising computers from reset, used on ARM a lot

rpi-open-firmware

initialising Raspberry Pi devices from reset

was briefly stalled, toolchain not upstreamed

TianoCore

src:edk2

UEFI

hardware support not packaged in Debian

Embedded controllers

Project

Debian package

Description

Comment

CrOS EC

Chromebooks

crust

crust-firmware

AR100 OpenRISC EC in Allwinner ?SoCs

pse-fw

Intel Programmable Services Engine ARM Cortex-M7 companion cores

Keyboards

Project

Debian package

Description

Comment

ZMK

QMK

TMK

Network

Project

Debian package

Description

Comment

bcm5719-fw

BCM5719 firmware reimplementation

Requires LLVM/Clang fork to build

Radio

Project

Debian package

Description

Comment

OpenFWWF

Broadcom/AirForce chipset based WiFi devices

open-ath9k-htc-firmware

firmware-ath9k-htc

Qualcomm Atheros AR7010 and AR9271 USB based WiFi devices

requires binutils/GCC patches

carl9170fw

firmware-linux-free

Atheros AR9170 based WiFi devices

not built from source in Debian; needs sh-elf toolchain, no patches needed

Prism54 FreeMAC

Conexant based WiFi devices

no longer developed, Subversion repository was lost, only a snapshot of the code remains

OsmocomBB

GSM devices

not suitable for end users, only researchers

Audio

Project

Debian package

Description

Comment

Sound Open Firmware

firmware-sof-signed

various Intel audio devices

most devices that can run SOF require Intel signatures on the binaries (1 2 3 4 5)

Visual

Project

Debian package

Description

Comment

colorhug2-firmware

?ColorHug family of open display colorimeter hardware

Requires a proprietary toolchain to build

Misc

Project

Debian package

Description

Comment

linux-firmware

firmware-linux-free

misc firmware gathered by Linux developers

not built from source in Debian

fx2lib

Cypress FX/FX2 code library

fx2lafw

sigrok-firmware-fx2lafw

Cypress FX2(LP) based logic analyzers

embeds copy of fx2lib


CategoryHardware