2006-03-28 雨が降ったのでウォーキングなし [長年日記]
_1 CS4281でデバイスが使えるときと使えないときの差
清水さんがdmesgをとってくれたのでチェック.差分は7箇所.うちほとんど無視.気になるのは2箇所.
@@ -147,7 +147,6 @@ hda: hda1 hda2 mice: PS/2 mouse device common for all mice NET: Registered protocol family 2 -input: AT Translated Set 2 keyboard as /class/input/input0 IP route cache hash table entries: 4096 (order: 2, 16384 bytes) TCP established hash table entries: 16384 (order: 4, 65536 bytes) TCP bind hash table entries: 16384 (order: 4, 65536 bytes) @@ -160,6 +159,7 @@ ACPI wakeup devices: LID SLPB PCI0 USB UART ACPI: (supports S0 S1 S3 S4 S5) +input: AT Translated Set 2 keyboard as /class/input/input0 kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly.
キーボードの認識タイミングが違う.うちのヘボマシンみたい.
うちでは起動時のタイミングによってはキーボードが使えない問題が出ていた.BIOSで「起動時にNumLockキーをONにする」を外すと回避できる.キーボードが使えないとはおっしゃっていないのでこれは関係ないと思われる.
@@ -176,6 +176,9 @@ hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:0b.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11 +never read ISV3 and ISV4 from AC'97 +ACPI: PCI interrupt for device 0000:00:0b.0 disabled +CS4281: probe of 0000:00:0b.0 failed with error -5 Adding 188992k swap on /dev/hda2. Priority:-1 extents:1 across:188992k EXT3 FS on hda1, internal journal usbcore: registered new driver usbkbd
差分の内容は以下のような感じだと思う.
- CS4281の初期化時のエラー
- デバイスを使わないのでIRQの設定解除のメッセージ
- ドライバのロードに失敗した旨のメッセージ
レジスタの値が期待通りのものじゃなかったから失敗したみたいだが,結局よく分からん.
Turbolinux Enhancement Advisory TLEA-2006-13よると,Turbolinux FUJIの最新カーネルにはcs4281の修正が入っているみたい.修正を確認.
基本的には最新カーネルのバックポートに見えるが,1点
* Wed Feb 1 2006 Go Taniguchi <go@turbolinux.co.jp> 2.6.13-4.3 - cs4281 timeout to 1sec
が独自修正っぽいのが入っている.ただし挿入箇所は清水さんところで出ているメッセージの場所ではなくちょっと上の snd_printk(KERN_ERR "DLLRDY not seen\n"); のところ.
diff -urpN linux-2.6.13.orig/sound/pci/cs4281.c linux-2.6.13/sound/pci/cs4281.c --- linux-2.6.13.orig/sound/pci/cs4281.c 2005-12-11 14:24:36.000000000 +0900 +++ linux-2.6.13/sound/pci/cs4281.c 2005-12-11 14:25:03.000000000 +0900 @@ -1492,6 +1492,7 @@ static int snd_cs4281_chip_init(struct c snd_cs4281_pokeBA0(chip, BA0_CLKCR1, BA0_CLKCR1_DLLP); msleep(50); snd_cs4281_pokeBA0(chip, BA0_CLKCR1, BA0_CLKCR1_SWCE | BA0_CLKCR1_DLLP); + udelay(10000); /* * Wait for the DLL ready signal from the clock logic.
勝手に上の修正がこれだと思いこんでるけど,まずあっているのかどうか不明.あっていたとしても1secじゃなくて,10msecだと思うんだが.ますます不明.ちょっと分からんのでtaniguchiさんって方に聞いてみよう.
追記: 2500頃にメールを送ってみた.が,返事くるかなぁ.清水さんもオレもTurbolinuxユーザじゃないし.でも期待はしてみる.
_2 Gentoo Linux Documentation -- Gentoo Linux ALSA ガイド
しばらく前から起動時にALSAのエラーが出るようになった.
# /etc/init.d/alsasound start * Loading ALSA modules ... * Loading: snd-card-0 ... [ ok ] * Restoring Mixer Levels ... /usr/sbin/alsactl: load_state:1250: Cannot find soundcard '0'... * Errors while restoring defaults, ignoring [ ok ]
カーネルの作り直しや,alsa関係のツールをインストールし直しても解決せず.ググっても分からんかったが,* Gentoo Forums :: View topic - Alsa cannot find souncardにあったコメントを参考に
# udevstart
をしたところ,/dev/snd配下にファイルが増え動くようになった.なんやろかこれ.udevは最新の
[ebuild R ] sys-fs/udev-087 (-selinux) 0 kB
を使っている.
_3 Re: 最近のツッコミ
しばたさんが修正をしてくださったので早速アップデート.テストという名前で古い日付にツッコミをしてみた.結果
1. テストさん (20060326#c03) 2. 清水さん (20060327#c01) 3. 清水さん (20060327#c06) 4. しばたさん (20060326#c05) 5. しみずさん (20060326#c04)
となり,古い日付にツッコミをしてもちゃんとツッコミの新しい順に表示されるようになった.対応ありがとうございます>しばたさん
追記: うーん,TrackBackがうまく送信できていない.なんでやろうか.自分自身にはうまくできているのにな.
直っているようで安心しました。