ログイン
編集不可のページディスカッション情報添付ファイル
"clear/note/2012-01"の差分

MMA
3と4のリビジョン間の差分
2012-01-01 14:59:28時点のリビジョン3
サイズ: 781
編集者: clear
コメント:
2012-01-07 21:40:47時点のリビジョン4
サイズ: 5336
編集者: clear
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 12: 行 12:

== 01/07 ==
=== snd_hdaでヘッドホン端子を認識させる ===
まず端子の情報を取得する。
{{{
# sysctl hw.hdac.1.pindump=1
}}}
これでsyslogに出力される(値は変わらず0 -> 0と表示されるがこれで正しい)。コネクタの色とかまで分かる。(注: 以下は設定後の状態)
{{{
Jan 7 21:18:18 mirage kernel: hdac1: Dumping AFG cad=2 nid=1 pins:
Jan 7 21:18:18 mirage kernel: hdac1: nid 20 0x01014410 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 4
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP VREF Sense: 0x80000000
Jan 7 21:18:18 mirage kernel: hdac1: nid 21 0x01011412 as 1 seq 2 Line-out Jack jack 1 loc 1 color Black misc 4
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP VREF Sense: 0x00000000
Jan 7 21:18:18 mirage kernel: hdac1: nid 22 0x01016411 as 1 seq 1 Line-out Jack jack 1 loc 1 color Orange misc 4
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP Sense: 0x00000000
Jan 7 21:18:18 mirage kernel: hdac1: nid 23 0x01012414 as 1 seq 4 Line-out Jack jack 1 loc 1 color Grey misc 4
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP Sense: 0x00000000
Jan 7 21:18:18 mirage kernel: hdac1: nid 24 0x01a19c40 as 4 seq 0 Mic Jack jack 1 loc 1 color Pink misc 12
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP VREF Sense: 0x00000000
Jan 7 21:18:18 mirage kernel: hdac1: nid 25 0x02a19c50 as 5 seq 0 Mic Jack jack 1 loc 2 color Pink misc 12
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP VREF Sense: 0x00000000
Jan 7 21:18:18 mirage kernel: hdac1: nid 26 0x0181344f as 4 seq 15 Line-in Jack jack 1 loc 1 color Blue misc 4
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP VREF Sense: 0x00000000
Jan 7 21:18:18 mirage kernel: hdac1: nid 27 0x02214c1f as 1 seq 15 Headphones Jack jack 1 loc 2 color Green misc 12
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP VREF Sense: 0x00000000
Jan 7 21:18:18 mirage kernel: hdac1: nid 28 0x593301f0 as 15 seq 0 CD None jack 3 loc 25 color Unknown misc 1 [DISABLED]
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN
Jan 7 21:18:18 mirage kernel: hdac1: nid 30 0x014b6130 as 3 seq 0 SPDIF-out Jack jack 11 loc 1 color Orange misc 1
Jan 7 21:18:18 mirage kernel: hdac1: Caps: OUT
Jan 7 21:18:18 mirage kernel: hdac1: nid 31 0x01cb7160 as 6 seq 0 SPDIF-in Jack jack 11 loc 1 color Yellow misc 1
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN
Jan 7 21:18:18 mirage kernel: hdac1: NumGPIO=2 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
Jan 7 21:18:18 mirage kernel: hdac1: GPIO: data=0x00000000 enable=0x00000000 direction=0x00000000
Jan 7 21:18:18 mirage kernel: hdac1: wake=0x00000000 unsol=0x00000000 sticky=0x00000000
}}}
line-outはこれ。
{{{
Jan 7 21:18:18 mirage kernel: hdac1: nid 20 0x01014410 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 4
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP VREF Sense: 0x80000000
}}}
ヘッドホンはこれ。
{{{
Jan 7 21:18:18 mirage kernel: hdac1: nid 27 0x02214c1f as 1 seq 15 Headphones Jack jack 1 loc 2 color Green misc 12
Jan 7 21:18:18 mirage kernel: hdac1: Caps: IN OUT HP VREF Sense: 0x00000000
}}}
端子ごとにいくつか設定項目がある。
 as(association):: 複数の端子で同じ値を設定することで、それらの端子をまとめて複数チャンネルのデバイスとして扱う
 seq(sequence):: association内での端子の位置を指定する(詳しくはsnd_hda(4))。seqが15、かつdeviceがHeadphonesである場合、seq=0の端子と同じものを出力する。端子の認識がサポートされている場合、0番の端子は自動的にミュートされる
 device:: デバイスの種類を指定する。Line-outとかSpeakerとかHeadphonesとか
ヘッドホンが挿されたときに自動的に切り替わるようにするには、ヘッドホン端子のasをスピーカーのつながっている端子と同じ値に設定し、さらにseq=15、device=Headphonesとすればいい。`/boot/device.hints`に以下のように追記した。
{{{
# cadとかnidの番号はsyslogの出力を見ればわかる
hint.hdac.1.cad2.nid27.config="as=1 seq=15 device=Headphones"
}}}

2012年1月

01/01

dwm 6.0

昨年12/19にdwmのバージョン6.0がリリースされていた。MLのアーカイブによれば、主な変更点は以下。

  • nmasterの採用(原文は"the return of the nmaster functionality"なので、昔あった機能が復活した?)
    • config.hでmaster領域のデフォルトウィンドウ数を指定できる他、Mod-i/dで動的に増減可能)
  • デフォルト配色の変更
  • EWHMサポートの改善
  • Xineramaやウィンドウフォーカスに関する修正
  • ウィンドウを隠す際、負の座標に飛ばすようになった(以前は正の座標だったらしい)

など。それにしても、気づくのが遅れた……

01/07

snd_hdaでヘッドホン端子を認識させる

まず端子の情報を取得する。

# sysctl hw.hdac.1.pindump=1

これでsyslogに出力される(値は変わらず0 -> 0と表示されるがこれで正しい)。コネクタの色とかまで分かる。(注: 以下は設定後の状態)

Jan  7 21:18:18 mirage kernel: hdac1: Dumping AFG cad=2 nid=1 pins:
Jan  7 21:18:18 mirage kernel: hdac1:  nid 20 0x01014410 as  1 seq  0      Line-out  Jack jack  1 loc  1 color   Green misc 4
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP      VREF Sense: 0x80000000
Jan  7 21:18:18 mirage kernel: hdac1:  nid 21 0x01011412 as  1 seq  2      Line-out  Jack jack  1 loc  1 color   Black misc 4
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP      VREF Sense: 0x00000000
Jan  7 21:18:18 mirage kernel: hdac1:  nid 22 0x01016411 as  1 seq  1      Line-out  Jack jack  1 loc  1 color  Orange misc 4
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP           Sense: 0x00000000
Jan  7 21:18:18 mirage kernel: hdac1:  nid 23 0x01012414 as  1 seq  4      Line-out  Jack jack  1 loc  1 color    Grey misc 4
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP           Sense: 0x00000000
Jan  7 21:18:18 mirage kernel: hdac1:  nid 24 0x01a19c40 as  4 seq  0           Mic  Jack jack  1 loc  1 color    Pink misc 12
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP      VREF Sense: 0x00000000
Jan  7 21:18:18 mirage kernel: hdac1:  nid 25 0x02a19c50 as  5 seq  0           Mic  Jack jack  1 loc  2 color    Pink misc 12
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP      VREF Sense: 0x00000000
Jan  7 21:18:18 mirage kernel: hdac1:  nid 26 0x0181344f as  4 seq 15       Line-in  Jack jack  1 loc  1 color    Blue misc 4
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP      VREF Sense: 0x00000000
Jan  7 21:18:18 mirage kernel: hdac1:  nid 27 0x02214c1f as  1 seq 15    Headphones  Jack jack  1 loc  2 color   Green misc 12
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP      VREF Sense: 0x00000000
Jan  7 21:18:18 mirage kernel: hdac1:  nid 28 0x593301f0 as 15 seq  0            CD  None jack  3 loc 25 color Unknown misc 1 [DISABLED]
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN
Jan  7 21:18:18 mirage kernel: hdac1:  nid 30 0x014b6130 as  3 seq  0     SPDIF-out  Jack jack 11 loc  1 color  Orange misc 1
Jan  7 21:18:18 mirage kernel: hdac1:        Caps:    OUT
Jan  7 21:18:18 mirage kernel: hdac1:  nid 31 0x01cb7160 as  6 seq  0      SPDIF-in  Jack jack 11 loc  1 color  Yellow misc 1
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN
Jan  7 21:18:18 mirage kernel: hdac1: NumGPIO=2 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
Jan  7 21:18:18 mirage kernel: hdac1: GPIO: data=0x00000000 enable=0x00000000 direction=0x00000000
Jan  7 21:18:18 mirage kernel: hdac1:       wake=0x00000000  unsol=0x00000000    sticky=0x00000000

line-outはこれ。

Jan  7 21:18:18 mirage kernel: hdac1:  nid 20 0x01014410 as  1 seq  0      Line-out  Jack jack  1 loc  1 color   Green misc 4
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP      VREF Sense: 0x80000000

ヘッドホンはこれ。

Jan  7 21:18:18 mirage kernel: hdac1:  nid 27 0x02214c1f as  1 seq 15    Headphones  Jack jack  1 loc  2 color   Green misc 12
Jan  7 21:18:18 mirage kernel: hdac1:        Caps: IN OUT HP      VREF Sense: 0x00000000

端子ごとにいくつか設定項目がある。

as(association)
複数の端子で同じ値を設定することで、それらの端子をまとめて複数チャンネルのデバイスとして扱う
seq(sequence)
association内での端子の位置を指定する(詳しくはsnd_hda(4))。seqが15、かつdeviceがHeadphonesである場合、seq=0の端子と同じものを出力する。端子の認識がサポートされている場合、0番の端子は自動的にミュートされる
device
デバイスの種類を指定する。Line-outとかSpeakerとかHeadphonesとか

ヘッドホンが挿されたときに自動的に切り替わるようにするには、ヘッドホン端子のasをスピーカーのつながっている端子と同じ値に設定し、さらにseq=15、device=Headphonesとすればいい。/boot/device.hintsに以下のように追記した。

# cadとかnidの番号はsyslogの出力を見ればわかる
hint.hdac.1.cad2.nid27.config="as=1 seq=15 device=Headphones"

clear/note/2012-01 (最終更新日時 2012-01-20 12:50:26 更新者 clear)