Hi,
This parchset adds support for TASCAM FireOne to ALSA OXFW driver. PCM and MIDI functionalities become available including physical controls. The first and second patches are preparation for it.
This model supports some extra commands. So as the other ALSA drivers for sound and music units on IEEE 1394 bus, they should be implemented in userspace applications. For your information, I note them:
(Jog/Shuttle display mode) ./firewire-request /dev/fw1 fcp 0x01ff0000022e46493110ffff response: 000: 0c ff 00 00 02 2e 46 49 31 10 06 * The last byte is: * 0x00: always off * 0x01: always on * 0x02: breathe * 0x03: metronome * 0x04: MIDI clock rotate * 0x05: MIDI clock flash * 0x06: jog slow rotate * 0x07: Jog track
(Control surface mode) ./firewire-request /dev/fw1 fcp 0x01ff0000022e46493111ffff response: 000: 0c ff 00 00 02 2e 46 49 31 11 00 * The last bytes is: * 0x00: FireOne native * 0x01: Mackie Human User Interface emulation
(Input monitor monaural) ./firewire-request /dev/fw1 fcp 0x01ff0000022e46493112ffff response: 000: 0c ff 00 00 02 2e 46 49 31 12 00 * The last byte is: * 0x00: off * 0x01: on
(Firmware version, read-only) ./firewire-request /dev/fw1 fcp 0x01ff0000022e46493113ffff response: 000: 0c ff 00 00 02 2e 46 49 31 13 02 * The last byte is: * 0x02: version 2
I can see additional commands from Windows driver. They seem to be used to retrieve the name of data channels.
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff0000000040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 00 00 00 12 0c ......HST`...... response: 010: 41 75 64 69 6f 20 4f 75 74 20 4c 00 Audio Out L.
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff0000010040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 00 00 01 12 0c ......HST`...... response: 010: 41 75 64 69 6f 20 4f 75 74 20 52 00 Audio Out R.
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff0000020040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 00 00 02 12 09 ......HST`...... response: 010: 4d 69 64 69 20 4f 75 74 20 Midi Out
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff0001000040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 00 01 00 12 0b ......HST`...... response: 010: 41 75 64 69 6f 20 49 6e 20 41 00 Audio In A.
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff0001010040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 00 01 01 12 0b ......HST`...... response: 010: 41 75 64 69 6f 20 49 6e 20 42 00 Audio In B.
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff0001020040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 00 01 02 12 08 ......HST`...... response: 010: 4d 69 64 69 20 49 6e 20 Midi In
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535470ff0000000040 response: 000: 0c ff 00 00 02 2e 48 53 54 70 ff 00 00 00 12 06 ......HSTp...... response: 010: 41 75 64 69 6f 20 Audio
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535470ff0000010040 response: 000: 0c ff 00 00 02 2e 48 53 54 70 ff 00 00 01 12 00 ......HSTp......
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535470ff0000020040 response: 000: 0a ff 00 00 02 2e 48 53 54 70 ff 00 00 02 00 40 ......HSTp.....@
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535470ff0001000040 response: 000: 0c ff 00 00 02 2e 48 53 54 70 ff 00 01 00 12 06 ......HSTp...... response: 010: 41 75 64 69 6f 20 Audio
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535470ff0001010040 response: 000: 0c ff 00 00 02 2e 48 53 54 70 ff 00 01 01 12 00 ......HSTp......
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535470ff0001020040 response: 000: 0a ff 00 00 02 2e 48 53 54 70 ff 00 01 02 00 40 ......HSTp.....@
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff8100000040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 81 00 00 12 0c ......HST`...... response: 010: 4d 69 64 69 20 49 6e 20 4f 6e 65 00 Midi In One.
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff8101000040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 81 01 00 12 0d ......HST`...... response: 010: 4d 69 64 69 20 4f 75 74 20 4f 6e 65 00 Midi Out One.
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff8200000040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 82 00 00 12 0c ......HST`...... response: 010: 4d 69 64 69 20 49 6e 20 54 77 6f 00 Midi In Two.
./firewire-request /dev/fw1 fcp 0x01ff0000022e48535460ff8201000040 response: 000: 0c ff 00 00 02 2e 48 53 54 60 ff 82 01 00 12 0d ......HST`...... response: 010: 4d 69 64 69 20 4f 75 74 20 54 77 6f 00 Midi Out Two.
Takashi Sakamoto (3): ALSA: oxfw: calculating MIDI ports in stream discover ALSA: oxfw: support more MIDI ports ALSA: oxfw: add an entry for TASCAM FireOne
sound/firewire/oxfw/oxfw-midi.c | 24 +++--------------------- sound/firewire/oxfw/oxfw-stream.c | 37 +++++++++++++++++++++++++++++++++++-- sound/firewire/oxfw/oxfw.c | 17 +++++++++++++++++ 3 files changed, 55 insertions(+), 23 deletions(-)