California Access W651DI – konfiguracja karty muzycznej w Ubuntu

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Jest to artykuł autorstwa jednego z naszych czytelników. Został umieszczony na stronie z Jego inicjatywy, za co serdecznie dziękuję.

Treść artykułu, w porównaniu z oryginałem, do którego link umieszczam poniżej, nie została zmieniona.
Jednocześnie pod adresem: jaack.4shared.com znajdują się gotowe dwie paczki przydatne w wykonywaniu poniższych czynności.

Zostałem poinformowany przez jednego z czytelników (za co serdecznie dziękuje), że w poradniku występują błędy – leżą one po stronie WordPressa, gdyż źle wyświetla pewne znaki, przez co po skopiowaniu komendy nie jest ona poprawna. Link do oryginalnego artykułu – klikradzę korzystać właśnie z niego

Dokument opisuje instalacje karty muzycznej w laptopie CA 651DI w systemie Ubuntu 8.10. Notebook ten jest modyfikacją Arima W651DFAI-M1, także zastosowane rozwiązanie powinno działać na protoplaście. Notebook ten sprzedawany jest z systemem Mandrivia Extreme, także nieco się zdziwiłem, gdy po instalacji Ubuntu nie usłyszałem dźwięku. Przeszukując internet znalazłem rozwiązanie na Strefie Mandrivy. Musiałem tylko nieco je zmodyfikować, ze względu na nieco inną metodę konfiguracji (kerenel, system pakietów). Problem został zgłoszony na LaunchPadzie. Opis zakłada umiejętność posługiwania się poleceniami konsoli oraz znajomością podstawowych zasad administracji Ubuntu.

Pierwszą rzeczą którą będziemy musieli zrobić jest pobranie źródeł które umożliwią nam kompilacje pakietu jądra. Aby to zrobić musimy mieć skonfigurowane i uaktualnione repozytoria ze źródłami oprogramowania. Dla porządku podaje zawartość linii swojego pliku /etc/apt/sources.list które za to odpowiadają:

deb-src http://security.ubuntu.com/ubuntu/ intrepid-security universe main multiverse restricted
deb-src http://pl.archive.ubuntu.com/ubuntu/ intrepid-updates universe main multiverse restricted
deb-src http://pl.archive.ubuntu.com/ubuntu/ intrepid-proposed universe main multiverse restricted
deb-src http://pl.archive.ubuntu.com/ubuntu/ intrepid main universe restricted multiverse

W przypadku dodania tych linii, należy pamiętać o odświeżeniu repozytorium, np. komendą sudo apt-get update.
Pierwszą czynnością jest pobranie pakietu build-essential wraz z zależnościami, posłużymy się do tego poleceniem

sudo apt-get install build-essential

Następnie tworzymy i przechodzimy do katalogu, w którym będziemy budować naszą paczkę jądra. Gdy będziemy w katalogu należy wykonać polecenie pobierające potrzebne pliki źródła:

apt-get source linux-image-2.6.27-8-generic

gdy używa się jądra innego niż 2.6.27-8-generic, należy podać odpowiednią nazwę. Jeżeli nie jest się pewnym, jaka wersja jądra jest przez nas używana należy to sprawdzić, jedną z możliwości jest polecenie:

dpkg --get-selections | grep '[[:space:]]install$' | grep 'linux-image' | awk '{print $1}'

Po pobraniu niezbędnych plików powinien pojawić się katalog linux-2.6.27, wchodzimy do niego i niżej do katalogu /sound/pci/hda. W tym katalogu powinien znajdować się plik patch_sigmatel.c w tym pliku należy wprowadzić następujące zmiany:
1) wyszukujemy linię zawierającą ciąg:

SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,
                                 "DFI LanParty", STAC_REF),

i dodajemy po niej:

SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0xfb30,
                    "SigmaTel",STAC_9205_REF),

2) wyszukujemy:

{ .id = 0x838476a0, .name = "STAC9205", .patch = patch_stac9205 },

i dodajemy po niej:

{ .id = 0x83847698, .name = "STAC9205", .patch = patch_stac9205 },

Po zapisaniu zmian przechodzimy wyżej do katalogu linux-2.6.27 w którym wydajemy polecenie tworzące nasz pakiet:

dpkg-buildpackage -rfakeroot 

Jest wielce prawdopodobne, że dpkg-buildpackage pokaże błąd braku zależności niezbędnych do kompilacji naszego jądra (w moim przypadku było to około 100MB paczek). Będziemy musieli je zainstalować i ponowić polecenie.Kompilacja zajmie dość dużo czasu, po jej zakończeniu w katalogu który stworzyliśmy znajdą się pliki z paczkami, które skompilowaliśmy. Wyszukujemy nasze jądro i instalujemy je komendą

dpkg -i linux-image-2.6.27-8-generic_2.6.27-8.17_i386.deb

Oczywiście należy pamiętać, że w przypadku pracy z innym jądrem należy zamienić końcówkę polecenia. Po zainstalowaniu jądra pozostaje nam dodanie w pliku /etc/modprobe.d/alsa-base linii:

options snd_hda_intel model=dell-d21

i restart komputera. Od tej chwili powinniśmy cieszyć się dźwiękiem.

Jeszcze raz chciałbym bardzo podziękować za artykuł :)

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • http://jaack.4shared.com jaack

    Informuję, że patch na jądrze:
    2.6.27-11-generic (amd64) jest ok, ale żeby dźwięk pojawił się na wyjściu od słuchawek muszą być słuchawki wpięte od startu komputera! Jeżeli je wypniemy podczas działania systemu, dźwięk pojawi się na głośnikach (wbudowanych ma się rozumieć), ale jeżeli wepniemy je spowrotem, to to nic nie da, dźwięk na wyjściu nie wróci, dopiero po restarcie kolejnym (z wpiętym kablem).
    Jeśli ktoś też miał taki problem i może znalazł rozwiązanie (nawet takie „do okoła”), to proszę o podpowiedź :)
    2.6.28-11-generic (amd64) również pomaga, ale nie udało mi się w ŻADEN sposób puścić dźwięku przez wyjście na słuchawki, nie ważne kiedy były wpięte.
    Jeśli ktoś ma rozwiązania to pisać na jaack@wp.pl.