2009年04月28日 libretto100(myh.no-ip.org) IRDA, SOUND, hdparm [長年日記]
_ libretto100(myh.no-ip.org) IRDA, SOUND, hdparm
カーネルをリビルドしてからは調子がよさそう。
ただ、/var/log/syslogを見ていて、
Apr 27 20:34:36 lib100 insmod: /lib/modules/2.4.37/kernel/drivers/net/irda/donauboe.o: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters. You may find more information in syslog or the output from dmesg
というメッセージが出ているのを発見した。どうやらこのあたりの対応をした時に、元々スタティックに組み込んでいたIRDA(赤外線コントロール)関係のドライバがモジュールになったのが原因らしい。
本来は、メッセージの言う通りにモジュールに与えるパラメータを調節してやれば良いはずなのだが、元々スタティックに組み込んで動いていたので、モジュールはやめる事にした。
root@lib100:/usr/src/linux# egrep 'TOSHIBA|IRDA' .config CONFIG_TOSHIBA=y CONFIG_IRDA=y CONFIG_IRDA_ULTRA=y CONFIG_IRDA_CACHE_LAST_LSAP=y CONFIG_IRDA_FAST_RR=y CONFIG_TOSHIBA_FIR=y
また、サウンド関係のドライバも動かなくなっていたので、これもスタティックに組み込み直した。
CONFIG_SOUND=y CONFIG_SOUND_OSS=y CONFIG_SOUND_CS4232=y CONFIG_SOUND_YM3812=y
/etc/lilo.confでの
append="cs4232=0x534,9,1,0,0x330,9 opl3=0x388"
上記の設定と、BIOSでの設定が食い違わないように注意。
_ hdparm -A1 -c1 -W1 /dev/hda
ついでに、
hdparm -A1 -c1 -W1 /dev/hda
の設定も復活させた。
ちなみに
root@lib100:~# /usr/sbin/hdparm -d1 /dev/hda /dev/hda: setting using_dma to 1 (on) HDIO_SET_DMA failed: Operation not permitted using_dma = 0 (off)
あいかわらずDMAを有効には出来なかった...残念!
結局
root@lib100:~# /usr/sbin/hdparm -A1 -c1 -W1 /dev/hda /dev/hda: setting 32-bit IO_support flag to 1 setting drive read-lookahead to 1 (on) setting drive write-caching to 1 (on) IO_support = 1 (32-bit) root@lib100:~# /usr/sbin/hdparm /dev/hda /dev/hda: multcount = 16 (on) IO_support = 1 (32-bit) unmaskirq = 0 (off) using_dma = 0 (off) keepsettings = 0 (off) readonly = 0 (off) readahead = 8 (on) geometry = 3648/255/63, sectors = 30005821440, start = 0 root@lib100:~# /usr/sbin/hdparm -t -T /dev/hda /dev/hda: Timing cached reads: 128 MB in 2.04 seconds = 62.75 MB/sec Timing buffered disk reads: 18 MB in 3.27 seconds = 5.50 MB/sec root@lib100:~#
という感じ。