[PATCH 00/25] alsa-tools: efw-downloader: add initial version of firmwre downloader for Echo Audio Fireworks devices
Takashi Iwai
tiwai at suse.de
Wed Aug 26 13:31:53 CEST 2020
On Wed, 26 Aug 2020 11:32:58 +0200,
Takashi Sakamoto wrote:
>
> Hi,
>
> Would I expect any reaction by maintainers of alsa-tools repository for
> the patches?
I'm reviewing those patches now.
Since it's based on meson build, it'll be tricky to include this in
alsa-tools whether others are all autoconf. The tarball creation is
done in the top directory and that assumes the execution of "make
alsa-dist" in each subdirectory. Without this integration, the
directory won't be included in the release.
Could you work on it, too?
thanks,
Takashi
> 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