Next Previous Contents

4. Εγκατάσταση

Για να ρυθμίσετε το Linux ώστε να υποστηρίζει ήχο ακολουθείτε τα παρακάτω βήματα:

  1. Εγκαταστήστε την κάρτα ήχου.
  2. Ρυθμίστε και χτίστε τον πυρήνα ώστε να υποστηρίζει ήχο.
  3. Δημιουργήστε τα device files.
  4. Επανεκκίνηση του πυρήνα Linux και έλεγχος της εγκατάστασης.

Στα επόμενα τμήματα θα παρουσιάσουμε κάθε ένα από αυτά τα βήματα αναλυτικά.

4.1 Εγκατάσταση της Κάρτας Ήχου

Ακολουθήστε τις οδηγίες του κατασκευαστή για την εγκατάσταση του hardware ή ζητήστε από τον αντιπρόσωπο που αγοράσατε τη συσκευή να σας την εγκαταστήσει.

Οι παλιότερες κάρτες ήχου έχουν συνήθως διακόπτες ή jumpers για το IRQ, κανάλι DMA, κλπ. Καταγράψτε τις τιμές που χρησιμοποιήσατε. Αν δεν είσαστε σίγουροι, χρησιμοποιήστε τις προκαθορισμένες, από το εργοστάσιο, τιμές. Προσπαθήστε να αποφύγετε τα conflicts με άλλες συσκευές (π.χ. κάρτες δικτύου ethernet , κάρτες SCSI, παράλληλες και σειριακές θύρες) όσο είναι δυνατό.

Συνήθως θα πρέπει να χρησιμοποιήσετε τις ίδιες ρυθμίσεις για I/O port, IRQ, και DMA, που χρησιμοποιείτε στο DOS. Σε μερικές περιπτώσεις, παρόλα αυτά, (ειδικά για τις PnP κάρτες) ίσως χρειαστεί να χρησιμοποιήσετε διαφορετικές ρυθμίσεις για να κάνετε τα πράγματα να δουλέψουν κάτω από Linux.

4.2 Ρυθμίζοντας τον Πυρήνα

Με κάθε νέα εγκατάσταση Linux έχετε συνήθως ένα precompiled πυρήνα. Αυτοί οι πυρήνες δεν υποστηρίζουν ήχο. Είναι προτιμότερο να κάνετε compile τον πυρήνα μόνοι σας ξανά με τους drivers που θέλετε. Μπορεί να θέλετε να κάνετε compile ξανά τον πυρήνα για να αναβαθμιστείτε σε μια νέα έκδοση ή να ελευθερώσετε πόρους μνήμης μικραίνοντας το μέγεθος του πυρήνα.

Θα πρέπει να συμβουλευτείτε το Linux Kernel HOWTO για τις λεπτομέρειες του χτισίματος ενός πυρήνα. Θα αναφέρω απλά μερικά θέματα που άπτονται μόνο στις κάρτες ήχου.

Αν δεν έχετε ρυθμίσει ποτέ τον πυρήνα ώστε να υποστηρίζει ήχο, είναι καλή ιδέα να διαβάσετε όλα τα αρχεία Readme που συμπεριλαμβάνονται με τους drivers ήχου του πυρήνα, ειδικά τις πληροφορίες σχετικά με τον τύπο της κάρτας σας. Τα παρακάτω αρχεία τεκμηρίωσης βρίσκονται στο kernel sound driver directory, συνήθως στο /usr/src/linux/drivers/sound:

CHANGELOG         - περιγραφή των αλλαγών κάθε έκδοσης
COPYING           - copying και copyright restrictions
Readme            - τα πιο πρόσφατα και σημαντικά νέα
Readme.aedsp16    - πληροφορίες σχετικά με την κάρτα ήχου Audio Excel DSP 16 
Readme.cards      - παρατηρήσεις για τη ρύθμιση συγκεκριμένων καρτών
Readme.linux      - παρατηρήσεις για την εγκατάσταση drivers ήχου διαφορετικών εκδόσεων
Readme.modules    - πώς να κάνετε build ένα driver σα loadable kernel module
Readme.v30        - νέα χαρακτηριστικά στην έκδοση 3.0 του driver ήχου
experimental.txt  - παρατηρήσεις σε πειραματικά χαρακτηριστικά

Ακολουθήστε την τυπική διαδικασία για το χτίσιμο του πυρήνα. Υπάρχουν ως τώρα 3 διαφορετικά interfaces για τη διαδικασία ρύθμισης. Γράφοντας "make xconfig", έχετε ένα γραφικό user interface που τρέχει στα X11. Με την εντολή "make menuconfig" ξεκινάτε ένα menu-based system που χρησιμοποιεί μόνο απεικόνιση menu και κειμένου. Η κλασική μέθοδος, χρησιμοποιώντας το "make config", προσφέρει ένα απλό interface μόνο με κείμενο.

Θα πρέπει να προσέξετε ιδιαίτερα όταν χρησιμοποιείτε το "make xconfig" ή το "make menuconfig". Όλες οι ΝΑΙ/ΟΧΙ ερωτήσεις πρέπει να εξεταστούν προσεκτικά. Η προεπιλεγμένη απάντηση που έχουν οι εντολές είναι πάντα ΟΧΙ, το οποίο δεν είναι το κατάλληλο για όλες τις περιπτώσεις. Συγκεκριμένα η επιλογή "/dev/dsp και /dev/audio support" (CONFIG_AUDIO) πρέπει να είναι συνήθως ΝΑΙ.

Υποθέτουμε ότι χρησιμοποιείτε την κλασσική διαδικασία για να κάνετε compile, γράφοντας "make config", αν και η διαδικασία είναι παρόμοια για κάθε περίπτωση.

Υπάρχουν επίσης δύο διαφορετικοί τρόποι για να ρυθμίσετε τον ήχο. Ο πρώτος είναι ο "παλιός" τρόπος (ο μόνος που υπήρχε πριν τους πυρήνες 2.0.0). Χρησιμοποιεί ένα standalone πρόγραμμα το οποίο είναι μέρος του driver ήχου. Αυτή η μέθοδος δουλεύει με τις περισσότερες κάρτες ήχου εκτός από ελάχιστες που απαιτούν επιπλέον drivers "χαμηλού επιπέδου" (miroSOUND, AWE32, και AEDSP16 cards).

Ο δεύτερος είναι η "νέα" και καλύτερη μέθοδος η οποία είναι ενσωματωμένη με το configuration μέσο μενού που χρησιμοποιείται και για τον υπόλοιπο πυρήνα. Αυτός ο τρόπος δε δουλεύει με κάρτες ήχου που ζητούν αρχείο firmware. Αυτό περιλαμβάνει τις κάρτες PSS, SM Wave, AudioTrix Pro και TurtleBeach Tropez/Maui. Με αυτές τις κάρτες πρέπει να χρησιμοποιηθεί η παλιά μέθοδος.

Η νέα μέθοδος χρησιμοποιείται πάντα από το "make xconfig". Όταν χρησιμοποιείτε το "make menuconfig" μπορείτε να επιλέξετε μεταξύ του "παλιού" και "νέου" τρόπου στην υποοθόνη για ήχο. Όταν τρέχετε "make config" χρησιμοποιείται αυτόματα η "παλιά" μέθοδος. Παρόλα αυτά, αν έχετε χρησιμοποιήσει τη "νέα" μέθοδο μια φορά, θα χρησιμοποιηθεί και από το "make config" επίσης. Μπορείτε να γυρίσετε στον παλιό τρόπο τρέχοντας το "make menuconfig" και επιλέγοντας τον "παλιό" τρόπο.

Ο τρόπος που προτείνουμε είναι η χρήση του "make menuconfig" μαζί με την "παλιά" μέθοδο ρύθμισης ήχου. Πολλά προβλήματα εγκατάστασης οφείλονται (τουλάχιστον σε κάποιο ποσοστό) σε λανθασμένη χρήση του νέου τρόπου.

Είναι επίσης δυνατό να φορτώσετε το driver ήχου σαν loadable module του πυρήνα. Συνιστώ αρχικά να χτίσετε το driver στον πυρήνα. Αφού ελέγξετε ότι δουλεύει, μπορείτε να πειραματιστείτε χρησιμοποιώντας την επιλογή kernel module.

Όταν τρέχετε make config, ενεργοποιήστε την υποστήριξη ήχου απαντώντας ναι "y" στην ερώτηση

Sound card support (CONFIG_SOUND) [M/n/y/?]

Στο τέλος των ερωτήσεων για τη ρύθμιση του πυρήνα, θα γίνει compile ένα πρόγραμμα ρύθμισης ήχου, θα τρέξει, και θα σας ρωτήσει τις παραμέτρους που χρειάζονται για την κάρτα σας. Προσοχή στις απαντήσεις σας μια και αν απαντήσετε μία ερώτηση λάθος μπορεί να σας εμποδίσει να απαντήσετε σε μερικές ερωτήσεις που ακολουθούν. Για παράδειγμα, μην απαντήσετε ναι "yes" στην πρώτη ερώτηση (PAS16) αν δεν έχετε PAS16. Μην ενεργοποιείτε περισσότερες κάρτες ήχου από όσες χρειάζεστε, μια και σπαταλούν μνήμη. Επίσης μερικοί drivers (όπως ο MPU-401) μπορεί να κάνουν conflict με τον ελεγκτή SCSI και να εμποδίζουν τον πυρήνα να κάνει boot.

Παρακάτω παρουσιάζω μια σύντομη περιγραφή κάθε επιλογής. Σε κάθε ερώτηση μπορείτε να απαντήσετε "y" (ναι) ή "n" (όχι). Η προκαθορισμένη απάντηση "[Y/n/?]" σημαίνει "y" και η "[N/y/?]" σημαίνει πως η προκαθορισμένη απάντηση είναι "n". Για να διαλέξετε την προκαθορισμένη τιμή, απλά πατήστε Enter, αλλά θυμηθείτε ότι η προκαθορισμένη τιμή δεν είναι απαραίτητα και η σωστή.

Αν γράψετε ένα ερωτηματικό ("?") θα διαβάσετε μια σύντομη περιγραφή για τη συγκεκριμένη επιλογή.

Σημειώστε επίσης ότι μπορεί να μην ερωτηθείτε όλες τις ερωτήσεις. Το πρόγραμμα μπορεί να ακυρώσει μερικές ερωτήσεις οι οποίες εξαρτώνται από νωρίτερη απάντησή σας. Μπορεί επίσης να διαλέξει μερικές επιλογές για σας, αυτόματα.

Old configuration exists in /etc/soundconf. Use it [Y/n/?]

Αν έχετε κάνει compile προηγουμένως τον πυρήνα με υποστήριξη ήχου, τότε η προηγούμενη σας ρύθμιση μπορεί να σωθεί. Αν θέλετε να χρησιμοποιήσετε την προηγούμενη εγκατάσταση, πατήστε ναι "y". Αν θέλετε νέα ρύθμιση ή έχετε αναβαθμιστεί σε νέο πυρήνα, θα πρέπει να απαντήσετε όχι "n" και να συνεχίσετε τη διαδικασία εγκατάστασης.

ProAudioSpectrum 16 support [Y/n/?]

Απαντήστε ναι "y" μόνο αν έχετε a Pro Audio Spectrum 16, ProAudio Studio 16 or Logitech SoundMan 16. Μην απαντάτε 'y' αν έχετε κάποια άλλη κάρτα κατασκευασμένη από την Media Vision ή την Logitech μια που δεν είναι συμβατές με PAS16.

SoundBlaster support [Y/n/?]

Απαντήστε ναι "y" αν έχετε μια γνήσια κάρτα SoundBlaster της Creative Labs ή μια συμβατή 100% (όπως η Thunderboard ή η SM Games). Αν η κάρτα σας είναι στην λίστα των υποστηριζόμενων καρτών κοιτάξτε τις οδηγίες για αυτήν στο αρχείο Readme.cards πριν απαντήσετε σε αυτή την ερώτηση. Για μια άγνωστη κάρτα μπορείτε να απαντήσετε "y'" αν η κάρτα ισχυρίζεται πως είναι συμβατή με SoundBlaster.

Gravis Ultrasound support [Y/n/?]

Απαντήστε "y" αν έχετε GUS ή GUS MAX. Απαντήστε "n" αν δεν έχετε GUS μια που ο driver καταναλώνει πολύ μνήμη.

MPU-401 support (NOT for SB16) [Y/n/?]

Προσοχή σε αυτήν την ερώτηση. Το MPU-401 interface υποστηρίζεται από όλες σχεδόν τις κάρτες ήχου. Παρόλα αυτά, κάποιες κάρτες που υποστηρίζονται εγγενώς (natively)έχουν τους δικούς τους drivers για το MPU-401. Η ενεργοποίηση την επιλογή MPU-401 σε αυτές τις κάρτες θα δημιουργήσει conflict. Επίσης, η ενεργοποίηση του MPU-401 σε ένα σύστημα που δεν έχει πραγματικά MPU-401 θα μπορούσε να δημιουργήσει κάποια προβλήματα. Αν η κάρτα σας δεν είναι στη λίστα των υποστηριζόμενων καρτών, κοιτάξτε τις οδηγίες για την συγκεκριμένη κάρτα στο αρχείο Readme.cards. Είναι ασφαλές να απαντήσετε "y" αν έχετε μια κάρτα με αληθινό MPU-401 MIDI interface.

6850 UART Midi support [Y/n/?]

Είναι ασφαλές να απαντήσετε "n" σε αυτήν την ερώτηση, σε κάθε περίπτωση. Το 6850 UART interface σπάνια χρησιμοποιείται.

PSS (ECHO-ADI2111) support [Y/n/?]

Απαντήστε "y" μόνο αν έχετε Orchid SW32, Cardinal DSP16 ή κάποια άλλη κάρτα που βασίζεται στο PSS chipset (AD1848 codec + ADSP-2115 DSP chip + Echo ESC614 ASIC CHIP).

16 bit sampling option of GUS (not GUS MAX) [Y/n/?]

Απαντήστε "y" αν έχετε εγκατεστημένη την 16 bit sampling daughtercard στην GUS. Απαντήστε όχι "n" αν έχετε GUS MAX. Ενεργοποιώντας αυτή την επιλογή, απενεργοποιείται η υποστήριξη για GUS MAX.

GUS MAX support [Y/n/?]

Απαντήστε "y" μόνο αν έχετε GUS MAX.

Microsoft Sound System support [Y/n/?]

Σκεφτείτε προσεκτικά και εδώ, πριν απαντήσετε "y" σε αυτή την ερώτηση. Είναι ασφαλές να απαντήσετε "y" αν έχετε την γνήσια Windows Sound System card της Microsoft ή της Aztech, SG 16 Pro (ή NX16 Pro). Επίσης μπορείτε να απαντήσετε "y" σε περίπτωση που η κάρτα σας δεν αναφέρεται πουθενά μέχρι τώρα σε αυτό το κείμενο. Για κάρτες που υποστηρίζουν εγγενώς VoxWare, συμβουλευτείτε τις οδηγίες τις συγκεκριμένης κάρτας στο Readme.cards. Μερικοί drivers παρέχουν δικιά τους υποστήριξη MSS και ενεργοποιώντας αυτήν την επιλογή θα δημιουργήσει conflict.

Ensoniq Soundscape support [Y/n/?]

Απαντήστε "y" αν έχετε κάρτα ήχου βασισμένη στο chipset Ensoniq SoundScape. Τέτοιες κάρτες κατασκευάζονται τουλάχιστον από την Ensoniq, Spea και την Reveal (η Reveal κατασκευάζει επίσης και δικές της κάρτες).

MediaTriX AudioTriX Pro support [Y/n/?]

Απαντήστε "y" αν έχετε την AudioTriX Pro.

Support for MAD16 and/or Mozart based cards?

Απαντήστε "y" αν η κάρτα σας διαθέτει Mozart (OAK OTI-601) ή MAD16 (OPTi 82C928 ή 82C929) τσιπ ήχου. Αυτά τα τσιπς είναι πλέον πολύ κοινά και γι' αυτό είναι δυνατόν πολλές ανώνυμες κάρτες να έχουν κάποια από τα παραπάνω τσιπς. Επιπρόσθετα, το τσιπ MAD16 χρησιμοποιείται και σε μερικές κάρτες που κατασκευάζονται από γνωστούς κατασκευαστές η Turtle Beach (Tropez), η Reveal (μερικά μοντέλα της), η Diamond (τα πιο πρόσφατα).

Support for Crystal CS4232 based (PnP) cards [Y/n/?]

Απαντήστε "y" αν έχετε κάρτα βασισμένη στο chipset Crystal CS4232.

Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers [Y/n/?]

Απαντήστε "y" αν έχετε οποιαδήποτε από αυτές τις κάρτες.

SoundBlaster Pro support [Y/n/?]

Ενεργοποιήστε αυτή την επιλογή αν η κάρτα σας είναι η SoundBlaster Pro ή η SoundBlaster 16. Ενεργοποιήστε την επίσης για οποιαδήποτε συμβατή με SoundBlaster Pro. Αν απαντήσετε "n" εξοικονομείτε μνήμη, αλλά η ασφαλής απάντηση εδώ είναι "y".

SoundBlaster 16 support [Y/n/?]

Ενεργοποιήστε την επιλογή αν έχετε την SoundBlaster 16 (συμπεριλαμβάνεται και η AWE32).

Audio Excel DSP 16 initialization support [Y/n/?]

Ενεργοποιήστε αυτή την επιλογή αν έχετε την κάρτα Audio Excel DSP16. Δείτε το αρχείο Readme.aedsp16 για περισσότερες πληροφορίες.

To πρόγραμμα θα σας ρωτήσει μερικές ερωτήσεις σχετικά με την υποστήριξη κάποιων ακόμα υπηρεσιών. Σας συνιστούμε να απαντήσετε "y" σε κάθε μια από αυτές τις ερωτήσεις. Απαντήστε "n" μόνο αν γνωρίζετε ότι δε θα χρειαστείτε αυτή την επιλογή.

/dev/dsp and /dev/audio support (usually required) [Y/n/?]

Αν απαντήσετε "n", απενεργοποιείτε τα /dev/dsp και /dev/audio, τους μετατροπείς A/D και D/A. Απαντήστε "y".

MIDI interface support [Y/n/?]

Αν απαντήσετε "n", απενεργοποιείτε τα devices /dev/midixx και την πρόσβαση σε οποιεσδήποτε θύρες MIDI χρησιμοποιώντας τα /dev/sequencer και /dev/music. Αυτή η επιλογή επηρεάζει επίσης οποιαδήποτε συσκευή MPU-401 και/ή συμβατή με General MIDI.

FM synthesizer (YM3812/OPL-3) support [Y/n/?]

Εδώ απαντήστε "y".

/dev/sequencer support [Y/n/?]

Αν απαντήσετε "n", απενεργοποιείτε τα /dev/sequencer και /dev/music

Do you want support for the mixer of SG NX Pro ?

Απαντήστε "y" αν έχετε την κάρτα ήχου Sound Galaxy NX Pro και θέλετε υποστήριξη για τις έξτρα λειτουργίες του μίκτη (extended mixer functions).

Do you want support for the MV Jazz16 (ProSonic etc.) ?

Απαντήστε "y" αν έχετε την κάρτα ήχου MV Jazz16.

Do you have a Logitech SoundMan Games [Y/n/?]

Απαντήστε "y" αν έχετε την κάρτα ήχου Logitech SoundMan Games.

Μετά τις παραπάνω ερωτήσεις για κάρτες ήχου, το πρόγραμμα ζητά πληροφορίες για τη ρύθμιση της συγκεκριμένης κάρτας. Συνήθως ζητείται η διεύθυνση I/O, οι τιμές των IRQ και DMA. Για μερικές κάρτες, το πρόγραμμα ζητά μερικά αρχεία που θα χρησιμοποιηθούν κατά την αρχικοποίηση της κάρτας. Αυτά χρησιμοποιούνται από κάρτες που διαθέτουν DSP ή μικροεπεξεργαστή που πρέπει να αρχικοποιηθεί "φορτώνοντας" ένα αρχείο (microcode) στην κάρτα. Σε κάποιες περιπτώσεις το αρχείο αυτό γράφεται στο a .h από το πρόγραμμα ρυθμίσεων και μετά ενσωματώνεται στον driver κατά το compile. Και εδώ, διαβάστε τις συγκεκριμένες πληροφορίες για την κάρτα σας στο αρχείο Readme.cards.

Στο τέλος θα ερωτηθείτε:

The sound driver is now configured.
Save copy of this configuration to /etc/soundconf [Y/n/?]

Φυσιολογικά θα απαντούσατε "y" έτσι ώστε αν μελλοντικά χρειαστεί να κάνετε ξανά compile τον πυρήνα, να έχετε την επιλογή να χρησιμοποιήσετε το ίδιο αρχείο ρυθμίσεων για τον driver ήχου.

Εάν αναβαθμίζετε τον παλιό σας driver ήχου, σιγουρευτείτε ότι τα αρχεία /usr/include/sys/soundcard.h και /usr/include/sys/ultrasound.h είναι συμβολικά links στα αντίστοιχα αρχεία στο /usr/include/linux, ή απλά ότι περιέχουν τις γραμμές #include <linux/soundcard.h> και #include <linux/ultrasound.h>, αντίστοιχα.

Είστε τώρα έτοιμοι να κάνετε compile και να στήσετε το νέο πυρήνα.

4.3 Δημιουργία των Device files

Για σωστή λειτουργία, πρέπει να δημιουργηθούν device file entries για τα sound devices. Αυτά κανονικά δημιουργούνται για σας κατά την εγκατάσταση του συστήματος Linux. Ένας σύντομος έλεγχος μπορεί να γίνει χρησιμοποιώντας την εντολή που φαίνεται παρακάτω. Αν το αποτέλεσμα είναι αυτό που φαίνεται παρακάτω (η ημερομηνία θα διαφέρει), τότε τα device files είναι σχεδόν σίγουρα εντάξει.

% ls -l /dev/sndstat
crw-rw-rw-   1 root     root      14,   6 Apr 25  1995 /dev/sndstat

Σημειώστε ότι το να έχετε τα σωστά device files δεν εγγυάται τίποτα από μόνο του. Ο driver του πυρήνα πρέπει επίσης να φορτωθεί ή να γίνει compile πριν να δουλέψουν τα devices (περισσότερα γι' αυτό παρακάτω).

Σε σπάνιες περιπτώσεις, αν πιστεύετε ότι είναι λάθος τα device files, μπορείτε να τα ξαναδημιουργήσετε χρησιμοποιώντας το μικρό shell script που βρίσκεται στο τέλος του αρχείου Readme.linux στο directory /usr/src/linux/drivers/sound, τρέχοντάς το σα χρήστης root. Εναλλακτικά, οι περισσότερες διανομές Linux έχουν ένα script /dev/MAKEDEV το οποίο μπορεί να χρησιμοποιηθεί γι' αυτό το σκοπό.

Αν χρησιμοποιείτε το PC speaker sound driver, διαβάστε την τεκμηρίωση που έρχεται μαζί με το πακέτο ώστε να αποφασίσετε αν πρέπει να δημιουργηθούν τίποτα device files.

4.4 Επανεκκίνηση του Linux και Έλεγχος της Εγκατάστασης

Θα πρέπει τώρα να είστε έτοιμοι να ξεκινήσετε το νέο πυρήνα και να ελέγξετε τους drivers ήχου. Ακολουθήστε τη συνηθισμένη διαδικασία εγκατάστασης και επανεκκίνησης του νέου πυρήνα (κρατήστε φυσικά κάπου τον παλιό πυρήνα για τυχόν προβλήματα).

Κατά την εκκίνηση, ελέγξτε για μήνυμα σαν το παρακάτω on powerup (αν τα μυνήματα εμφανίζονται πολύ γρήγορα και δεν προλαβαίνετε να τα διαβάσετε, μπορείτε να τα δείτε γράφοντας την εντολή dmesg):

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

Αυτό θα πρέπει να ταιριάζει με τον τύπο της κάρτας ήχου σας και τα jumper settings (αν υπάρχουν).

Σημειώστε ότι τα παραπάνω μηνύματα δεν εμφανίζονται όταν χρησιμοποιείτε loadable sound driver module (εκτός και αν το ενεργοποιήσετε, π.χ. χρησιμοποιώντας το "insmod sound trace_init=1).

Όταν ο driver ήχου γίνεται link στον πυρήνα, πρέπει να εμφανιστούν τα μηνύματα "Sound initialization started" και "Sound initialization complete". Αν δεν τυπώνονται, σημαίνει ότι δεν υπάρχει driver ήχου στον πυρήνα. Σε αυτή την περίπτωση, θα πρέπει να ελέγξετε ότι χρησιμοποιείτε πράγματι τον πυρήνα που κάνατε compile όταν ενεργοποιήσατε το driver ήχου.

Αν δεν τυπώνεται τίποτα μεταξύ των γραμμών "Sound initialization started" και "Sound initialization complete", σημαίνει ότι δεν ανιχνεύθηκαν συσκευές ήχου. Πολύ πιθανά, αυτό σημαίνει ότι δεν έχετε ενεργοποιήσει το σωστό driver, η κάρτα δεν υποστηρίζεται, το I/O port is bad ή ότι έχετε κάρτα PnP η οποία δεν ρυθμίστηκε σωστά.

Ο driver μπορεί επίσης να εμφανίσει μερικά μηνύματα λάθους και προειδοποιήσεις (warnings) κατά την εκκίνηση (boot). Προσέξτε για τέτοια μηνύματα όταν ξεκινά το σύστημα για πρώτη φορά μετά τη ρύθμιση του driver ήχου.

Το επόμενο βήμα είναι να ελέγξετε το device file /dev/sndstat. Αν διαβάσετε το status device file του driver ήχου θα σας δώσει επιπλέον πληροφορίες για το αν ο driver της κάρτας ήχου έχει αρχικοποιηθεί σωστά. Ένα τυπικό αποτέλεσμα θα φαίνεται όπως το παρακάτω:

% cat /dev/sndstat
Sound Driver:3.5.4-960630 (Sat Jan 4 23:56:57 EST 1997 root,
Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586)
Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586
Config options: 0

Installed drivers: 
Type 1: OPL-2/OPL-3 FM
Type 2: Sound Blaster
Type 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

Midi devices:
0: Sound Blaster 16

Timers:
0: System clock

Mixers:
0: Sound Blaster

Η παραπάνω εντολή μπορεί να αναφέρει μερικά μηνύματα λάθους. Το "No such file or directory" δείχνει ότι πρέπει να δημιουργήσετε τα device files (δείτε το τμήμα 4.3). Το "No such device" σημαίνει ότι ο driver ήχου δεν είναι φορτωμένος ή δεν έχει γίνει link στον πυρήνα. Επιστρέψτε στο τμήμα 4.2 για να το διορθώσετε.

Αν οι γραμμές στο "Card config:" για το /dev/sndstat βρίσκονται εντός παρένθεσης (όπως: "(SoundBlaster at 0x220 irq 5 drq 1,5)"), σημαίνει πως η συσκευή αυτή παρόλο που ρυθμίστηκε, δεν εντοπίστηκε από το σύστημα.

Τώρα θα πρέπει να είσαστε έτοιμοι να παίξετε ένα απλό αρχείο ήχου. Βρείτε ένα τέτοιο αρχείο και στείλτε το στην κάρτα, σαν ένα βασικό τεστ της δυνατότητας παραγωγής ήχου, π.χ.:

% cat endoftheworld >/dev/dsp
% cat crash.au >/dev/audio

(Σιγουρευτείτε πως δεν παραλείψατε το ">" στις παραπάνω εντολές).

Σημειώστε πως γενικά, η χρήση του cat δεν είναι ο κατάλληλος τρόπος να παίζετε αρχεία ήχου, αλλά απλά ένα γρήγορο τεστ. Θα χρειαστεί να βρείτε ένα πραγματικό πρόγραμμα ήχου (θα περιγραφούν αργότερα) που θα κάνει καλύτερη δουλειά.

Αυτή η εντολή θα δουλέψει μόνο αν υπάρχει τουλάχιστον μια συσκευή στο τμήμα με τα audio devices του /dev/sndstat. Αν το τμήμα των audio devices είναι άδειο, πρέπει να ελέγξετε γιατί η συσκευή δεν εντοπίστηκε.

Αν οι παραπάνω εντολές επιστρέφουν "I/O error", θα πρέπει να κοιτάξετε στο τέλος των μηνυμάτων του πυρήνα που εμφανίζονται με την εντολή "dmesg". Είναι πολύ πιθανό ένα μήνυμα λάθους να εμφανίζεται εκεί. Πολύ συχνά το μήνυμα είναι "Sound: DMA (output) timed out - IRQ/DRQ config error;". Το παραπάνω μήνυμα σημαίνει ότι ο driver δεν έλαβε το αναμενόμενο interrupt από την κάρτα ήχου. Στις περισσότερες περιπτώσεις αυτό σημαίνει ότι το IRQ ή το κανάλι DMA που ρυθμίστηκε στον driver δε δουλεύει. Ο καλύτερος τρόπος να το κάνετε να δουλέψει είναι να δοκιμάστε όλα τα πιθανά DMAs και IRQs που υποστηρίζονται από τη συσκευή.

Άλλος πιθανός λόγος είναι ότι η συσκευή δεν είναι συμβατή με τη συσκευή για την οποία ρυθμίστηκε ο driver. Αυτή είναι σχεδόν πάντα η περίπτωση όταν μια υποτιθέμενη "συμβατή με SoundBlaster (Pro/16)" κάρτα ήχου δε δουλεύει με το driver για SoundBlaster. Σε αυτή την περίπτωση, δοκιμάστε να βρείτε τη συσκευή με την οποία η κάρτα ήχου σας είναι συμβατή (στέλνοντας, για παράδειγμα, μήνυμα στο newsgroup comp.os.linux.hardware).

Μερικά δείγματα αρχείων ήχου θα βρείτε στο url="ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z">

Τώρα μπορείτε να ελέγξετε την ηχογράφηση ήχου. Αν έχετε δυνατότητα για είσοδο ήχου (sound input), μπορείτε να κάνετε ένα γρήγορο τεστ χρησιμοποιώντας τις εντολές:

# ηχογραφεί 4 δευτ/πτα ήχου από το μικρόφωνο
EDT% dd bs=8k count=4 </dev/audio >sample.au
4+0 records in
4+0 records out
# play back sound
% cat sample.au >/dev/audio

Φυσικά για να δουλέψει κάτι τέτοιο, χρειάζεστε ένα μικρόφωνο συνδεδεμένο στην κάρτα ήχου σας και θα πρέπει να μιλήσετε σ' αυτό. Μπορεί να χρειαστείτε ένα πρόγραμμα mixer για να θέσετε το μικρόφωνο ως την πηγή εισόδου και να ρυθμίσετε την ένταση της ηχογράφησης.

Αν τα τεστ αυτά ολοκληρωθούν επιτυχώς, μπορείτε να είσαστε ήσυχοι, σε λογικά πλαίσια βέβαια, πως τα D/A και A/D hardware και software δουλεύουν. Αν αντιμετωπίσετε προβλήματα, διαβάστε το επόμενο τμήμα αυτού του κειμένου.

4.5 Troubleshooting

Αν ακόμα αντιμετωπίζετε προβλήματα παρόλο που ακολουθήσατε τις οδηγίες του HOWTO, εδώ υπάρχουν μερικά πράγματα που μπορείτε να ελέγξετε. Οι έλεγχοι αναγράφονται με αύξουσα σειρά πολυπλοκότητας. Αν ένας έλεγχος αποτύχει, λύστε το πρόβλημα πριν προχωρήσετε στο επόμενο βήμα.

Βήμα 1: Βεβαιωθείτε πως πραγματικά τρέχετε τον πυρήνα που κάνατε compile.

Μπορείτε να ελέγξετε το date stamp του πυρήνα για να δείτε ότι χρησιμοποιείτε αυτόν που κάνατε compile με υποστήριξη ήχου. Αυτό μπορείτε να το κάνετε με την εντολή uname:

% uname -a
Linux fizzbin 2.0.0 #1 Tue Jun 4 16:57:55 EDT 1996 i386

ή κοιτώντας το αρχείο /proc/version:

% cat /proc/version
Linux version 2.0.0 (root@fizzbin) (gcc version 2.7.0) #1 Tue Jun 4 16:57:55 EDT 1996

Αν το date stamp δεν ταιριάζει με την ημερομηνία που κάνατε compile τον πυρήνα, τότε τρέχετε έναν παλιό πυρήνα. Κάνατε reboot; Αν χρησιμοποιείτε LILO το ξαναεγκαταστήσατε (τυπικά τρέχοντας /etc/lilo/install); Αν ξεκινήσετε από δισκέτα, δημιουργήσατε νέα boot δισκέτα και αν ναι, την χρησιμοποιήσατε κατά την εκκίνηση;

Βήμα 2: Βεβαιωθείτε πως οι drivers ήχου του πυρήνα συμπεριλήφθησαν στο compile.

Ο απλούστερος τρόπος για αυτό, είναι να ελέγξετε την έξοδο του "dev/sndstat" όπως περιγράφηκε νωρίτερα. Αν η έξοδος δεν είναι η αναμενόμενη τότε κάτι πήγε λάθος με τις ρυθμίσεις του πυρήνα ή τo build του. Αρχίστε ξανά την διαδικασία εγκατάστασης, ξεκινώντας από το configuration και to χτίσιμο του πυρήνα.

Βήμα 3: Αναγνώρισε ο πυρήνας την κάρτα ήχου κατά την εκκίνηση;

Βεβαιωθείτε πως η κάρτα ήχου εντοπίστηκε από τον πυρήνα κατά την εκκίνηση. Θα πρέπει να είδατε κάποιο μήνυμα κατά την εκκίνηση. Αν τα μηνύματα κάνανε scroll έξω από την οθόνη σας, μπορείτε να τα ξαναδείτε με την εντολή dmesg:

% dmesg

ή

% tail /var/adm/messages

Αν η κάρτα ήχου σας δεν βρέθηκε τότε κάτι πάει λάθος. Βεβαιωθείτε πως έχει αληθινά εγκατασταθεί. Αν η κάρτα ήχου δουλεύει σε DOS τότε μπορείτε να είσαστε σχετικά σίγουροι πως το hardware δουλεύει, και άρα πρόκειται για πρόβλημα στις ρυθμίσεις του πυρήνα. Ή δηλώσατε την κάρτα σας ως λάθος τύπο, ή με λάθος παραμέτρους, ή η κάρτα ήχου σας δεν είναι συμβατή με κανέναν driver κάρτας ήχου του πυρήνα του Linux.

Μία πιθανότητα είναι ότι η κάρτα ήχου σας είναι μια από τις "συμβατού" τύπου που χρειάζεται αρχικοποίηση από το DOS driver. Δοκιμάστε να εκκινήσετε DOS και να φορτώσετε το driver που παρέχεται από τον πωλητή της κάρτα ήχου. Μετά επανεκκινήστε (soft boot) σε Linux πατώντας Control-Alt-Delete. Σιγουρευτείτε ότι η διεύθυνση I/O της κάρτας ήχου, οι ρυθμίσεις DMA και IRQ στο Linux είναι ίδιες όπως και στο DOS. Διαβάστε το αρχείο Readme.cards από τη διανομή του πηγαίου κώδικα του driver της κάρτας ήχου για τυχόν υποδείξεις για τη ρύθμιση κάρτας ήχου αυτού του τύπου.

Αν η κάρτα ήχου σας δε συμπεριλαμβάνεται σε αυτό το κείμενο, είναι πιθανό ότι οι Linux drivers δεν την υποστηρίζουν. Μπορείτε να το ελέγξετε με κάποιες από τις παραπομπές που βρίσκονται για βοήθεια στο τέλος του κειμένου.

Βήμα 4: Μπορείτε να διαβάσετε δεδομένα από το dsp device ;

Προσπαθήστε να διαβάσετε από τη συσκευή /dev/audio χρησιμοποιώντας την εντολή dd που παρουσιάστηκε νωρίτερα σε αυτό το κείμενο. Η εντολή πρέπει να τρέχει χωρίς λάθη.

Αν δε δουλεύει, τότε το πιθανότερο είναι πως το πρόβλημα είναι IRQ ή DMA conflict ή κάποιο είδος ασυμβατότητας σε επίπεδο hardware (η συσκευή δεν υποστηρίζεται από το Linux ή ο driver έχει ρυθμιστεί για λάθος συσκευή).

Μια μικρή πιθανότητα είναι η ύπαρξη ελαττωματικού hardware. Δοκιμάστε να ελέγξετε την κάρτα ήχου στο DOS, αν είναι δυνατό, ώστε να εξαλείψετε αυτή την πιθανότητα.

Oταν όλα έχουν αποτύχει

.

Αν εξακολουθείτε να έχετε προβλήματα, δείτε παρακάτω μερικές τελικές προτάσεις για το τι μπορείτε να δοκιμάσετε:

Παρουσιάζω εδώ ένα δείγμα του τύπου των εφαρμογών που πιθανά θα θέλετε αν έχετε εγκαταστήσει κάρτα ήχου σε Linux. Μπορείτε να ελέγξετε το Linux Software Map, τα Internet archive sites, και/ή τα αρχεία στο Linux CD-ROM που έχετε για πιο πρόσφατες πληροφορίες .

Πολύ πιθανά θα θέλετε να αποκτήσετε τουλάχιστον τις παρακάτω εφαρμογές :

Υπάρχουν text-based αλλά και GUI-based εκδόσεις για τα περισσότερα από αυτά τα εργαλεία. Υπάρχουν επίσης μερικές περισσότερο esoteric εφαρμογές (π.χ. αναγνώριση και σύνθεση φωνής) που ίσως θέλετε να δοκιμάσετε.


Next Previous Contents