Sound Blaster AWE 32/64 HOWTO áðü ôïí Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni- bochum.de> v1.2, 11 Éáíïõáñßïõ 1998 Ôï êåßìåíï áõôü ðåñéãñÜöåé ôçí åãêáôÜóôáóç êáé ñýèìéóç ìéáò êÜñôáò Sound Blaster 32 (SB AWE 32, SB AWE 64) ôçò Creative Labs óå Ýíá óýóôçìá Linux, ÷ñçóéìïðïéþíôáò ôï AWE Sound Driver Extension áðü ôïí Takashi Iwai. Åðßóçò, êáëýðôåé ìåñéêÜ åéäéêÜ åñãáëåßá êáé ðñïãñÜììáôá åêôÝëåóçò Þ÷ùí (playres) ãéá ôçí óåéñÜ SB AWE. Ôï óýóôçìá áíáöïñÜò åßíáé Ýíá Debian GNU/Linux, áëëÜ èá ðñÝðåé íá äïõëåýåé êáé ãéá ïðïéáäÞðïôå Üëëç äéáíïìÞ Linux. ______________________________________________________________________ Table of Contents 1. ÅéóáãùãÞ 1.1 Åõ÷áñéóôßåò 1.2 Éóôïñßá ÁíáèåùñÞóåùí 1.3 ÍÝåò åêäüóåéò áõôïý ôïõ êåéìÝíïõ 1.4 Feedback 1.5 ÐïëéôéêÞ ÄéáíïìÞò 2. Ðñéí áñ÷ßóåôå 2.1 ÅéóáãùãÞ 2.2 ÌåñéêÝò ãåíéêÝò óçìåéþóåéò ãéá ôéò êÜñôåò SB AWE 2.3 ÌåñéêÝò ãåíéêÝò óçìåéþóåéò ãéá ôéò Plug and Play êÜñôåò 2.4 ÌåñéêÝò ãåíéêÝò óçìåéþóåéò ãéá ôá loadable kernel modules 2.5 ÌåñéêÝò ãåíéêÝò óçìåéþóåéò ãéá ôïí driver Þ÷ïõ ôïõ ðõñÞíá 3. Ðùò íá åãêáôáóôÞóåôå ôçí õðïóôÞñéîç Þ÷ïõ ãéá SB AWE 3.1 ÐñÜãìáôá ðïõ èá ÷ñåéáóôåßôå 3.2 Áñ÷ßæïíôáò 3.3 Compile ôïõ ðõñÞíá 3.4 Åðáíåêêßíçóç 4. ¸ëåã÷ïò ôïõ Driver ¹÷ïõ 4.1 /proc/devices, /dev/sndstat 4.2 ¸îïäïò - The Raw Audio Device 4.3 ¸îïäïò - Óýíèåóç OPL-2/OPL-3 4.4 Åîïäïò - Óýíèåóç ìå ðßíáêá êõìáôïìïñöþí (Wave Table Synthesis) 4.5 Ìßîç 4.6 Åßóïäïò - Äåéãìáôïëçøßá ìå ôï Raw Audio Device 4.7 Ç Èýñá MIDI 5. Ëïãéóìéêü ôïõ AWE Driver 5.1 sfxload 5.2 drvmidi 6. ÐáñÜñôçìá 6.1 ÅðéðëÝïí Ðëçñïöïñßåò 6.2 ÐçãÝò 6.3 Ðñüôõðï - Äåßãìá ______________________________________________________________________ [1m1. ÅéóáãùãÞ[0m Áõôü åßíáé ôï Sound Blaster AWE HOWTO. Óáò äßíåé ìéá ëåðôïìåñÞ ðëçñïöüñçóç ãéá ôï ðùò èá åêìåôáëëåõôåßôå óôï Ýðáêñï ôçí Sound Blaster 32 óáò Þ êáé êáëýôåñåò áõôÞò, óõìðåñéëáìâáíïìÝíçò êáé ôçò Óýíèåóçò ìå Ðßíáêá Êõìáôïìïñöþí (Wave Table synthesis). Ôï êåßìåíï áõôü êáëýðôåé üëåò ôéò êÜñôåò SB, áñ÷ßæïíôáò áðü ôçí SB 32 êáé ðÜíù. Ç óåéñÜ Sound Blaster åßíáé ðïëý ãíùóôÞ óôçí êïéíüôçôá ôùí ÷ñçóôþí DOS êáé Windows, êáé ðïëëïß ÷ñÞóôåò Linux èÝëïõí íá ÷ñçóéìïðïéÞóïõí áõôÞí ôçí êÜñôá Þ÷ïõ êáé êÜôù áðü Linux åðßóçò. Äõóôõ÷þò, ç Creative Labs ðáñÝ÷åé ïäçãü Þ÷ïõ ìüíï ãéá ôá Windows êáé ôï DOS, êáé Ýôóé äåí åßíáé ôåôñéììÝíç ç åãêáôÜóôáóç êáé ÷ñÞóç ôçò êÜñôáò SB óôï Linux. Áõôü ôï êåßìåíï ðñïóðáèåß íá ðåñéãñÜøåé ðùò ìðïñåß êáíåßò íá ÷ñçóéìïðïéÞóåé ôéò äõíáôüôçôåò ôçò óåéñÜò SB AWE êÜôù áðü ðåñéâÜëëïí Linux. [1m1.1. Åõ÷áñéóôßåò[0m Ôï êåßìåíï áõôü ðåñéÝ÷åé ðëçñïöïñßåò ðïõ ðÞñá áðü ôï AWE Driver FAQ êáé ôï ISA PnP FAQ. Äåßôå ôï ôìÞìá ``Sources'' ãéá ôïõò óõããñáöåßò êáé ôéò äéåõèýíóåéò ôùí êåéìÝíùí áõôþí. ×Üñç óôïõò óõããñáöåßò áõôïýò, åßíáé äõíáôÞ ç õðïóôÞñéîç ôçò SB AWE. ÁñêåôÞ áíáãêáßá äïõëåéÜ Ý÷åé ãßíåé áðü ôïí Hannu Savolainen <http://www.4front-tech.com/usslite>, ðïõ áíÝðôõîå ôïí driver Þ÷ïõ ðïõ Ýñ÷åôáé ìå ôïí ðõñÞíá ôïõ Linux kernel. Óå åõ÷áñéóôïýìå! ÈÝëù íá åõ÷áñéóôÞóù ôïí Nicola Bernardelli <mailto:n.bern@mail.protos.it> ãéá åëÝã÷ïõò ðïõ Ýêáíå óôá ôçò AWE64. ×ùñßò áõôüí, ðïëëÜ ëÜèç èá Ýìåíáí áíåíôüðéóôá. ×Üñç óôï ðáêÝôï SGML Tools SGML Tools <ftp://sunsite.unc.edu/pub/Linux/utils/text/sgml-tools-0.99.0.tar.gz>, áõôü ôï HOWTO åßíáé äéáèÝóéìï óå äéÜöïñá format, ðïõ üëá äçìéïõñãÞèçêáí áðü ôï ßäéï ðçãáßï áñ÷åßï. [1m1.2. Éóôïñßá ÁíáèåùñÞóåùí[0m [1m¸êäïóç 1.0[0m ðñþôç Ýêäïóç [1m¸êäïóç 1.1[0m äéïñèùìÝíç ïñèïãñáößá (åõ÷áñéóôþ Curt!), ðñïóèÞêç áðáéôÞóåùí Ýêäïóçò ãéá isapnp, äéáèÝóéìï ðëÝïí óôï sunsite êáé óå ðïëëÜ mirrors [1m¸êäïóç 1.2[0m ÄéáèÝóéìç ç ÃáëëéêÞ Ýêäïóç!, ìéêñïäéïñèþóåéò, áñêåôÜ ïñèïãñáöéêÜ äéïñèùìÝíá (÷Üñç óôï ispell) [1m1.3. ÍÝåò åêäüóåéò áõôïý ôïõ êåéìÝíïõ[0m Ãéá ó÷üëéá, ðáñáôçñÞóåéò, äéïñèþóåéò, åíçìåñþóåéò ðåñß ôçò ÅëëçíéêÞò ìåôÜöñáóçò áõôïý ôïõ HOWTO, óôåßëôå email óôçí Âïýëá ÓáíéäÜ : voulariba@hellug.gr Þ óôïí Åõñéðßäç Ðáðáêþóôá : evris@hellug.gr êáé åíáëëáêôéêÜ : ep@rocketmail.com Ç íåüôåñç Ýêäïóç ìðïñåß íá âñåèåß óôçí Home Page ìïõ , Sound Blaster AWE HOWTO <http://homepage.ruhr-uni- bochum.de/Marcus.Brinkmann/soundblaster.html>. ÍÝåò åêäüóåéò áõôïý ôïõ êåéìÝíïõ èá ãßíïíôáé upload óå äéÜöïñá anonymous ftp sites ðïõ áñ÷åéïèåôïýí ôÝôïéåò ðëçñïöïñßåò that archive, óõìðåñéëáìâáíïìÝíïõ êáé ôïõ <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini>. Åêäüóåéò óå Hypertext áõôïý êáé Üëëùí Linux HOWTOs åßíáé äéáèÝóéìåò óå ðïëëÜ World-Wide-Web sites, êáé óôï <http://sunsite.unc.edu/LDP/>. Ïé ðåñéóóüôåñåò äéáíïìÝò óå CD-ROM ôïõ Linux óõìðåñéëáìâÜíïõí ôá HOWTOs, óõ÷íÜ êÜôù áðü ôï directory /usr/doc. ×Üñç óôïí Arnaud Launay zoro@lsol.tm.fr, ìéá ÃáëëéêÞ Ýêäïóç áõôïý ôïõ êåéìÝíïõ åßíáé ðëÝïí äéáèÝóéìç! Ç ôåëåõôáßá Ýêäïóç ìðïñåß íá âñåèåß ìåóþ http <http://www.freenix.fr/linux/HOWTO> Þ anonymous ftp <ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO>. Áí êÜíåôå ìéá ìåôÜöñáóç áõôïý ôïõ êåéìÝíïõ óå ìéá Üëëç ãëþóóá, åéäïðïéÞóôå ìå êáé èá óõìðåñéëÜâù ìéá áíáöïñÜ óå áõôÞí åäþ. [1m1.4. Feedback[0m Âáóßæïìáé óå åóÜò, ôïí áíáãíþóôç, íá êÜíåôå ÷ñÞóéìï áõôü ôï HOWTO. Áí Ý÷åôå ïðïéáäÞðïôå ðñüôáóç, äéüñèùóç, Þ ó÷üëéï, ðáñáêáëþ óôåßëôå ôá óå ìÝíá, Marcus.Brinkmann@ruhr-uni-bochum.de, êáé èá ðñïóðáèÞóù íá ôá åíóùìáôþóù óôçí åðüìåíç áíáèåþñçóç. Êáëùóïñßæù éäéáßôåñá ðëçñïöïñßåò ó÷åôéêÜ ìå ôçí äéáäéêáóßá åêêßíçóçò (boot scripts êëð.) Üëëùí ãíùóôþí äéáíïìþí Linux, ð.÷. Red Hat Þ SuSE Linux. Áí åêäþóåôå áõôü ôï êåßìåíï óå CD-ROM Þ óå Ýíôõðç ìïñöÞ, èá åêôéìïýóá ôçí áðïóôïëÞ åíüò áíôéãñÜöïõ. ÃñÜøôå ìïõ ãéá ôïí ôá÷õäñïìéêü ìïõ êþäéêá. Åðßóçò áíáëïãéóèåßôå ôçí ðåñßðôùóç äùñåÜò ðñïò ôï Linux Documentation Project ãéá íá óôçñßîåôå ôçí õðïóôÞñéîç ôçò äùñåÜí ôåêìçñßùóçò. ÅðéêïéíùíÞóôå ìå ôïí óõíôïíéóôÞ ôïõ Linux HOWTO, linux- howto@sunsite.unc.edu, ãéá ðåñéóóüôåñåò ðëçñïöïñßåò. [1m1.5. ÐïëéôéêÞ ÄéáíïìÞò[0m Copyright 1997 Marcus Brinkmann. Áõôü ôï HOWTO åßíáé ìéá äùñåÜí äéáíïìÞ; ìðïñåßôå íá ôï åðáíáäéáíåßìåôå êáé/Þ ôñïðïðïéÞóåôå óýìöùíá ìå ôçí GNU General Public License üðùò áõôÞ äçìïóéåýåôáé áðü ôï Free Software Foundation, Þ óýìöùíá ìå ôçí ¸êäïóç 2 ôçò Üäåéáò, Þ (êáôÜ ôçí ãíþìç óáò) óýìöùíá ìå ïðïéáäÞðïôå ìåôÝðåéôá Ýêäïóç ôçò Üäåéáò. Áõôü ôï êåßìåíï äéáíÝìåôáé ìå ôçí åëðßäá ðùò èá öáíåß ÷ñÞóéìï, áëëÜ [1m÷ùñßò[0m [1mêáìßá åããýçóç[22m. ×ùñßò ïýôå êáí íá õðïíïåßôáé åããýçóç [1m÷ñÞóçò [22mÞ [1mêáôáëëçëüôçôáò ãéá êÜðïéïí óõãêåêñéìÝíï óêïðü[22m. Äåßôå ôçí Üäåéá GNU General Public License ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò. Mðïñåßôå íá áðïêôÞóåôå áíôßãñáöï ôçò ¢äåéáò GNU General Public License ãñÜöïíôáò óôï Free Software Foundation Free Software Foundation <http://www.fsf.org>,Inc., 675 Mass Ave, Cambridge, MA 02139, USA. [1m2. Ðñéí áñ÷ßóåôå[0m [1m2.1. ÅéóáãùãÞ[0m Áõôü ôï êåßìåíï ðñïóðáèåß íá óáò âïçèÞóåé íá åãêáôáóôÞóåôå ôçí Sound Blaster ÁWE 32 Þ ôçí Sound Blaster AWE 64 ôçò Creative Labs óôï Linux óýóôçìÜ óáò. Ôï óýóôçìá áíáöïñÜò åßíáé Ýíá GNU/Linux Debian GNU/Linux <http://www.debian.org> óå ðëáôöüñìá Intel i586 , áëëÜ èá ðñÝðåé íá äïõëåýåé êáé ãéá êÜèåbut Üëëç äéáíïìÞ Linux êáèþò êáé ðëáôöüñìá ðïõ õðïóôçñßæåôáé áðü ôïí driver Þ÷ïõ ôïõ Linux (ïé äéáöïñÝò áíáöÝñïíôáé üðïõ êáé áí õðÜñ÷ïõí). Âåâáéùèåßôå ðùò äéáâÜóáôå ôï Linux Sound HOWTO (äåò ``ÅðéðëÝïí Ðëçñïöïñßåò'') ðñïóåêôéêÜ. Èåùñþ ôï êåßìåíü ìïõ ùò óõìðëçñùìáôéêü ôïõ Sound HOWTO, êáé óõ÷íÜ èá âñåßôå åêåß, ðåñéóóüôåñåò ðëçñïöïñßåò ãéá ðñÜãìáôá ðïõ Ý÷ù áöÞóåé åêôüò. [1m2.2. ÌåñéêÝò ãåíéêÝò óçìåéþóåéò ãéá ôéò êÜñôåò SB AWE[0m Ç êÜñôá Þ÷ïõ SB AWE 32 ðáñÝ÷åé Ýíá raw audio device, êëáóóéêü óýíèåóç OPL-2/OPL-3 ,ìéá èýñá MPU-401 MIDI êáé 32 öùíÝò EMU 8000 ìå Óýíèåóç Ðßíáêá Êõìáôïìïñöþí (ãéá ìéá åîÞãçóç ðÜíù óå áõôïýò áëëÜ êáé Üëëïõò üñïõò äåßôå ôï Linux Sound HOWTO). ¸íáò áðü ôïõò óêïðïýò áõôïý ôïõ êåéìÝíïõ åßíáé íá óáò âïçèÞóåé þóôå íá êÜíåôå üëá áõôÜ ôá ÷áñáêôçñéóôéêÜ íá äïõëåýïõí óùóôÜ. Ç SB AWE 64 Ý÷åé ôéò äõíáôüôçôåò ôçò SB AWE 32 êáé åðéðëÝïí ôçí óýíèåóç Wave Guide ãéá ôçí ïðïßá ç Creative Labs åßíáé ðåñÞöáíç. Ôï ðñüâëçìá ãéá ôïõò ÷ñÞóôåò ôïõLinux åßíáé, ðùò ïé åðéðëÝïí 32 öùíÝò äçìéïõñãïýíôáé áðü ëïãéóìéêü êáé äßíïõí Ýîïäï ìÝóù ôùí raw wave devices. ÅðåéäÞ ç Creative Labs äåí âëÝðåé åìðïñéêü åíäéáöÝñïí ãéá Linux drivers, ï driver Þ÷ïõ Wave Guide synthesis åßíáé äéáèÝóéìïò ìüíï ãéá ôá Windows 3.1 êáé ôá Windows 95. Áõôü óçìáßíåé ðùò, áðü ôçí óêïðéÜ ôïõ ÷ñÞóôç Linux, ç SB AWE 32 êáé ç SB AWE 64 åßíáé ó÷åäüí éóïäýíáìåò. Áðü ôþñá êáé óôï åîÞò, èá áíáöÝñïìáé ìüíï óôçí SB AWE ãåíéêÜ êáé èá áíáöÝñù ìüíï äéáöïñÝò üðïõ åìöáíßæïíôáé (áí õðÜñ÷ïõí). [1m2.3. ÌåñéêÝò ãåíéêÝò óçìåéþóåéò ãéá ôéò Plug and Play êÜñôåò[0m Ïé ðåñéóóüôåñåò ìïíôÝñíåò êÜñôåò ãéá ôçí ðëáôöüñìá ôçò Intel åßíáé ISA PnP êÜñôåò, ðïõ åßíáé ç óýíôìçóç ãéá ôï``Plug and Play''. Áõôü óçìáßíåé, ðùò ç êÜñôá ðñÝðåé íá ñõèìéóôåß áðü ôï ëåéôïõñãéêü óýóôçìá, êáé ðùò áõôü ðñÝðåé íá ãßíåé ìÝóù ìéáò äéáäéêáóßáò áñ÷éêïðïßçóçò êáôÜ ôçí åêêßíçóç. ÃåíéêÜ, õðÜñ÷ïõí ôïõëÜ÷éóôïí ôñåéò äõíáôïß ôñüðïé íá ãßíåé áõôü: 1. ÄéáèÝôåôå Ýíá PnP Bios, ðñÜãìá ðïõ óçìáßíåé ðùò ôï Bios óáò åßíáé åíÞìåñï ãéá ôéò PnP êÜñôåò êáé ìðïñåß íá ôéò ñõèìßóåé. Áí íïìßæåôå ðùò ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå üëá ôá ÷áñáêôçñéóôéêÜ ôçò SB AWE PnP óáò,, áðëÜ êáé ìüíï åðåéäÞ Ý÷åôå Ýíá PnP Bios, åßóôå Üôõ÷ïé. Áêüìá êáé áí ôï Bios éó÷õñßæåôáé ðùò õðïóôçñßæåé êÜñôåò PnP áñ÷éêïðïéåß ìüíï Ýíá õðïóýíïëï ôùí èõñþí êáé äéåõèýíóåùí ðïõ ÷ñçóéìïðïéïýíôáé áðü ôçí êÜñôá Þ÷ïõ óáò. Ôï ðéï ðéèáíü åßíáé ðùò èá ìðïñåßôå íá ðáßæåôå äåäïìÝíá raw wave, áëëÜ äåí èá ìðïñåßôå íá ðáßæåôå ìïõóéêÞ MIDI, ãéá ðáñÜäåéãìá. Ãéá áõôü ôï ëüãï, Ýíá PnP Bios äåí åßíáé ç åðéëïãÞ óáò. 2. ÄéáèÝôåôå ëåéôïõñãéêü óýóôçìá ðïõ õðïóôçñßæåé êÜñôåò PnP. Ï ôñÝ÷ùí óôáèåñüò ðõñÞíáò Linux kernel (2.0.x) äåí åßíáé Ýíá ôÝôïéï ëåéôïõñãéêü ïðüôå èá ðñÝðåé íá ðåñéìÝíïõìå ìåëëïíôéêÝò åêäüóåéò ôïõ ðõñÞíá, ,ðïõ èá õðïóôçñßæïõí óõóêåõÝò PnP. 3. ÄéáèÝôåôå êÜðïéï åéäéêü ðñüãñáììá, ðïõ îåêéíÜåé êáôÜ ôçí åêêßíçóç, êáé áñ÷éêïðïéåß ôéò êÜñôåò PnP. Áõôüò åßíáé ï ôñüðïò ðïõ ôï êÜíïõìå. Ôï óõ÷íüôåñá ÷ñçóéìïðïéïýìåíï ëïãéóìéêü áñ÷éêïðïßçóçò PnP êáñôþí óå Linux åßíáé ôá ``isapnptools'' (äåò ôìÞìá ``ÐçãÝò'' êáé ôìÞìá ``Áñ÷ßæïíôáò''). ÐáñÝ÷ïõí Ýíáí êáèïñéóìÝíï ôñüðï ñýèìéóçò üëùí ôùí êáñôþí ISA PnP óôçí ìç÷áíÞ óáò, êáé ü÷é ìüíï ôçò êÜñôáò Þ÷ïõ. [1m2.4. ÌåñéêÝò ãåíéêÝò óçìåéþóåéò ãéá ôá loadable kernel modules[0m Ìåñéêïß device drivers ìðïñïýí íá ÷ôéóôïýí óáí modules áíôß íá ãßíïõí compile óôïí ðõñÞíá. Ìðïñåßôå íá âñåßôå ðåñéóóüôåñåò ðëçñïöïñßåò ãéá modules óôï Kernel HOWTO êáé ôï Module HOWTO (äåò ôìÞìá ``ÅðéðëÝïí Ðëçñïöïñßåò''). Áí Ý÷åôå ìéá PnP êÜñôá, ðñÝðåé íá åãêáôáóôÞóåôå ôçí õðïóôÞñéîç Þ÷ïõ óáí Ýíá loadable kernel module. Áõôü óçìáßíåé ðùò äåí ìðïñåßôå íá ÷ôßóåôå ôïí driver Þ÷ïõ óôïí ðõñÞíá, áëëÜ èá ðñÝðåé íá ôï ÷ôßóåôå ùò module ðïõ ìðïñåß íá öïñôùèåß áðü ôïí ðõñÞíá êáôÜ ôçí åêôÝëåóç. Áõôü ãßíåôáé åðåéäÞ ï ðõñÞíáò ðñÝðåé íá öïñôùèåß ðñéí ïé ISA PnP ñõèìéóôïýí , êáé ï driver Þ÷ïõ ðñÝðåé íá öïñôùèåß áöïý ñõèìéóôåß ç ISA PnP êÜñôá. Ôï module Þ÷ïõ ìðïñåß íá öïñôùèåß ÷åéñïêßíçôá ìå insmod sound Þ modprobe -a sound Þ ôï êáôÜëëçëï script åêêßíçóçò ôïõ Linux (óôï Debian, áñêåß íá ðñïóèÝóåôå ìüíï ìéá ãñáììÞ ðïõ íá ãñÜöåé sound óôï /etc/modules). Ìéá Üëëç ðñïóÝããéóç åßíáé íá óçêþóåôå ôï kerneld, Ýíá äáßìïíá ðïõ åãêáèéóôÜ êáé áðåãêáèéóôÜ modules ðõñÞíá. Óçìåéþóôå ðùò ï kerneld ìðïñåß íá ìçí åßíáé ç êáôáëëçëüôåñç ëýóç ãéá ôï module Þ÷ïõ ôçò AWE, åðåéäÞ ðáßñíåé ÷ñüíï íá öïñôþóåé ôï module óôïí ðõñÞíá, åéäéêÜ áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå óýíèåóç Wave Table êáé íá öïñôþóåôå ìåãÜëåò ôñÜðåæåò äåéãìÜôùí Þ÷ùí, ðñÜãìá ôï ïðïßï èá ðñÝðåé íá êÜíåôå êÜèå öïñÜ áöïý óçêþóåôå ôï module. ÅðåéäÞ ï kerneld äéþ÷íåé ôá á÷ñçóéìïðïßçôá modules ìåôÜ áðü Ýíá ëåðôü áðü default, åßíáé ßóùò êáëýôåñï íá åéóÜãåôå ôï module Þ÷ïõ ÷åéñïêßíçôá Þ êáôÜ ôçí åêêßíçóç. Óçìåéþóôå ðùò åéóÜãïíôáò ôï module Þ÷ïõ ÷åéñïêßíçôá Þ êáôÜ ôçí åêêßíçóç áðáãïñåýåé óôïí ðõñÞíá íá ôï áðïìáêñýíåé üôáí áõôü åßíáé áíåíåñãü. Ðáñåìðéðôüíôùò: Ìðïñåßôå ÷åéñïêßíçôá íá åéóÜãåôå ôï module Þ÷ïõ êáé íá ÷ñçóéìïðïéÞóåôå ôïí kerneld ôáõôü÷ñïíá. ÁõôÝò ïé äýï ìÝèïäïé äåí óõãêñïýïíôáé, áëëÜ áðëÜ ï kerneld äåí íïéÜæåôáé ðëÝïí ãéá ôï module ôïõ Þ÷ïõ. Áõôü åßíáé ðïëý ÷ñÞóéìï áí ïé ñõèìßóåéò ôïõ mixer óáò ÷áëÜíå ìåôÜ ôçí áðïìÜêñõíóç êáé åðáíåéóáãùãÞ ôïõ module. Ìéá ëýóç ãéá áõôü ôï ðñüâëçìá èá äïèåß óôï ôìÞìá ``Ìßîç'' (åêåß ðåñéãñÜöåôáé ðùò ìðïñåßôå íá áñ÷ßóåôå ôïí mixer óáò áõôüìáôá üôáí ôï module Þ÷ïõ åéóÜãåôáé). Ðáñüëá áõôÜ, ðáßñíåé ÷ñüíï óôïí kerneld íá öïñôþóåé ôï module, ôéò ôñÜðåæåò Þ÷ùí êáé íá áñ÷ßóåé ôïí mixer, êáé ãé'áõôü êáé Üëëïõò ëüãïõò åßíáé êáëýôåñï íá åéóÜãåôå ôï module Þ÷ïõ êáôÜ ôçí åêêßíçóç êáé íá ìçí áöÞíåôå ôïí kerneld íá ôï áðïìáêñýíåé. [1m2.5. ÌåñéêÝò ãåíéêÝò óçìåéþóåéò ãéá ôïí driver Þ÷ïõ ôïõ ðõñÞíá[0m Ìðïñåßôå íá åãêáôáóôÞóåôå õðïóôÞñéîç Þ÷ïõ åíóùìáôùìÝíç óôïí ðõñÞíá Þ óáí loadable module. Áí Ý÷åôå ìéá êÜñôá PnP card,èá ðñÝðåé íá åãêáôáóôÞóåôå ôçí õðïóôÞñéîç óáí module, åðåéäÞ ç êÜñôá PnP ÷ñåéÜæåôáé íá áñ÷éêïðïéçèåß ìå ôá isapnptools ðñéí ôï module åãêáôáóôáèåß.. ¼ðùò ìðïñåßôå íá öáíôáóôåßôå, èá ðñÝðåé íá êÜíåôå îáíÜ compile ôïí ðõñÞíá. Èá óáò äþóù ìåñéêÝò óõìâïõëÝò ãé' áõôü ðáñáêÜôù. Ðñïò ôï ðáñüí, áò ìéëÞóïõìå ãéá ôçí õðïóôÞñéîç Þ÷ïõ óôïí êþäéêá ôïõ ðõñÞíá. Ï ðõñÞíáò Ýñ÷åôáé ìå ôçí ÄùñåÜí Lite ¸êäïóç ôïõ OSS (USS) driver Þ÷ïõ. Ç ôñÝ÷ïõóá Ýêäïóç áõôïý ôïõ driver (3.5.4) äåí õðïóôçñßæåé ðëÞñùò ôçí SB AWE, áëëÜ ôï SB 16 êïììÜôé ôçò. ¸ôóé, ìðïñåßôå íá Ý÷åôå raw audio device êáé óýíèåóç OPL-2/OPL-3 áí ôçí ÷ñçóéìïðïéåßôå, áëëÜ äåí èá åßóáóôå óå èÝóç íá ðáßæåôå MIDI ìå óýíèåóç Wave Table. Áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå ôï Wave Table device, ìðïñåßôå Þ íá áãïñÜóåôå ôïí åìðïñéêü driver Þ÷ïõ áðü ôçí 4Front Technologies <http://www.4front-tech.com> (êÜðïéïò áò ìïõ åðéâåâáéþóåé ðùò üíôùò äïõëåýåé, ðáñáêáëþ), Þ íá êÜíåôå patch ôïí ðõñÞíá óáò ìå ôï AWE 32 Sound Driver Extension ôïõ Takashi Iwai. Ôï ðñþôï åßíáé Ýîù áðü ôïõò óêïðïýò ôïõ êåéìÝíïõ êáé õðïèÝôù ðùò èá èåëÞóåôå íá ÷ñçóéìïðïéÞóåôå ôï äåýôåñï. Ôï AWE32 Sound Driver Extension (äåò åíüôçôá ```ÐçãÝò'') âãáßíåé êÜôù áðü Üäåéá ÷ñÞóçò GNU êáé Ýñ÷åôáé ìå Ýíá ðëÞèïò åñãáëåßùí ãéá íá êÜíåé ÷ñÞóç ôçò óýíèåóçò EMU 8000 ôùí êáñôþí SB AWE. Ôï ëïãéóìéêü awedrv Þäç óõìðåñéëáìâÜíåôáé óôá äÝíôñá êþäéêá ôùí íåüôåñùí ðõñÞíùí (áñ÷ßæïíôáò áðü êÜðïéïõò ðõñÞíåò 2.1.x) áëëÜ ßóùò èá èÝëåôå íá áíáâáèìßóåôå ôïí êþäéêÜ ôïõ ðáëéïý óáò ðõñÞíá ðïõ ìðïñåß íá åßíáé ðáëéü. [1m3. Ðùò íá åãêáôáóôÞóåôå ôçí õðïóôÞñéîç Þ÷ïõ ãéá SB AWE[0m [1m3.1. ÐñÜãìáôá ðïõ èá ÷ñåéáóôåßôå[0m ÁõôÝò åßíáé ïé áðáéôÞóåéò ãéá õðïóôÞñéîç SB AWE êÜôù áðü Linux: · Ýíá óýóôçìá Linux åí ëåéôïõñãßá (ð.÷. ôçí äéáíïìÞ Debian GNU/Linux ), · ìéá SB AWE 32 Þ óõìâáôÞ êÜñôá (ð.÷.. SB32, SB32 PnP, SB AWE64, ...), · ôïí ðçãáßï êþäéêá ôïõ ðõñÞíá ôïõ Linux, êáé ôùí ïäçãþí Þ÷ïõ OSS/Free (ëïãéêÜ óõìðåñéëáìâÜíåôáé, êïéôÜîôå óôï /usr/src/Linux/drivers/sound/Readme), · Ôá AWE 32 sound driver extensions. Áí Ý÷åôå ìéá êÜñôá PnP, èá ÷ñåéáóôåßôå åðßóçò: · ôï ðáêÝôï ëïãéóìéêïý isapnptools. Äåßôå óôï ôìÞìá ``ÐçãÝò'' ãéá ðëçñïöïñßåò ó÷åôéêÜ ìå ôï áðü ðïõ ìðïñåßôå íá ôï áðïêôÞóåôå. Áí Ý÷åôå Ýíá óýóôçìá Debian GNU/Linux , óçìáßíåé ðùò èá ÷ñåéáóôåßôå êáé ôá ðáêÝôá kernel-source-<version>, awe-drv êáé ßóùò ôï ðáêÝôï isapnptools. Èá èåëÞóåôå êáé ìåñéêÜ áðü ôá Üëëá awe-* ðáêÝôá ðáñüëï ðïõ äåí åßíáé áíáãêáßá. ÓõóôÞíù ôï kernel-package ãéá åýêïëï compile êáé åãêáôÜóôáóç ôïõ ðõñÞíá. [1m3.2. Áñ÷ßæïíôáò[0m Áò õðïèÝóïõìå ðùò Ý÷åôå êáôáóôÞóåé êáíïíéêÜ ôçí êÜñôá óôçí õðïäï÷Þ ôçò óôçí ìçôñéêÞ êáé ðùò ðéèáíÜ Þäç ôçí äïêéìÜóáôå óå ðåñéâÜëëïí DOS Þ Windows. Ôï åðüìåíï âÞìá åßíáé íá áñ÷éêïðïéÞóåôå ôçí êÜñôá êáôÜ ôçí åêêßíçóç áí êáé ìüíï áí åßíáé ìéá êÜñôá PnP. ÁêïëïõèÞóôå ôçí ôåêìçñßùóç óôï ðáêÝôï ôïõ source ãéá íá êÜíåôå compile êáé íá åãêáôáóôÞóåôå ôá isapnptools (Þ áðëÜ ÷ñçóéìïðïéÞóôå ôï Debian binary ðáêÝôï), êáé êÜíôå: # pnpdump > /etc/isapnp.conf óáí root. Áõôü èá äçìéïõñãÞóåé Ýíá êáô' åëðßäá êáëü áñ÷åßï ñõèìßóåùí ãéá ôéò PnP êÜñôåò óáò, áëëÜ ìå üëá ôá devices óå ó÷üëéá. Ðáñáêáëþ äéïñèþóôå ôï áñ÷åßï áõôü ðñïóåêôéêÜ, êáé óõãêñßíåôå ôéò ôéìÝò ãéá ôá êáíÜëéá DMA, IO êáé interrupts ìå ôéò ñõèìßóåéò ôéò êÜñôáò óáò êÜôù áðü ðåñéâÜëëïí DOS Þ Windows áí áõôü åßíáé äõíáôüí (ìå ôá Win95, êïéôÜîôå ôá resources ðïõ ÷ñçóéìïðïéïýíôáé áðü ôçí êÜñôá, êÜôù áðü ôï resources óôïí device manager). Áí Ý÷åôå ðñïâëÞìáôá äéáâÜóôå ðñïóåêôéêÜ ôçí ôåêìçñßùóç ðïõ Ýñ÷åôáé ìáæß ìå ôá isapnptools. [4mÐÑÏÓÏ×Ç:[24m ôá isapnptools óõ÷íÜ áðïôõã÷Üíïõí íá åíôïðßóïõí êáé ôéò ôñåéò èýñåò I/O ôçò óõóêåõÞò SB AWE Wave Table . Óõãêñßíåôå ðñïóåêôéêÜ ôçí åããñáöÞ ó÷åôéêÜ ìå WaveTable óôï isapnp.conf óáò ìå ôï ðáñÜäåéãìá óôï ôÝëïò áõôïý ôïõ HOWTO. Áí åßíáé áíáãêáßï ôñïðïðïéÞóôå ôéò I/O base äéåõèýíóåéò. [4mÐÑÏÓÏ×Ç:[24m Óýìöùíá ìå ôï isapnp-faq, ìåñéêÝò öïñÝò ôá isapnp áðïôõã÷Üíïõí íá ðñïãñáììáôßóïõí ôïí áñéèìü ôçò ëïãéêÞò óõóêåõÞò (logical device). Áí áíôéìåôùðßóåôå ìçíýìáôá ëÜèïõò üðùò ôï áêüëïõèï: Error occurred executing request 'LD 2' on or around line... ôüôå ðñïóðáèÞóôå íá ðñïóèÝóåôå (VERIFYLD N) óôçí áñ÷Þ ôïõ isapnp.conf. Èá ðñÝðåé íá ÷ñçóéìïðïéÞóåôå ôïõëÜ÷éóôïí ôçí Ýêäïóç1.10 ãéá íá äïõëÝøåé áõôü. Áí äåí ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå Ýêäïóç 1.10 Þ íåþôåñç, ìðïñåßôå åðßóçò íá êÜíåôå POKE ôïõò áñéèìïýò ôïõ logical device áðåõèåßáò. Áíáöåñèåßôå óôï isapnp-faq ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå áõôÞ ôçí ðñïóÝããéóç. Áí äåí óáò äïõëÝøåé, åðéêïéíùíÞóôå ìáæß ìïõ (èåùñþ ðùò êáé ïé Üíèñùðïé ôùí isapnp èá åíäéáöÝñïíôáé åðßóçò). [4mÐÑÏÓÏ×Ç:[24m Âåâáéùèåßôå ðùò ç ôåëåõôáßá ãñáììÞ åßíáé (WAITFORKEY), ç ïðïßá ìðïñåß íá ðáñáëåßðåôáé óå ìåñéêÝò ðáëéüôåñåò åêäüóåéò ôïõ pnpdump. ¸íá äåßãìá isapnp.conf ãéá ìüíï ìéá êÜñôá PnP (ôçí êÜñôá Þ÷ïõ) âñßóêåôáé óôï ôÝëïò áõôïý ôïõ êåéìÝíïõ (äåò ôìÞìá ``Ðñüôõðï - Äåßãìá <tt>isapnp.conf</tt>''). Áí Ý÷åôå Ýíá óýóôçìá Debian, äåí ÷ñåéÜæïíôáé åðéðëÝïí ñõèìßóåéò. Ôá isapnp èá áñ÷ßóïõí êáôÜ ôçí åêêßíçóç óôï /etc/init.d/boot ìå áõôü ôï êïììáôÜêé êþäéêá, ðïõ ìÜëëïí èá èÝëáôå íá óõìðåñéëÜâåôå óôá scripts åêêßíçóÞò óáò: ______________________________________________________________________ # Configure the isa plug and play boards before loading # modules. Need to do this before loading modules to get # a chance of configuring and starting PnP boards before # the drivers mess all this up. # if [ -x /etc/init.d/isapnp ] then /etc/init.d/isapnp start fi ______________________________________________________________________ üðïõ ôï /etc/init.d/isapnp åßíáé ______________________________________________________________________ #! /bin/sh # /etc/init.d/isapnp: configure Plug and Play boards test -x /sbin/isapnp || exit 0 /sbin/isapnp /etc/isapnp.conf exit 0 ______________________________________________________________________ Áí Ý÷åôå êÜðïéá Üëëç äéáíïìÞ Linux, åßóáóôå ìüíïé óáò. Äåí îÝñù ôé íá êÜíù (êáíåßò ðñüèõìïò íá õðïâÜëëåé ðéï óõãêåêñéìÝíåò ðëçñïöïñßåò?). Ìüíï âåâáéùèåßôå ðùò ôá isapnp áñ÷ßæïõí ðñéí ôá modules öïñôùèïýí(äåò ðáñáêÜôù). [1m3.3. Compile ôïõ ðõñÞíá[0m Ðñéí áñ÷ßóåôå íá êÜíåôå îáíÜ compile ôïí ðõñÞíá èá ðñÝðåé íá åöáñìüóåôå ôï AWE Driver Extension patch óôïí driver Þ÷ïõ. Áêüìá êáé áí ôï äÝíôñï êþäéêá ôïõ ðõñÞíá óáò ðåñéÝ÷åé ôï awedrv extension (ãéá íá ôï äåßôå áõôü ôóåêÜñåôå ôï /drivers/sound/lowlevel/ ), ìðïñåß íá èåëÞóåôå íá áíáâáèìßóåôå ôï ëïãéóìéêü ôïõ awedrv . ÁêïëïõèÞóôå ôéò ïäçãßåò åãêáôÜóôáóçò directory ôïõ êþäéêá ôïõ awedrv. Åí óõíôïìßá, èá ðñÝðåé íá ôñÝîåôå Ýíá script åãêáôÜóôáóçò ðïõ åöáñìüæåé ôá patches óôïí êþäéêá ôïõ ðõñÞíá. Íá åßóáóôå ðñïóåêôéêüò ãéá ôï áí ðñÜãìáôé Ý÷åôå áíáâáèìßóåé ôïí ðõñÞíá áöïý ôñÝîáôå ôï script åãêáôÜóôáóçò. Ôï script åëÝã÷åé áðëÜ áí êÜðïéï áñ÷åßï õðÜñ÷åé êáé áí íáé, äåí åöáñìüæåé ôï áðáéôïýìåíï patch. Óáò óõìâïõëåýù íá áðïìáêñýíåôå ôï áñ÷åßï drivers/sound/lowlevel/awe_wav.c ðñéí ôñÝîåôå ôï script áöïý áíáâáèìßóåôå ôïí êþäéêá ôïõ ðõñÞíá. ÌåôÜ èá ðñÝðåé íá ñõèìßóåôå ôïí ðõñÞíá ãéá õðïóôÞñéîç Þ÷ïõ. Åëðßæù íá ãíùñßæåôå ôá âáóéêÜ ãéá ôï compile ôïõ ðõñÞíá, äåßôå ôï Sound HOWTO êáé ôï Kernel HOWTO ãéá ëåðôïìÝñåéåò. Ðñï÷ùñÞóôå óôï directory ôïõ êþäéêá ôïõ ðõñÞíá óáò (/usr/src/linux ãéá ðáñÜäåéãìá), êáé êÜíôå: # make config Þ make menuconfig Þ make xconfig. ÌåôÜ Ý÷åôå íá ñõèìßóåôå ôïí ðõñÞíá óáò ìå ôïí ãíùóôü ôñüðï. Åêìåôáëëåõôåßôå áõôÞí ôçí åõêáéñßá ãéá íá êÜíåôå Ýíá ìéêñü êáé éó÷õñü ðõñÞíá, åéäéêÜ ó÷åäéáóìÝíï ãéá ôï óýóôçìÜ óáò. Âåâáéùèåßôå ðùò áðáíôÞóáôå óôï Enable loadable module support ìå Y, áí èÝëåôå íá åãêáôáóôÞóåôå ôïí driver Þ÷ïõ óáí loadable module (áíáãêáóôéêü áí Ý÷åôå êÜñôá PnP), áëëÜ åßìáé óßãïõñïò ðùò Ýôóé êáé áëëéþò èá èåëÞóåôå íá ôï êÜíåôå áõôü. Óå êÜðïéï óçìåßï, èá åñùôçèåßôå ãéá ôï áí èÝëåôå õðïóôÞñéîç êáñôþí Þ÷ïõ. ÁðáíôÞóôå ìå Y Þ ìå M áí [4mäåí[24m Ý÷åôå êÜñôá PnP. ÐñÝðåé íá áðáíôÞóåôå ìå M, ãéá module, áí Ý÷åôå êÜñôá PnP. Èá ðñÝðåé íá êÜíåôå compile ôçí õðïóôÞñéîç Þ÷ïõ óáí module áí Ý÷åôå êÜñôá PnP ãéáôß ç êÜñôá PnP ðñÝðåé íá áñ÷éêïðïéçèåß ðñéí ôï module öïñôùèåß. Ïé áêüëïõèåò åñùôÞóåéò èá ðñÝðåé íá áðáíôçèïýí ìå Y , üëåò ïé Üëëåò ìå N : ______________________________________________________________________ Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?] Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?] /dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?] MIDI interface support (CONFIG_MIDI) [Y/n/?] FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?] lowlevel sound driver support [Y/n/?] AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?] ______________________________________________________________________ Ìüíï ç ôåëåõôáßá åßíáé ðñáãìáôéêÜ ãéá ôçí óýíèåóç Wave Table. Ïé õðüëïéðåò åßíáé åðéëïãÝò ãéá SB 16 áðü ôïí driver Þ÷ïõ ôïõ OSS/Free. ÅðéðëÝïí, ðñÝðåé íá ñõèìßóåôå èýñá I/O ôçò êÜñôáò. ÊïéôÜîôå óôï áñ÷åßï isapnp.conf ãéá óõìâïõëÝò, áí âÝâáéá Ý÷åôå. Ãéá ìÝíá , ïé ðáñáêÜôù default ôéìÝò, áñêïýí. Óçìåéþóôå ðùò ïé ðñïêáèïñéóìÝíåò ôéìÝò ôïõ ñýèìéóçò ôïõ ðõñÞíá ìðïñåß íá åßíáé ëÜèïò (åéäéêÜ ãéá ïé ôéìÝò SBC_IRQ êáé SB_MPU_BASE öáßíåôáé íá åßíáé ëÜèïò ãéá ôéò ðåñéóóüôåñåò êÜñôåò ______________________________________________________________________ I/O base for SB Check from manual of the card (SBC_BASE) [220] Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5] Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1] Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7 (use 1 for 8 bit cards) (SB_DMA2) [5] MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card (SB_MPU_BASE) [330] SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1] ______________________________________________________________________ Ôþñá êÜíôå îáíÜ compile ôïí ðõñÞíá. Ïé ÷ñÞóôåò Debian èá ðñÝðåé íá ÷ñçóéìïðïéÞóïõí ôï ðáêÝôï kernel-package. Áõôü ôï ðáêÝôï êÜíåé ôï compile üóï åýêïëï üóï êáé ôçí åãêáôÜóôáóç åíüò ðáêÝôïõ ãéá debian. ÊïéôÜîôå óôçí ôåêìçñßùóç óôï /usr/doc/kernel-package/. Áêïëïõèåß ìéá óõìâïõëÞ: # make-kpkg clean # make-kpkg -revision custom.1.0 kernel_image êáé ìåôÜ dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb. Áí Ý÷åôå êÜðïéá Üëëç äéáíïìÞ Linux, áêïëïõèåßóôå ôïí êëáóóéêü ôñüðï ãéá ôï compile åíüò íÝïõ ðõñÞíá. Ìçí îå÷Üóåôå íá êÜíåôå make modules êáé make modules_install. ÊïéôÜîôå óôï Sound HOWTO ßóùò êáé óôï Kernel HOWTO ãéá ðåñéóóüôåñåò ðëçñïöïñßåò. [1m3.4. Åðáíåêêßíçóç[0m Áöïý åãêáôáóôÞóåôå ôïí íÝï ðõñÞíá, èá ðñÝðåé íá êÜíåôå åðáíåêêßíçóç (âåâáéùèåßôå ðùò Ý÷åôå ðñü÷åéñç ìéá äéóêÝôá åðáíåêêßíçóçò ðïõ äïõëåýåé). Êáé ðñïóåõ÷çèåßôå. Áí Ý÷åôå ìéá êÜñôá PnP âåâáéùèåßôå ðùò îåêéíÜôå ôá isapnp åßôå óôá script åêêßíçóçò (üðùò ðåñéãñÜöôçêå ðáñáðÜíù), åßôå ÷åéñïêßíçôá: # /sbin/isapnp /etc/isapnp.conf Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e: CTL0048 Serial No 58128 [checksum 74] Ôþñá ìðïñåßôå íá åãêáôáóôÞóåôå ôïí driver Þ÷ïõ, áí ôïí Ý÷åôå êÜíåé compiled óáí module: # modprobe -a sound AWE32 Sound Driver v0.3.3e (DRAM 2048k) Áí íïìßæåôå ðùò ï åíôïðéóìüò ôçò ìíÞìçò äåí Þôáí óùóôüò (Ý÷ù ìéá áíáöïñÜ êÜðïéïõ ðïõ åß÷å ìéá AWE64 ìå 4096k, êáé ``åíôïðéóìÝíá'' Þôáí 28672k), äïêéìÜóôå åßôå íá áíáâáèìßóåôå ôï ëïãéóìéêü awedrv Þ íá êáèïñßóåôå ôï ðïóü ôçò ìíÞìçò óôï áñ÷åßï /usr/src/linux/drivers/sound/lowlevel/awe_config.h, ãéá ðáñÜäåéãìá: #define AWE_DEFAULT_MEM_SIZE 4096 /* kbytes */ ËõðÜìáé, áëëÜ ðñÝðåé íá êÜíåôå îáíÜ compile ôïí ðõñÞíá (ßóùò ìüíï ôá modules áñêåß, áëëÜ äåí åßìáé óßãïõñïò). Áí äïõëÝøåé, ßóùò íá èÝëåôå íá öïñôþíåôå ôï module Þ÷ïõ áõôüìáôá. Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôïí kerneld (ôï ãéáôß áõôü åßíáé Üó÷çìç éäÝá åîçãÞèçêå óôï ôìÞìá1.4) Þ íá åéóÜãåôå ìéá ìüíï ãñáììÞ óôï ðïõ ðåñéÝ÷åé ôç ëÝîç sound óto /etc/modules óáò (óå Debian) Þ ðñïóèÝóôå /sbin/modprobe -a sound óôï script åêêßíçóÞò óáò. [1m4. ¸ëåã÷ïò ôïõ Driver ¹÷ïõ[0m [1m4.1. /proc/devices, /dev/sndstat[0m Aí Ý÷åôå åíóùìáôùìÝíç õðïóôÞñéîç Þ÷ïõ, èá äåßôå êÜðïéåò ÷ñÞóéìåò ðëçñïöïñßåò êáôÜ ôçí åêêßíçóç. Áí Ý÷åôå ôçí õðïóôÞñéîç Þ÷ïõ ùò loadable module, èá ðÜñåôå ôéò ßäéåò ðëçñïöïñßåò (ßóùò áöïý áðïìáêñýíåôå ôï module Þ÷ïõ ìå ôçí modprobe -r sound ðñþôá) ìå # modprobe -a sound trace_init=1 Sound initialization started <Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5 <Sound Blaster 16> at 0x330 irq 5 dma 0 <Yamaha OPL3 FM> at 0x388 Sound initialization complete AWE32 Sound Driver v0.3.3e (DRAM 2048k) Áí Ý÷åôå Ýíá åéêïíéêü óýóôçìá áñ÷åßùí /proc, ìðïñåßôå íá êïéôÜîåôå ôï áñ÷åßï ìå # cat /proc/devices Character devices: [...] 14 sound [...] ÌåôÜ óéãïõñåõôåßôå ðùò Ý÷åôå ôá óùóôÜ devices åãêáôåóôçìÝíá óôï /dev/. ÊïéôÜîôå óôï Sound HOWTO ãéá ëåðôïìÝñåéåò. ÌåôÜ äåßôå ôï /dev/sndstat ãéá ôçí êáôÜóôáóç ôïõ module ôïõ Þ÷ïõ: # cat /dev/sndstat Sound Driver:3.5.4-960630 (Sat Oct 11 19:35:14 CEST 1997 root, Linux flora 2.0.29 #1 Sat Oct 11 19:12:56 CEST 1997 i586 unknown) Kernel: Linux flora 2.0.29 #1 Sat Oct 11 19:36:23 CEST 1997 i586 Config options: 0 Installed drivers: Type 1: OPL-2/OPL-3 FM Type 2: Sound Blaster Ôype 7: SB MPU-401 Card config: Sound Blaster at 0x220 irq 5 drq 1,5 SB MPU-401 at 0x330 irq 5 drq 0 OPL-2/OPL-3 FM at 0x388 drq 0 Audio devices: 0: Sound Blaster 16 (4.13) Synth devices: 0: Yamaha OPL-3 1: AWE32 Driver v0.3.3e (DRAM 2048k) Midi devices: 0: Sound Blaster 16 Timers: 0: System clock Mixers: 0: Sound Blaster 1: AWE32 Equalizer Áí äåí äåßôå êÜôé óáí êáé áõôü, ßóùò õðÜñ÷åé ëÜèïò ìå ôéò ñõèìßóåéò óáò. Ðñï÷ùñÞóôå êáé äåßôå ôé äå äïõëåýåé, ìåôÜ åðéóôñÝøôå óôï âÞìá ``Áñ÷ßæïíôáò'', åëÝã÷ïíôáò ôá ðÜíôá. [1m4.2. ¸îïäïò - The Raw Audio Device[0m ÐñïóðáèÞóôå íá âñåßôå Ýíá áñ÷åßï .au (Sun workstation) Þ Ýíá áñ÷åßï raw file, êáé êÜíôå # cat bell.au > /dev/audio áíôßóôïé÷á. # cat sample > /dev/dsp Èá ðñÝðåé íá áêïýóåôå ôá ðåñéå÷üìåíá ôïõ áñ÷åßïõ ìÝóù ôïõ Audio Device 0: Sound Blaster 16 (4.3). [1m4.3. ¸îïäïò - Óýíèåóç OPL-2/OPL-3[0m Áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå ôçí óýíèåóç OPL-2/OPL-3 FM ãéá íá ðáßîåôå áñ÷åßá MIDI áðü ôçí êÜñôá Þ÷ïõ óáò, äïêéìÜóôå ôï ðñüãñáììá playmidi (äåò Appendix B). Áñ÷ßóôå ôï ìå # playmidi -f dance.mid Þ # playmidi -4 dance.mid Ôï ðñþôï èá óáò äþóåé OPL-2, ôï ôåëåõôáßï OPL-3 ìïõóéêÞ MIDI . Áí ï Þ÷ïò åßíáé ÷Üëéá, ìçí êáôçãïñåßôå ôï playmidi: Åßíáé ç óýíèåóç FM ðïõ áêïýãåôáé Üó÷çìá. Öáíôáóôåßôå ðùò èá åß÷áôå ìüíï ôïí Driver ¹÷ïõ ôçò OSS/Free Sound Driver: Ëïéðüí áõôÞ åßíáé ç ðïéüôçôá ìïõóéêÞò MIDI ðïõ èá åðéôý÷åôå (åêôüò ôçò óýíèåóçò ìÝóù ëïãéóìéêïý). Åõôõ÷þò, Ý÷åôå ìéá SB AWE, êáé ìðïñåßôå íá ÷ñçóéìïðïéåßôå ôéò äõíáôüôçôåò ãéá Wave Table ìå ôï AWE Sound Driver Extension. [1m4.4. Åîïäïò - Óýíèåóç ìå ðßíáêá êõìáôïìïñöþí (Wave Table Synthesis)[0m Ôï AWE Driver Extension Ýñ÷åôáé ìå êÜðïéá åéäéêÜ åñãáëåßá (awesfx) ãéá íá êÜíåôå ÷ñÞóç ôçò óýíèåóçò ôïõ EMU 8000 Wave Table. Ðñþôá, ðñÝðåé íá öïñôþóåôå ìéá ÔñÜðåæá ÄåéãìÜôùí ¹÷ùí óôçí êÜñôá óáò - áêüìá êáé áí óêïðåýåôå íá áêïýóåôå ôá äåßãìáôá ðïõ õðÜñ÷ïõí óôçí ROM ! Ìðïñåßôå íá ðÜñåôå ôá áñ÷åßá áðü ôá Windows - êïéôÜîôå ãéá áñ÷åßá ìå êáôáëÞîåéò *.sfb Þ *.sf2. Ôá äåßãìáôá ôçò ROM ìðïñïýí íá öïñôùèïýí ìå SYNTHGM.SBK, áëçèéíÜ äåßãìáôá åßíáé óôï SYNTHGS.SBK êáé óôï SYNTHMT.SBK, êáèþò åðßóçò êáé óôï SAMPLE.SBK. Ìðïñåßôå íá ðÜñåôå êé Üëëåò ÔñÜðåæåò ÄåéãìÜôùí ¹÷ùí ìÝóù ftp Þ www. ÄïêéìÜóôå ôçí EMU Homepage, ôï web site ôçò Creative Labs, êáé êïéôÜîôå êáé ôá äåßãìáôá ôïõ Chaos, åßíáé áëçèéíÜ ðïëý êáëÜ (íá ôóåêÜñåôå óßãïõñá êáé ôï site ôçò AWE Driver). ÐñïóðáèÞóôå íá öïñôþóåôå ôï óôÜíôáñô GM (ROM) ìå # sfxload -i synthgm.sbk êáé ìåôÜ ðáßîôå Ýíá áñ÷åßï midi ðïõ Ýñ÷åôáé ìáæß ìå ôçí SB AWE óáò: # drvmidi dance.mid [1m4.5. Ìßîç[0m ÐÜñôå ôï áãáðçìÝíï óáò ðñüãñáììá ìßîçò êáé áñ÷ßóôå ôï. ÎåêéíÞóôå Ýíá äåßãìá raw audio êáé äýï áñ÷åßá MIDI ôáõôü÷ñïíá, êáé äïêéìÜóôå ôéò ñõèìßóåéò ôïõ mixer. Ðáßîôå ãéá ëßãï, èá ðñÝðåé íá åßíáé ðïëý åýêïëï. Íá ç ëßóôá ìå ôá devices êáé ðùò ëÝãïíôáé: [1mYamaha OPL-3[0m Synth or FM [1mAWE32 Driver[0m Synth or FM (does anyone know a mixer were the last two are separated from each other?) [1mSound Blaster 16 (4.13)[0m PCM or DSP [1mPC Speaker (still alive)[0m Spkr ¶ëëåò ñõèìßóåéò ôïõ ìßêôç áíáöÝñïíôáé óôï CD ROM, ðïõ åßíáé ðéèáíÜ óõíäåäåìÝíï ìå ôç êÜñôá Þ÷ïõ, ôçí Êýñéá ¸íôáóç ¹÷ïõ, ÌðÜóá, Ðñßìá, êáé åõáéóèçóßá ç÷ïãñÜöçóçò ôùí äéáöüñùí ãñáììþí åéóüäïõ. Ìðïñåßôå íá ðñïóäéïñßóåôå ðïéåò åßóïäïé èá ç÷ïãñáöïýíôáé. [1m4.6. Åßóïäïò - Äåéãìáôïëçøßá ìå ôï Raw Audio Device[0m Ìðïñåßôå íá ç÷ïãñáöÞóåôå áðü äéáöïñåôéêÝò ðçãÝò: Ýíá óõíäåäåìÝíï CD ROM, Ýíá ìéêñüöùíï óôï mic, êáé ïôéäÞðïôå ìðïñåß íá óõíäåèåß óôï line in. ÂÜëôå ôïí ìßêôç óôçí êáôÜëëçëç èÝóç. Ðáßîôå Ýíáí Þ÷ï êáé ç÷ïãñáöÞóôå óå êÜðïéï áñ÷åßï, äéáâÜæïíôáò áðü ôï Raw Audio Device, ãéá ðáñÜäåéãìá: # cdplay # dd bs=8k count=5 </dev/dsp >music.au 5+0 records in 5+0 records out # cat music.au >/dev/dsp ç÷ïãñáöåß êáé ðáßæåé ðÝíôå äåõôåñüëåðôá Þ÷ïõ áðü ôç óõóêåõÞ åéóüäïõ. [1m4.7. Ç Èýñá MIDI[0m ËõðÜìáé, äåí õðÜñ÷ïõí ðëçñïöïñßåò ãéá ôç èýñá MIDI áêüìá! [1m5. Ëïãéóìéêü ôïõ AWE Driver[0m [1m5.1. sfxload[0m Ìðïñåßôå íá öïñôþóåôå äåßãìáôá óôçí DRAM ôçò êÜñôáò Þ÷ïõ óáò ìå ôï åñãáëåßï sfxload. Óçìåéþóôå ðùò ìðïñåßôå íá öïñôþóåôå ìüíï Ýíá áñ÷åßï-äåßãìá áíÜ ôñÜðåæá (bank), ìå ôçí bank 0 ùò default. ¸ôóé, ìåôÜ ôï sfxload synthgs.sbk, ôá ìüíá äåßãìáôá óôçí êÜñôá óáò åßíáé ôá GS. Áí èÝëåôå íá öïñôþóåôå åðéðëÝïí ÔñÜðåæåò ÄåéãìÜôùí ¹÷ïõ (Sound Font Banks), èá ðñÝðåé íá ÷ñçóéìïðïéÞóåôå ôçí åðéëïãÞ -b, ãéá ðáñÜäåéãìá: # sfxload synthgs.sbk # sfxload -b1 sample.sbk # drvmidi sfx.mid Ìðïñåßôå íá öïñôþóåôå ìéá default Sound Font Bank áõôüìáôá åãêáèéóôþíôáò ôï module. ÁðëÜ ðñïóèÝóôå ìéá ãñáììÞ üðùò ç: post-install sound /usr/bin/sfxload synthgm.sbk óôï áñ÷åßï óáò /etc/conf.modules. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò äåßôå ôçí ôåêìçñßùóç ãéá ôï sfxload. [1m5.2. drvmidi[0m Ìå ôï ðñüãñáììá drvmidi, ìðïñåßôå íá ÷ñçóéìïðïéåßôå ôïí AWE Driver óáò ãéá íá ðáßæåôå áñ÷åßá MIDI. ÁðëÜ êáèïñßóôå ôï üíïìá ôïõ midi áñ÷åßïõ óáò ìåôÜ ôçí åíôïëÞ: # drvmidi waltz.mid Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò äåßôå ôçí ôåêìçñßùóç ãéá ôï drvmidi. [1m6. ÐáñÜñôçìá[0m [1m6.1. ÅðéðëÝïí Ðëçñïöïñßåò[0m [1mÔï Linux Sound HOWTO[0m ÓõããñáöÝáò: Jeff Tranter, <jeff_tranter@pobox.com> Ôåëåõôáßá Ýêäïóç: v1.17, 4 Áõãïýóôïõ 1997 Ðáñáêáëþ êïéôÜîôå ðñïóåêôéêÜ ôï Sound HOWTO (äéáèÝóéìï óôï sunsite.unc.edu êáé Üëëá sites). ÐåñéÝ÷åé ðïëëÜ óôïé÷åßá ãéá ôï compile ôïõ ðõñÞíá ìå õðïóôÞñéîç Þ÷ïõ, êáé åîçãåß ðïëëÜ ãéá ôásound devices, ôéò åöáñìïãÝò êëð. Èåùñþ áõôü ôï HOWTO ùò óõìðëçñùìáôéêü ôïõ Sound HOWTO. [1mÔï Linux Sound Playing HOWTO[0m ÓõããñáöÝáò: Yoo C. Chung, <wacko@laplace.snu.ac.kr> Ôåëåõôáßá Ýêäïóç: v1.4, 13 ÌáÀïõ 1997 Èá ðñÝðåé åðßóçò íá êïéôÜîåôå ôï Sound Playing HOWTO. Óáò ëÝåé ãéá äéÜöïñá formats Þ÷ïõ êáé åöáñìïãÝò ðïõ ôá åêôåëïýí. [1mÔï AWE Driver FAQ[0m ÓõããñáöÝáò: Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp> ÐçãÞ: <http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/awedrv-faq.html> Áí Ý÷åôå ðñïâëÞìáôá óôçí åãêáôÜóôáóç ôïõ AWE Driver Þ ÷ñçóéìïðïéåßôå óýíèåóç Wave Table óôçí Sound Blaster óáò, ôüôå êïéôÜîôå ôï. [1mÔï ISA PnP FAQ[0m ÓõããñáöÝáò: Peter Fox <fox@roestock.demon.co.uk> ÐçãÞ: <http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html> Áí Ý÷åôå ðñïâëÞìáôá óôçí ñýèìéóç ôùí ISA PnP êáñôþí óáò, ôüôå áõôü åßíáé ç âßâëïò óáò. [1m6.2. ÐçãÝò[0m isapnptools ÓõããñáöÝáò: Peter Fox <fox@roestock.demon.co.uk> Ôåëåõôáßá Ýêäïóç: 1.11 ÐçãÞ: <http://www.roestock.demon.co.uk/isapnptools/index.html> Áí óôåßëåôå patches, áíáöïñÝò bugs Þ ó÷üëéá, ãñÜøôå êÜðïõ ìÝóá óôï èÝìá 'isapnp' êáé óôåßëôå ôï óôï isapnp@roestock.demon.co.uk. awedrv ÓõããñáöÝáò: <iwai@dragon.mm.t.u-tokyo.ac.jp> Ôåëåõôáßá Ýêäïóç: 0.4.2c ÐçãÞ: <http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/> [1mLinux kernel[0m ÓõããñáöÝáò: Linus Torvald êáé ðïëëïß Üëëïé Ôåëåõôáßá Ýêäïóç: Ðñïò ôï ðáñüí, èá ðñÝðåé íá ÷ñçóéìïðïéåßôå ôçí 2.0.29 ÐçãÞ: ðáíôïý, áðü üðïõ ìðïñåßò íá âñåéò Linux :) [1mOSS/Free[0m ÓõããñáöÝáò: Hannu Savolainen (Ðáñáêáëþ êïéôÜîôå ôï <http://www.4front-tech.com/usslite ðñéí óôåßëåôå e-mail>). Ôåëåõôáßá Ýêäïóç: ¸÷ù ôçí 3.5.5-beta1 ÐçãÞ: ìå ôï ðáêÝôï ôïõ êþäéêá ôïõ ðõñÞíá ôïõ Linux Ðëçñïöïñßåò: <http://www.4front-tech.com/usslite> Þ ôï ÅõñùðáÀêü mirror <http://personal.eunet.fi/pp/voxware>. [1m6.3. Ðñüôõðï - Äåßãìá isapnp.conf[0m Óôï áñ÷åßï ñõèìßóåùí ãéá ISA PnP ðïõ äçìéïýñãçóå ôï pnpdump, ôá devices ôùí êáñôþí PnP óáò åìöáíßæïíôáé ùò ôìÞìáôá. Óôï ðáñáêÜôù, ìéá êÜñôá åíôïðßóôçêå (ç êÜñôá Þ÷ïõ), ìå ôÝóóåñá ëïãéêÜ devices: · LD 0: Audio Device · LD 1: IDE Device · LD 2: WaveTable Device · LD 3: Gameport Device ¶öçóá ôï LD 1 áññýèìéóôï, åðåéäÞ äåí Ý÷ù CD ROM åíùìÝíï ìå ôçí èýñá IDE ôçò êÜñôáò Þ÷ïõ ìïõ. Áí äåí Ý÷åôå èýñá IDE óôçí SB óáò, ôüôå ç LD 1 èá åßíáé ôï Gameport Device êáé ôï LD 3 äåí èá åìöáíßæåôáé. Ðáñáêáëþ, áíáöåñèåßôå óôï ôìÞìá ``Áñ÷ßæïíôáò'' ãéá ðåñáéôÝñù (óçìáíôéêÝò!) ðëçñïöïñßåò ó÷åôéêÜ ìå áõôü ôï áñ÷åßï. ______________________________________________________________________ # $Id: pnpdump.c,v 1.9 1997/06/10 21:37:32 fox Exp $ # This is free software, see the sources for details. # This software has NO WARRANTY, use at your OWN RISK # # For details of this file format, see isapnp.conf(5) # # For latest information on isapnp and pnpdump see: # http://www.roestock.demon.co.uk/isapnptools/ # # Compiler flags: -DREALTIME -DNEEDSETSCHEDULER (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # Try the following if you get error messages like # Error occurred executing request 'LD 2' on or around line... #(VERIFYLD N) # ANSI string -->Creative SB32 PnP<-- (CONFIGURE CTL0048/58128 (LD 0 # ANSI string -->Audio<-- (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 1)) (DMA 1 (CHANNEL 5)) (IO 0 (BASE 0x0220)) (IO 1 (BASE 0x0330)) (IO 2 (BASE 0x0388)) (ACT Y) )) (CONFIGURE CTL0048/58128 (LD 1 # ANSI string -->IDE<-- # (INT 0 (IRQ 10 (MODE +E))) # (IO 0 (BASE 0x0168)) # (IO 1 (BASE 0x036e)) # (ACT Y) )) (CONFIGURE CTL0048/58128 (LD 2 # ANSI string -->WaveTable<-- (IO 0 (BASE 0x0620)) (IO 1 (BASE 0x0A20)) (IO 2 (BASE 0x0E20)) (ACT Y) )) (CONFIGURE CTL0048/58128 (LD 3 # ANSI string -->Game<-- (IO 0 (BASE 0x0200)) (ACT Y) )) # Returns all cards to the "Wait for Key" state (WAITFORKEY) ______________________________________________________________________