[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