241 γραμμές
15 KiB
Markdown
241 γραμμές
15 KiB
Markdown
|
+++
|
|||
|
title = 'ΕΛΛΗΝΙΚΟ OPTi931 Mini-HOWTO'
|
|||
|
date = '1999-02-01T00:00:00Z'
|
|||
|
description = ''
|
|||
|
author = 'Παύλος Παρίσσης'
|
|||
|
issue = ['Magaz 12']
|
|||
|
issue_weight = 4
|
|||
|
+++
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
*Το κείμενο αυτό περιγράφει την υποστήριξη του Linux για ήχο με την κάρτα ήχου OPTi82C931.*
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
Τα παρακάτω βήματα είναι αυτά που χρειάστηκαν να γίνουν ώστε η OPTi82C931 να δούλεψη κάτω από Linux.
|
|||
|
|
|||
|
**1. Ο εύκολος τρόπος:**
|
|||
|
-----------------------------------------------
|
|||
|
|
|||
|
**2. Ρυθμίζοντας τον Πυρήνα:**
|
|||
|
-----------------------------------------------------
|
|||
|
|
|||
|
**3. OPTi82C931 και kernel 2.0.x ή 2.1.Χ**
|
|||
|
-----------------------------------------------------------------
|
|||
|
|
|||
|
**4. Tips**
|
|||
|
----------------------------------
|
|||
|
|
|||
|
kernel, τρέχτε τον οδηγό και θα έχετε ήχο. Αυτή είναι μια πολύ εύκολη λύση αλλά κοστίζει \$20. Υπάρχει και μια δοκιμαστική έκδοση αυτού του οδηγού που είχα
|
|||
|
κατεβάσει και δούλεψε τέλεια αλλά είχα ήχο μόνο για 3 ώρες σε κάθε τρέξιμο του οδηγού και επιπλέον θα έπρεπε να κατεβάζω και να ξανά κατεβάζω τον οδηγό
|
|||
|
συνεχεία!. Επειδή είναι τρελό να δώσετε \$20 για έναν οδηγό για μια κάρτα που κοστίζει \$15 διαβάστε τα παρακάτω και σε 30 λεπτά θα έχετε ήχο για πάντα, δωρεάν
|
|||
|
και θα εμπλουτίσετε τις γνώσεις σας.
|
|||
|
|
|||
|
|
|||
|
### [2. Ρυθμίζοντας τον Πυρήνα:]{#s2}
|
|||
|
|
|||
|
Αυτές οι οδηγίες αρμόζουν μόνο στους kernel 2.0.x για τους kernel 2.1.Χ και 2.2.X θα αναφερθώ αργότερα.\
|
|||
|
Πρέπει να κάνετε compile τον ήχο σαν module. Θα πρέπει να έχετε και τον [OSS Free Sound Driver](../files/ossfree38s9-linux20x_tar.gz) κατεβαστέ την τελευταία
|
|||
|
έκδοση κάντε ότι λεει το [README](../files/ossfree38s-linux20x.README) αρχείο και ξεκινήστε την διαδικασία compile με make config(menu ή xconfig) και δώστε τις
|
|||
|
παρακάτω σαν απαντήσεις :
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
M Sound card support
|
|||
|
|
|||
|
Y Generic OPL2/OPL3 FM synthesizer support
|
|||
|
|
|||
|
Y MPU-401 support (NOT for SB16)
|
|||
|
|
|||
|
Y Microsoft Sound System support
|
|||
|
|
|||
|
Y FM synthesizer (YM3812/OPL-3) support
|
|||
|
|
|||
|
330 I/O base for MPU401 Check from manual of the card
|
|||
|
|
|||
|
5 MPU401 IRQ Check from manual of the card
|
|||
|
|
|||
|
530 MSS/WSS I/O base 530, 604, E80 or F40
|
|||
|
|
|||
|
7 MSS/WSS IRQ 7, 9, 10 or 11
|
|||
|
|
|||
|
0 MSS/WSS DMA 0, 1 or 3
|
|||
|
|
|||
|
1 MSS/WSS second DMA (if possible) 0, 1 or 3
|
|||
|
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
Είναι χρήσιμο να πατε στο DOS/Windows και στον κατάλογο OPTI931 να τρέξετε sndinit /b έτσι θα δείτε τα IRQ μετά οποία είναι σεταρισμένη η κάρτα σας. Ακόμα αν
|
|||
|
θέλετε να δείτε τα IRQ που δέχονται ή όχι οι συσκευές ανοίχτε το /etc/isapnp.conf αλλά είναι σχετικά απίθανο να έχει διαφορετικά από ότι πρέπει να δώσετε
|
|||
|
σύμφωνα με τα παραπάνω.
|
|||
|
|
|||
|
Μετά κάντε τα κλασσικά βήματα make dep, make clean, make zImage, make modules και make modules\_install.
|
|||
|
|
|||
|
- ISAPNPTOOLS:
|
|||
|
|
|||
|
Το επόμενο βήμα είναι να κατεβάσετε εάν δεν έχετε και να τρέξετε το isapnp. Μπορείτε να το κατεβάσετε τα [από εδώ](../files/isapnptools-1.17-0.1.i386.rpm).
|
|||
|
Μόλις τελειώσετε με το setup των tools τρέχτε isapnp και έτσι θα δημιουργηθεί ένα [/etc/isapnp.conf](../files/isapnp.conf) αρχείο μετά τρέχτε pnpdump \>
|
|||
|
isapnp.conf.
|
|||
|
|
|||
|
Σε αυτό το σημείο θέλει μεγάλη προσοχή, πρέπει να τροποποιήσετε το isapnp.conf ώστε να ταιριάζει με τις τιμές που δώσατε στο compile. \'Εχω διαθέσιμο το
|
|||
|
δικό μου isapnp.conf(κάνε το link το αρχείο) ώστε να το έχετε σαν οδηγώ. Το πιο σημαντικό από όλα είναι να προσθέστε την παρακάτω γραμμή στο isapnp.conf :
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
(CSN 1 (LD 0 (REG 2 (POKE 4))))
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
Αυτή η γραμμή απενεργοποιεί το PnP της κάρτας ώστε να μπορούμε να την ρυθμίσουμε έτσι όπως θέλουμε. Μετά τρέχτε isapnp /etc/isapnp.conf και θα πάρετε τα
|
|||
|
παρακάτω
|
|||
|
|
|||
|
Board 1 has Identity 74 ff ff ff ff 31 09 14 3e: OPT0931 Serial No
|
|||
|
42949672.................
|
|||
|
|
|||
|
- Γράφοντας τις ρυθμίσεις στην OPTi931 :
|
|||
|
|
|||
|
Πρέπει να κάνουμε compile και να τρέξουμε ένα [μικρό πρόγραμμα](../files/OPTi82C931.c). Ένα μεγάλο ευχαριστώ στον [Donald
|
|||
|
MBurns](mailto:donald@sequel.demon.co.uk).\
|
|||
|
Επισκεφθείτε την [σελίδα του](http://www.sequel.demon.co.uk/opti.html) του για να μάθετε περισσότερα για το πρόγραμμα και την OPTi931. Αυτό που κάνει το
|
|||
|
πρόγραμμα είναι να γράφει τις ρυθμίσεις της OPTi931. Εδώ είναι και η γραμμή εντολής που θέτει την OPTi931 στις ρυθμίσεις που περιγράψαμε νωρίτερα
|
|||
|
|
|||
|
(MSS io-530, irq-7, dma-0, MPU-401 io-330, irq-5).
|
|||
|
|
|||
|
Για να κάνετε compile το πρόγραμμα χρησιμοποιήστε τον gcc compiler ή οποίον άλλον θέλετε, εγώ χρησιμοποιώ τον gcc και κάντε compile έτσι:
|
|||
|
|
|||
|
gcc -O3 OPTi82C931.c -o OPTi82C931
|
|||
|
|
|||
|
και μετά τρέχτε το :
|
|||
|
|
|||
|
./OPTi82C931 0 0x07 1 0x07 3 0x09 4 0x14 5 0x3E** 0x92
|
|||
|
|
|||
|
και θα πρέπει να δείτε τα παρακάτω :
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
MCR0 <- 07
|
|||
|
MCR1 <- 07
|
|||
|
MCR3 <- 09
|
|||
|
MCR4 <- 14
|
|||
|
MCR5 <- 3E
|
|||
|
MCR6 <- 92
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
\*\* Στο /usr/src/linux/Documentation/sound/Opti διάβασα ότι ο IO3 base πρέπει να είναι 0x0E0C και όχι 0x0E0E αλλά και τα δύο δουλεύουν! εγώ έχω C εάν
|
|||
|
βάλετε E πρέπει να πάτε και στο /etc/isapnp.conf και εκεί που λεει (IO 3 (BASE 0x0E0C)) να βάλτε (IO 3 (BASE 0x0E0E)) καθώς και στην εντολή ./OPTi82C931 να
|
|||
|
είναι E αντί C.
|
|||
|
|
|||
|
- Φόρτωμα του sound module :
|
|||
|
|
|||
|
Είμαστε ένα βήμα πριν να ακούσουμε μουσική, πρέπει να φορτώσουμε το module δίνοντας insmod sound και εάν έχετε ανοιχτά τα ηχεία σας θα ακούσετε ένα μικρό
|
|||
|
ήχο.
|
|||
|
|
|||
|
Δείτε το /den/sndstat με την εντολή cat /dev/sndstat \| more και επιβεβαιώστε ότι έχετε επιτυχώς φορτώσει την module. Η έξοδος θα πρέπει να είναι η παρακάτω
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
OSS/Free3.8s9-980302 (Mon Jan 25 14:08:59 GMT 1999 root,
|
|||
|
Linux localhost.localdomain 2.0.36 #1 Sat Jan 23 00:14:33 GMT 1999 i586 unknown)
|
|||
|
Load type: Driver loaded as a module.
|
|||
|
Kernel: Linux localhost.localdomain 2.0.36 #1 Tue Jan 26 17:05:59 GMT 1999 i586
|
|||
|
Config options: 0
|
|||
|
|
|||
|
Installed drivers:
|
|||
|
Type 10: MS Sound System
|
|||
|
Type 27: Compaq Deskpro XL
|
|||
|
Type 1: OPL-2/OPL-3 FM
|
|||
|
Type 5: Roland MPU-401
|
|||
|
|
|||
|
Card config:
|
|||
|
MS Sound System at 0x530 irq 7 drq 0,1
|
|||
|
Roland MPU-401 at 0x330 irq 5 drq 0
|
|||
|
OPL-2/OPL-3 FM at 0x388 drq 0
|
|||
|
|
|||
|
Audio devices:
|
|||
|
0: MSS audio codec (82C930) (DUPLEX)
|
|||
|
|
|||
|
Synth devices:
|
|||
|
0: Yamaha OPL-3
|
|||
|
|
|||
|
Midi devices:
|
|||
|
0: MPU-401 0.0 Midi interface #1
|
|||
|
|
|||
|
Timers:
|
|||
|
0: System clock
|
|||
|
|
|||
|
Mixers:
|
|||
|
0: MSS audio codec (82C930)
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
Το πιο σημαντικό είναι να έχετε ένα device κάτω από κάθε device εάν όχι κάτι δεν έγινε σωστά.
|
|||
|
|
|||
|
- Το τελευταίο βήμα
|
|||
|
|
|||
|
Όσοι από εσάς κάνατε reset μετά τα παραπάνω δεν θα έχετε ήχο! Και αυτό διότι κάτι λάθος γίνετε στο /etc/rc.d/rc.sysinit. Για αυτό ανοίξτε το και σε κάποιο
|
|||
|
σημείο θα λέει τα παρακάτω :
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
# 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 sound
|
|||
|
if grep -s "alias midi" /etc/conf.modules > /dev/null ; then
|
|||
|
modprobe midi
|
|||
|
fi
|
|||
|
fi
|
|||
|
fi
|
|||
|
fi
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
εσείς θα πρέπει να κάνετε τις παρακατω αλλαγές ωστε να έχετε για πάντα ήχο, κρατήστε και ένα backup κάπου για καλό και για κακό :
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
# 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 sound
|
|||
|
OPTi82C931 0 0x07 1 0x07 3 0x09 4 0x14 5 0x3E** 0x92
|
|||
|
insmod sound
|
|||
|
# if grep -s "alias midi" /etc/conf.modules > /dev/null ; then
|
|||
|
# modprobe midi
|
|||
|
# fi
|
|||
|
# fi
|
|||
|
fi
|
|||
|
fi
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
Μην ξεχάσετε να αντιγράψετε το OPTi82C931, όχι το OPTi82C931.c, στον κατάλογο /bin
|
|||
|
|
|||
|
Αυτός ο τρόπος δούλεψε μετά απο πολύ ταλαιπωρία στο RedHat 5.1 που έχω αλλά προφανώς δουλεύει σε όλα τα άλλα. Ελπίζω με αυτό το κείμενο να γλίτωσα μερικούς
|
|||
|
απο την ταλαιπωρία. Τελειώσαμε και καλές μουσικές αναζητήσεις:)
|
|||
|
|
|||
|
|
|||
|
### [3. OPTi82C931 και kernel 2.0.x ή 2.1.Χ]{#s3}
|
|||
|
|
|||
|
Για αυτούς που έχουν τους παραπάνω kernels δεν θα χρειάζεται να κάνουν τίποτα απο τα παραπάνω διότι η OPTi82C931 υποστηρίζετε απο αυτους. Το μόνο που πρέπει να
|
|||
|
κάνουν είναι να διαβάσουν το Opti.txt που βρίσκετε στον κατάλογο με τα docs.
|
|||
|
|
|||
|
|
|||
|
### [4. Tips]{#s4}
|
|||
|
|
|||
|
1. Για να ακούσετε midi file με το Κmid πρέπει να πάτε στα options και midi setup και να επιλέξετε σαν midi device το Yamaha OPL-3-FM και όχι το MPU-401 0.0
|
|||
|
Midi interface \#1- External Midi port
|
|||
|
2. Εάν κάτι δεν γίνει σωστά πρέπει πρώτα να κάνετε compile τον kernel χωρίς sound support και μετά πάλι από την αρχή, είναι ο πιο κουραστικός δρόμος αλλά και ο
|
|||
|
πιο σωστός. Μην ξεχάσετε να σβήσετε το /etc/isapnp.conf και να το ξανά δημιουργήσετε με την εντολή isapnp.
|
|||
|
3. Θέλει μεγάλη προσοχή στο τη δώσατε όταν κάνατε compile και τη έχετε στο isapnp.conf. Εάν δεν συμβαδίζουν οι ρυθμίσεις μην περίμενε να ακούσετε ήχο
|
|||
|
|
|||
|
Σε αυτό το σημείο θέλω να ευχαριστήσω τον [David Rees](mailto:drees@spoke.nols.com) που με το δικό του κείμενο άκουσα ήχο στο PC μου. Το OPTi931 Mini-HOWTO που
|
|||
|
έχει γράψει θα το βρείτε [εδώ](http://spoke.nols.com/~drees) καθώς και τα απαραίτητα αρχεία.
|
|||
|
|