Subject: slmodem and NO DIALTONE

From: CJ Kucera <[email-masked]>
Date: Fri, 24 Jun 2005 23:00:22 -0500

Hello list!

I've seen this issue brought up a few times across the internet, and
even a little earlier in the month on this list, but what I haven't seen
is the answer to the problem, so I figured it's my turn to do the asking
this time.

I've got a laptop whose soundcard uses the ALSA snd-intel8x0 driver, and
it's got an attached modem which uses the ALSA snd-intel8x0m driver.
Theoretically I should be able to use the slmodem package to use the modem.
Currently I've got ALSA compiled straight into the kernel (running
2.6.12.1 at the moment), and in the bootup sequence I get these messages:

> ALSA device list:
>   #0: Intel ICH6 with AD1981B at 0xd0581000, irq 11
>   #1: Intel ICH Modem at 0x2400, irq 10

... and when I run "aplay -l" it looks like everything's been detected
correctly:

> **** List of PLAYBACK Hardware Devices ****
> card 0: ICH6 [Intel ICH6], device 0: Intel ICH [Intel ICH6]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> card 0: ICH6 [Intel ICH6], device 4: Intel ICH - IEC958 [Intel ICH6 - IEC958]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> card 1: Modem [Intel ICH Modem], device 0: Intel ICH - Modem [Intel ICH Modem - Modem]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0

I can play sound through the soundcard with no problems.

Everything also seems fine when I start up slmodemd:

> # slmodemd --alsa -g=dialout -d=1 modem:1
> SmartLink Soft Modem: version 2.9.9d Jun 24 2005 22:33:15
> <213.937537> SmartLink Soft Modem: version 2.9.9d Jun 24 2005 22:33:15
> <213.938669> modem:1: startup modem...
> <213.939785> modem:1: update termios...
> symbolic link `/dev/ttySL0' -> `/dev/pts/6' created.
> modem `modem:1' created. TTY is `/dev/pts/6'
> <213.943389> open file: /var/lib/slmodem/data.modem:1...
> <213.944923> main: rt applyed: SCHED_FIFO, pri 99
> Use `/dev/ttySL0' as modem device, Ctrl+C for termination.

Everything seems good at this point, /dev/ttySL0 appears to be created
as well:

> # ls -lL /dev/ttySL0 
> crw-rw----  1 root dialout 136, 6 Jun 24 22:46 /dev/ttySL0

However, when I run wvdial, without fail I always get a "NO DIALTONE"
message (occasionally it'll try again and get the message a second time
before giving up).  Here's the wvdial output:

> $ wvdial
> --> WvDial: Internet dialer version 1.54.0
> --> Initializing modem.
> --> Sending: ATZ
> ATZ
> OK
> --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
> ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
> OK
> --> Modem initialized.
> --> Sending: ATDT1-xxx-xxx-xxxx
> --> Waiting for carrier.
> ATDT1-xxx-xxx-xxxx
> NO DIALTONE
> --> No dial tone.
> --> Disconnecting at Fri Jun 24 22:32:49 2005

(yes, there's a real phone number there, and not just a bunch of xes.)

The wvdial.conf looks like so:

> # cat /etc/wvdial.conf
> [Dialer Defaults]
> Modem = /dev/ttySL0
> Baud = 115200
> Init1 = ATZ
> Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
> ISDN = 0
> Modem Type = Analog Modem
> Phone = 1-xxx-xxx-xxxx
> Username = xxxxxxxx
> Password = xxxxxxxx
> Carrier Check = no

I've tried it with "Carrier Check" set to 'yes' as well, as well as leaving
that option out of the file entirely.  The debugging output from slmodem
mentions a rate of 9600 in there as well (I'll paste in that monster
shortly), so I've also tried changing the Baud setting to 9600 (and a few
other values as well) which does no good.  The above session was run as
a user (in the dialout group), but I get identical behavior when I run
it as root.

I'm not quite sure where to go with this.  I'm running slmodem 2.9.9d.
I tried out 2.9.9e-pre1 available on the site, and that didn't change
the situation at all.  My kernel is a vanilla, unpatched 2.6.12.1.
wvdial is 1.54.0.  Oh, and I *did* make sure that I actually *am*
getting a dialtone using all the same cords, etc, so that's not the
problem either.

I do also get the following messages in dmesg:

> codec_semaphore: semaphore is not ready [0x1][0x700300]
> codec_read 1: semaphore is not ready for register 0x54

... though I've read elsewhere that these messages don't necessarily
indicate a problem.

Any help anyone could give would be greatly appreciated.  I'll paste in
the massive output from slmodems after my signoff, in case that info
is useful as well.  On another note, is it possible to use something like
minicom to talk to the modem directly over /dev/ttySL0, so I can run
the various ATZ and ATDT commands myself so that I can take wvdial out
of the picture?  That may be helpful.  I tried doing so earlier with a
number of different comm settings, but I couldn't actually get anything
out of the port that way.  I presume that has something to do with me
putting in invalid settings in minicom, though.

Thanks,
CJ

(slmodem output follows - one odd thing I noticed was that there are
two "Its setup is" sections in here):
> <364.098728> main: termios changed.
> <364.098747> modem:1: update termios...
> <364.171952> main: termios changed.
> <364.171960> modem:1: update termios...
> <364.272002> modem:1: run cmd: ATZ
> <364.272009> modem:1: modem reset...
> <364.272013> modem:1: modem set state: 1 --> 1...
> <364.272020> modem:1: modem set mode: -> 0...
> <364.272024> modem:1: modem report result: 0 (OK)
> <364.372033> modem:1: run cmd: ATQ0V1E1S0=0&C1&D2+FCLASS=0
> <364.372048> modem:1: modem set mode: -> 0...
> <364.372053> modem:1: modem report result: 0 (OK)
> <364.472107> modem:1: run cmd: ATDT1-xxx-xxx-xxxx
> <364.472117> modem:1: modem dial: T1-xxx-xxx-xxxx...
> <364.472122> modem:1: modem_dial_start...
> <364.472153> modem:1: modem_start..
> <364.472157> modem:1: modem set state: 1 --> 2...
> <364.472162> modem:1: new state: DP_ESTAB
> <364.472166> main: alsa_ioctl: cmd 8, arg 3...
> <364.472171> modem:1: modem set hook: 0 --> 1...
> <364.472175> main: alsa_ioctl: cmd 2, arg 1...
> <364.474527> main: alsa_ioctl: cmd 11, arg 0...
> <364.474585> main: alsa_ioctl: cmd 4, arg 2580...
> <364.474590> main: alsa_ioctl: cmd 7, arg 30...
> <364.474594> main: alsa_start...
> Hardware PCM card 1 'Intel ICH Modem' device 0 subdevice 0
> 
> Its setup is:
> stream       : PLAYBACK
> access       : RW_INTERLEAVED
> format       : S16_LE
> subformat    : STD
> channels     : 1
> rate         : 9600
> exact rate   : 9600 (9600/1)
> msbits       : 16
> buffer_size  : 1536
> period_size  : 48
> period_time  : 5000
> tick_time    : 1000
> tstamp_mode  : NONE
> period_step  : 1
> sleep_min    : 0
> avail_min    : 4
> xfer_align   : 4
> start_threshold  : 2147483647
> stop_threshold   : 1536
> silence_threshold: 0
> silence_size : 0
> boundary     : 1610612736
> Hardware PCM card 1 'Intel ICH Modem' device 0 subdevice 0
> 
> Its setup is:
> stream       : CAPTURE
> access       : RW_INTERLEAVED
> format       : S16_LE
> subformat    : STD
> channels     : 1
> rate         : 9600
> exact rate   : 9600 (9600/1)
> msbits       : 16
> buffer_size  : 1536
> period_size  : 48
> period_time  : 5000
> tick_time    : 1000
> tstamp_mode  : NONE
> period_step  : 1
> sleep_min    : 0
> avail_min    : 4
> xfer_align   : 4
> start_threshold  : 2147483647
> stop_threshold   : 1536
> silence_threshold: 0
> silence_size : 0
> boundary     : 1610612736
> <364.475124> main: startup write: 576...
> <369.480254> modem:1: modem_update_status: 16
> <369.480288> modem:1: --> FINISH.
> <369.480292> modem:1: modem_hup...
> <369.480296> modem:1: modem set state: 2 --> 9...
> <369.480300> modem:1: new state: DP_DISC
> <369.480304> modem:1: modem_stop..
> <369.480308> main: alsa_stop...
> <369.480343> modem:1: modem set hook: 1 --> 0...
> <369.480348> main: alsa_ioctl: cmd 2, arg 0...
> <369.481518> main: alsa_ioctl: cmd 8, arg 0...
> <369.481530> modem:1: modem set state: 9 --> 1...
> <369.481534> modem:1: new state: MODEM_IDLE
> <369.481538> modem:1: modem report result: 6 (NO DIALTONE)
> <369.481545> main: dev write = 0
> <369.581496> main: termios changed.
> <369.581503> modem:1: update termios...
> <369.581511> main: pty closed.
> <372.386997> main: signal 2: mark termination.
> <372.387065> modem:1: modem_delete...

-- 
WOW: Kakistocracy            |   "Happiness isn't good enough for me!  I
[email-masked]   |              demand euphoria!"
apocalyptech.com/music/      |                  - Calvin

---

From: "[email-masked]" <[email-masked]>
Date: Sat, 25 Jun 2005 10:45:04 -0400

CJ

To
 slmodemd --alsa -g=3Ddialout -d=3D1 modem:1
add in
  slmodemd --alsa -g=3Ddialout -c YourCountry -d=3D1 modem:1
with YourCountry from output of
# slmodemd --countrylist
For reasons obscure, this has made a difference in some cases=2E
ALso try
  slmodemd --alsa -g=3Ddialout -c YourCountry -d=3D1 hw:1

Sasha will likely have better guidance

MarvS

---

From: CJ Kucera <[email-masked]>
Date: Sat, 25 Jun 2005 10:20:48 -0500

[email-masked] wrote:
> To
>  slmodemd --alsa -g=dialout -d=1 modem:1
> add in
>   slmodemd --alsa -g=dialout -c YourCountry -d=1 modem:1
> For reasons obscure, this has made a difference in some cases.
> ALso try
>   slmodemd --alsa -g=dialout -c YourCountry -d=1 hw:1

Ah, I forgot to mention that I had already tried both of those options,
with seemingly no effect.  I've just tried them again, though, in case
my memory's mistaken, but alas, very little came of it.

-CJ

-- 
WOW: Kakistocracy           |   "The ships hung in the sky in much the same
[email-masked]  |    way that bricks don't." - Douglas Adams,
apocalyptech.com/music/     |     _The Hitchhiker's Guide To The Galaxy_

---

From: Sasha Khapyorsky <[email-masked]>
Date: Sun, 26 Jun 2005 11:03:38 +0300

> > ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

Try to add 'X3' to wvdial's Init2 string - it disables dialtone
detection.

Sasha.

---

From: CJ Kucera <[email-masked]>
Date: Mon, 27 Jun 2005 10:12:49 -0500

> Try to add 'X3' to wvdial's Init2 string - it disables dialtone

I just gave that a try, and it just caused the initial dial attempt to
eventually give a timeout message, and then it just looped through
the dial attempt many times rather quickly, exiting with a NO CARRIER
every time.

-CJ

---

From: CJ Kucera <[email-masked]>
Date: Thu, 30 Jun 2005 13:48:17 -0500

Well, I still haven't had much luck getting this modem to connect.  I
received an email from someone who had a similar modem who said that he
had had the same problems as I did, but then things started working for
him when he tried using the 'slamr' module instead of the ALSA version,
and using an init string of just plain ATZ instead of the other attributes
that I had defined in mine.

I haven't had similar luck, personally, but I did notice that the slamr
module has an optional "debug" option, so I've got some more info here.

My wvdial.conf looks like so currently:

> Username = xxxx
> Password = xxxx

I did also try this with an Init2 of just "X3" but that didn't do anything.

The wvdial session itself looks very similar to what had been going on
previously:

> # wvdial
> NO CARRIER
> --> No Carrier!  Trying again.
> NO CARRIER
> --> No Carrier!  Trying again.
> Caught signal #2!  Attempting to exit gracefully...
> --> Disconnecting at Thu Jun 30 13:28:28 2005

I had just hit Ctrl-C at the end there.

First I'll paste the output of the running slmodemd, and then I'll do
the extra debug messages which slamr put into my syslog.  This is all
going to be rather long, so apologies about that.

Some things that I've noticed first, before doing the mass paste deluge.
First, I do still see some references to rates of 9600, which makes me
wonder if there's some kind of timing issue going on here...  I'm also
seeing some things about SPEAKERVOL in the module log...  It looks like
that's getting set to 3 at some point.  I never hear any modem nosies
from my speaker - could it be that some volume setting is turned down
which causes the daemon to not actually get any of the input from the
line?  Lastly, I'm not sure if this is usual behavior or not, but I
do see some messages like "Converter [MI] is dead..."  It looks like
that may just be occuring inbetween dial attempts, but I felt I should
point it out in case it's significant somehow.

Okay, on to the debug statements.  First slmodemd:
> # slmodemd -g=dialout -d=1 -c=USA
> <048.719848> SmartLink Soft Modem: version 2.9.9d Jun 24 2005 22:33:15
> <048.720117> slamr0: startup modem...
> <048.720427> slamr0: update termios...
> symbolic link `/dev/ttySL0' -> `/dev/pts/1' created.
> modem `slamr0' created. TTY is `/dev/pts/1'
> <048.721619> open file: /var/lib/slmodem/data.slamr0...
> <048.722455> main: rt applyed: SCHED_FIFO, pri 99
> <056.899554> main: termios changed.
> <056.899571> slamr0: update termios...
> <056.972229> main: termios changed.
> <056.972238> slamr0: update termios...
> <057.072034> slamr0: run cmd: ATZ
> <057.072043> slamr0: modem reset...
> <057.072047> slamr0: modem set state: 1 --> 1...
> <057.072054> slamr0: modem set mode: -> 0...
> <057.072058> slamr0: modem report result: 0 (OK)
> <057.173534> slamr0: run cmd: ATDT1-xxx-xxx-xxxx
> <057.173546> slamr0: modem dial: T1-xxx-xxx-xxxx...
> <057.173550> slamr0: modem_dial_start...
> <057.173587> slamr0: modem_start..
> <057.173592> slamr0: modem set state: 1 --> 2...
> <057.173596> slamr0: new state: DP_ESTAB
> <057.173601> main: modemap_ioctl: cmd 8, arg 3...
> <057.173621> slamr0: modem set hook: 0 --> 1...
> <057.173626> main: modemap_ioctl: cmd 2, arg 1...
> <057.176719> main: modemap_ioctl: cmd 11, arg 0...
> <057.176782> main: modemap_ioctl: cmd 4, arg 2580...
> <057.176791> main: modemap_ioctl: cmd 7, arg 30...
> <057.176798> main: modemap_start...
> <066.411748> slamr0: 88608: change dp: --> 8...
> <069.242269> main: modemap_ioctl: cmd 10, arg 0...
> <069.242293> slamr0: 115776: change dp: --> 90...
> <069.243931> main: modemap_ioctl: cmd 10, arg 0...
> <069.246326> main: change delay -48...
> <069.251320> main: change delay -48...
> <069.256319> main: change delay -24...
> <071.672049> main: change delay +384...
> <074.711566> main: change delay -48...
> <074.716567> main: change delay -48...
> <074.721568> main: change delay -48...
> <074.726577> main: change delay -48...
> <074.731565> main: change delay -48...
> <074.736564> main: change delay -48...
> <074.741563> main: change delay -48...
> <074.746561> main: change delay -48...
> <077.878191> slamr0: modem_update_status: 4
> <077.878206> slamr0: --> FINISH.
> <077.878210> slamr0: modem_hup...
> <077.878214> slamr0: modem set state: 2 --> 9...
> <077.878219> slamr0: new state: DP_DISC
> <077.878223> slamr0: modem_stop..
> <077.878228> main: modemap_stop...
> <077.878257> slamr0: modem set hook: 1 --> 0...
> <077.878262> main: modemap_ioctl: cmd 2, arg 0...
> <077.880823> main: modemap_ioctl: cmd 8, arg 0...
> <077.880970> slamr0: modem set state: 9 --> 1...
> <077.880975> slamr0: new state: MODEM_IDLE
> <077.880979> slamr0: modem report result: 3 (NO CARRIER)
> <077.880988> main: dev write = 0
> <078.219151> slamr0: run cmd: ATDT1-xxx-xxx-xxxx
> <078.219162> slamr0: modem dial: T1-xxx-xxx-xxxx...
> <078.219166> slamr0: modem_dial_start...
> <078.219199> slamr0: modem_start..
> <078.219203> slamr0: modem set state: 1 --> 2...
> <078.219208> slamr0: new state: DP_ESTAB
> <078.219211> main: modemap_ioctl: cmd 8, arg 3...
> <078.219225> slamr0: modem set hook: 0 --> 1...
> <078.219230> main: modemap_ioctl: cmd 2, arg 1...
> <078.221724> main: modemap_ioctl: cmd 11, arg 0...
> <078.221784> main: modemap_ioctl: cmd 4, arg 2580...
> <078.221793> main: modemap_ioctl: cmd 7, arg 30...
> <078.221801> main: modemap_start...
> <087.936739> slamr0: 93216: change dp: --> 8...
> <090.772301> main: modemap_ioctl: cmd 10, arg 0...
> <090.772326> slamr0: 120432: change dp: --> 90...
> <090.773931> main: modemap_ioctl: cmd 10, arg 0...
> <090.777267> main: change delay -48...
> <090.782264> main: change delay -48...
> <090.787266> main: change delay -24...
> <093.162049> main: change delay +384...
> <096.646498> main: change delay -48...
> <096.651499> main: change delay -48...
> <096.656497> main: change delay -48...
> <096.661497> main: change delay -48...
> <096.666497> main: change delay -48...
> <096.671494> main: change delay -48...
> <096.676495> main: change delay -48...
> <096.681494> main: change delay -48...
> <098.802252> main: change delay +384...
> <102.216718> main: change delay -48...
> <102.221719> main: change delay -48...
> <102.226718> main: change delay -48...
> <102.231715> main: change delay -48...
> <102.236716> main: change delay -48...
> <102.241714> main: change delay -48...
> <102.246713> main: change delay -48...
> <102.251715> main: change delay -48...
> <105.382343> slamr0: modem_update_status: 4
> <105.382354> slamr0: --> FINISH.
> <105.382358> slamr0: modem_hup...
> <105.382362> slamr0: modem set state: 2 --> 9...
> <105.382367> slamr0: new state: DP_DISC
> <105.382371> slamr0: modem_stop..
> <105.382374> main: modemap_stop...
> <105.382404> slamr0: modem set hook: 1 --> 0...
> <105.382409> main: modemap_ioctl: cmd 2, arg 0...
> <105.384809> main: modemap_ioctl: cmd 8, arg 0...
> <105.384954> slamr0: modem set state: 9 --> 1...
> <105.384960> slamr0: new state: MODEM_IDLE
> <105.384964> slamr0: modem report result: 3 (NO CARRIER)
> <105.384972> main: dev write = 0
> <105.724264> slamr0: run cmd: ATDT1-xxx-xxx-xxxx
> <105.724273> slamr0: modem dial: T1-xxx-xxx-xxxx...
> <105.724277> slamr0: modem_dial_start...
> <105.724309> slamr0: modem_start..
> <105.724313> slamr0: modem set state: 1 --> 2...
> <105.724318> slamr0: new state: DP_ESTAB
> <105.724322> main: modemap_ioctl: cmd 8, arg 3...
> <105.724334> slamr0: modem set hook: 0 --> 1...
> <105.724339> main: modemap_ioctl: cmd 2, arg 1...
> <105.726710> main: modemap_ioctl: cmd 11, arg 0...
> <105.726770> main: modemap_ioctl: cmd 4, arg 2580...
> <105.726778> main: modemap_ioctl: cmd 7, arg 30...
> <105.726786> main: modemap_start...
> <108.238914> slamr0: modem_tty_write: hangup...
> <108.238925> slamr0: modem_hup...
> <108.238929> slamr0: modem set state: 2 --> 9...
> <108.238934> slamr0: new state: DP_DISC
> <108.238996> main: termios changed.
> <108.239002> slamr0: update termios...
> <108.239011> main: pty closed.
> <108.241891> slamr0: modem_stop..
> <108.241902> main: modemap_stop...
> <108.241933> slamr0: modem set hook: 1 --> 0...
> <108.241938> main: modemap_ioctl: cmd 2, arg 0...
> <108.244838> main: modemap_ioctl: cmd 8, arg 0...
> <108.244856> slamr0: modem set state: 9 --> 1...
> <108.244861> slamr0: new state: MODEM_IDLE
> <108.244865> slamr0: modem report result: 3 (NO CARRIER)
> <108.244873> main: dev write = 0
> <112.746352> main: signal 2: mark termination.
> <112.746411> slamr0: modem_delete...

... so there's really not much else going on there than had been
happening previously, except for using slamr0 instead of modem:1 from
ALSA.  Now here's a big chunk from syslog from the slamr driver itself
(at the end of the session I rmmodded the module, which is why you'll
see the DeInitHW messages):

> slamr: SmartLink AMRMO modem.
> slamr: probe 8086:266d ICH4 card...
> ACPI: PCI Interrupt 0000:00:1e.3[B] -> Link [C0EF] -> GSI 10 (level, low) -> IRQ 10
> <p043.834907> amrmo_card_create: data d3514000.
> <p043.834911> tAmrMo::tAmrMo: card d3514000, pci df74b800, irq 10.
> <p043.834916> StartTable Phys = E8F1000, Lin = CE8F1000, IO 10
> <p043.834919> StartTable Phys = E95C000, Lin = CE95C000, IO 0
> <p043.834923> PageIn : linear D2D18000, physical 12D18000
> <p043.834926> PageOut: linear D3174000, physical 13174000
> <p043.834929> amr_create: d3ff8200 (amrmo d3514000)
> PCI: Setting latency timer of device 0000:00:1e.3 to 64
> <p043.834951> amrmo_card_enable: card c4c71300.
> <p043.834954> [Hardware instance constructor...]
> <p043.834957> InitHW
> <p043.834963> ICH4Card: Initialization...acLinkStatus 700300, acLinkControl C0000002
> <p043.834970> AC detection: Primary (Y), Secondary(Y)
> <p043.834972> MC detection: 99C103C
> <p043.835005> tAmrMoCard:AC calibration = 100 + 10*0 = 100
> <p043.835171> Primary ADS-74, type AC
> <p043.835338> Secondary SIL-27, type MC
> <p043.835341> SIL codec(): hxSupported 
> <p043.835343> Additional delay 0
> <p043.835345> Delay reduction of 0
> <p043.836651> SIL: International chip(0x133), 2
> <p043.836956> tSiLabsCodec: Stop MCAL mode...
> <p043.837131> MC details: Intl, DAA(C)
> <p043.837133> Using time unit of 40
> <p043.837144> slamr: mc97 codec is SIL27
> slamr: mc97 codec is SIL27
> <p043.837148> Constructed successfully.
> <p043.837150> Predefined rates: in 9600, out 9600
> slamr: amrmo_pci_probe: 0 amrmo is d3514000. data c4c71300, io 2400, 2500.
> slamr: slamr0 is ICH4 card.
> slamr: amrmo_open: 0...
> slamr: amrmo_ioctl: cmd 8, arg 3...
> <p057.173613> amrmo_card_ctl...
> <p057.173616> amrmo_card: SPEAKERVOL = 3
> slamr: amrmo_ioctl: cmd 2, arg 1...
> <p057.173632> amrmo_card_ctl...
> <p057.173675> SIL3024codec::SetHookState(Offhook=1)
> slamr: amrmo_ioctl: cmd 11, arg 0...
> <p057.176726> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 4, arg 2580...
> <p057.176789> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 7, arg 60...
> <p057.176796> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 21, arg 0...
> <p057.176803> amrmo_card_start...
> <p057.176806> ModemInstance::Start()...
> <p057.176809> [Modem]
> <p057.176811> Rate = 9600 x M x 2
> <p057.176813> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p057.176816> [LineIn]
> <p057.176818> Rate = 9600 x S x 2
> <p057.176820> Phys.PTC = 48 s. (192) b. ; Log.PTC = 48 s. (192) b.
> <p057.176823> [LineOut]
> <p057.176824> Rate = 9600 x S x 2
> <p057.176826> Phys.PTC = 48 s. (192) b. ; Log.PTC = 48 s. (192) b.
> <p057.176830> Starting Modio:
> <p057.176831> PTC = (C)48, (P)192
> <p057.176833> Sample Rates = (C)9600,(P)9600
> <p057.176836> Transfer buffer of 48 sam. * 32 = 3072 b.
> <p057.176840> PTC clock::Init(Buffer of C00h, PTC of 96 bytes.)
> <p057.176901> MTLHAL: Finish Modio Setup:
> <p057.176904> VConverter::Test:=> InputRate =9600, OutputRate =9600, bIsModem =1
> <p057.176907> VConverter::Test:=> InputRate =9600, OutputRate =9600, bIsModem =1
> <p057.176911> MTLHAL: Mono sampling on output line!
> <p057.176913> [LineOut]
> <p057.176915> Rate = 9600 x M x 2
> <p057.176917> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p057.176920> MTLHAL: Mono sampling on input line!
> <p057.176922> [LineIn]
> <p057.176923> Rate = 9600 x M x 2
> <p057.176925> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p057.176934> Upon filter created(Simple): 9600/9600 spc, In 48 => Out 48
> <p057.176956> Upon filter created(Simple): 9600/9600 spc, In 48 => Out 48
> <p057.176966> LineOut forwarding <2>, written 192 b.
> <p057.176968> <<MI>>
> <p057.176970> [Source side]
> <p057.176971> 9600 Spc, 1 channels, 16 bits
> <p057.176974> Queue of 3840 b., Filter size 48 s.
> <p057.176976> [Target side]
> <p057.176978> 9600 Spc, 1 channels, 16 bits
> <p057.176980> Queue of 3840 b., Filter size 48 s.
> <p057.176983> [Filter](Simple): 9600/9600 spc, In 48 => Out 48
> <p057.176986> <<MO>>
> <p057.176987> [Source side]
> <p057.176989> 9600 Spc, 1 channels, 16 bits
> <p057.176992> Queue of 3840 b., Filter size 48 s.
> <p057.176994> [Target side]
> <p057.176996> 9600 Spc, 1 channels, 16 bits
> <p057.176998> Queue of 3840 b., Filter size 48 s.
> <p057.177001> [Filter](Simple): 9600/9600 spc, In 48 => Out 48
> <p057.177122> Index 0, count 60, pos 0
> <p057.177126> Start waiting from O96, I3072...
> <p057.180562> VICHCard: Finished CAP loop...
> <p057.180571> Modio opening (OK) in progress
> <p057.180573> Buffers = (C)D2D18000, (P)D3174000
> <p057.180575> Size = (C)3072, (P)3072
> slamr: amrmo_ioctl: cmd 10, arg 0...
> <p069.242284> amrmo_card_ctl...
> <p069.242289> MTLHAL: NTD query 83
> <p069.242291> amrmo card: IODELAY = 336.
> slamr: amrmo_ioctl: cmd 10, arg 0...
> <p069.243939> amrmo_card_ctl...
> <p069.243941> MTLHAL: NTD query 83
> <p069.243943> amrmo card: IODELAY = 336.
> slamr: amrmo_ioctl: cmd 22, arg 0...
> <p077.878236> amrmo_card_stop...
> <p077.878239> ModemInstance::Stop()...
> <p077.878241> MTLHAL: Cleaning content of output buffer(2688 of 2880)
> <p077.878250> Converter [MI] is dead...
> <p077.878253> Converter [MO] is dead...
> slamr: amrmo_ioctl: cmd 2, arg 0...
> <p077.878268> amrmo_card_ctl...
> <p077.878276> SIL3024codec::SetHookState(Offhook=0)
> slamr: amrmo_ioctl: cmd 8, arg 0...
> <p077.880829> amrmo_card_ctl...
> <p077.880831> amrmo_card: SPEAKERVOL = 0
> slamr: amrmo_ioctl: cmd 8, arg 3...
> <p078.219219> amrmo_card_ctl...
> <p078.219221> amrmo_card: SPEAKERVOL = 3
> slamr: amrmo_ioctl: cmd 2, arg 1...
> <p078.219235> amrmo_card_ctl...
> <p078.219273> SIL3024codec::SetHookState(Offhook=1)
> slamr: amrmo_ioctl: cmd 11, arg 0...
> <p078.221731> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 4, arg 2580...
> <p078.221791> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 7, arg 60...
> <p078.221799> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 21, arg 0...
> <p078.221806> amrmo_card_start...
> <p078.221808> ModemInstance::Start()...
> <p078.221811> [Modem]
> <p078.221813> Rate = 9600 x M x 2
> <p078.221815> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p078.221818> [LineIn]
> <p078.221820> Rate = 9600 x S x 2
> <p078.221822> Phys.PTC = 48 s. (192) b. ; Log.PTC = 48 s. (192) b.
> <p078.221825> [LineOut]
> <p078.221827> Rate = 9600 x S x 2
> <p078.221829> Phys.PTC = 48 s. (192) b. ; Log.PTC = 48 s. (192) b.
> <p078.221832> Starting Modio:
> <p078.221834> PTC = (C)48, (P)192
> <p078.221836> Sample Rates = (C)9600,(P)9600
> <p078.221838> Transfer buffer of 48 sam. * 32 = 3072 b.
> <p078.221842> PTC clock::Init(Buffer of C00h, PTC of 96 bytes.)
> <p078.221906> MTLHAL: Finish Modio Setup:
> <p078.221909> VConverter::Test:=> InputRate =9600, OutputRate =9600, bIsModem =1
> <p078.221912> VConverter::Test:=> InputRate =9600, OutputRate =9600, bIsModem =1
> <p078.221916> MTLHAL: Mono sampling on output line!
> <p078.221918> [LineOut]
> <p078.221919> Rate = 9600 x M x 2
> <p078.221921> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p078.221924> MTLHAL: Mono sampling on input line!
> <p078.221927> [LineIn]
> <p078.221928> Rate = 9600 x M x 2
> <p078.221930> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p078.221936> Upon filter created(Simple): 9600/9600 spc, In 48 => Out 48
> <p078.221941> Upon filter created(Simple): 9600/9600 spc, In 48 => Out 48
> <p078.221947> LineOut forwarding <2>, written 192 b.
> <p078.221950> <<MI>>
> <p078.221951> [Source side]
> <p078.221953> 9600 Spc, 1 channels, 16 bits
> <p078.221955> Queue of 3840 b., Filter size 48 s.
> <p078.221958> [Target side]
> <p078.221960> 9600 Spc, 1 channels, 16 bits
> <p078.221962> Queue of 3840 b., Filter size 48 s.
> <p078.221965> [Filter](Simple): 9600/9600 spc, In 48 => Out 48
> <p078.221968> <<MO>>
> <p078.221969> [Source side]
> <p078.221971> 9600 Spc, 1 channels, 16 bits
> <p078.221973> Queue of 3840 b., Filter size 48 s.
> <p078.221976> [Target side]
> <p078.221978> 9600 Spc, 1 channels, 16 bits
> <p078.221980> Queue of 3840 b., Filter size 48 s.
> <p078.221983> [Filter](Simple): 9600/9600 spc, In 48 => Out 48
> <p078.222106> Index 0, count 60, pos 0
> <p078.222110> Start waiting from O96, I3072...
> <p078.225589> VICHCard: Finished CAP loop...
> <p078.225598> Modio opening (OK) in progress
> <p078.225600> Buffers = (C)D2D18000, (P)D3174000
> <p078.225602> Size = (C)3072, (P)3072
> slamr: amrmo_ioctl: cmd 10, arg 0...
> <p090.772317> amrmo_card_ctl...
> <p090.772321> MTLHAL: NTD query 83
> <p090.772323> amrmo card: IODELAY = 336.
> slamr: amrmo_ioctl: cmd 10, arg 0...
> <p090.773939> amrmo_card_ctl...
> <p090.773941> MTLHAL: NTD query 83
> <p090.773943> amrmo card: IODELAY = 336.
> slamr: amrmo_ioctl: cmd 22, arg 0...
> <p105.382383> amrmo_card_stop...
> <p105.382386> ModemInstance::Stop()...
> <p105.382388> MTLHAL: Cleaning content of output buffer(2688 of 2880)
> <p105.382397> Converter [MI] is dead...
> <p105.382401> Converter [MO] is dead...
> slamr: amrmo_ioctl: cmd 2, arg 0...
> <p105.382415> amrmo_card_ctl...
> <p105.382423> SIL3024codec::SetHookState(Offhook=0)
> slamr: amrmo_ioctl: cmd 8, arg 0...
> <p105.384815> amrmo_card_ctl...
> <p105.384817> amrmo_card: SPEAKERVOL = 0
> slamr: amrmo_ioctl: cmd 8, arg 3...
> <p105.724328> amrmo_card_ctl...
> <p105.724331> amrmo_card: SPEAKERVOL = 3
> slamr: amrmo_ioctl: cmd 2, arg 1...
> <p105.724344> amrmo_card_ctl...
> <p105.724381> SIL3024codec::SetHookState(Offhook=1)
> slamr: amrmo_ioctl: cmd 11, arg 0...
> <p105.726717> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 4, arg 2580...
> <p105.726776> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 7, arg 60...
> <p105.726784> amrmo_card_ctl...
> slamr: amrmo_ioctl: cmd 21, arg 0...
> <p105.726791> amrmo_card_start...
> <p105.726793> ModemInstance::Start()...
> <p105.726796> [Modem]
> <p105.726798> Rate = 9600 x M x 2
> <p105.726800> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p105.726803> [LineIn]
> <p105.726805> Rate = 9600 x S x 2
> <p105.726807> Phys.PTC = 48 s. (192) b. ; Log.PTC = 48 s. (192) b.
> <p105.726810> [LineOut]
> <p105.726812> Rate = 9600 x S x 2
> <p105.726814> Phys.PTC = 48 s. (192) b. ; Log.PTC = 48 s. (192) b.
> <p105.726817> Starting Modio:
> <p105.726819> PTC = (C)48, (P)192
> <p105.726821> Sample Rates = (C)9600,(P)9600
> <p105.726824> Transfer buffer of 48 sam. * 32 = 3072 b.
> <p105.726827> PTC clock::Init(Buffer of C00h, PTC of 96 bytes.)
> <p105.726872> MTLHAL: Finish Modio Setup:
> <p105.726874> VConverter::Test:=> InputRate =9600, OutputRate =9600, bIsModem =1
> <p105.726878> VConverter::Test:=> InputRate =9600, OutputRate =9600, bIsModem =1
> <p105.726881> MTLHAL: Mono sampling on output line!
> <p105.726884> [LineOut]
> <p105.726885> Rate = 9600 x M x 2
> <p105.726887> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p105.726890> MTLHAL: Mono sampling on input line!
> <p105.726892> [LineIn]
> <p105.726894> Rate = 9600 x M x 2
> <p105.726896> Phys.PTC = 48 s. (96) b. ; Log.PTC = 48 s. (96) b.
> <p105.726901> Upon filter created(Simple): 9600/9600 spc, In 48 => Out 48
> <p105.726906> Upon filter created(Simple): 9600/9600 spc, In 48 => Out 48
> <p105.726912> LineOut forwarding <2>, written 192 b.
> <p105.726915> <<MI>>
> <p105.726916> [Source side]
> <p105.726918> 9600 Spc, 1 channels, 16 bits
> <p105.726921> Queue of 3840 b., Filter size 48 s.
> <p105.726923> [Target side]
> <p105.726925> 9600 Spc, 1 channels, 16 bits
> <p105.726927> Queue of 3840 b., Filter size 48 s.
> <p105.726930> [Filter](Simple): 9600/9600 spc, In 48 => Out 48
> <p105.726933> <<MO>>
> <p105.726934> [Source side]
> <p105.726936> 9600 Spc, 1 channels, 16 bits
> <p105.726939> Queue of 3840 b., Filter size 48 s.
> <p105.726941> [Target side]
> <p105.726943> 9600 Spc, 1 channels, 16 bits
> <p105.726945> Queue of 3840 b., Filter size 48 s.
> <p105.726948> [Filter](Simple): 9600/9600 spc, In 48 => Out 48
> <p105.727072> Index 0, count 60, pos 0
> <p105.727076> Start waiting from O96, I3072...
> <p105.730531> VICHCard: Finished CAP loop...
> <p105.730540> Modio opening (OK) in progress
> <p105.730542> Buffers = (C)D2D18000, (P)D3174000
> <p105.730545> Size = (C)3072, (P)3072
> slamr: amrmo_ioctl: cmd 22, arg 0...
> <p108.241911> amrmo_card_stop...
> <p108.241914> ModemInstance::Stop()...
> <p108.241917> MTLHAL: Cleaning content of output buffer(2400 of 2592)
> <p108.241926> Converter [MI] is dead...
> <p108.241929> Converter [MO] is dead...
> slamr: amrmo_ioctl: cmd 2, arg 0...
> <p108.241944> amrmo_card_ctl...
> <p108.241953> SIL3024codec::SetHookState(Offhook=0)
> slamr: amrmo_ioctl: cmd 8, arg 0...
> <p108.244844> amrmo_card_ctl...
> <p108.244846> amrmo_card: SPEAKERVOL = 0
> slamr: amrmo_release...
> slamr: slamr: exit...
> slamr: amrmo: remove d3514000...
> <p115.562685> amrmo_card_disable: card c4c71300.
> <p115.562734> Can I destroy the HW Instance? 
> <p115.562736> Yes,
> <p115.562738> OnHardwareInstanceDestroyed
> <p115.562815> DeInitHW
> <p115.562817> and I deleted it!
> <p115.562830> amrmo_card_delete: card c4c71300.
> <p115.562833> amr_delete: d3ff8200...
> <p115.562838> DeInitHW

So again, if anyone's got any other ideas to try, I'm all ears.

-CJ

---

From: CJ Kucera <[email-masked]>
Date: Thu, 30 Jun 2005 14:39:44 -0500

One more thing...  I was just testing out more combinations of
wvdial.conf entries and it looks like some kind of call *is* being
made when I use the slamr module, because when I ctrl-c out of
both wvdial and slmodemd during the connect loop that wvdial
gets stuck in, my phone line rings and when I pick it up, there's
a modem connect tone.  I've seen that happen before when you're
on a call and the remote end doesn't end up termintating right away...
I'll hang up, then immediately the phone will start ringing and
when I pick up the receiver I'll be still connceted to the far end.

It seems like that's what's happening now...  Perhaps the modem's
making the call correctly, but the handshaking's not working for
whatever reason?

-CJ

-- 
WOW: Kakistocracy         |   "Happiness isn't good enough for me!  I
[email-masked]      |              demand euphoria!"
apocalyptech.com/music/   |                  - Calvin

---

From: CJ Kucera <[email-masked]>
Date: Fri, 1 Jul 2005 16:14:49 -0500

Sasha's been kind enough to be helping me out with this stuff off-list,
so I just wanted to mention on-list that I've got at least one working
configuration for this modem now, namely:

  * Use the 'slamr' module from slmodem instead of the ALSA drivers
  * Include 'AT+MS=34' in the init strings of the modem
  * Include 'Carrier Check = no' into wvdial.conf (as mentioned in the
    slmodem docs, but still)

With those three options I'm able to connect at 24000 at least, so
that's a lot better than nothing.  I'll send out another message here
if I can get it working at a higher speed.

Regardless, thanks a bunch for everyone's input...

-CJ

---

From: CJ Kucera <[email-masked]>
Date: Fri, 1 Jul 2005 17:01:47 -0500

>   * Use the 'slamr' module from slmodem instead of the ALSA drivers

Continuing my monologue on-list here, it turns out that the version of
the ALSA drivers shipped with 2.6.12.1 is 1.0.9rc2, which has a known
issue with the intel8x0m driver.  Apparently the current drivers actually
available from www.alsa-project.org remedy this situation, so I'll give
those a try in a bit and continue the deluge of mails here.

-CJ

---

From: CJ Kucera <[email-masked]>
Date: Fri, 1 Jul 2005 17:26:42 -0500

> those a try in a bit and continue the deluge of mails here.

Yep, using alsa-driver 1.0.9b from alsa-project.org lets me use the ALSA
driver instead of slamr.  I've still got to have the extra Init string,
but at least the driver works.

-CJ