[PATCH 00/25] alsa-tools: efw-downloader: add initial version of firmwre downloader for Echo Audio Fireworks devices
Takashi Sakamoto
o-takashi at sakamocchi.jp
Wed Aug 26 11:32:58 CEST 2020
Hi,
Would I expect any reaction by maintainers of alsa-tools repository for
the patches?
On Fri, Aug 21, 2020 at 04:30:46PM +0900, Takashi Sakamoto wrote:
> Hi,
>
> This patchset is for alsa-tool repository[1] to add a new command-line
> tool, efw-downloader. The tools is designed to operate on-board flash
> memory for devices based on Fireworks board module. The patches are also
> available in my personal repository in github.com[2].
>
> Fireworks board module was designed by Echo Digital Audio corporation. The
> board module has on-board flash memory to store firmware blob and session
> data. The contents of flash memory can be operated by software by a pair
> of asynchronous transactions defined by Echo Digital Audio corporation.
>
> Echo Digital Audio corporation also designed file format of firmware.
> Hardware Vendors including Echo Digital Audio corporation shipped
> several versions of firmware by the format in driver packages for
> Windows and macOS.
>
> The goal of this tool is to operate the flash memory to download any
> version of firmware. In this patchset, limited functionalities are added;
> read from the flash memory, and parse the content of file. The other
> functionalities are planned to added in future work.
>
> I thinks it possible to put actual firmware blobs into somewhere
> suitable for them (alsa-firmware or linux-firmware repositories). I
> think it better to prepare the files by reading on-board flash memory,
> with enough care of copyright of original firmware files shipped by
> vendor. In the case, it's preferable to use file format different
> from the original one. But it's my first time for this kind of work.
> I'd like to ask some advices to alsa developers.
>
> [1] https://github.com/alsa-project/alsa-tools/
> [2] https://github.com/takaswie/alsa-tools/tree/topic/efw-downloader
>
> Takashi Sakamoto (25):
> efw-downloader: start a new project to operate on-board flash memory
> for Fireworks board module
> efw-downloader: efw-proto: define EfwProto as derived object of
> HinawaFwResp
> efw-downloader: efw-proto: add constructor, destructor, bind, unbind
> functions
> efw-downloader: efw-proto: add responded signal
> efw-downloader: efw-proto: add class virtual method to handle
> responded signal
> efw-downloader: efw-proto: add instance private structure
> efw-downloader: efw-proto: emit responded signal at receiving response
> efw-downloader: efw-proto: add function to finish transaction for
> command frame
> efw-downloader: efw-proto: add function to finish a pair of
> transactions
> efw-downloader: add parser for sub commands
> efw-downloader: subcmd-device: implement 'device' sub command to
> operate actual device
> efw-downloader: subcmd-device: open firewire character device by
> HinawaFwNode
> efw-downloader: config-rom: parse config rom to detect supported
> device
> efw-downloader: subcmd-device: check supported models or not
> efw-downloader: subcmd-device: bind Fireworks protocol
> efw-downloader: node_dispatcher: add event dispatcher utilizing GLib
> MainContext/MainLoop
> efw-downloader: subcmd-device: support debug output for response of
> Fireworks protocol
> efw-downloader: efw-commands: add support for a part of hardware
> command
> efw-downloader: efw-commands: add support for commands in flash
> category
> efw-downloader: subcmd-device: add read operation
> efw-downloader: file-cntr: add parser for data binary shipped by Echo
> Digital Audio corporation
> efw-downloader: subcmd-file: add 'file' sub command
> efw-downloader: subcmd-file: add parse operation
> efw-downloader: man: add online manual
> efw-downloader: add README formatted by reStructuredText
>
> efw-downloader/COPYING | 674 ++++++++++++++++++
> efw-downloader/README.rst | 167 +++++
> efw-downloader/man/efw-downloader.1 | 162 +++++
> efw-downloader/meson.build | 14 +
> efw-downloader/meson_options.txt | 5 +
> efw-downloader/src/config-rom.c | 60 ++
> efw-downloader/src/config-rom.h | 26 +
> efw-downloader/src/efw-commands.c | 243 +++++++
> efw-downloader/src/efw-commands.h | 57 ++
> .../src/efw-proto-sigs-marshal.list | 1 +
> efw-downloader/src/efw-proto.c | 401 +++++++++++
> efw-downloader/src/efw-proto.h | 80 +++
> efw-downloader/src/file-cntr.c | 183 +++++
> efw-downloader/src/file-cntr.h | 39 +
> efw-downloader/src/main.c | 54 ++
> efw-downloader/src/meson.build | 54 ++
> efw-downloader/src/node-dispatcher.c | 86 +++
> efw-downloader/src/node-dispatcher.h | 21 +
> efw-downloader/src/op-device-read.c | 104 +++
> efw-downloader/src/op-file-parse.c | 106 +++
> efw-downloader/src/subcmd-device.c | 182 +++++
> efw-downloader/src/subcmd-file.c | 87 +++
> efw-downloader/src/subcmds.h | 16 +
> 23 files changed, 2822 insertions(+)
> create mode 100644 efw-downloader/COPYING
> create mode 100644 efw-downloader/README.rst
> create mode 100644 efw-downloader/man/efw-downloader.1
> create mode 100644 efw-downloader/meson.build
> create mode 100644 efw-downloader/meson_options.txt
> create mode 100644 efw-downloader/src/config-rom.c
> create mode 100644 efw-downloader/src/config-rom.h
> create mode 100644 efw-downloader/src/efw-commands.c
> create mode 100644 efw-downloader/src/efw-commands.h
> create mode 100644 efw-downloader/src/efw-proto-sigs-marshal.list
> create mode 100644 efw-downloader/src/efw-proto.c
> create mode 100644 efw-downloader/src/efw-proto.h
> create mode 100644 efw-downloader/src/file-cntr.c
> create mode 100644 efw-downloader/src/file-cntr.h
> create mode 100644 efw-downloader/src/main.c
> create mode 100644 efw-downloader/src/meson.build
> create mode 100644 efw-downloader/src/node-dispatcher.c
> create mode 100644 efw-downloader/src/node-dispatcher.h
> create mode 100644 efw-downloader/src/op-device-read.c
> create mode 100644 efw-downloader/src/op-file-parse.c
> create mode 100644 efw-downloader/src/subcmd-device.c
> create mode 100644 efw-downloader/src/subcmd-file.c
> create mode 100644 efw-downloader/src/subcmds.h
>
> --
> 2.25.1
Thanks
Takashi Sakamoto
More information about the Alsa-devel
mailing list