저는 Debian Squeeze를 실행하고 있습니다. Gnome3을 설치하고 제거한 다음 Gnome2.x를 다시 설치했는데(대단한 실패와 어리석음) 그 과정에서 오디오가 손실되어 lspci
다음을 반환했습니다.
# lspci | grep Audio
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
그러나 lsmod는 아무것도 반환하지 않습니다.
$ lsmod |grep audio
무엇이 잘못될 수 있는지 아시나요?
이것은 업데이트이며 학습을 통해 제거된 가능한 패키지를 모두 설치하려고 했습니다 /var/log/dpkg.log
. 이로 인해 바탕 화면을 마우스 오른쪽 버튼으로 클릭할 수 없고 버튼이 둔해 보이는 등의 다른 문제가 해결되었습니다. 이제 모든 것이 정상화되었지만 소리가 들리지 않습니다. 사운드 부분이 안보이네요 gnome-control-center
. 다음은 몇 가지 조사 결과입니다.
kumar@debian-box:/$ lspci | grep Audio
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
kumar@debian-box:/$ lsmod |grep audio
kumar@debian-box:/$ lsmod |grep snd
kumar@debian-box:/$ lsmod |grep sound
kumar@debian-box:/$ cat alsa-base.conf
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; }
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
# Keep snd-pcsp from beeing loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
마지막 업데이트를 사용하여 수정했는데 sudo modprobe snd-hda-intel
, 커널 헤더가 엉망인 것 같습니다.
답변1
어쩌면 alsa 관련 패키지를 제거했거나 설치를 망쳤을 수도 있습니다. 없기 때문에snd_* 모듈이 로드되었습니다. /etc/modprobe.d/alsa-base.conf
잘못되었거나 누락되었을 가능성이 높습니다. alsa를 다시 설치하고 재부팅해 보세요.
apt-get --reinstall install alsa-base alsa-oss alsa-utils gstreamer0.10-alsa
때로는 종속성이 많은 패키지를 주요 릴리스로 업그레이드할 때 많은 종속성이 제거되고 대체 패키지로 대체될 수 있습니다. 이전 버전으로 다운그레이드할 때 종속성 체인이 원래 상태로 돌아갈지 여부는 불확실합니다. 특히 업그레이드된 구성 파일.
편집하다
따라서 저장소의 다른 비안정적인 버전(예: 실험적 버전)에서 업그레이드하는 경우 모든 패키지를 안정적인 버전으로 다운그레이드하고 모든 종속성을 수정할 수 있는 방법이 있습니다.
파일을 만들고 /etc/apt/preferences
다음 내용을 추가합니다.
Package: *
Pin: release a=squeeze
Pin-Priority: 1001
이를 고정이라고 하며 압출된 패키지에 최대 우선순위를 부여합니다. 저장소를 압축했는지 확인 /etc/apt/sources.list
하고 실행하십시오.
apt-get update
apt-get -d dist-upgrade
apt-get dist-upgrade
그러면 각 패키지가 안정적인 버전으로 다운그레이드됩니다. 모든 설치 스크립트는 다운그레이드가 아닌 업그레이드에 최적화되어 있으므로 전체 프로세스를 주의 깊게 관찰해야 합니다. 이는 일부 패키지가 잘못된 순서로 설치를 시도할 수 있음을 의미합니다. 이로 인해 다운그레이드가 중단되면 dpkg --force-all -i /var/cache/apt/archives/<pkgname>.deb
필요한 패키지를 강제 설치하거나 필요한 경우 프로세스를 apt-get -f install
다시 시작하세요 .dist-upgrade
/etc/apt/preferences
마지막으로 제거하십시오.
답변2
아마도 잘못된 문장을 찾으셨나요? 소리를 내려면 모듈 이름에 "오디오"가 필요합니까? 사운드 드라이버를 얻으려면 modprobe -l | grep sound를 사용하십시오.