Subject: Re: Preliminary AC'97 modem support in auich(4)
To: Jared D. McNeill <jmcneill@invisible.ca>
From: Nicolas Joly <njoly@pasteur.fr>
List: current-users
Date: 04/08/2005 15:33:48
On Fri, Apr 08, 2005 at 09:50:40AM -0300, Jared D. McNeill wrote:
> On Fri, 2005-04-08 at 14:25 +0200, Nicolas Joly wrote:
> > With your patched `slmodemd', i'm able to talk to the modem ...
> > 
> > root@calamity [~]# /usr/sbin/slmodemd /dev/sound1 
> > SmartLink Soft Modem: version 2.9.9 Apr  8 2005 12:53:44
> > symbolic link `/dev/ttySL1' -> `/dev/ttyp4' created.
> > modem `sound1' created. TTY is `/dev/ttyp4'
> > Use `/dev/ttySL1' as modem device, Ctrl+C for termination.
> [...]
> > ati3
> > /dev/sound1
> > modemap driver
> > OK
> 
> Oh! You're using the modemap driver! Try passing -b to slmodemd, to use
> the new NetBSD audio drivers:

Works a little further ...

root@calamity [~]# /usr/sbin/slmodemd -b
SmartLink Soft Modem: version 2.9.9 Apr  8 2005 12:53:44
symbolic link `/dev/ttySL0' -> `/dev/ttyp5' created.
modem `sound1' created. TTY is `/dev/ttyp5'
Use `/dev/ttySL0' as modem device, Ctrl+C for termination.

root@calamity [~]# cu -l ttySL0
Connected.
atz
OK
atdt3300
                      <--- HANG HERE

At that time, slmodemd eats all the CPU.

  PID USERNAME PRI NICE   SIZE   RES STATE      TIME   WCPU    CPU COMMAND
  164 root      56    0  1032K  864K RUN        2:46 99.03% 99.02% slmodemd

It seems to be stuck in a read() loop from netbsd_device_read() :

root@calamity [~]# gdb /usr/sbin/slmodemd 164
GNU gdb 5.3nb1
[...]
(gdb) bt
#0  0xbdb48a17 in read () from /usr/lib/libc.so.12
#1  0x08049489 in netbsd_device_read (dev=0xbfbfe6e0, buf=0x811e8a0 "\200", 
    len=2048) at modem_main.c:190
#2  0x08049fc9 in modem_run (m=0x8133000, dev=0xbfbfe6e0) at modem_main.c:982
#3  0x0804a4c0 in modem_main (dev_name=0x80e2729 "/dev/sound1")
    at modem_main.c:1153
#4  0x0804a5e7 in main (argc=2, argv=0xbfbfec1c) at modem_main.c:1212
#5  0x080491a6 in ___start ()

[...]
netbsd device read: read returns -1, errno=35
netbsd device read: read returns -1, errno=35
netbsd device read: read returns -1, errno=35
[...]

Will try to figure what's going wrong.

Thanks.

-- 
Nicolas Joly

Biological Software and Databanks.
Institut Pasteur, Paris.