# Can't detect my modem [solved]

## mariourk

I have an external serial modem. The problem is, no matter what I try, the system doesn't

see any modem. I tried probemodem and the autodetection of gnome-ppp. The

modem is conneted to com1, but the system thinks ontherwise and detects nothing...  :Confused: 

Hopefully someone knows what to do  :Rolling Eyes: 

Thanks!  :Very Happy: 

----------

## NeddySeagoon

mariourk,

com1: is /dev/ttyS0.  Do you have a /dev/ttyS0 ?

If not either there is no support in your kernel for the seial ports, or the /dev file was not created for you.

```
emerge minicom 
```

and talk to your modem yourself.

Some friendly thngs to say to your modem are:- 

```
at

atz

ati0

ath1

ath0

atl2

atdt<ISP_Phone_Number>
```

they are not case sensitive.

The modem should respond to them all, even if it just says OK.

----------

## mariourk

That works. My modem gives a nice respond, even gives dialing tones  :Very Happy: 

I wonder why other progs won't detect anything because the modem is

clearly connected to com1, that's proven with minicom.  :Confused: 

Maybe you have a good suggestion. I'm trying to get this working.

I can send a fax with  sendfax -n -d number file1 file2 .. but that is placed in the queue

and will wait there forever. The software doesn't detect the modem.

Anything is welcome, even an alternative howto. As long I can get a faxserver working properly  :Wink: 

----------

## NeddySeagoon

mariourk,

Your kernel is in good shape. Its beem over 3 years since I used a modem. 

Is your software using /dev/modem which should be a symbolic link to your actual modem?

If /dev/modem is missing or wrong, detection may fail.

Try 

```
ls -l /dev/modem
```

Check your symbolic link and fix it if required. The fix will be a local udev rule if you use udev or a devfs.conf edit if you use devfs.

If you use a static /dev system you know what to do anyway.

----------

## mariourk

That isn't working. Probemodem asks what port should be probed, so that couldn't be

the problem anyway.

I can find more questions asked about the same problem.

But answers....  :Crying or Very sad: 

----------

## mariourk

Noone?  :Confused: 

----------

## mariourk

This is the output of Gnome-ppp (only works when I run it as root)

```

Leviathan ~ # gnome-ppp

GNOME PPP: STDOUT: Scanning your serial ports for a modem.

GNOME PPP: STDOUT:

GNOME PPP: STDERR: ttyS0<*1>: ATQ0 V1 E1 -- OK

GNOME PPP: STDERR: ttyS0<*1>: ATQ0 V1 E1 Z -- OK

GNOME PPP: STDERR: ttyS0<*1>: ATQ0 V1 E1 S0=0 -- OK

GNOME PPP: STDERR: ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK

GNOME PPP: STDERR: ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK

GNOME PPP: STDERR: ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

GNOME PPP: STDERR: ttyS0<*1>: Modem Identifier: ATI -- 56000

GNOME PPP: STDERR: ttyS0<*1>: Speed 4800: AT -- OK

GNOME PPP: STDERR: ttyS0<*1>: Speed 9600: AT -- OK

GNOME PPP: STDERR: ttyS0<*1>: Speed 19200: AT -- OK

GNOME PPP: STDERR: ttyS0<*1>: Speed 38400: AT -- OK

GNOME PPP: STDERR: ttyS0<*1>: Speed 57600: AT -- OK

GNOME PPP: STDERR: ttyS0<*1>: Speed 115200: AT -- OK

GNOME PPP: STDERR: ttyS0<*1>: Max speed is 115200; that should be safe.

GNOME PPP: STDERR: ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

GNOME PPP: STDERR: ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud

GNOME PPP: STDERR: ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud

GNOME PPP: STDERR: ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

GNOME PPP: STDOUT:

GNOME PPP: STDERR: Port Scan<*1>: S2   S3   S4   S5   S6   S7   S8   S9

GNOME PPP: STDOUT: Found a modem on /dev/ttyS0.

GNOME PPP: STDERR: Port Scan<*1>: S10  S11  S12  S13  S14  S15  S16  S17

GNOME PPP: STDOUT: Modem configuration written to /dev/null.

GNOME PPP: STDERR: Port Scan<*1>: S18  S19  S20  S21  S22  S23  S24  S25

GNOME PPP: STDERR: Port Scan<*1>: S26  S27  S28  S29  S30  S31  S32  S33

GNOME PPP: STDERR: Port Scan<*1>: S34  S35  S36  S37  S38  S39  S40  S41

GNOME PPP: STDERR: Port Scan<*1>: S42  S43  S44  S45  S46  S47

GNOME PPP: STDERR: ttyS0<Info>: Speed 115200; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

```

I tried different modems, alls give the same result. probemodem doesn't detect them and this is the

result of gnome-ppp. Note these lines

```

GNOME PPP: STDERR: ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud

GNOME PPP: STDERR: ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud

GNOME PPP: STDERR: ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

```

Can anyone tell why it fails?  :Confused: 

----------

## mariourk

Continue this thread here

----------

## domlogic

Hi all, I am having some troubles getting serial modem to work for ppp.  The problem is that I am not getting responses from the modem.  I am using kppp over pppd.  When I query the modem in kppp, the fields come back blank.  When I try to connect, with init set to ATZ, I never get OK back.  If I set the init and init response to empty, the modem dials but never gets "connect"  back.  It then drops the line and attempts to initialise.  I downloaded minicom but cannot see how to talk to the modem using it.  I was hoping to send ATZ and get OK back.  Can anybody share some wisdom.  Will hold off "cut and pasting" output from setserial and cat /proc/interrupts and dmesg until someone deems them necessary but will say that they appear normal to the best of my knowledge.

Regards,

Dom

----------

## NeddySeagoon

domlogic, mariourk,

From

```
 $ ls /dev/tts/0 -l

crw-rw----  1 root tty 4, 64 Aug 14 10:27 /dev/tts/0
```

you need to be in the tty group for your user to be able to use serial ports.

What does the groups command show?

----------

## domlogic

Hi mariourk,

Thankyou for promptly replying  :Smile: 

I have been running as root so there shouldn't be a permissions issue, however for completeness I added root and my other user to the tty group.  I get the same problem.  What is interesting about the situation is that I can make the modem dial but can't get the responses.  Nothing appears in the log.  Here are the commands you asked for:

```
# groups

root tty
```

```
ls -l /dev/tts/0

crw-rw----  1 root tty 4, 64 Aug 15 10:49 /dev/tts/0
```

----------

## mariourk

Fist of all, it wasn't me who replyed, it was NeddySeagoon.

I tried probemodem as root to, so I agree with Domlogic, permission shouldn't

be the isue here. I tried to add root to the tty-group anyway but it didn't make

any difference.  :Crying or Very sad: 

```

mario@Leviathan ~ $ ls /dev/tts/0 -l

crw-rw----  1 root tty 4, 64 aug 15  2005 /dev/tts/0

```

----------

## domlogic

Hi mariourk, sorry to confuse you with NeddySeagoon

The two machines I have had troubles with were built around '97, another machine which I built about three years ago seems to have all the same configurations and command outputs but works fine.  How old is your machine, what kernel are you using etc.  It is possible that the gentoo 2.6 sources are having troubles with the old hardware (or vice versa).  I just installed wvdial and I can't get it to work either.

I just can't get a message back from the modem.  Am contemplating getting some 2.4 kernel code and trying that.

----------

## NeddySeagoon

domlogic,

Does the modem work with minicom ?

----------

## mariourk

I use a AMD athlon 1700+ I have no idea how old that is. Computers change so fast...  :Very Happy: 

I use the 2.6.12 kernel. I also tried this on a P4-1800 but I ran into the same trouble.

I think this problem is Gentoo related. I found a thread on this forum where someone told

that he couldn't get it running with Gentoo but that is worked fine with Redhat, on the

same machine.

----------

## m_sqrd

is the modem an external or internal I have it working on an old external off com2 /ttyS1 also a gentoo 2.6.12 kernel 

what dose probemodem do post the bauds 38400 19200... 

and then give an error?

----------

## mariourk

It's an external modem. I tried both comports

This is the error I get with probemodem:

```

Leviathan ~ # probemodem ttys0

Now we are going to probe the tty port.  This takes a few seconds,

so be patient.  Note that if you do not have the modem cabled to

the port, or the modem is turned off, this may hang (just go and

cable up the modem or turn it on, or whatever).

Probing for best speed to talk to modem:

Unable to deduce DTE-DCE speed; check that you are using the

correct device and/or that your modem is setup properly.  If

all else fails, try the -s option to lock the speed.

```

Someone told me that disabeling the com-ports in the bios of his

motherboard fixed the problem for him. Unfortuately it didn't work

for me.

----------

## NeddySeagoon

mariourk,

You may need to disable the com ports if you use an internel modem. Never with an external modem.

Do you have serial port support in your kernel ?

Can minicom talk to your modem?

e.g You send some AT commands and the modem responds.

AT

ATH1    (number 1)

ATH0    (number 0)

ATI0     (letter I number 0)

ATDT<ISP Phone Number>

The commands are not case sensitive. The modem should respond with OK, at least.

----------

## m_sqrd

mariourk, 

NeddySeagoon is correct you need your comm port enable is the BIOS if you running an external modem

whats the output of:

dmesg |egrep -i 'tty|serial'

also are you using an full modem cable. and not some DTR missing or loop to another pin? 

the script probemodem  first looks at initting the modem then it trys to test it at 38400 - down 

and I dont see your output showing even try the modem at a/any  speed so it failed trying at the init step.

(do you have a rs-232 mini-tester "LED box")  I'd test the modem control signals first and see if the 

DTR line come high "you mite tell by looking at the modems TR light but you can't see if you've got a full modem hand shake that way" 

also probemodem ttys0  shouldn't that be probemodem ttyS0

----------

## mariourk

I have serial support in my kernel and the comports are enabled in my bios.

I only disabled them once, just to see what happend.

I can communicate with my modem witth minicom.

Here is the output of dmesg |egrep -i 'tty|serial'

```

Leviathan ~ # dmesg |egrep -i 'tty|serial'

Serial: 8250/16550 driver $Revision: 1.90 $ 48 ports, IRQ sharing enabled

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

```

My modem has a DTR-LED but further I don't really understand what you mean...  :Confused: 

----------

## NeddySeagoon

mariourk,

Since you know what port your modem is on and what speeds work (you can test with minicom) why do you need probemodem?

----------

## mariourk

Bacause I have no idea how to get it working witout it  :Very Happy: 

But I'll be more than happy to hear about it. Perhaps you can

explain how I can use minicom to figure out what I need to know

And where I can use this information (config files, etc) to get

Hylafax working.

I don't care how, as long as it works  :Wink: 

----------

## the_mgt

Hi mariourk!

I have a problem with my modem too. It is a pci internal isdn card, Fritz! PCI v.2.0.

I am using the obsolete isdn4linux stuff, but i will try out capi soon.

I am not completetly sure to which device my isdncard is linked, i can't use minicom on /dev/ttyI0.

All automatic probing tools fail. But i think it couldthe device on /dev/tts/0, because some programs say there is one, but cant communicate with it (probemodem and faxaddmodem). (I will try deactivating the serial ports in the bios)

So i followed different howtos and tried some stuff. Ivcall and Ivam2 re working right now, so the card can be used. What is disturbing me now is, that around the net there are people using this card as a fax, whereas sendfax tells me, that my card is no class 2/2.0 fax!

When you communicate with your modem over minicom, what does

```
 at+fclass=?
```

 put out?

Mine looks like this:

```

at+fclass=?

0,8

OK

```

So i think my card does not support fax at all! And i am getting nearly the same message as you when i probemodem ttyS0...

Are you sure your card can fax?

----------

## NeddySeagoon

the_mgt,

/dev/ttyS0 and /dev/ttyS1 are the two on board serial ports. To use tem on a PCI card, they must be disabled in the BIOS. Better to set the PCI card to another port.

----------

## the_mgt

Thanks for the fast reply, Neddy!

Did you read that i can call out with ivcall? I started strace in ivcall and found out, that ivcall uses /dev/ttyI0.

But faxaddmodem and probemodem do not go well with ttyI0.

I am going to reboot that computer now because it just compiled a new kernel, i will disable the serial stuff in the bios.

How do i set the pci card to another port? (If this is a stupid question, just post a link or say i have to read something about devfsd.conf...)

----------

## NeddySeagoon

the_mgt,

Thats a hard one - I don't know.  If its using /dev/tty10, its not a problem though.

----------

## m_sqrd

can you show me the ouput of

grep CONFIG_SERIAL /usr/src/linux/.config

the reason I'm asking is it looks like you have ether  # of port <4 or (most likely the extended option on)

and  I think from some old systems I have you need the setserial prg for this.

Serial: 8250/16550 driver $Revision: 1.90 $ 48 ports, IRQ sharing enabled 

here my output:

max ~ # dmesg |egrep -i 'tty|serial'

CPU serial number disabled.

CPU serial number disabled.

Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

note no IRQ sharing and only 8 ports...

sorry my post about the grep and so on was for mariourkLast edited by m_sqrd on Fri Aug 19, 2005 3:52 pm; edited 1 time in total

----------

## the_mgt

@neddy: its an I not a 1  :Wink: 

ivcall uses /dev/ttyI0, but that does not seem to be a faxmodem to the other progs.

@m_sqrd:

```

spiegel /usr/src/linux # dmesg |egrep -i 'tty|serial'

Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled

Bluetooth: RFCOMM TTY layer initialized

```

```

spiegel /usr/src/linux # grep CONFIG_SERIAL /usr/src/linux/.config

# CONFIG_SERIAL_NONSTANDARD is not set

CONFIG_SERIAL_8250=y

# CONFIG_SERIAL_8250_CONSOLE is not set

# CONFIG_SERIAL_8250_ACPI is not set

CONFIG_SERIAL_8250_NR_UARTS=4

# CONFIG_SERIAL_8250_EXTENDED is not set

CONFIG_SERIAL_CORE=y

# CONFIG_SERIAL_JSM is not set

```

Is there anything i should change?

This time, my kernel is without isdn4linux stuff but with capi. And it doesn't find any card at all. Ivcall doesn't work, too. So i guess i will stick with isdn4L for a while.

I am using a monolythic kernel, so fritzapi won't compile on my system. Is there a kernel-patch for fritzcapi?

I searched for one, but not long enough to find anything useful.

I mean, with isdn4linux, i can call out and the computer can be called, so i think i am on the right way. But the output of "at+fclass=?" makes me wonder if my card supports fax at all. I have another isdn card somewhere, but i guess it is a fritzcard, too.

EDIT: @mariourk: Sorry for threadjacking.....

Ok, now i have a new kernel (2.6.12-gentoo-r9), old config(from 2.6.12-gentoo-r6, but came a looong way) and ivcall won't work anymore. Luckily, my linux-guru returns from vacation today, maybe we can find out anything helpful...

----------

## m_sqrd

the_mgt

from what I see I don't thnk you ISDN-will work for fax

http://www.hylafax.org/setup.html#Check

I'm not real sure about isdn card as I never had to run one but if you are sure it should show up as a serial port

do lspci see what I/O - IRQ combo its using and set the  CONFIG_SERIAL_8250_EXTENDED on 

and emerge sys-apps/setserial and try to configure it what way..

sorry I just have never done any thing with ISDN..

----------

## the_mgt

Thanks anyway for your response! I will try that extended option. I am not sure at all if it is a serial card.

I never tinkered around with serial stuff ever.....

I forgot to install the european isdn protocol last time, now its back in and i can call out with ivcall again.

And this output has not been so informativ with the onboard ports enabled, so i am getting somewhere:

```

spiegel ~ # dmesg|grep hisax -i

HiSax: Linux Driver for passive ISDN cards

HiSax: Version 3.5 (kernel)

HiSax: Layer1 Revision 2.46.2.5

HiSax: Layer2 Revision 2.30.2.4

HiSax: TeiMgr Revision 2.20.2.3

HiSax: Layer3 Revision 2.22.2.3

HiSax: LinkLayer Revision 2.59.2.4

HiSax: Total 0 card defined

hisax_isac: ISAC-S/ISAC-SX ISDN driver v0.1.0

hisax_fcpcipnp: Fritz!Card PCI/PCIv2/PnP ISDN driver v0.0.1

HiSax: Card 1 Protocol EDSS1 Id=fcpcipnp0 (0)

HiSax: DSS1 Rev. 2.32.2.3

HiSax: 2 channels added

HiSax: MAX_WAITING_CALLS added

hisax_fcpcipnp: found adapter Fritz!Card PCI v2 at 0000:00:14.0

```

I am still wondering about the "HiSax: Total 0 card defined" line.... 

And what is completely confusing me, is the fact, that other people claim to be able to fax with exact the same card. I wonder if that has todo with that capi stuff and mISDN....

Maybe my linux-guru is able to help me, when he returns from vacation this weekend...

Thanks for all the replies!!

----------

## mariourk

The output of at+fclass=?

```

at+fclass=?

0,1,2,1.0

```

----------

## m_sqrd

mariourk,

Ok so what the ouput from

/usr/sbin/probemodem -f -c at+fclass=? -s 38400 tts/0

or 

/usr/sbin/probemodem -f -c at+fclass=? -s 38400 ttyS0

PS

I still think I'd turn off the CONFIG_SERIAL_8250_EXTENDED in the kernel config.

----------

## mariourk

Here's the output:

```

Leviathan ~ # /usr/sbin/probemodem -f -c at+fclass=? -s 38400 ttys0

Now we are going to probe the tty port.  This takes a few seconds,

so be patient.  Note that if you do not have the modem cabled to

the port, or the modem is turned off, this may hang (just go and

cable up the modem or turn it on, or whatever).

Using user-specified 38400 to talk to modem.

/dev/ttys0: Input/output error

/dev/ttys0: Input/output error

/usr/sbin/probemodem: line 220: /dev/ttys0: Input/output error

/usr/sbin/probemodem: line 221: /dev/ttys0: Input/output error

/usr/sbin/probemodem: line 223: /dev/ttys0: Input/output error

/usr/sbin/probemodem: line 225: kill: (21423) - No such process

There was no response from the modem.  Perhaps the modem is

turned off or the cable between the modem and host is not

connected.  Please check the modem and hit a carriage return

when you are ready to try again:

```

I really don't understand why minicom can talk to my modem

and probemodem can't  :Confused: 

Disabeling CONFIG_SERIAL_8250_EXTENDED didn't make any

difference for me  :Crying or Very sad: 

----------

## m_sqrd

is /dev/ttys0 link to /dev/ttyS0 or /dev/tts/0 on your box ?

----------

## mariourk

It's a link to /dev/pty/s0

```

Leviathan root # ls -l /dev/ttys0

lrwxrwxrwx  1 root root 6 Aug 22  2005 /dev/ttys0 -> pty/s0

```

----------

## m_sqrd

Ok so why do you keep test it for a modem

```

Leviathan ~ # /usr/sbin/probemodem -f -c at+fclass=? -s 38400 ttys0 

```

it needs to be one of the ttyS* Upercase "S" or the real device tts/[0-1]

look at your 

dmesg |grep tty

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

then 

ls -asl /dev/ttyS*

0 lrwxrwxrwx  1 root root 5 Aug 22 03:16 /dev/ttyS0 -> tts/0 

0 lrwxrwxrwx  1 root root 5 Aug 22 03:16 /dev/ttyS1 -> tts/1

0 lrwxrwxrwx  1 root root 5 Aug 22 03:16 /dev/ttyS2 -> tts/2

0 lrwxrwxrwx  1 root root 5 Aug 22 03:16 /dev/ttyS3 -> tts/3

0 lrwxrwxrwx  1 root root 5 Aug 22 03:16 /dev/ttyS4 -> tts/4

0 lrwxrwxrwx  1 root root 5 Aug 22 03:16 /dev/ttyS5 -> tts/5

0 lrwxrwxrwx  1 root root 5 Aug 22 03:16 /dev/ttyS6 -> tts/6

0 lrwxrwxrwx  1 root root 5 Aug 22 03:16 /dev/ttyS7 -> tts/7

----------

## mariourk

That worked!! Using

```

probemodem ttyS0

```

instead of

```

probemodem ttys0

```

solved the problem.  :Very Happy: 

This is hilarious, all the time it didn't work because I was using

the wrong link!!!   :Laughing:   :Embarassed:   :Mr. Green: 

Thank you so much for your suggestion. Now I can go on

figuring this this out and get my fax-server to work  :Very Happy:   :Very Happy:   :Very Happy: 

----------

## m_sqrd

Cool Beans! :Very Happy:   Happy faxing.

----------

## mariourk

I have it all working now. here is my howto.

----------

