From: Tomas Pospisek's Mailing Lists <tpo2@sourcepole.ch>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: [patch] Re: No state is present for card CMI8738
Date: Tue, 22 May 2007 23:02:29 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.0705222114350.5158@localhost> (raw)
In-Reply-To: <s5hfy5qp3gr.wl%tiwai@suse.de>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 2148 bytes --]
On Mon, 21 May 2007, Takashi Iwai wrote:
> At Fri, 18 May 2007 16:42:51 +0200 (CEST),
> Tomas Pospisek's Mailing Lists wrote:
>>
>> Since I got no feedback neither here nor on the users list, may I ask why?
>>
>> * is it that nobody knows the answer to my question?
>> * or is it because the question is stupid (as in: read the FAQ, the wiki,
>> the archive and use google (all of which did not help me btw.))
>
> Because you pasted the whole things below your signature.
> I didn't read texts below the signature because they are usually
> quoted texts.
Thanks a lot for your reply and sorry for that.
> Regarding the alsactl problem. When alsactl returns 'no state is
> present', then it's not necessarily a driver problem but could be
> rather a system problem. At least, you have to figure out what is the
> cause. For example, check /proc/asound/cards whether the driver is
> really loaded when you call alsactl.
Well, actually I figured out one cause of the problem, namely that alsactl
wasn't able to access the configuration file. My dumb, but nevertheless,
alsactl could be way clearer about telling the user what's wrong.
I suggest the attached patches to improve the comprehensibility of
alsactl's (error-)behaveour.
Description of patches:
* diff_display_error_on_failing_open_in_load_state:
Tells the user that it was not able to open the config file with the
precise error message.
* diff_more_explicit_open_w_error_message:
Include more explicit error message when open config file in write
mode (this is for the "names" command)
* diff_more_explicit_open_w_error_message2
same as last patch, this time for the store command
Other little patches:
* diff_missing_space_in_help:
adds a space in the help text between "restore" and "<card>" and indents
the rest of the text accordingly to fit
* diff4_display_help_for_names_command:
shortly explain the "names" command in the help text
*t
--
-----------------------------------------------------------
Tomas Pospisek
http://sourcepole.com - Linux & Open Source Solutions
-----------------------------------------------------------
[-- Attachment #2: Type: TEXT/PLAIN, Size: 402 bytes --]
diff -u state.c state.c
--- state.c 2006-09-29 13:53:26.000000000 +0200
+++ state.c 2007-05-22 22:12:21.000000000 +0200
@@ -1312,7 +1312,10 @@
error("snd_config_load error: %s", snd_strerror(err));
return err;
}
- }
+ } else {
+ error("Cannot open %s for reading: %s", file, snd_strerror(err));
+ return err;
+ }
if (!cardname) {
int card, first = 1;
[-- Attachment #3: Type: TEXT/PLAIN, Size: 1577 bytes --]
--- alsactl.c.orig 2006-09-29 13:53:26.000000000 +0200
+++ alsactl.c 2007-05-22 22:03:36.000000000 +0200
@@ -41,16 +41,16 @@
{
printf("Usage: alsactl <options> command\n");
printf("\nAvailable options:\n");
- printf(" -h,--help this help\n");
- printf(" -f,--file # configuration file (default " SYS_ASOUNDRC " or " SYS_ASOUNDNAMES ")\n");
- printf(" -F,--force try to restore the matching controls as much as possible\n");
- printf(" -d,--debug debug mode\n");
- printf(" -v,--version print version of this program\n");
+ printf(" -h,--help this help\n");
+ printf(" -f,--file # configuration file (default " SYS_ASOUNDRC " or " SYS_ASOUNDNAMES ")\n");
+ printf(" -F,--force try to restore the matching controls as much as possible\n");
+ printf(" -d,--debug debug mode\n");
+ printf(" -v,--version print version of this program\n");
printf("\nAvailable commands:\n");
- printf(" store <card #> save current driver setup for one or each soundcards\n");
- printf(" to configuration file\n");
- printf(" restore<card #> load current driver setup for one or each soundcards\n");
- printf(" from configuration file\n");
+ printf(" store <card #> save current driver setup for one or each soundcards\n");
+ printf(" to configuration file\n");
+ printf(" restore <card #> load current driver setup for one or each soundcards\n");
+ printf(" from configuration file\n");
}
int main(int argc, char *argv[])
[-- Attachment #4: Type: TEXT/PLAIN, Size: 549 bytes --]
diff -u alsactl.c alsactl.c
--- alsactl.c 2007-05-22 22:03:36.000000000 +0200
+++ alsactl.c 2007-05-22 22:06:43.000000000 +0200
@@ -51,6 +51,8 @@
printf(" to configuration file\n");
printf(" restore <card #> load current driver setup for one or each soundcards\n");
printf(" from configuration file\n");
+ printf(" names <card #> dump information about all the known present (sub-)devices\n");
+ printf(" into configuration file\n");
}
int main(int argc, char *argv[])
[-- Attachment #5: Type: TEXT/PLAIN, Size: 395 bytes --]
--- names.c.orig 2006-09-29 13:53:26.000000000 +0200
+++ names.c 2007-05-22 22:15:29.000000000 +0200
@@ -535,7 +535,7 @@
err = snd_output_stdio_open(&out, cfgfile, "w+");
}
if (err < 0) {
- error("Cannot open %s for writing", cfgfile);
+ error("Cannot open %s for writing: %s", cfgfile, snd_strerror(err));
return -errno;
}
err = snd_config_save(config, out);
[-- Attachment #6: Type: TEXT/PLAIN, Size: 402 bytes --]
diff -u state.c state.c
--- state.c 2007-05-22 22:12:21.000000000 +0200
+++ state.c 2007-05-22 22:19:37.000000000 +0200
@@ -1278,7 +1278,7 @@
else
err = snd_output_stdio_open(&out, file, "w");
if (err < 0) {
- error("Cannot open %s for writing", file);
+ error("Cannot open %s for writing: %s", file, snd_strerror(err));
return -errno;
}
err = snd_config_save(config, out);
[-- Attachment #7: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2007-05-22 21:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-15 22:28 No state is present for card CMI8738 Tomas Pospisek's Mailing Lists
2007-05-18 14:42 ` Tomas Pospisek's Mailing Lists
2007-05-21 16:05 ` Takashi Iwai
2007-05-22 21:02 ` Tomas Pospisek's Mailing Lists [this message]
2007-05-23 10:09 ` [patch] " Takashi Iwai
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=Pine.LNX.4.64.0705222114350.5158@localhost \
--to=tpo2@sourcepole.ch \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).