ΕΛΛΗΝΙΚΟ OPTi931 Mini-HOWTO: Ρυθμίζοντας τον Πυρήνα:
Description: This is issue 12 of Magaz, the Hellenic LinuxMagazine
Keywords: magaz hellenic greek hellas greece hellug linux magazine

Magaz, The Greek Linux Magazine
Τεύχος #12
Περιληπτικά Περιεχόμενα Αναλυτικά Περιεχόμενα Mirrors Links Πληροφορίες Συντάκτες Αναζήτηση Επικοινωνία
Επόμενο Προηγούμενο Περιεχόμενα ### 2. Ρυθμίζοντας τον Πυρήνα: Αυτές οι οδηγίες αρμόζουν μόνο στους kernel 2.0.x για τους kernel 2.1.Χ και 2.2.X θα αναφερθώ αργότερα. Πρέπει να κάνετε compile τον ήχο σαν module. Θα πρέπει να έχετε και τον OSS Free Sound Driver κατεβαστέ την τελευταία έκδοση κάντε ότι λεει το 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. Μπορείτε να το κατεβάσετε τα από εδώ. Μόλις τελειώσετε με το setup των tools τρέχτε isapnp και έτσι θα δημιουργηθεί ένα /etc/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 και να τρέξουμε ένα μικρό πρόγραμμα. Ένα μεγάλο ευχαριστώ στον Donald MBurns. Επισκεφθείτε την σελίδα του του για να μάθετε περισσότερα για το πρόγραμμα και την 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 που έχω αλλά προφανώς δουλεύει σε όλα τα άλλα. Ελπίζω με αυτό το κείμενο να γλίτωσα μερικούς απο την ταλαιπωρία. Τελειώσαμε και καλές μουσικές αναζητήσεις:) Επόμενο Προηγούμενο Περιεχόμενα