от Slavei Karadjov(10-05-2000)

рейтинг (48)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Целта на тази статия е да Ви помогне да инсталирате ръчно звукова карта Yamaha с чипсет OPL3xx и по-специално Yamaha 719 под Slackware Linux, но може да се използва успешно и като напътствие при инсталирането на други звукови карти под Linux.

За да пуснете звука за вашата звукова карта под Linux се нуждаете първо от драйвери за нея. Обикновено в изходните кодове на Linux ядротo са включени драйверите за много типове карти. Как можете да проверите дали Вашата сe поддържа? Много лесно - трябва да разполагате с кодовете на Linux ядрото, за предпочитане последната стабилна версия. Ако нямате такова нещо, си го свалете от http://www.kernel.org. След което влезте в директорията, където са кодовете, примерно /usr/src/linux-2.2.15/. и напишете:

#make menuconfig

за да стартирате текстовото меню за конфигурация или

#make xconfig

ако искате да използвате графичното

За да продължите по-нататък трябва да влезете като root потребител.
Ако сте използвали make menuconfig програмата ще ви попита дали искате да използвате предишната конфигурация. Ако не знаете какво правите по-добре използвайте предишната конфигурация. За тези, които не са прекомпилари никога Linux ядро(kernel), ще е добре да се запознаят с тази статия "Прекомпилиране на ядрото (кърнъла)". Когато се покажат менютата трябва да изберете подменюто "Sound" и оттам да позволите на ядрото да подържа звук, т.е трябва да посочите "Sound card support", след което изберете необходимите модули за Вашата карта. Конкретно за Yamaha 719 те са
mpu401
ad1848 "Support for AD1848 based cards"
opl3sa2 "Support for Yamaha OPL3-SA2, SA3 and SAx PnP based cards"
opl3
За Yamaha 719 а и всяка карта с чипсет OPL3xx това е достатъчно. За предпочитане е да не променяте други опции от менюто.
След като сте ги избрали трябва да прекомпилирате ядрото. За целта запишете конфигурацията, след което напишете

#make

за да прекомпилирате ядрото

#make modules

за да компилирате новите модули
Процесътна прекомпилиране обикновено отнема доста време, така че имайте търпение.
Ако всичко се е прекомпилирало успешно можем да продължим нататък.

Преди да инсталираме новото ядро е добре да си направим копие на старото ядро, а и да имаме една дискетка, от която да стартираме Linux в случай, че нещо се провали. Отново Ви предупреждавам ако не сте се занимали с прекомпилиране на ядрото е добре да се запознаете как става това преди да се заемете сериозно. Имайте преддвид, че ако скапете нещо, Вие ще сте си виновен и аз няма да мога да ви помогна.

Да се захващаме на работа. Трябва да инсталираме новото ядро и новите модули(драйвери) за него.

#make install
#make modules_install
#make bzImage

Ако използвате Lilo за bootloader трябва и него да го преконфигурирате с командата

#make zlilo

Готови ли сте? Настъпва часът на истината - сега остава да рестартирате Вашия Linux и да се надявате, че ще тръгне. Нали не сте забравили да си направите дискета, от която да можете да стартирате Linux ако има проблем(rescue disk)?

Да се надяваме, че Вашата система се рестартира успешно и Вие отново сте влезли като root. Не се чудете какво става ако пак няма звук от картата. Трябва да накарате компилираните модули да се заредят в памета. За целта трябва да напишете следната последователност от команди:

#/sbin/modprobe mpu401
#/sbin/modprobe ad1848
#/sbin/modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=0 dma2=3
#/sbin/modprobe opl3 io=0x388

Ред 4 е особено важен. С опцията irq указвате кое прекъсване да използва картата. Трябва предварително да сте се запознали с характеристиките на картата. Понякога се случва това прекъсване да е заето от друго устройство. Това можете да разберете като разгледате резултата от тази команда:

#cat /proc/interrupts

Ето и един примерен резултат:

CPU0
0: 6624 XT-PIC timer
1: 157 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 5 XT-PIC serial
8: 1 XT-PIC rtc
9: 21 XT-PIC eth0
13: 1 XT-PIC fpu
14: 3653 XT-PIC ide0
15: 54 XT-PIC ide1
NMI: 0

Ако 5-то прекъсване е заето, го заменете с друго, което може да се използва от Вашата звукова карта.
Можете да проверите какво става със звука със следната команда:

#cat /proc/sound

Ако всичко е наред, резултатът, който трябва да получите е подобен на:

OSS/Free:3.8s2++-971130
Load type: Driver loaded as a module
Kernel: Linux bigus 2.2.15 #5 .......
Config options: 0

Installed drivers:

Card config:

Audio devices:
0: MS Sound System (CS4231) (DUPLEX)

Synth devices:
0: Yamaha OPL3

Midi devices:
0: MPU-401 0.0 Midi interface #1

Timers:
0: System clock
1: MS Sound System (CS4231)

Mixers:
0: OPL3-SA3 and AD1848 (through MSS)
1: MS Sound System (CS4231)

Сега опитайте да пуснете звука. Ако освен звуковата ви карта и някое друго устройство използва прекъсването, което сте посочили трябва да получите съобщение за проблем, а и звукът Ви ще е кофти, ако изoбщо го има. За да пробвате с ново прекъсване трябва първо да свалите този модул (oplsa2) от паметта

#rmmod oplsa2

След което ако искате да пробвате 7-мо прекъсване, да речем, пишете:

#/sbin/modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=7 dma=0 dma2=3

Добре е тези модули за звуковата карта да се зареждат автоматично при стартирането на компютъра, а не да ги пишете всеки път.
За целта (в Slackware Linux) потърсете във файла /etc/rc.d/modules за следните редове:

/sbin/modprobe mpu401
/sbin/modprobe ad1848
/sbin/modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=0 dma2=3
/sbin/modprobe opl3 io=0x388

Ако ги няма, ги добавете. Ако пък имат знак # отпред, го махнете.

Това е. Ако не се е получило нещо, пробвайте отново с леки промени. Това общо взето са основните стъпки при ръчното инсталиране, на която и да е звукова карта под Linux.

Ако не сте открили драйвери за вашата звукова карта под Linux търсете из интернет, при производителя на картата, при познати, питайте из разни форуми.

Ще очаквам коментари и допълнения към статията. С общи усилия тя може да стане доста по-полезна и изчерпателна.



<< (Не)сигурност с Apache Web Server | Писане на скриптове за BASH шел : версия 1.2( част 3) >>