+++
title = 'OPTi82C931 Κάρτα ήχου και 2.2.x kernel.'
date = ''
description = ''
author = 'Παύλος Παρίσσης(mailto:surferpaul@yahoo.com)'
issue = ['Magaz 15']
issue_weight = 4
+++
----------------------------------------------------------------------------------------------------------------------------------------------------------------

*Το άρθρο μου στο magaz 12 έλεγε ότι για τους νέους kernels το μόνο που χρειάζεται να κάνει κάποιος για να έχει ήχο με την ασήμαντη OPTi82C931 κάρτα ήχου είναι
να διαβάσει το σχετικό αρχείο στο Documentaion/sound κατάλογο. Αυτό όμως δεν είναι αρκετό, έτσι διαβάστε τα παρακάτω για να έχετε ήχο με την OPTi82C931.*

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Ας αρχίσουμε από τα απλά , στο /etc/isapnp.conf δεν αλλάζει τίποτα έκτος από την αλλαγή που βλέπετε στο παρακάτώ κομμάτι του :

----------------------------------------------------------------------------------------------------------------------------------------------------------------

    # Multiple choice time, choose one only !

    # Start dependent functions: priority acceptable

    # Logical device decodes 16 bit IO address lines

    # Minimum IO base address 0x0534

    # Maximum IO base address 0x0608

    # IO base alignment 4 bytes

    # Number of IO addresses required: 4

    (IO 0 (BASE 0x0530))

----------------------------------------------------------------------------------------------------------------------------------------------------------------

στους 2.0.x kernels είχαμε 534 ενώ τώρα έχουμε 530, μικρό το κακό. Για να σετάρετε την κάρτα με τα isapnp tools διαβάστε το άρθρο στο magaz 12.

Μετά κάνουμε compile τον kernel με τα κλασικά βήματα έχοντας μόνο τις παρακάτω επιλογές σαν module στο sound section:

----------------------------------------------------------------------------------------------------------------------------------------------------------------

    CONFIG_SOUND=m (Sound card support)
    CONFIG_SOUND_OSS=m (OSS sound modules)
    CONFIG_SOUND_ADLIB=m (Generic OPL2/OPL3 FM synthesizer support)
    CONFIG_SOUND_MPU401=m (MPU-401 support (NOT for SB16))
    CONFIG_SOUND_MSS=m (Microsoft Sound System support)
    CONFIG_SOUND_MAD16=m (Support for OPTi MAD16 and/or Mozart based cards)
    CONFIG_SOUND_YM3812=m (FM synthesizer (YM3812/OPL-3) support)

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Κάνουμε ότι κάνουμε για να τελειώσει το compile, μην ξεχάσετε να δώσετε

    depmod -a

μετά το τέλος του compile και το make modules\_install..

Μετά γράφουμε τις απαραίτητες ρυθμίσεις στο /etc/conf.modules με την σειρά που τις έχω:

----------------------------------------------------------------------------------------------------------------------------------------------------------------

    alias char-major-14 mad16

    options sb mad16=1

    options mad16 io=0x530 irq=7 dma=0 dma16=1 mpu_io=0x330 mpu_irq=5

    options opl3 io=0x388

    post-install ad1848 /sbin/modprobe "-k" "opl3"

----------------------------------------------------------------------------------------------------------------------------------------------------------------

**ΠΡΟΣΟΧΗ** τα options **ΠΡΕΠΕΙ** να είναι ίδια με αυτά που έχουμε στο isapnp.conf εάν δεν είναι ίδια μουσική δεν ακούσετε όσο και αν θέλετε.

Και τελειώνουμε φορτώνοντας τις sound modules στο startup script /etc/rc.d/rc.sysinit, το κομμάτι για το Sound πρέπει να γίνει έτσι:

----------------------------------------------------------------------------------------------------------------------------------------------------------------

    # load sound modules
    if ! grep -i nomodules /proc/cmdline >/dev/null ; then
        if [ -n "$USEMODULES" ]; then
    #       if grep -s "alias sound" /etc/conf.modules > /dev/null ; then
               modprobe mad16
               modprobe opl3
               modprobe mpu401
    #               OPTi82C931 0 0x07 1 0x07 3 0x09 4 0x14 5 0x3C 6 0x92
    #               insmod sound
    #           if grep -s "alias midi" /etc/conf.modules > /dev/null ; then
    #               modprobe midi
    #           fi
    #       fi
        fi
    fi

----------------------------------------------------------------------------------------------------------------------------------------------------------------

μπορείτε να φορτώνετε μόνο την mad16 module για να έχετε ήχο αλλά δεν θα είστε σε θέση να ακούσετε κάποιου τύπου sound αρχείων. Επειδή δεν έχω βρει ακόμα ποιοι
είναι αυτοί εσείς να φορτώνετε και τις τρεις για να μην μου φωνάζετε μετά.

Επιπλέον το cat /dev/sndstat δίνει διαφορετικά στοιχεία από ότι με τους 2.0.x kernels, πρέπει να λεει τα παρακάτω:

----------------------------------------------------------------------------------------------------------------------------------------------------------------

    OSS/Free:3.8s2++-971130
    Load type: Driver loaded as a module
    Kernel: Linux localhost.localdomain 2.2.6 #4 Sat May 1 16:55:18 EEST 1999 i586
    Config options: 0

    Installed drivers:

    Card config:

    Audio devices:
    0: MAD16 WSS (82C930) (DUPLEX)

    Synth devices:

    Midi devices:
    0: Mad16/Mozart

    Timers:
    0: System clock

    Mixers:
    0: MAD16 WSS (82C930)

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Εάν έχουν πάει όλα καλά μετά τα παραπάνω θα ακούτε μουσική στο LinuxBox σας. Εάν όχι, ξαναδιαβάστε τα πάντα και όλα τα manual για modules και τα πάντα στον
/usr/src/linux/Documentation/sound κατάλογο και μην μου στέλνετε mails διότι εγώ σε 10 μέρες είμαι θα είμαι ναύτης:)χαχαχαχαχαχα
