お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-11-19 12:54:47

Linux7
メンバ
登録日: 2009-05-18

起動中にUSBヘッドフォンを接続した場合のalsaでの認識

USBヘッドフォンを接続したままOSを起動した場合はちゃんと認識されて音も出るのですが、OS起動中に接続した場合は認識されず「サウンドの設定」では表示されません。
これについては"$ alsa force-reload"で認識され「サウンドの設定」でも表示されるのですが、いちいちコマンドを打つのも面倒です。

「それなら起動前からUSBヘッドフォン接続しておけば良いじゃないか」と考える方もいらっしゃると思いますが、使う予定があるかもわからないのに常にUSBヘッドフォンをつなげて置くのも気持ち悪いですし、skypeなどで突然電話がかかってきたときなんかに助かるのです。

OS起動中にUSBヘッドフォンを接続した場合はこれは仕方のない現象なのでしょうか?
もしくはコマンドを打たなくても認識してくれるような解決策はありますか?

オフライン

 

#2 2011-11-19 13:42:12

petitbootang
メンバ
From: 東京都
登録日: 2009-02-12

Re: 起動中にUSBヘッドフォンを接続した場合のalsaでの認識

サウンドに関する問題は、奥が深いと言うか根が深いというか…
なので、ご使用中の環境の情報を書かないと何とも答えようが無いと思います。
対応出来ていないハードウェアでどうにもならない場合もありますが、alsa-base.conf を編集することで上手く動くようになることも多いですので。

オフライン

 

#3 2011-11-19 20:29:52

Linux7
メンバ
登録日: 2009-05-18

Re: 起動中にUSBヘッドフォンを接続した場合のalsaでの認識

組み立てのPCでマザーボードはASrockのH67DE3を、USBヘッドフォンはBAFFALOのBMHUH01SVAという電源のON/OFFできるものを使っています。

OS起動時にUSBヘッドフォンの電源がONになっていれば認識されるが、OS起動中(起動後)にONにしても認識されないということは、alsaというのは常にデバイスを読み込もうとしているわけではなく、OS起動時のみデバイスを読み込むようになっているということですよね?
つまりalsaが常にデバイスを読み込むように設定できれば問題が解決するということでしょうか。

オフライン

 

#4 2011-11-19 23:21:51

Mocchi
管理者
登録日: 2009-05-17

Re: 起動中にUSBヘッドフォンを接続した場合のalsaでの認識

Linux7 による投稿:

OS起動時にUSBヘッドフォンの電源がONになっていれば認識されるが、OS起動中(起動後)にONにしても認識されないということは、alsaというのは常にデバイスを読み込もうとしているわけではなく、OS起動時のみデバイスを読み込むようになっているということですよね?

私が持っているUSB接続のサウンドデバイス(ウェブカメラ内蔵のマイク含む)はつなぐ度にちゃんと認識されますので、常に真というわけではなさそうです。

dmesgなどで逐一ログを見てみると、解決の糸口が見つけられるかもしれません。

オフライン

 

#5 2011-11-20 11:53:13

Linux7
メンバ
登録日: 2009-05-18

Re: 起動中にUSBヘッドフォンを接続した場合のalsaでの認識

返信ありがとうございます。
dmesgでそれらしきログを見つけました。

[ 2488.641994] usb 1-1.2: new full speed USB device using ehci_hcd and address 8
[ 2488.753798] input: C-Media USB Audio Device    as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.3/input/input7
[ 2488.753950] generic-usb 0003:0D8C:0008.0005: input,hidraw4: USB HID v1.00 Device [C-Media USB Audio Device   ] on usb-0000:00:1a.0-1.2/input3
[ 2488.863089] cannot find the slot for index 0 (range 0-2), error: -16
[ 2488.863092] cannot create card instance 0
[ 2488.863096] snd-usb-audio: probe of 1-1.2:1.0 failed with error -5
[ 2488.863114] usbcore: registered new interface driver snd-usb-audio

何かしらエラーが出ているのはわかるのですが、これはどうういう意味なのでしょう?

オフライン

 

#6 2011-11-20 12:03:33

Mocchi
管理者
登録日: 2009-05-17

Re: 起動中にUSBヘッドフォンを接続した場合のalsaでの認識

Linux7 による投稿:

[ 2488.863089] cannot find the slot for index 0 (range 0-2), error: -16
[ 2488.863092] cannot create card instance 0

ひょっとして、パス「/etc/modprobe.d/」以下のファイルで、サウンドカードの認識順序を固定するような設定をしていたりしませんか?ログを見る限り「サウンドカード0にしたいけど無理っす」と表示されているように見受けられます。

オフライン

 

#7 2011-11-20 20:23:08

Linux7
メンバ
登録日: 2009-05-18

Re: 起動中にUSBヘッドフォンを接続した場合のalsaでの認識

その通りでした。
原因は/etc/modprobe.d/alsa-base.confで"options snd-usb-audio index=0"という風に固定してあることでした。
これは以前音が鳴らない問題で右往左往してるときに自分で書き込んだものです。
snd-usb-audioの認識順序を0にするのだから特に問題は無いかと放置しておいたのがこのような現象に陥るとは思いませんでした。

勉強になりました。助けていただいてありがとうございました。

オフライン

 

#8 2011-11-20 21:43:25

Mocchi
管理者
登録日: 2009-05-17

Re: 起動中にUSBヘッドフォンを接続した場合のalsaでの認識

サウンドカードに割り振られるindexを指定しても、起動時にそのサウンドカードが認識できなかった場合、ALSAはindexをトコロテン式に詰めてサウンドカードに割り振ります。0になっていたのはおそらくマザーボード搭載のサウンドカードでしょう。そこにUSB接続のサウンドデバイスを接続したわけですが、0はすでに使われていたのでエラーを起こしたといった状況かと思います。

解決したようで何よりです ;)

オフライン

 

Board footer

Powered by FluxBB