흠.. 제목이 좀 의미가 잘 전달이 안되는 듯 싶긴 한데 아뭏든 설명을
하자면 ...
시스템 : Thinkpad 600E 2645-3AU + Hancom Linux 1.2(Redhat 7.0)
Kernel 2.4.2 + Alsa 0.5.10b
문제점 : 원래 패키지에서 제공하는 사운드 모듈이나 드라이버로는
사운드설정을 할 수가 없어서 ALSA드라이버를 쓰는데 이게 부팅시
모듈은 제대로 로드가 되는데 소리가 안나고 모듈을 언로드 할려면
device busy로 나옵니다. 그럼 서스펜드 모드로도 안되고. ALSA모듈을
부팅시 로드하지 않고 부팅 후 alsaconf로 사운드 설정을 다시 해 주면
소리가 납니다. 근데 이 상태로 다시 부팅을 하면, 즉 modules.conf에
사운드 모듈정보를 두고 부팅시 로드하게 하면 또 위에서 말한
문제가 생깁니다.
해결책: /etc/rc.d/rc.sysinit 파일에서 아래 만큼에 보면 사운드모듈
로드하는 부분과 믹서 로드 하는 부분이 있습니다. 이 것들을 몽땅
지워 버리면 됩니다. 원래 패키지에서 제공하는 사운드 드라이버나
모듈을 쓸 경우 필요한 스크립트인데 알사로 바꾼 경우는 이게 필요가
없는 것 같습니다. 아니 오히려 이게 문제의 원인이죠. 왜냐면 ALSA
드라이버를 쓰는 경우는 사운드 모듈을 /etc/rc.d/init.d/alsasound (요건
/etc/rc.d/rc5.d/S87alsasound로 링크가 되어 있죠)
스크립트를 이용해서 로드 하는데 위에서 말한 것을 놔둘 경우 모듈
로드는 제대로 되는데 믹서에서 문제가 생기는지 소리가 나질 않습니다.
믹서를 두번 로드 하게 되더군요. rc.sysinit에서 aumix라는 놈을 로드하고
나중에 ALSA가 또 로드를 합니다. 근데 aumix라는 놈은 사운드 모듈로드
없이 믹서만 로드를 하게 되죠. 왜냐면 패키지에 원래 포함된 사운드
모듈이 없는 상태이기 때문에...
그래서 rc.sysinit에서 몽땅 사운드 모듈 관련 부분을 지워 버리면
순수한 ALSA모듈만 로드하게 되니 문제가 없습니다.
한가지 더 첨부하자면 커널 2.4.x에서 부턴 바이오스의 ACPI기능을 쓰도록
컴파일 하면 IRQ 9번이 이 기능을 위해서 예약이 된다네요. 그럼 제
씽크패드처럼 MPU IRQ로 9번을 쓰는 경우는 문제가 생길 지도 모르죠.
전 첨부터 ACPI기능을 disable 시키고 컴파일 해서 문제를 경험하진
못했습니다.--이 곳에 서명을 적어주십시오.
킬리만자로의 표범