Re: Anyone using Sound Blaster PCI64?
On Tue, Oct 12, 1999 at 08:31:40PM -0400, Greg Wooledge wrote:
> Joop Stakenborg (aba@casema.net) wrote:
>
> > At the moment I am using a Sound Blaster vibra16x pnp card,
> > this card is not really supported by OSSFree (kernel)
> > or ALSA.
>
> I have this card. It works fine for me, but it took some hacking.
>
> It's an ISA PnP card, so you'll need isapnptools. Use pnpdump to generate
> a template config file, then edit it to produce /etc/isapnp.conf. I'll
> attach mine at the end of this message.
>
> I'm using the OSS/free driver from the stock 2.2.12 kernel. I have the
> following options in /etc/modutils/options (and thus /etc/conf.modules
> after running update-modules):
>
> options opl3 io=0x388
> options sb io=0x220 irq=5 dma=1 dma16=3 mpu_io=0x330
>
> I use automatic module loading (kmod). It loads when I play sound files,
> and works as I would expect (/dev/audio, sox's "play", xmms, mpg123,
> realplayer all work).
>
> I do get one warning message:
>
> Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
> SB 4.16 detected OK (220)
> SB16: Bad or missing 16 bit DMA channel
Here is what bothers me. The card seems to use 2 DMA channels,
but one is always working bad (the 16 bit DMA channel).
>
> But I'm definitely getting 16-bit stereo output.
>
That's right. I have sound too. Under enlightenment, the default
window manager for gnome, which uses a sound daemon calles esd,
the card produces no sound at all.
I get warnings in the syslog all the time.
I want to use this card with speak-freely, but it refuses to work
in full duplex mode, because of the faulty DMA channel.
Full duplex is needed to speak and listen at the same time with
speak-freely.
Thanks for your suggestions greg. Maybe I give it another try.
> --
> Greg Wooledge | Distributed.NET http://www.distributed.net/
> wooledge@kellnet.com | because a CPU is a terrible thing to waste.
> http://www.kellnet.com/wooledge/ |
> # $Id: pnpdump.c,v 1.16 1998/10/09 22:19:06 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
> #
> # Trying port address 0203
> # Board 1 has serial identifier 6d ff ff ff ff f0 00 8c 0e
>
> # (DEBUG)
> (READPORT 0x0203)
> (ISOLATE PRESERVE)
> (IDENTIFY *)
> (VERBOSITY 2)
> (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING
>
> # Card 1: (serial identifier 6d ff ff ff ff f0 00 8c 0e)
> # Vendor Id CTL00f0, No Serial Number (-1), checksum 0x6D.
> # Version 1.0, Vendor version 1.0
> # ANSI string -->Creative ViBRA16X PnP<--
> #
> # Logical device id CTL0043
> #
> # Edit the entries below to uncomment out the configuration required.
> # Note that only the first value of any range is given, this may be changed if required
> # Don't forget to uncomment the activate (ACT Y) when happy
>
> (CONFIGURE CTL00f0/-1 (LD 0
> # ANSI string -->Audio<--
>
> # Multiple choice time, choose one only !
>
> # Start dependent functions: priority preferred
> # IRQ 5.
> # High true, edge sensitive interrupt (by default)
> (INT 0 (IRQ 5 (MODE +E)))
> # First DMA channel 1.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> (DMA 0 (CHANNEL 1))
> # Next DMA channel 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> (DMA 1 (CHANNEL 3))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0220
> # Maximum IO base address 0x0220
> # IO base alignment 1 bytes
> # Number of IO addresses required: 16
> (IO 0 (SIZE 16) (BASE 0x0220))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0330
> # Maximum IO base address 0x0330
> # IO base alignment 1 bytes
> # Number of IO addresses required: 2
> (IO 1 (SIZE 2) (BASE 0x0330))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0388
> # Maximum IO base address 0x0388
> # IO base alignment 1 bytes
> # Number of IO addresses required: 4
> (IO 2 (SIZE 4) (BASE 0x0388))
>
> # Start dependent functions: priority acceptable
> # IRQ 5, 7, 9 or 10.
> # High true, edge sensitive interrupt (by default)
> # (INT 0 (IRQ 5 (MODE +E)))
> # First DMA channel 0, 1 or 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> # (DMA 0 (CHANNEL 0))
> # Next DMA channel 0, 1 or 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> # (DMA 1 (CHANNEL 0))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0220
> # Maximum IO base address 0x0280
> # IO base alignment 32 bytes
> # Number of IO addresses required: 16
> # (IO 0 (SIZE 16) (BASE 0x0220))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0300
> # Maximum IO base address 0x0330
> # IO base alignment 48 bytes
> # Number of IO addresses required: 2
> # (IO 1 (SIZE 2) (BASE 0x0300))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0388
> # Maximum IO base address 0x0388
> # IO base alignment 1 bytes
> # Number of IO addresses required: 4
> # (IO 2 (SIZE 4) (BASE 0x0388))
>
> # Start dependent functions: priority acceptable
> # IRQ 5, 7, 9 or 10.
> # High true, edge sensitive interrupt (by default)
> # (INT 0 (IRQ 5 (MODE +E)))
> # First DMA channel 0, 1 or 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> # (DMA 0 (CHANNEL 0))
> # Next DMA channel 0, 1 or 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> # (DMA 1 (CHANNEL 0))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0220
> # Maximum IO base address 0x0280
> # IO base alignment 32 bytes
> # Number of IO addresses required: 16
> # (IO 0 (SIZE 16) (BASE 0x0220))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0300
> # Maximum IO base address 0x0330
> # IO base alignment 48 bytes
> # Number of IO addresses required: 2
> # (IO 1 (SIZE 2) (BASE 0x0300))
>
> # Start dependent functions: priority acceptable
> # IRQ 5, 7, 9 or 10.
> # High true, edge sensitive interrupt (by default)
> # (INT 0 (IRQ 5 (MODE +E)))
> # First DMA channel 0, 1 or 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> # (DMA 0 (CHANNEL 0))
> # Next DMA channel 0, 1 or 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> # (DMA 1 (CHANNEL 0))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0220
> # Maximum IO base address 0x0280
> # IO base alignment 32 bytes
> # Number of IO addresses required: 16
> # (IO 0 (SIZE 16) (BASE 0x0220))
>
> # Start dependent functions: priority functional
> # IRQ 5, 7, 9 or 10.
> # High true, edge sensitive interrupt (by default)
> # (INT 0 (IRQ 5 (MODE +E)))
> # First DMA channel 0, 1 or 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> # (DMA 0 (CHANNEL 0))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0220
> # Maximum IO base address 0x0280
> # IO base alignment 32 bytes
> # Number of IO addresses required: 16
> # (IO 0 (SIZE 16) (BASE 0x0220))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0300
> # Maximum IO base address 0x0330
> # IO base alignment 16 bytes
> # Number of IO addresses required: 2
> # (IO 1 (SIZE 2) (BASE 0x0300))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0388
> # Maximum IO base address 0x0394
> # IO base alignment 4 bytes
> # Number of IO addresses required: 4
> # (IO 2 (SIZE 4) (BASE 0x0388))
>
> # Start dependent functions: priority functional
> # IRQ 5, 7, 9 or 10.
> # High true, edge sensitive interrupt (by default)
> # (INT 0 (IRQ 5 (MODE +E)))
> # First DMA channel 0, 1 or 3.
> # 8 bit DMA only
> # Logical device is not a bus master
> # DMA may execute in count by byte mode
> # DMA may not execute in count by word mode
> # DMA channel speed in compatible mode
> # (DMA 0 (CHANNEL 0))
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0220
> # Maximum IO base address 0x0280
> # IO base alignment 32 bytes
> # Number of IO addresses required: 16
> # (IO 0 (SIZE 16) (BASE 0x0220))
> (NAME "CTL00f0/-1[0]{Audio }")
>
> # End dependent functions
> (ACT Y)
> ))
> #
> # Logical device id CTL7005
> # Device supports vendor reserved register @ 0x39
> # Device supports vendor reserved register @ 0x3b
> # Device supports vendor reserved register @ 0x3d
> #
> # Edit the entries below to uncomment out the configuration required.
> # Note that only the first value of any range is given, this may be changed if required
> # Don't forget to uncomment the activate (ACT Y) when happy
>
> (CONFIGURE CTL00f0/-1 (LD 1
> # Compatible device id PNPb02f
> # ANSI string -->Game<--
>
> # Multiple choice time, choose one only !
>
> # Start dependent functions: priority preferred
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0201
> # Maximum IO base address 0x0201
> # IO base alignment 1 bytes
> # Number of IO addresses required: 1
> # (IO 0 (SIZE 1) (BASE 0x0201))
>
> # Start dependent functions: priority acceptable
> # Logical device decodes 16 bit IO address lines
> # Minimum IO base address 0x0200
> # Maximum IO base address 0x020f
> # IO base alignment 1 bytes
> # Number of IO addresses required: 1
> # (IO 0 (SIZE 1) (BASE 0x0200))
> (NAME "CTL00f0/-1[1]{Game }")
>
> # End dependent functions
> # (ACT Y)
> ))
> # End tag... Checksum 0x00 (OK)
>
> # Returns all cards to the "Wait for Key" state
> (WAITFORKEY)
--
--
Joop Stakenborg PA4TU, ex-PA3ABA
<pa3aba@debian.org>
Linux Amateur Radio Software Database
http://radio.linux.org.au
Reply to: