Aureon 7.1

From FreeBoB

How to get a sound on Aureon 7.1 Firewire

Generally, follow the instruction on Compiling from SVN page. Here are some comments and the version numbers i noted during my third try.

1. libraw1394 Checked out revision 167.

2. libiec61883 Checked out revision 73.

3. libavc1394 Checked out revision 76.

4. libfreebob Checked out revision 308.

Do the discover test. Why? Because, if the device is not discovered, it won't play. It happened to me during my first try. When i tried to use te Aureon with VIA EPIA EN12000 (onboard FW controller), it was a painfully long story until i tried differenf FW controller which finally worked (the EPIA EN12000 fw controller is recognized by the kernel, modules are loaded, but... the Aureon is not detected). Right now i am using Kouwell controller and it works. Here's a lspci -v on that:

00:0e.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 46) (prog-if 10 [OHCI])
        Subsystem: Unknown device 8d14:f7c2
        Flags: bus master, stepping, medium devsel, latency 32, IRQ 185
        Memory at e1000000 (32-bit, non-prefetchable) [size=2K]
        I/O ports at b000 [size=128]
        Capabilities: <access denied>

Well, it is aparently VIA chipset, but this one works... sigh...

So, here is the right discovery output:

bazil@landrock:~/freebob/libfreebob$ tests/test-freebob discover
verbose level = 0
Using freebob library version: libfreebob 1.0.0

Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
  port = 0, devices_on_bus = 1
  get info for device = 0, node = 1
Direction:              0 (capture)

Connection Info
===============

Number of connections:  1

  Connection  0
  -------------
    [ 0] Id:         1
    [ 0] Port:       0
    [ 0] Node:       1
    [ 0] Plug:       0
    [ 0] Dimension:  3
    [ 0] Samplerate: 48000
    [ 0] IsoChannel: -1
    [ 0] IsMaster:   0
    [ 0] Number of stream infos: 3

    StreamId  Position Location Format Type DPort Name
    --------------------------------------------------
    [ 0]:[ 0] 0x00     0x01     0x06   0x04 0x00  Aureon FW Rec L
    [ 0]:[ 1] 0x01     0x02     0x06   0x04 0x00  Aureon FW Rec R
    [ 0]:[ 2] 0x02     0x01     0x0d   0x0a 0x00  MidiPort_1


Direction:              1 (playback)

Connection Info
===============

Number of connections:  1

  Connection  0
  -------------
    [ 0] Id:         1
    [ 0] Port:       0
    [ 0] Node:       1
    [ 0] Plug:       0
    [ 0] Dimension:  10
    [ 0] Samplerate: 48000
    [ 0] IsoChannel: -1
    [ 0] IsMaster:   0
    [ 0] Number of stream infos: 10

    StreamId  Position Location Format Type DPort Name
    --------------------------------------------------
    [ 0]:[ 0] 0x01     0x01     0x06   0x03 0x00  MultiChannel Front left
    [ 0]:[ 1] 0x06     0x02     0x06   0x03 0x00  MultiChannel Front right
    [ 0]:[ 2] 0x02     0x05     0x06   0x03 0x00  MultiChannel Rear left
    [ 0]:[ 3] 0x07     0x06     0x06   0x03 0x00  MultiChannel Rear right
    [ 0]:[ 4] 0x03     0x03     0x06   0x03 0x00  MultiChannel Center
    [ 0]:[ 5] 0x08     0x04     0x06   0x03 0x00  MultiChannel Subwoofer
    [ 0]:[ 6] 0x04     0x07     0x06   0x03 0x00  MultiChannel Surround left
    [ 0]:[ 7] 0x09     0x08     0x06   0x03 0x00  MultiChannel Surround right
    [ 0]:[ 8] 0x00     0x01     0x00   0x04 0x00  SPDIF/AC3_Out left
    [ 0]:[ 9] 0x05     0x02     0x00   0x04 0x00  SPDIF/AC3_Out right

bazil@landrock:~/freebob/libfreebob$

5. jackd Checked out revision 987.

Run jackd. Basic, no parameter jackd output:

bazil@landrock:~/freebob/jack$ jackd -d freebob
jackd 0.102.20
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver ..
Freebob using Firewire port 0, node -1
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
Warning (bebob_light/bebob_light_avdevice.cpp)[995] discoverStep10Plug: discoverStep10Plug: unknown stream format for channel (1)
ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
FreeBoB ERR: Error opening ALSA sequencer.
FreeBoB ERR: -----------------------------------------------------------
FreeBoB ERR: Error creating midi device!
FreeBoB ERR: FreeBob will run without MIDI support.
FreeBoB ERR: Consult the above error messages to solve the problem.
FreeBoB ERR: -----------------------------------------------------------


libiec61883 warning: Established connection on channel 0.
You may need to manually set the channel on the receiving node.
libiec61883 warning: Established connection on channel 1.
You may need to manually set the channel on the transmitting node.

Wow! Now play something on it! (look at the "Using" page)


Bad luck trying precompiled Debian mplayer:

1: jackd output

JACK protocol mismatch (15 vs 16)
cannot complete client connection process

2: mplayer output (excerpt)

==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 192.0 kbit/13.61% (ratio: 24000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
client linked with incompatible libjack version.
could not attach to JACK server
[JACK] cannot open server
Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video


Exiting... (End of file)


That means that it was compiled against older version of libfreebob, so i need to recompile it.

Ok, it is too late (or too early :-) today for compiling mplayer, so i tried to compile kluppe (one of jack-output compatible applications). After compilation, the kluppe is playing.

Rerun the jackd with verbose (-v) option gives this (kluppe connects to jackd):

new client: kluppe1, id = 2 type 2 @ 0xa7f73000 fd = 9
++ jack_rechain_graph():
client freebob_pcm: internal client, execution_order=0.
client kluppe1: start_fd=5, execution_order=0.
client kluppe1: wait_fd=6, execution_order=1 (last client).
-- jack_rechain_graph()
registered port kluppe1:main_out_L, offset = 12288
registered port kluppe1:main_out_R, offset = 16384
connect kluppe1:main_out_L and freebob_pcm:dev1p_MultiChannel Front left (output)
++ jack_rechain_graph():
client freebob_pcm: internal client, execution_order=0.
client kluppe1: start_fd=5, execution_order=0.
client kluppe1: wait_fd=6, execution_order=1 (last client).
-- jack_rechain_graph()
connect kluppe1:main_out_R and freebob_pcm:dev1p_MultiChannel Front right (output)
++ jack_rechain_graph():
client freebob_pcm: internal client, execution_order=0.
client kluppe1: start_fd=5, execution_order=0.
client kluppe1: wait_fd=6, execution_order=1 (last client).
-- jack_rechain_graph()

and after playback starts:

registered port kluppe1:act1_in_L, offset = 0
registered port kluppe1:act1_in_R, offset = 0
registered port kluppe1:act1_in_Position, offset = 0
registered port kluppe1:act1_out_Position, offset = 20480
registered port kluppe1:act1_out_L, offset = 24576
registered port kluppe1:act1_out_R, offset = 28672
connect freebob_pcm:dev1c_Aureon FW Rec L and kluppe1:act1_in_L (forward)
++ jack_rechain_graph():
client freebob_pcm: internal client, execution_order=0.
client kluppe1: start_fd=5, execution_order=0.
client kluppe1: wait_fd=6, execution_order=1 (last client).
-- jack_rechain_graph()
connect freebob_pcm:dev1c_Aureon FW Rec R and kluppe1:act1_in_R (forward)
++ jack_rechain_graph():
client freebob_pcm: internal client, execution_order=0.
client kluppe1: start_fd=5, execution_order=0.
client kluppe1: wait_fd=6, execution_order=1 (last client).
-- jack_rechain_graph()
load = 44.7103 max usecs: 17743.000, spare = 3590.000
load = 23.8856 max usecs: 653.000, spare = 20680.000
load = 13.4780 max usecs: 655.000, spare = 20678.000
load = 8.2671 max usecs: 652.000, spare = 20681.000
...


Wow, it plays!

But...

1. it plays well when there is no load on the machine only. How to make it better?

2. is it stable enough?

I will try to cover the the point 1 first (maybe next week...)