[linux-audio-dev] [OT] Problems with RME9652 (Hammerfall) -- I would greatly appreciate any help I can get

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] [OT] Problems with RME9652 (Hammerfall) -- I would greatly appreciate any help I can get
From: Ivica Bukvic (ico_AT_fuse.net)
Date: Fri Feb 01 2002 - 00:00:32 EET


Hi all!

I just finished installing the new RME Hammerfall in one of the studio's
Linux boxes. The install went fine and I managed to load the driver. The
problem is that I cannot get the mixer to have any "elements" (or
"elems" as the alsamixer calls them) which thus makes it un-openable
even with the alsamixer. Since some of you on this list have been using
this card for some time (heck, Paul is the author of it, so who would be
better to ask than him? :), I would greatly appreciate it if you could
help me solve this issue.

Here's the breakdown of the stuff I did, as well as "logs" of the
current system's state and configuration:

The most important thing is that I have rme9652 (Hammerfall) hooked-up
to the two RME-brand AES/EBU 8i and 8o brackets which are mounted inside
the computer. So, I am not using any kind of external D/A converter.
From what I could understand from my previous correspondence, this
should still work under Linux. So my first batch of questions is:

1) Is there anyone else out there using AES/EBU 8i/o brackets in
combination with Hammerfall under Linux?

2) What are limitations of this kind of D/A conversion, as opposed to
the external D/A converter?

3) My green led light on the additional bracket that has WC in/out (it
came with the soundcard) is off. Is this ok?

My system is Dell 4100 P3 933Mhz with 256MB RAM, Geforce 2MX, PCI 128 as
my (temporarily) primary soundcard, rme9652 with 2 RME-brand brackets
(Input and output, 8 channels each), 3com 10/100 network card, IDE HD
etc.

I am running MDK 8.1 (2.4.8-26 kernel without any modifications).

Sound-wise, I am using latest Alsa (0.9beta10). Here's my alsa-related
portion from the /etc/modules.conf:

# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-card-ens1371
alias snd-card-1 snd-card-rme9652
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias sound-slot-1 snd-card-1
alias sound-service-1-0 snd-mixer-oss
#alias sound-service-1-1 snd-seq-oss
alias sound-service-1-3 snd-pcm-oss
#alias sound-service-1-8 snd-seq-oss
alias sound-service-1-12 snd-pcm-oss

(I have commented sequencer aliases for the RME since it has none,
otherwise I get errors when modprob-ing the module).

When I do:
#alsasound restart (or start if it is stopped)
both drivers install cleanly (no unresolved symbols or any other kind of
garbage)

here's the list of the lsmod:
Module Size Used by
snd-pcm-oss 38320 0 (autoclean)
snd-mixer-oss 9008 0 (autoclean) [snd-pcm-oss]
snd-seq-midi 3520 0 (unused)
snd-seq-midi-event 3280 0 [snd-seq-midi]
snd-seq 37488 0 [snd-seq-midi snd-seq-midi-event]
snd-card-rme9652 15792 0
snd-card-ens1371 10144 0
snd-pcm 49888 0 [snd-pcm-oss snd-card-rme9652
snd-card-ens1371]
snd-timer 9776 0 [snd-seq snd-pcm]
snd-rawmidi 12192 0 [snd-seq-midi snd-card-ens1371]
snd-seq-device 4080 0 [snd-seq-midi snd-seq snd-rawmidi]
snd-ac97-codec 23632 0 [snd-card-ens1371]
snd 27360 0 [snd-pcm-oss snd-mixer-oss snd-seq-midi
snd-seq-midi-event snd-seq snd-card-rme9652 snd-card-ens1371 snd-pcm
snd-timer snd-rawmidi snd-seq-device snd-ac97-codec]
soundcore 4208 9 [snd]
snd-rme9652_mem 2208 2 [snd-card-rme9652]
agpgart 26752 3 (autoclean)
NVdriver 724720 14 (autoclean)
nfsd 70464 8 (autoclean)
nfs 75072 1 (autoclean)
lockd 51440 1 (autoclean) [nfsd nfs]
sunrpc 66480 1 (autoclean) [nfsd nfs lockd]
autofs4 9600 2 (autoclean)
af_packet 12560 1 (autoclean)
ip_vs 62000 0 (autoclean)
usb-uhci 21232 0 (unused)
usbcore 50752 1 [usb-uhci]
3c59x 25952 1 (autoclean)
ide-scsi 8096 0
scsi_mod 91072 1 [ide-scsi]
rtc 5600 0 (autoclean)

(the reason midi is unused is because my PCI 128 is OEM version without
a gameport, but having it loaded should not pertain to my problem --
please correct me if I am wrong)

my /proc/asound/sndstat looks like this:
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
Ensoniq AudioPCI ES1371 at 0xdf00, irq 11
RME Digi9652 (Rev 1.5) at 0xfd000000, irq 3

Audio devices:
0: ES1371 DAC2/ADC (DUPLEX)
1: RME Digi9652 (Rev 1.5) (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices:
0: ES1371

Timers:
7: system timer

Mixers:
0: mixer00
1: mixer10

Here, I can see that the rme is loaded and supposedly has its own mixer
(please correct me if I am wrong).

My /proc/asound/card1/rme9652 looks like this:
RME Digi9652 (Rev 1.5) (Card #2)
Buffers: capture c8a00000 playback c8600000
IRQ: 3 Registers bus: 0xfd000000 VM: 0xd7a61000
Control register: 4404e

Latency: 8192 samples (2 periods of 32768 bytes)
Hardware pointer (frames): 0
Passthru: no
Clock mode: autosync
Pref. sync source: ADAT1

ADAT1 Input source: ADAT1 optical

IEC958 input: Coaxial
IEC958 output: Coaxial only
IEC958 quality: Consumer
IEC958 emphasis: off
IEC958 Dolby: off
IEC958 sample rate: error flag set

ADAT Sample rate: 48000Hz
ADAT1: No Lock
ADAT2: No Lock
ADAT3: No Lock

Timecode signal: no
Punch Status:

 1: off 2: off 3: off 4: off 5: off 6: off 7: off 8: off
 9: off 10: off 11: off 12: off 13: off 14: off 15: off 16: off
17: off 18: off 19: off 20: off 21: off 22: off 23: off 24: off
25: off 26: off

Now, here I can see there is not ADAT lock, but that should be fine
since I am using internal A/D D/A brackets, right?

What is strange about this one is that all of the channels are muted or
off (whatever that means), but then again, I cannot find rme's mixer to
unmute them, so it seems like this is a "catch-22" situation.

My /etc/asound.state looks like this:
state.card0 {
        control.1 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface CARD
                name 'Joystick Enable'
                value false
        }
        control.2 {
                comment.access 'read write'
                comment.type ENUMERATED
                comment.item.0 'port 0x200'
                comment.item.1 'port 0x208'
                comment.item.2 'port 0x210'
                iface CARD
                name 'Joystick Address'
                value 'port 0x200'
        }
        control.3 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Master Playback Switch'
                value false
        }
        control.4 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 31'
                iface MIXER
                name 'Master Playback Volume'
                value.0 0
                value.1 0
        }
        control.5 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Master Mono Playback Switch'
                value false
        }
        control.6 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 31'
                iface MIXER
                name 'Master Mono Playback Volume'
                value 0
        }
        control.7 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'PC Speaker Playback Switch'
                value false
        }
        control.8 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 15'
                iface MIXER
                name 'PC Speaker Playback Volume'
                value 0
        }
        control.9 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Phone Playback Switch'
                value false
        }
        control.10 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 15'
                iface MIXER
                name 'Phone Playback Volume'
                value 0
        }
        control.11 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Mic Playback Switch'
                value false
        }
        control.12 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 15'
                iface MIXER
                name 'Mic Playback Volume'
                value 0
        }
        control.13 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Mic Boost (+20dB)'
                value false
        }
        control.14 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Line Playback Switch'
                value false
        }
        control.15 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 31'
                iface MIXER
                name 'Line Playback Volume'
                value.0 0
                value.1 0
        }
        control.16 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'CD Playback Switch'
                value false
        }
        control.17 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 31'
                iface MIXER
                name 'CD Playback Volume'
                value.0 0
                value.1 0
        }
        control.18 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Video Playback Switch'
                value false
        }
        control.19 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 31'
                iface MIXER
                name 'Video Playback Volume'
                value.0 0
                value.1 0
        }
        control.20 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Aux Playback Switch'
                value false
        }
        control.21 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 31'
                iface MIXER
                name 'Aux Playback Volume'
                value.0 0
                value.1 0
        }
        control.22 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'PCM Playback Switch'
                value false
        }
        control.23 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 31'
                iface MIXER
                name 'PCM Playback Volume'
                value.0 0
                value.1 0
        }
        control.24 {
                comment.access 'read write'
                comment.type ENUMERATED
                comment.item.0 Mic
                comment.item.1 CD
                comment.item.2 Video
                comment.item.3 Aux
                comment.item.4 Line
                comment.item.5 Mix
                comment.item.6 'Mix Mono'
                comment.item.7 Phone
                iface MIXER
                name 'Capture Source'
                value.0 Mic
                value.1 Mic
        }
        control.25 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'Capture Switch'
                value true
        }
        control.26 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 15'
                iface MIXER
                name 'Capture Volume'
                value.0 0
                value.1 0
        }
        control.27 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name '3D Control - Switch'
                value false
        }
        control.28 {
                comment.access 'read write'
                comment.type ENUMERATED
                comment.item.0 Mix
                comment.item.1 Mic
                iface MIXER
                name 'Mono Output Select'
                value Mix
        }
        control.29 {
                comment.access 'read write'
                comment.type ENUMERATED
                comment.item.0 Mic1
                comment.item.1 Mic2
                iface MIXER
                name 'Mic Select'
                value Mic1
        }
        control.30 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'ADC/DAC Loopback'
                value false
        }
        control.31 {
                comment.access 'read write'
                comment.type INTEGER
                comment.range '0 - 3'
                iface MIXER
                name '3D Control Sigmatel - Depth'
                value 0
        }
        control.32 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'External Amplifier Power Down'
                value false
        }
        control.33 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface MIXER
                name 'IEC958 Playback Switch'
                value false
        }
}
state.card1 {
        control.1 {
                comment.access 'read write'
                comment.type IEC958
                iface PCM
                name 'IEC958 Playback Default'
                value
'00000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000'
        }
        control.2 {
                comment.access 'read write inactive'
                comment.type IEC958
                iface PCM
                name 'IEC958 Playback PCM Stream'
                value
'00000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000'
        }
        control.3 {
                comment.access read
                comment.type IEC958
                iface MIXER
                name 'IEC958 Playback Con Mask'
                value
'3b000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000'
        }
        control.4 {
                comment.access read
                comment.type IEC958
                iface MIXER
                name 'IEC958 Playback Pro Mask'
                value
'1f000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000'
        }
        control.5 {
                comment.access 'read write'
                comment.type ENUMERATED
                comment.item.0 ADAT1
                comment.item.1 Coaxial
                comment.item.2 Internal
                iface PCM
                name 'IEC958 Input Connector'
                value Coaxial
        }
        control.6 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface PCM
                name 'IEC958 Output also on ADAT1'
                value false
        }
        control.7 {
                comment.access 'read write'
                comment.type ENUMERATED
                comment.item.0 AutoSync
                comment.item.1 Master
                comment.item.2 'Word Clock'
                iface PCM
                name 'Sync Mode'
                value AutoSync
        }
        control.8 {
                comment.access 'read write'
                comment.type ENUMERATED
                comment.item.0 'IEC958 In'
                comment.item.1 'ADAT1 In'
                comment.item.2 'ADAT2 In'
                comment.item.3 'ADAT3 In'
                iface PCM
                name 'Preferred Sync Source'
                value 'ADAT1 In'
        }
        control.9 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface PCM
                name 'Channels Thru'
                value.0 false
                value.1 false
                value.2 false
                value.3 false
                value.4 false
                value.5 false
                value.6 false
                value.7 false
                value.8 false
                value.9 false
                value.10 false
                value.11 false
                value.12 false
                value.13 false
                value.14 false
                value.15 false
                value.16 false
                value.17 false
                value.18 false
                value.19 false
                value.20 false
                value.21 false
                value.22 false
                value.23 false
                value.24 false
                value.25 false
        }
        control.10 {
                comment.access read
                comment.type INTEGER
                comment.range '0 - 96000'
                iface PCM
                name 'IEC958 Sample Rate'
                value -1
        }
        control.11 {
                comment.access read
                comment.type ENUMERATED
                comment.item.0 'No Lock'
                comment.item.1 Lock
                comment.item.2 'No Lock Sync'
                comment.item.3 'Lock Sync'
                iface PCM
                name 'ADAT1 Sync Check'
                value 'No Lock'
        }
        control.12 {
                comment.access read
                comment.type ENUMERATED
                comment.item.0 'No Lock'
                comment.item.1 Lock
                comment.item.2 'No Lock Sync'
                comment.item.3 'Lock Sync'
                iface PCM
                name 'ADAT2 Sync Check'
                value 'No Lock'
        }
        control.13 {
                comment.access read
                comment.type ENUMERATED
                comment.item.0 'No Lock'
                comment.item.1 Lock
                comment.item.2 'No Lock Sync'
                comment.item.3 'Lock Sync'
                iface PCM
                name 'ADAT3 Sync Check'
                value 'No Lock'
        }
        control.14 {
                comment.access read
                comment.type BOOLEAN
                iface PCM
                name 'Timecode Valid'
                value false
        }
        control.15 {
                comment.access 'read write'
                comment.type BOOLEAN
                iface PCM
                name Passthru
                value false
        }
        control.16 {
                comment.access read
                comment.type ENUMERATED
                comment.item.0 'No Lock'
                comment.item.1 Lock
                comment.item.2 'No Lock Sync'
                comment.item.3 'Lock Sync'
                iface PCM
                name 'ADAT3 Sync Check'
                value 'No Lock'
        }
        control.17 {
                comment.access 'read write'
                comment.type ENUMERATED
                comment.item.0 ADAT1
                comment.item.1 Internal
                iface PCM
                name 'ADAT1 Input Source'
                value ADAT1
        }
}

(this tells me that there are values for the rme9652 mixer but why are
they inaccessible even to the alsamixer?)

When I type:
#alsamixer

->The PCI 128 mixer shows up

#alsamixer -c 0

->Ditto

#alsamixer -c 1

->I get this message: No mixer elems found

None of the other mixer apps recognize rme's existence either. I tried
using aplay, but I am not sure how to use -D flag since I do not know
what does the NAME equal to (tried: 1, card1, snd-card-1
snd-card-rme9652 etc. and nothing worked, but this was not due to card's
mixer not being detected, but rather me not being able to figure out
aplay's syntax). I also tried only enabling rme9652 in my modules.conf,
but that did not make things any better.

So, all this brings me to my final array of questions:

1) How come there is a "mixer10" reported in sndstat and there are
values in the /etc/asound.state, yet the rest of the system is not
capable of accessing it, not even alsamixer?

2) Is this somehow related to the fact I am using the brackets instead
of external D/A converter? If so, what do I need to do to make them
work?

3) There is a screenshot of a gui-app for controlling hammerfall on
RME's website (under linux support) that resembles windows interface.
What is this app and where can I obtain it? Also will using it solve my
problem?

4) What the heck am I doing wrong :-) ?

Apologies to all for the long e-mail, I do not mean to hog everyone's
inboxes, but I just wanted to provide as much pertinent info as possible
so that the solution can be more easily found, thus minimizing further
redundant forwarding of the e-mail.

Also, for the same reasons, I would like to urge anyone who will be
willing to help (something I would utmostly appreciate in this moment of
desperation), to please e-mail me directly rather than replying to the
mailing list. Thank you very much for your assistance! Sincerely,

Ivica Ico Bukvic, composer, multimedia sculptor,
programmer, webmaster & computer consultant
http://meowing.ccm.uc.edu/~ico/
ico_AT_fuse.net
============================
"To be is to do" - Socrates
"To do is to be" - Sartre
"Do be do be do" - Sinatra
"I am" - God


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Jan 31 2002 - 23:54:52 EET