All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim <terminator356@users.sourceforge.net>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: multi pcm and mmap problem
Date: Sun, 25 Nov 2007 17:51:04 -0500	[thread overview]
Message-ID: <200711251751.05205.terminator356@users.sourceforge.net> (raw)
In-Reply-To: <s5hr6igne2h.wl%tiwai@suse.de>

On Saturday 24 November 2007 05:16:38 am you wrote:
> At Fri, 23 Nov 2007 20:31:03 -0500,
> Tim wrote:
> > A final 'note':
> > The envy24control app's Master Clock - Signal/No Signal
> >  seems broken again.
> > I know the cards are locked, but it still says 'No signal'
> >  when S/PDIF is selected.
> Hm, could you check whether it's a driver bug or a bug of
> envy24control?  This control can be basically also get/set via
> alsactl.  For example, just run "alsactl -f somefile store", edit the
> file, and "alsactl -f somefile restore".  Also, you can set the value
> via amixer, too.

Pardon my previous enthusiasm. So many months debugging!
I've straightened my tie and regained my composure now. 

I tried creating a new asound.state with alsactl.
The resulting asound.state was smaller, but did not fix the problem.
I also tried manually turning the 'IEC958 CS8427 Error Status', and the 
 other related controls, on/off with a mixer, no luck.
 
I know the two cards are locked because if I disconnect the S/PDIF cable,
 the ice1712 card goes silent or makes noises. This is normal behaviour.
Also, I have run this setup for hours without an xrun or 'un-synced drifting'.

You know, the 'locked/no signal' indicator never has worked right.
In ALSA 1.0.9b it always just says 'locked' (see below).
In ALSA 1.0.15 it says 'locked' only when on a fixed internal rate.

** Here is some info below which I think will help.

It seems to me, looking at the 'IEC958 CS8427 Error Status' results below,
 that envy24control should perhaps be using it, instead of 
 'Word Clock Status', as a 'locked' indicator.
 
Thanks again. Tim.
 
----------------------------------------------------------
ALSA 1.0.15 + new distro:
----------------------------------------------------------
Master Clock says 'No signal'.
Master Clock: S/PDIF. S/PDIF cable is connected.
$ amixer -c1 contents
...
numid=65,iface=MIXER,name='Word Clock Status'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=64,iface=MIXER,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=32
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=15


Master Clock says 'No signal'.
Master Clock: S/PDIF. S/PDIF cable is NOT connected.
$ amixer -c1 contents
...
numid=65,iface=MIXER,name='Word Clock Status'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=64,iface=MIXER,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=54
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=15


Master Clock says 'No signal'.
Master Clock: Word Clock. S/PDIF cable is connected.
$ amixer -c1 contents
...
numid=65,iface=MIXER,name='Word Clock Status'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=64,iface=MIXER,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=32
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=15


Master Clock says 'No signal'.
Master Clock: Word Clock. S/PDIF cable is NOT connected.
$ amixer -c1 contents
...
numid=65,iface=MIXER,name='Word Clock Status'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=64,iface=MIXER,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=54
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=15


Master Clock says 'Locked'.
Master Clock: 48000 Internal. S/PDIF cable is connected.
$ amixer -c1 contents
...
numid=65,iface=MIXER,name='Word Clock Status'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=64,iface=MIXER,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=0
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=67


Master Clock says 'Locked'.
Master Clock: 48000 Internal. S/PDIF cable is NOT connected.
$ amixer -c1 contents
...
numid=65,iface=MIXER,name='Word Clock Status'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=64,iface=MIXER,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=0
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r-------,values=1,min=0,max=255,step=0
  : values=67
  
  
  
----------------------------------------------------------
ALSA 1.0.9b + older distro:
----------------------------------------------------------
Master Clock says 'Locked' in all cases below...
Note: I could not find a 'Word Clock Status' item.
Perhaps that's why it never worked at all under ALSA 1.0.9b ?

Master Clock: S/PDIF. S/PDIF cable is connected.
$ amixer -c1 contents
...
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=0
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=67
numid=64,iface=PCM,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw---,values=1
  : values=off

  
Master Clock: S/PDIF. S/PDIF cable is NOT connected.
$ amixer -c1 contents
...
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=63
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=67
numid=64,iface=PCM,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw---,values=1
  : values=off

  
Master Clock: Word Clock. S/PDIF cable is connected.
$ amixer -c1 contents
...
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=0
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=67
numid=64,iface=PCM,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw---,values=1
  : values=on

  
Master Clock: Word Clock. S/PDIF cable is NOT connected.
$ amixer -c1 contents
...
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=23
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=67
numid=64,iface=PCM,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw---,values=1
  : values=on

  
Master Clock: 48000 Internal. S/PDIF cable is connected.
$ amixer -c1 contents
...
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=31
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=67
numid=64,iface=PCM,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw---,values=1
  : values=off
  
  
Master Clock: 48000 Internal. S/PDIF cable is NOT connected.
$ amixer -c1 contents
...
numid=2,iface=PCM,name='IEC958 CS8427 Error Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=22
numid=1,iface=PCM,name='IEC958 CS8427 Input Status'
  ; type=INTEGER,access=r----,values=1,min=0,max=255,step=0
  : values=67
numid=64,iface=PCM,name='Word Clock Sync'
  ; type=BOOLEAN,access=rw---,values=1
  : values=off

  reply	other threads:[~2007-11-25 22:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-21  6:58 multi pcm and mmap problem terminator356
2007-11-21 11:01 ` Takashi Iwai
     [not found]   ` <200711211627.52438.terminator356@users.sourceforge.net>
2007-11-23 13:41     ` Takashi Iwai
2007-11-23 14:35       ` Takashi Iwai
2007-11-24  1:31         ` Tim
2007-11-24 10:16           ` Takashi Iwai
2007-11-25 22:51             ` Tim [this message]
2007-11-26 10:38               ` Takashi Iwai
2007-11-26 22:46                 ` Tim
2007-11-27 14:06                   ` Takashi Iwai
2007-12-01 23:33                     ` Tim
2007-12-02 13:40                       ` John Rigg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200711251751.05205.terminator356@users.sourceforge.net \
    --to=terminator356@users.sourceforge.net \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.