############ Karmic kullanıcıları için güncelleme ############
- Bu belgenin yazmamdaki sebep kulaklık sorununumu aşmaktı. Karmic ile şu an bu sorunum bulunmamaktadır. Ancak hâlâ sorun yaşayan kullanıcılar olabileceğinden ötürü belgeyi ALSA'nın yeni sürümü için (1.0.22) için güncelliyorum.
- Belge ilk olarak Intel kart sorunları için açılmıştır. Fakat daha genel bir ALSA derlemesine doğru gitmiştir. Bu güncelleme ile derlemede sadece Intel örnek olarak kullanılacak olup, diğer kartlar için ./configure bilgisi verilecektir.
- Karmic üzerinde alsa-utils derlemesi ufak bir ./configure sorunu çıkartmaktadır. Karmic için ilgili not alsa-utils derlemesi bölümünde verilmiştir.
############ Jaunty ve üzeri kullanıcıları için güncelleme ############
- Eğer Ubuntu 9.04 ve üzerinde bir sürüm kullanıyorsanız bir ALSA derlemesine ihtiyaç duymayabilirsiniz. Sadece alsa-base.conf dosyasına girilecek parametreler sorununuzu çözebilir. Aşağıdaki yöntem Ubuntu 8.10 Intrepid Ibex altında uygulanmıştır. Jaunty kullanıcıları ALSA derlemesi yapmadan doğrudan alsa-base.conf ile ilgili kısma gidebilirler.
- alsa-base.conf girişi yapılmadan sorun devam ediyor. Ancak ALSA derlemesi yapmamıza rağmen alsa-base.conf dosyasına yapılan giriş sonucunda kulaklık sorunu giderilebilmekte. Fakat Surround için Center kanalı açıldığında yine tekerrür etmekte ne yazık ki. ALSA derlemesi de sonuç vermiyor.
Not: Intrepid altındaki bu yöntemde ALSA derlemesinden önce alsa-base dosyasına ekleme denenmemişti. Kısacası muhtemelen Intrepid altında da ALSA derlemesine ihtiyaç duyulmayabilir. Intrepid kullanıcıları deneyip kendileri sonucu görebilirler.
##################################################
Başlıkta bahsi geçen bir Lenovo Y530 dizüstünde bulunan aşağıdaki çıktıda belirtilen karttır:
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)Sorun: Ses hem hoparlörden hem de kulaklıktan geliyor.
Çözüm: ALSA'yı elle derlemek/kurmak ve bir alsa-base girdisi eklemek.
ALSA'yı elle derleyeceğimizden geliştirme paketlerine ve bazı kütüphanelere ihtiyacımız var:
sudo -i
aptitude install build-essential libncurses-dev gettext linux-headers-`uname -r` xmltoBu aşamada bize gereken paketleri kurduk. Görüldüğü üzere şu an root ile işimize devam ediyoruz. Bu nedenle bir işlem yaparken iki defa kontrol edin.
Şimdi ihtiyacımız olan ALSA paketlerini indirelim. Ben gerekli işlemleri /usr/src/alsa dizini altında yaptıracağım. Bir sonraki kernel güncellemesinden sonra muhtemelen bu işlemleri tekrar yapmak zorunda kalabiliriz. Bu nedenden ötürü paketlerin bu dizinde bulunması fena olmayacaktır.
mkdir /usr/src/alsa
cd /usr/src/alsa
wget -c ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.22.tar.bz2
wget -c ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.22.tar.bz2
wget -c ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.22.tar.bz2Alternatif yansı:
wget -c http://www.heartsmagic.net/alsa/alsa-driver-1.0.22.tar.bz2
wget -c http://www.heartsmagic.net/alsa/alsa-lib-1.0.22.tar.bz2
wget -c http://www.heartsmagic.net/alsa/alsa-utils-1.0.22.tar.bz2Böylece paketlerimiz /usr/src/alsa dizini altına inmiş oldu. Şimdi işlemlere devam edelim ve derlemeye başlayalım.
Not: Aşağıdaki ./configure adımı sadece Intel örneği için yapılmıştır. Siz kendi kartınız için --with-cards=hda-intel kısmını değiştirmelisiniz. Kart desteklerini aşağıda görebilirsiniz:
Possible cards are:
seq-dummy, hrtimer, rtctimer, sbawe, emu10k1,
hpet, pcsp, dummy, virmidi, mtpav, mts64,
serial-u16550, mpu401, portman2x4, ml403-ac97cr,
serialmidi, loopback, adlib, ad1816a, ad1848,
als100, azt2320, cmi8330, cs4231, cs4236, dt019x,
es968, es1688, es18xx, sc6000, gusclassic,
gusextreme, gusmax, interwave, interwave-stb,
opl3sa2, opti92x-ad1848, opti92x-cs4231, opti93x,
miro, sb8, sb16, sgalaxy, sscape, wavefront,
msnd-pinnacle, msnd-classic, pc98-cs4232, ad1889,
als300, als4000, ali5451, atiixp, atiixp-modem,
au8810, au8820, au8830, aw2, azt3328, bt87x,
ca0106, cmipci, oxygen, cs4281, cs46xx, cs5530,
cs5535audio, ctxfi, darla20, gina20, layla20,
darla24, gina24, layla24, mona, mia, echo3g,
indigo, indigoio, indigodj, indigoiox, indigodjx,
emu10k1x, ens1370, ens1371, es1938, es1968,
fm801, hda-intel, hdsp, hdspm, hifier, ice1712,
ice1724, intel8x0, intel8x0m, korg1212, lx6464es,
maestro3, mixart, nm256, pcxhr, riptide, rme32,
rme96, rme9652, sis7019, sonicvibes, trident,
via82xx, via82xx-modem, virtuoso, vx222, ymfpci,
pdplus, asihpi, powermac, ps3, aoa,
aoa-fabric-layout, aoa-onyx, aoa-tas, aoa-toonie,
aoa-soundbus, aoa-soundbus-i2s, armaaci,
pxa2xx-ac97, sa11xx-uda1341, s3c2410,
atmel-abdac, atmel-ac97c, at73c213, sgi-o2,
sgi-hal2, au1x00, aica, usb-audio, usb-usx2y,
usb-caiaq, usb-us122l, vxpocket, pdaudiocf,
sun-amd7930, sun-cs4231, sun-dbri, harmony, soc,
atmel-soc, at91-soc-sam9g20-wm8731,
at32-soc-playpaq, at91-soc-afeb9260, soc-au1xpsc,
soc-sample-psc-ac97, bf5xx-i2s, bf5xx-tdm,
bf5xx-soc-ssm2602, bf5xx-soc-ad73311, bf5xx-ac97,
bf5xx-soc-ad1980, bf5xx-soc-ad1938, davinci-soc,
davinci-soc-evm, dm6467-soc-evm,
davinci-soc-sffsdr, da830-soc-evm, da850-soc-evm,
soc-mpc8610-hpcd, soc-mpc5200-i2s,
soc-mpc5200-ac97, mpc52xx-soc-pcm030,
mpc52xx-soc-efika, mx1-mx2-soc,
soc-mx27vis-wm8974, omap-soc, omap-soc-n810,
omap-soc-ams-delta, omap-soc-osk5912,
omap-soc-overo, omap-soc-omap2evm,
omap-soc-omap3evm, omap-soc-sdp3430,
omap-soc-omap3-pandora, omap-soc-omap3-beagle,
omap-soc-zoom2, pxa2xx-soc, pxa2xx-soc-corgi,
pxa2xx-soc-spitz, pxa2xx-soc-poodle,
pxa2xx-soc-tosa, pxa2xx-soc-e740,
pxa2xx-soc-e750, pxa2xx-soc-e800,
pxa2xx-soc-em-x270, soc-zylonite,
pxa2xx-soc-magician, pxa2xx-soc-mioa701,
s3c24xx-soc, s3c24xx-soc-neo1973-wm8753,
s3c24xx-soc-neo1973-gta02-wm8753,
s3c24xx-soc-jive-wm8750,
s3c24xx-soc-smdk2443-wm9710,
s3c24xx-soc-ln2440sbc-alc650,
s3c24xx-soc-s3c24xx-uda134x,
s3c24xx-soc-simtec-tlv320aic23,
s3c24xx-soc-simtec-hermes, s6000-soc,
s6000-soc-s6ipcam, soc-pcm-sh7760, soc-sh4-fsi,
sh7760-ac97, soc-txx9aclc, soc-txx9aclc-generic,
soc-tlv320aic26
Kart desteği haricinde diğer seçenekleri de görmek için ./configure --help kullanılabilir.
Görülebileceği üzere ben yukarıdaki listeden kendi kartım için olan hda-intel seçeneğini kullandım. Lütfen kendi kartınız için olan seçeneği bularak işlemi buna göre yapın.
tar xvf alsa-driver-1.0.22.tar.bz2
cd alsa-driver-1.0.22
./configure --with-cards=hda-intel
make
make installEğer işlem tüm aşamalardan "Error" yani hata vermeden geçtiyse kurulum tamamlanmıştır. Diğer paketleri de benzer şekilde derleyelim.
cd ..
tar xvf alsa-lib-1.0.22.tar.bz2
cd alsa-lib-1.0.22
./configure
make
make installVe son paket:
Not: Karmic altında aşağıdaki paketin derlenmesinde şöyle bir hata alabilirsiniz:
configure: error: panelw library not found
Bu durumda ./configure işlemini şu şekilde yürütün:
./configure --with-curses=ncursescd ..
tar xvf alsa-utils-1.0.22.tar.bz2
cd alsa-utils-1.0.22
./configure
make
make installBöylece ALSA'yı derlemiş olduk. Şimdi sıra geldi alsa-base'e ne ekleyeceğimizi bulmaya.
cat /proc/asound/card0/codec#* | grep Codeckomutu size bir çıktı döndürecektir. Örneğin benim için çıktıda şu vardı:
Codec: Realtek ALC888
Buna göre ufak bir araştırma yapacağız.
NOT: 1.0.19 sürümü ile beraber ALSA-Configuration.txt dosyası gerekli bilgileri içermemektedir. Eski dosya için şu bağlantıyı kullanabilir ve ilgili aramayı yapabilirsiniz:http://paste.ubuntu.com/238572/gedit /usr/src/alsa/alsa-driver-1.0.20/alsa-kernel/Documentation/ALSA-Configuration.txtkomutu ile yapılandırma belgesini açalım ve çıktıdan elde ettiğimiz sonucu aratıp gerekli bölümleri bulalım. Örneğin ben kendi çıktım için olan 888 için arama yapınca şöyle bir bölüm çıktı karşıma:
ALC883/888
3stack-dig 3-jack with SPDIF I/O
6stack-dig 6-jack digital with SPDIF I/O
.....................
...................
...................
lenovo-101e Lenovo 101E
lenovo-nb0763 Lenovo NB0763
lenovo-ms7195-dig Lenovo MS7195
lenovo-sky Lenovo Sky
......................
.....................
.....................
Ben bunların içinden edindiğim bilgiye göre lenovo-ms7195-dig seçeneğini kullandım. Bu dosyada değişiklik yapmıyoruz. Sadece seçenekleri görüp gerekli araştırmadan sonra doğru olanı seçiyoruz. Bunun için dosyayı gerekli bölümü gördükten sonra kapatın.
Şimdi seçtiğimizi alsa-base.conf dosyasına eklemeye sıra geldi.
gedit /etc/modprobe.d/alsa-base.confile açtığımız dosyanın sonuna yeni bir satır olacak şekilde ekliyoruz. Kendi örneğimi gösterecek olursak şöyle ekliyoruz:
options snd-hda-intel model=lenovo-ms7195-digBundan sonra sistemi yeniden başlatıyoruz. Eğer her şey yolunda gittiyse başlığa konu olan sorun ortadan kalkmış oluyor.
Eğer sistemi yeniden başlattıktan sonra ses çıkmıyorsa ses kanallarına göz atın. Kısılmış olabilirler.
Eğer kulaklıktan ses gelmiyorsa Ses simgesini çift tıklatın ve Switches bölümünden Headphones kısmını işaretleyin.
Kaynak:
http://ubuntuforums.org/showthread.php?t=687663&page=2