Hello,

This is the next stage of my adventures with the 770Z 
audio chipsets :-) Everything started because I'm trying
to enable the synth/sequencer capabilities of my audio
chipset on my laptop.

According to this old message to the alsa-devel list
(http://www.geocrawler.com/archives/3/251/2001/2/0/5231022),
synthesizer seems to be supported in the cs4236 driver.

Every concerned modules are finely loaded, /proc/asound
provides detailled information about the seq configuration,
the FM/synth controls in the mixer are enabled, and playmidi 
seems to work currently (there's is -r options which provides
realtime graphics of what's currently played, and this is
working), but there's no sound at all :-( 

With pmidi, the procedure seq_connect_add() fails
in snd_seq_connect_to(), with a err=-16 meessage : Device or 
ressource busy. The instrument files are correctly loaded
with sbiload.
I loaded the instrument with (as stated in the README):
  sbiload -p 65:0 --opl3 std.o3 drums.o3
And started pmidi with :
  pmidi -p 65:0 /tmp/sample.midi

pmidi :
seq_connect_add(seq_context_t *ctxp, int client, int port)
{
        snd_seq_addr_t addr;
        int  ret;

        memset(&addr, 0, sizeof(addr));
        addr.client = client;
        addr.port = port;

        g_array_append_val(ctxp->destlist, addr);

        ret = snd_seq_connect_to(ctxp->handle, ctxp->source.port,
client,
port);
        if (ret<0)
                printf("%s\n",snd_strerror(ret));

        return ret;
}

--> Device or ressource busy. (err=-16)
    Could not connect to port 65:0

[bellet@bonobo sbiload]% ./sbiload -l
 Port     Client name                       Port name
 64:0     External MIDI 0                   MIDI 0-0
 65:0     OPL3 FM synth                     OPL3 Port

[root@bonobo sbiload]# lsmod | grep snd
snd-seq-oss            23584   0  (autoclean) (unused)
snd-seq-midi            4544   0  (autoclean) (unused)
snd-seq-midi-event      2944   0  (autoclean) [snd-seq-oss snd-seq-midi]
snd-synth-opl3         10300   0
snd-seq-midi-emul       5040   0  [snd-synth-opl3]
snd-seq-instr           4720   0  [snd-synth-opl3]
snd-seq                40300   3  [snd-seq-oss snd-seq-midi
snd-seq-midi-event
snd-synth-opl3 snd-seq-midi-emul snd-seq-instr]
snd-ainstr-fm           1268   0  [snd-synth-opl3]
snd-card-cs4236         5280   0
snd-cs4236             11552   0  [snd-card-cs4236]
snd-opl3                6432   0  [snd-synth-opl3 snd-card-cs4236]
snd-hwdep               4576   0  [snd-opl3]
snd-cs4231             19424   0  [snd-card-cs4236 snd-cs4236]
snd-pcm                60672   0  [snd-cs4236 snd-cs4231]
snd-timer              11968   0  [snd-seq snd-opl3 snd-cs4231 snd-pcm]
snd-mpu401-uart         3552   0  [snd-card-cs4236]
snd-rawmidi            13952   0  [snd-seq-midi snd-mpu401-uart]
snd-seq-device          4140   0  [snd-seq-oss snd-seq-midi
snd-synth-opl3
snd-seq snd-opl3 snd-rawmidi]
snd                    32168   3  [snd-seq-oss snd-seq-midi
snd-seq-midi-event
snd-synth-opl3 snd-seq-midi-emul snd-seq-instr snd-seq snd-card-cs4236
snd-cs4236 snd-opl3 snd-hwdep snd-cs4231 snd-pcm snd-timer
snd-mpu401-uart
snd-rawmidi snd-seq-device]
soundcore               3556   5  [snd]
isa-pnp                29544   0  (autoclean) [snd-card-cs4236 serial]

[root@bonobo sbiload]# more /proc/asound/sndstat
Sound Driver:3.8.1a-980706 (ALSA v0.9.0beta10 emulation code)
Kernel: Linux bonobo 2.4.17-pre6 #2 Sat Dec 8 15:53:22 CET 2001 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
CS4239 at 0x530, irq 9, dma 1&0

Audio devices: NOT ENABLED IN CONFIG

Synth devices:
0: OPL3 FM

Midi devices:
0: MPU-401 (UART)

Timers:
7: system timer

Mixers: NOT ENABLED IN CONFIG

[root@bonobo sbiload]# more /proc/asound/seq/queues
queue 0: [Queue-0]
owned by client    : 128
lock status        : Locked
queued time events : 0
queued tick events : 0
timer state        : Stopped
timer PPQ          : 96
current tempo      : 500000
current BPM        : 120
current time       : 0.000000000 s
current tick       : 0

[root@bonobo sbiload]# more /proc/asound/seq/drivers
snd-synth-opl3,loaded,1
snd-seq-midi,loaded,requested,1
snd-seq-oss,loaded,requested,1

[root@bonobo sbiload]# more /proc/asound/seq/clients
Client info
  cur  clients : 5
  peak clients : 5
  max  clients : 192

Client   0 : "System" [Kernel]
  Port   0 : "Timer" (Rwe-)
  Port   1 : "Announce" (R-e-)
    Connecting To: 63:0
Client  63 : "OSS sequencer" [Kernel]
  Port   0 : "Receiver" (-we-)
    Connected From: 0:1
Client  64 : "External MIDI 0" [Kernel]
  Port   0 : "MIDI 0-0" (RWeX)
Client  65 : "OPL3 FM synth" [Kernel]
  Port   0 : "OPL3 Port" (-We-)
  Port   1 : "OPL3 OSS Port" (-we-)
Client 128 : "Client-128" [User]
  Port   0 : "port-0" (rWe-)
  Input pool :
    Pool size          : 200
    Cells in use       : 0
    Peak cells in use  : 0
    Alloc success      : 0
    Alloc failures     : 0

[root@bonobo sbiload]# more /proc/asound/seq/timer
Timer for queue 0 : system timer
  Period time : 0.000000000
  Skew : 65536 / 65536

[root@bonobo sbiload]# more /proc/asound/seq/oss
OSS sequencer emulation version 0.1.8
ALSA client number 63
ALSA receiver port 0

Number of applications: 0

Number of synth devices: 1

synth 0: [OPL3 FM synth]
  type 0x0 : subtype 0x1 : voices 18
  capabilities : ioctl enabled / load_patch enabled

Number of MIDI devices: 3

midi 0: [MIDI 0-0] ALSA port 64:0
  capability read/write / opened none

midi 1: [OPL3 Port] ALSA port 65:0
  capability write / opened none

midi 2: [port-0] ALSA port 128:0
  capability none / opened none


I'm really puzzled, because I have the impression I'm close
to the goal, and only a small detail is missing in my configuration,
but I can't figure exactly what's going wrong. Do you see
something unusual in my configuration, that could prevent 
the synthesizer to work ? (I'm using latest 2.4.17-pre kernel,
and alsa-0.9.0beta10 for this test). Help will be greatly 
appreciated :-)

-- 
fabrice


_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to