ot Aleksandur TSankov(31-08-2000)

reiting (15)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Za pisaneto na tezi redove sum izpolzval Alsa-sound-mini-HOWTO ot
Valentijn Sessink, failovete s instruktsii ot paketite sus sors kodovete na draiverite i drugite programi, kakto i sobstveniia si opit pri kompiliraneto instaliraneto na draiverite.

V nachaloto - mozhe bi niakolko dumi za ALSA
ALSA(Advanced Linux Sound Architecture) zvukovite draiveri mogat da se
izpolzvat za zamiana na tezi ot OSS/Free, tui kato sa napulno
suvmestimi, a spored dumite na avtorite im dori nadvishavat tekushtite
vuzmozhnosti na OSS API (s drugi dumi - suvmestimi, no po-dobri).
Ot versiia 0.4.0 ALSA poddurzha samo 2.2.+ iadrata. Qdrata 2.0 veche ne se
poddurzhat.

Predi instaliraneto na draiverite bi bilo polezno da prochetete
vnimatelno informatsiiata za insmod, modprobe, kmod i za isapnp (ako
imate ISA PnP zvukova karta), kakto i za kompilirane na iadroto.
Za poddruzhka na Yamaha 72x/74x/75x shte vi triabva versiia na
alsa-driver 0.5.9 ili po-visoka. Za tselta izteglete paketite
alsa-driver-0.5.9.tar.bz2, alsa-lib-0.5.9.tar.bz2 i
alsa-utils-0.5.9.tar.bz2 (mozhe i alsaconf-0.4.*.tar.gz) www.alsa-project.org.
Predi da zapochnete sushtinskoto kompilirane i instalirane na draiverite,
shte triabva da kompilirate i instalirate iadro na operatsionnata sistema.
Tova se nalaga poradi slednite prichini:
- v iadroto triabva da ima vkyuchena poddruzhka na zvukovi karti (otgovor s
Yes na vuprosite CONFIG_SOUND i CONFIG_SOUND_OSS);
- za kompiliraneto na draiverite sa nuzhni niakoi ot kofiguratsionnite
failove, suzdadeni sled podgotovkata za kompilirane na iadroto (make
config, make dep).
Pri konfiguriraneto na iadroto v chastta za zvuk ne e nuzhno da vklyuchvate
poddruzhka na konkretni zvukovi karti, zashtoto taka ili inache pri
instaliraneto na ALSA-draiverite, standartnite draiveri za zvukovi
karti, polucheni pri kompilirane na iadroto shte budat iztriti (taka che
vnimavaite, ako samo ste reshtili da eksperimentirate s ALSA, a vsushtnost
imate raboteshta zvukova karta s OSS draivera - tova ne vazhi za Yamaha
724, obache -;)). Zabelezhka - sled kompiliraneto na iadroto ne
iztrivaite ostanalite ot kompilatsiiata failove s komandata make mrproper.

Sled tova zapochva sushtinskata chast po instaliraneto na ALSA draiverite:

Razarhiviraite goreukazanite paketi
Mozhete da izvurshite tova v direktoriiata, kudeto ste razarhivirali
sorsa na iadroto (/usr/src). Za tova shte vi triabvat superpotrebitelski
prava, taka che napishete "su" i sled tova vuvedete parolata na root
(pomnete, che ne e proiava na goliama mudrost da izpolzvate sistemata si
kato superpotrebitel prez tsialoto vreme, toest log-vaite se kato
obiknoven potrebitel i otvariaite superpotrebitelski shel samo kogato e
neobhodimo). Taka che:

#cd /usr/src
#tar  zxf ~/alsa-driver-0.5.9.tar.bz2
#tar  zxf ~/alsa-lib-0.5.9.tar.bz2
#tar  zxf ~/alsa-utils-0.5.9.tar.bz2

Kompilirane
Vie se nuzhdaete ot draiverite predi da mozhete da kompilirate i
izpolzvate bibliotekite. Bibliotekite shte sa vi nuzhni predi da mozhete da
kompilirate ili izpolzvate programite ot paketa alsa-utils. Zatova
sledvaite poriaduka:

#cd alsa-driver-0.5.9

Startiraite skripta ./configure
Ako imate ISA Plug & Play zvukova karta, izpolzvaite klyucha
--with-isapnp=yes;(Ne vazhi za Yamaha 72x/74x/75x)
Ako iskate poddruzhka na sequencer, izpolzvaite klyucha
--with-sequencer=yes;
Ako ne iskate emulatsiia na OSS/Free, izpolzvaite klyucha --with-oss=no;
Ako iskate da vklyuchite rezhima na debug, izpolzvaite klyucha
--with-debug=full ;
Ako iskate da debugvate detektiraneto na zvukovata vi karta,
izpolzvaite klyucha --with-debug=detect;

Pri men komandata beshe:
#./configure --with-sequencer=yes --with-debug=detect

Sled zavurshvaneto na rabotata na skripta startiraite make install.
Izpulnenieto na tozi skript shte otneme poveche vreme i sled zavurshvaneto
mu bi triabvalo v direktoriiata
/lib/modules/nomer_na_versiiata_na_iadroto/misc da vidite moduli s imena
snd-card-ymfpci.o i snd-ymfpci.o (spetsialno za Yamaha 72x/74x/75x), a v
/etc/rc.d/init.d (za SysV-podobno purvonachlno zarezhdane)- faila
alsasound.
Startiraite skripta ./snddevices, za da suzdadete novite zvukovi
ustroistva v direktoriiata /dev. Informatsiiata, izvedena ot tazi komanda
triabva da e:

[root@localhost alsa-driver-0.5.9]# ./snddevices
Creating /dev/mixer?... done
Creating /dev/sequencer... done
Creating /dev/midi?... done
Creating /dev/dsp?... done
Creating /dev/audio?... done
Creating /dev/sndstat... done
Creating /dev/music... done
Creating /dev/dmmidi?... done
Creating /dev/dmfm?... done
Creating /dev/amixer?... done
Creating /dev/adsp?... done
Creating /dev/amidi?... done
Creating /dev/admmidi?... done
create symbolic link /dev/mixer to /dev/mixer0
create symbolic link /dev/midi to /dev/midi0
create symbolic link /dev/dsp to /dev/dsp0
create symbolic link /dev/audio to /dev/audio0
create symbolic link /dev/sequencer2 to /dev/music
create symbolic link /dev/adsp to /dev/adsp0
create symbolic link /dev/amidi to /dev/amidi0
ALSA dynamic sound device filesystem
create symbolic link /dev/snd to /proc/asound/dev
ALSA loader devices
Creating /dev/aload?... done
Creating /dev/aloadSEQ... done

Sled tova triabva da kompilirate i instalirate bibliotekite:

#cd ../alsa-lib-0.5.9
#./configure
#make
#make install

I nakraia paketa utils

#cd ../alsa-utils-0.5.9
#./configure
#make
#make install

Sledva chastta za konfigurirane na protsesa na zarezhdane na
modulite(draiverite) za poddruzhka na zvukovata karta.
Po printsip tova stava s alsaconf (programka, podobna na sndconfig) ot
paketa alsaconf-0.4.*.tar.gz, no za suzhalenie v poslednata versiia, koiato
otkrih na saita, niama zalozhena Yamaha 72x/74x/75x, no vse pak
programata mozhe da se izpolzva. Definiraneto na posledovatelnostta na
zarezhdane na modulite stava vuv faila /etc/conf.modules (ili
modules.conf). Programkata alsaconf pishe tochno tam, kato predi tova
suzdava kopie na faila pod imeto conf.modules.old, no vupreki vsichko
mozhe da si napravete kopie na faila(naprimer conf.modules.before_alsa) i
startiraite alsaconf v terminalen prozorets. Programata se opitva da
detektira vashata karta, no v sluchaia niama da mozhe(nali Yamaha 724 ia niama
zalozhena v spisuka na kartite). Sled kato ne ia otkrie, alsaconf vi
predlaga nabor ot zvukovi karti, koito poddurzha. Izberete niakoia druga
karta - prosto za da vidite sintaksisa na dobavianiia tekst. Sledvat red
menyuta za izbor na I/O portove, prekusvaniia, DMA kanali i t.n. Niama
zanchenie kakvo shte izberete, zashtoto taka ili inache nashata karta e druga.
Zapomnete (ili zapishete) stoinostite, koito vi se predlagat, zashtoto po
tiah po-lesno shte se orientirate po-kusno v dobaveniia ot alsaconf tekst v
conf.modules. Sled preminavaneto prez vsichkite parametri programkata shte
vi popita iskate li da zapishete promenite vuv faila /etc/conf.modules.
Otgovorete s Yes i zadruzhte tempoto s alsaconf.
Otvorete /etc/conf.modules s  tekstov redaktor i razgledaite kakvo e
dobaveno ot programkata - redovete zapochvat s:

#---BEGIN: Generated by ALSACONF, do not edit.
# --- ALSACONF version0.4.3b ---

Otvorete faila INSTALL ot direktoriiata sus sorsa alsa-drivers-0.5.9 i
razgledaite chastta za Yamaha 72x/74x/75x - zapochva s:

Module snd-card-ymfpci.o
------------------------

Oburnete vnimanie na stoinostite na  snd_mpu_port=, snd_mpu_irq= i
snd_fm_port=. Tova sa stoinostite na vhodno/izhodnite portove i
prekusvaneto, izpolzvani ot kartata. V liniite, generirani ot alsaconf,
promenete imenata na modulite na kartite, taka che da suotvetstvat na
tezi ot faila INSTALL - ako triabva da iztriete neshto-iztriite go, ako
triabva da dobavite-dobavete. Vazhnoto e da spazite posledovatelnostta i
da uluchite pravilnite stoinosti za prekusvaniiata i I/O adresite. Za
razmerite na buferite snd_dac_frame_size, snd_adc_frame_size i
snd_ac97_frame_size ne moga da vi dam suvet - az izpolzvah sravnitelno
konservativnata stoinost ot 32kB. Ako na sushtiiat kompyutur imate Windows,
mozhete da potursite vsichkite tezi stoinost ottam (pri men prorabotiha).
Sled kato napravite neobhodimite promeni gi zapazete, kato zapishete
faila. Pri men tezi redove sa:

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 0.4.3b ---
alias char-major-116 snd
alias snd-card-0 snd-card-ymfpci
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0660 snd_device_gid=81 snd_device_uid=0
options snd-card-ymfpci snd_index=0 snd_id=CARD_0 snd_mpu_port=0x330 snd_mpu_irq=5 snd_fm_port=0x388 snd_dac_frame_size=32 snd_adc_frame_size=32 snd_ac97_frame_size=32
#--- END: Generated by ALSACONF, do not edit. ---

Oburnete vnimanie na fakta, che dvata reda, zapochvashti s options v obshtiia sluchai
ne triabva da preminavat na nov red, taka che vnimavaite s tekstoviia redaktor,
koito izpolzvate.
Sled tova se prehvurlete otnovo na prozoretsa s alsaconf i produlzhete
izpulneniteto i. Programata shte se opita da startira
/etc/rc.d/init.d/alsasound (/etc/rc.d/init.d/alsasound start) i sled
tova da startira amixer za povishavane nivata na Master i PCM kanalite.
V sledvashtiia prozorets se opisva rabotata s alasmixer - pregledaite gi.
Sledva predlozhenie za prosvirvane na zvuk ot sistemata vi. Ako imate
goliam usilvatel, namalete nivoto na usilvaneto i se nadiavaite da chuete
glasa na Linus (Torvald). E, az ne go chuh - nai veroiatno neobhodimiiat
.wav fail ne e zapisan na tochnoto miasto v sistemata mi, no shte go
prezhiveia niakak si. Osven tova programkata vi suobshtava, che kogato sprete
alsasound (/etc/rc.d/init.d/alsasound stop), nastroikite na miksera shte
budat zapisani vuv faila /etc/asound.conf. Te shte budat vuzstanoveni
sledvashtiia put, kogato alsasound se izpolzva za zarezhdane na ALSA. E,
pri men tova ne e tochno taka, zashtoto nikoga ne moga da chuia
KDE_Startup.wav pri purvonachalnoto startirane na sistemata, no i tova
ne e beda. Mezhdu drugoto, ako polzvate KDE, mozhe da si poigraete, kato
startirate ednovremenno kmix i alsamixer i promeniate nivata na kanalite
s kmix.
Ne zabraviaite da dobavite alsasound kum skriptovete za purvonachalno
zarezhdane - ne znam dali ima tochno opredeleno miasto, no mozhe bi niakude
v nachaloto e dobre. Tova mozhete da napravite ot komanden red chrez
suzdavane na simvolichni vruzki (za SysV - init sistemite) ot
/etc/rc.d/init.d/alsasound kum suotvetnite niva:
#ln -s /etc/rc.d/init.d/alsasound /etc/rc.d/rc3.d/SXXalsasound
#ln -s /etc/rc.d/init.d/alsasound /etc/rc.d/rc5.d/SXXalsasound
kato zamestite XX sus suotvetnite tsifri v zavisimost ot tova koga tochno
iskate da se startira alsasound.
Restartiraite sistemata i v ekrana za purvonachalno zarezhdane triabva da
vidite:

Starting alsa sound driver snd-card-ymfpci
Proverete sled zarezhdaneto log-failovete (/var/log/kern.log i /var/log/messages)
za eventualni greshki v zarezhdaneto.
E, ako vsichko e minalo dobre, shte mozhete da slushate lyubimite si CD-ta,
kakto i vsiakakvi vidove .wav, .au, mp3 i t.n. Ostava vi samo
da se razhodite iz Internet za ripuri i enkoderi za mp3 i da zapochnete
pulneneto na harddiska s muzikalni failove.
Uspeh
Aleksandur TSankov alexc@mbox.digsys.bg
 
 


<< | >>