# modem setup HOWTO need

## CGN_Gentoo

Hi,

call me n00b or call me blind   :Very Happy:  , but i couldn´t find a modem setup howto. I´m also not familiar with linux an linux commands, so I need a little more startup help.

How can I setup a modem to get the overall needed internet connection.

thx and regards

cgn

----------

## iswm

The install docs go over how to set up adsl. If you're on dial-up a quick forums search will give you plenty of results.

----------

## davidblewett

If you're on dial-up, you'll need to install the ppp package. This is done by 

```
#emerge pppconfig
```

 This will install pppd and pppconfig. You can then use pppconfig to input your ISP settings. Then try 

```
pon <YourISPNameHere>
```

 to test the connection. If you have an internal PCI modem, you might want to try www.linmodems.org to find out more information about getting winmodems to work under linux.

----------

## xeonburn

Has anyone gotten the pctel winmodem in most dell laptops to work in 2.6?

----------

## NeddySeagoon

xeonburn,

Post the lspci line that shows the modem info please.

Is it an AC97 modem ?

----------

## coplaniuk

I have wvdial set up, and I'm using the command 'wvdial' to dial in.

I'd like to use pon and poff -- but 'pon' doesn't seem to do much unless wvdial has already been running. And 'poff' doesn't seem to do anything at all. Is there some sort of daemon that needs to be running to listen for those commands?  Is there some other config file for the pon/poff commands (does it use the wvdial config?)? 

On a different but related note, the command '/etc/init.d/net.ppp0 start' doesn't seem to do anything either. But as I said, using the wvdial command, everything works perfectly. 

Someone told me to emerge wvstream.  I wasn't able to emerge 'wvstream' (no dependancies found) -- does that have something to do with it?

----------

## Souperman

 *coplaniuk wrote:*   

> I have wvdial set up, and I'm using the command 'wvdial' to dial in.
> 
> I'd like to use pon and poff -- but 'pon' doesn't seem to do much unless wvdial has already been running. And 'poff' doesn't seem to do anything at all. Is there some sort of daemon that needs to be running to listen for those commands?  Is there some other config file for the pon/poff commands (does it use the wvdial config?)? 
> 
> 

 

pon==bring up ppp connection to predefined peer (i.e. ISP)

poff==bring down ppp connection

I use these too as I coiuldn't get wvdial to work for me after about 3 hours of trying.  Make sure you have run pppconfig to create a "peer" definition which is basically your ISP phone number, password, etc.  Once that is done you use 'pon name_you_configured' to dial-up and 'poff' to disconnect.  pon & poff have nothing to do with wvdial.

 *coplaniuk wrote:*   

> On a different but related note, the command '/etc/init.d/net.ppp0 start' doesn't seem to do anything either. But as I said, using the wvdial command, everything works perfectly. 

 

You have to edit /etc/conf.d/net.ppp0 first.

 *coplaniuk wrote:*   

> Someone told me to emerge wvstream.  I wasn't able to emerge 'wvstream' (no dependancies found) -- does that have something to do with it?

 

It's "wvstreams" and it should've been installed as a dependency of wvdial.

----------

## coplaniuk

 *Quote:*   

> 
> 
> pon==bring up ppp connection to predefined peer (i.e. ISP)
> 
> poff==bring down ppp connection
> ...

 

I used pppconfig already.  And yet, it still doesn't seem to do anything.  I went to my syslog, and found that it sends the ATZ command to the modem, but the modem doesn't respond.  wvdial finds the modem in no time.  Does pon/poff use a different config file to find the modem?  Is 'etc/init.d/net.ppp0' related to pon/poff?Last edited by coplaniuk on Thu Apr 29, 2004 1:12 pm; edited 1 time in total

----------

## davidblewett

You have to tell pppconfig what serial port to use to communicate to the modem. I.e. 

```
/dev/ttyS0

/dev/ttyS1

/dev/ttyLT0
```

----------

## Progman3K

Hi,

Thanks for writing this guide, but I have a question:

I just put an internal PCI GNet modem in my computer, but I have no idea how to activate it.

I disabled the automatic serial ports in the computer's BIOS, but I wonder if that's necessary.

Anyhow, I can't figure out which device the modem, if it was detected is.

I ran programs designed to automatically set up the modem, and although they "looked" at /dev/ttyS1, they all reported that there was NO modem...

I'm wondering; how do I get the modem working?

Here is the output of lspci

0000:00:00.0 Host bridge: Silicon Integrated Systems [SiS] 746 Host (rev 10)

0000:00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SG86C202

0000:00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS963 [MuTIOL Media IO] (rev 25)

0000:00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016

0000:00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]

0000:00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] Sound Controller (rev a0)

0000:00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)

0000:00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)

0000:00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller

0000:00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 90)

0000:00:0d.0 Communication controller: TOPIC SEMICONDUCTOR Corp TP560 Data/Fax/Voice 56k modem

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (rev 01)

0000:01:00.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (Secondary) (rev 01)

----------

## NeddySeagoon

Progman3K,

Heres your modem.

 *Quote:*   

> 0000:00:0d.0 Communication controller: TOPIC SEMICONDUCTOR Corp TP560 Data/Fax/Voice 56k modem

 

Look here http://www.linuxquestions.org/hcl/showproduct.php?product=118 to see how to make it work.

Its a real hardware modem, so it should be easy compared to a Winmodem.

----------

## Progman3K

Thanks NS,

I ran lspci -v to get more information and followed the advice on the page you suggested.

0000:00:0d.0 Communication controller: TOPIC SEMICONDUCTOR Corp TP560 Data/Fax/Voice 56k modem

        Subsystem: TOPIC SEMICONDUCTOR Corp TP560 Data/Fax/Voice 56k modem

        Flags: medium devsel, IRQ 10

        I/O ports at d000

localhost root # setserial /dev/ttyS2 port 0xd000 irq 10 autoconfig

Only running  wvdialconf /etc/wvdial.conf gives this

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud

ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud

ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

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

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

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

Port Scan<*1>: S2   S3   S4   S5   S6   S7

Sorry, no modem was detected!  Is it in use by another program?

Did you configure it properly with setserial?

Maybe I used the wrong values for setserial?

----------

## NeddySeagoon

Progman3K,

Have you built the serial bits and pieces for your kernel?

You need the module called 8250 loaded or built into bzImage.

Look at 

```
grep SERIAL /usr/src/linux/.config
```

You need at least  *Quote:*   

> CONFIG_SERIAL_8250=m
> 
> CONFIG_SERIAL_8250_NR_UARTS=4
> 
> CONFIG_SERIAL_CORE=m

 

=m is OK if the modules are loaded, modprobe 8250 as required. Use lsmod to check

=y means that they are in your kernel.

"is not set" means you need to redo your kernel.

----------

## Progman3K

It's pretty similar to what you wrote, I think that *may* be because I originally ran

genkernel all install

Which if I understand correctly means that EVERYTHING (all) is compiled into the kernel.

grep SERIAL /usr/src/linux/.config

CONFIG_PARPORT_SERIAL=m

CONFIG_SERIAL_8250=y

CONFIG_SERIAL_8250_NR_UARTS=4

CONFIG_SERIAL_CORE=y

So everything checks out, but there must still be a step missing, right?

I expect it has *something* to do with modprobe ?

I just have no idea what module...

----------

## NeddySeagoon

Progman3K,

Your serial port modules are compiled into the kernel (=y).

/dev/ttyS2 and friends are symbolic links to /dev/tts/N where N would be 2 in this case. You may have more luck using the real device file.

If your motherboard serial ports are enabled, you should be able to read their settings with setserial at devices /dev/tts/0 and /dev/tts/1. Do you get the same answers with /dev/ttyS0 and /dev/ttyS1?

In fact, did your setserial command work?

what does it say when you read back the settings after they are set.

From you wvdial, it looks like it didn't talk to ttyS2, though it may have tried. The  "ATQ0 V1 E1" is a command to the modem.

----------

## Progman3K

After re-reading the previous messages in this thread, I came to the conclusion that having the motherboard's automatic serial port enabled is OK, so I went back and re-enabled it.

But something is strange here because if you look at the output of setserial, I think the modem MUST be correctly configured because it mentions a 16550 UART at that port...

setserial -a /dev/ttyS0

/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/ttyS1

/dev/ttyS1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 3

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/ttyS2

/dev/ttyS2, Line 2, UART: 16550A, Port: 0xd000, IRQ: 10

        Baud_base: 115200, close_delay: 19264, divisor: 0

        closing_wait: 41728

        Flags: spd_normal skip_test

Querying at /dev/tt/x like you suggested yields this

setserial -a /dev/tts/0

/dev/tts/0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/tts/1

/dev/tts/1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 3

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/tts/2

/dev/tts/2, Line 2, UART: 16550A, Port: 0xd000, IRQ: 10

        Baud_base: 115200, close_delay: 19264, divisor: 0

        closing_wait: 41728

        Flags: spd_normal skip_test

Using the /dev/tts/x device name to drive things doesn't seem to be working either.

setserial /dev/tts/2 port 0xd000 irq 10 autoconfig

wvdialconf /etc/wvdial.conf

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud

ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud

ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

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

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

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

Port Scan<*1>: S2   S3   S4   S5   S6   S7

All the settings seem to agree with the output of lspci, but wvdialconf still can't do anything with it?

----------

## NeddySeagoon

[Lx]-=Mystify=-,

emerge minicom

Use that to talk to the modem directly to see if it responds.

You need to set up the serial port within minicom to be the same as your /dev/ttyS2.

Like you say, setserial seems to have done it thing correctly.

I don't use wvdial, so I can't offer configuration advice.

It would be useful to provoke an error message from setserial to make sure you get one. What does it say about /dev/ttyS3, which you don't have.

Getting back to minicom, heres some things to try.

Type AT and press return, the modem should say OK.

Type ATZ look for OK

Type ATDT<isp_pone_number> Modem should dial and negiotiate  the link. It might even ask you for your login.

If this works, then the problem is wvdial.

----------

## Progman3K

Hello again,

OK, I emerged minicom, and even after configuring it, the modem remained silent.

On a hunch, I powered-down and removed the card, and put it in a different slot.

now lspci gives the following:

0000:00:00.0 Host bridge: Silicon Integrated Systems [SiS] 746 Host (rev 10)

        Subsystem: Unknown device 1849:0746

        Flags: bus master, medium devsel, latency 0

        Memory at d0000000 (32-bit, non-prefetchable)

        Capabilities: [c0] AGP version 3.0

0000:00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SG86C202 (prog-if 00 [Normal decode])

        Flags: bus master, fast devsel, latency 32

        Bus: primary=00, secondary=01, subordinate=02, sec-latency=32

        I/O behind bridge: 0000a000-0000afff

        Memory behind bridge: cfd00000-cfefffff

        Prefetchable memory behind bridge: afa00000-cfbfffff

        Expansion ROM at 0000a000 [disabled] [size=4K]

0000:00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS963 [MuTIOL Media IO] (rev 25)

        Flags: bus master, medium devsel, latency 0

0000:00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016

        Flags: medium devsel, IRQ 11

        I/O ports at 0c00 [size=32]

0000:00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (prog-if 80 [Master])

        Subsystem: Unknown device 1849:5513

        Flags: bus master, medium devsel, latency 128

        I/O ports at ff00 [size=16]

0000:00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] Sound Controller (rev a0)

        Subsystem: Unknown device 1849:7012

        Flags: bus master, medium devsel, latency 32, IRQ 10

        I/O ports at dc00

        I/O ports at d800 [size=128]

        Capabilities: [48] Power Management version 2

0000:00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f) (prog-if 10 [OHCI])

        Subsystem: Unknown device 1849:7001

        Flags: bus master, medium devsel, latency 32, IRQ 10

        Memory at cfffd000 (32-bit, non-prefetchable)

0000:00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f) (prog-if 10 [OHCI])

        Subsystem: Unknown device 1849:7001

        Flags: bus master, medium devsel, latency 32, IRQ 10

        Memory at cfffe000 (32-bit, non-prefetchable)

0000:00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller (prog-if 20 [EHCI])

        Subsystem: Unknown device 1849:7001

        Flags: bus master, medium devsel, latency 32, IRQ 11

        Memory at cffff000 (32-bit, non-prefetchable)

        Capabilities: [50] Power Management version 2

0000:00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 90)

        Subsystem: Unknown device 1849:8201

        Flags: bus master, medium devsel, latency 32, IRQ 10

        I/O ports at d400 [size=fffe0000]

        Memory at cfffc000 (32-bit, non-prefetchable) [size=4K]

        Expansion ROM at 00020000 [disabled]

        Capabilities: [40] Power Management version 2

0000:00:0c.0 Communication controller: TOPIC SEMICONDUCTOR Corp TP560 Data/Fax/Voice 56k modem

        Subsystem: TOPIC SEMICONDUCTOR Corp TP560 Data/Fax/Voice 56k modem

        Flags: medium devsel, IRQ 11

        I/O ports at d000

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (rev 01) (prog-if 00 [VGA])

        Subsystem: Asustek Computer, Inc.: Unknown device c006

        Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 11

        Memory at c0000000 (32-bit, prefetchable) [size=cfec0000]

        I/O ports at a800 [size=256]

        Memory at cfef0000 (32-bit, non-prefetchable) [size=64K]

        Expansion ROM at 00020000 [disabled]

        Capabilities: [58] AGP version 3.0

        Capabilities: [50] Power Management version 2

0000:01:00.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (Secondary) (rev 01)

        Subsystem: Asustek Computer, Inc.: Unknown device c007

        Flags: bus master, 66Mhz, medium devsel, latency 32

        Memory at b8000000 (32-bit, prefetchable)

        Memory at cfee0000 (32-bit, non-prefetchable) [size=64K]

        Capabilities: [50] Power Management version 2

Seemingly, the IRQ has changed from 10 to 11, and it seems to be sharing IRQ 11 with the video card. Maybe that's normal. I'm not sure.

The I/O port has remained unchanged at 0xd000

Now if I query each /dev/ttySx

I get this -

setserial -a /dev/ttyS0

/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/ttyS1

/dev/ttyS1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 3

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/ttyS2

/dev/ttyS2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 4

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/ttyS3

/dev/ttyS3, Line 3, UART: unknown, Port: 0x02e8, IRQ: 3

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal

Which actually makes sense. I seem to remember that Com1 and Com3 shared the same interrupt (same as Com2 and Com4) back in the old days of DOS, although it probably has nothing to do with DOS.

So it was probably a mistake on my part to try to configure the PCI card onto any of ttyS0 to ttyS3

But if I try setting the adapter to the next slot, like this

setserial -a /dev/ttyS4

/dev/ttyS4, Line 4, UART: unknown, Port: 0x0000, IRQ: 0

        Baud_base: 0, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal

setserial /dev/ttyS4 port 0xd000 irq 11 autoconfig

Cannot set serial info: Invalid argument

setserial /dev/tts/4 port 0xd000 irq 11 autoconfig

Cannot set serial info: Invalid argument

I'm really stuck now... Any ideas?

----------

## NeddySeagoon

Progman3K,

When you move things around on the PCI bus you need to get the BIOS to reassign resources. On the page that allows you to assign interrupts, there is an option that says some like Assign ... Disabled. Its a one shot thing. Set it to enabled and the BIOS will reassign resources to take account of the new or moved card at the next boot. It will go back to disabled automatically. 

Interupt sharing on PCI devices is harmless.

You are correct anot PC hardare sharing IRQs for com1: and com3: and com2: and com4:

You cannot assign serial port /dev/ttyS4 because the kernel default is to only allow four serial ports. If you want more, you need to rebuild the kernel.

Turn off one of your motherboard serial ports and allocate that one to the modem, then try again.

----------

## Progman3K

By following the procedure listed here

http://www.math.sunysb.edu/~comech/tools/PCImodems.html

I finally got the modem "working"

It seems to work best if the internal modem is assigned to /dev/ttyS3 like the example. Is that a normal thing? Should /dev/ttyS3 always be the chosen device in a case like this?

Another question; what is the relation between say

/dev/ttyS3

and

/dev/tts/3  ?

Do they share the device in some way? Is there a correlation between /dev/tts/0 and /dev/ttyS0 ? What is it?

If I set the attributes of one with setserial, do I also have to set the properties of the other?

I've tried so many combinations, and now it works, but I don't know if it will still work if I reboot.

Sometimes I would get the following error. I'm not sure why...

I think it might have something to do with the fact that I may have already issued the command and if you repeat it, it causes this error:

./MAKEDEV tts/0; chmod 666 /dev/tts/0

.devfsd presence implies active DevFS.  Aborting MAKEDEV invocation.

But if there is really something about DevFS I should know, please tell me.

To try and ensure it DOES work when I'll restart, I added the following line near the end of my /etc/init.d/bootmisc file:

/sbin/makecom.sh

The referenced file contains these lines:

cd /dev; test -c ttyS3 || ./MAKEDEV ttyS3; chmod 666 /dev/ttyS3

setserial /dev/ttyS3 uart 16550A port 0xd000 irq 11 baud_base 115200 spd_vhi skip_test

#setserial /dev/ttyS3 uart 16550A port 0xd000 auto_irq baud_base 115200 spd_vhi skip_test

ln -sf /dev/ttyS3 /dev/modem

I'm commenting one of the two 'setserial' lines because I am not sure if I should explicitly demand interrupt 11 or let the system determine the interrupt by itself (See the 'setserial -a' query commands below) and I figure I may have to restart once or twice to see.

Here is the output of the system tools, in case you can glean any understanding from it, following the dumps, I put the trace for two different ppp session clients, and as you'll see, everything is peachy, but the remote hosts ends up hanging up on me.

------------ CONFIG DUMP

cat /proc/pci

  Bus  0, device  12, function  0:

    Communication controller: TOPIC SEMICONDUCTOR Corp TP560 Data/Fax/Voice 56k modem (rev 0).

      IRQ 11.

      I/O at 0xd000 [0xd007].

setserial -a /dev/tts/0

/dev/tts/0, Line 0, UART: 16550A, Port: 0xd000, IRQ: 11

        Baud_base: 115200, close_delay: 61952, divisor: 0

        closing_wait: 47104

        Flags: spd_vhi skip_test

setserial -a /dev/tts/1

/dev/tts/1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 11

        Baud_base: 115200, close_delay: 50000, divisor: 0

        closing_wait: 50880

        Flags: spd_normal skip_test

setserial -a /dev/tts/2

/dev/tts/2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 4

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/tts/3

/dev/tts/3, Line 3, UART: 16550A, Port: 0xd000, IRQ: 0

        Baud_base: 115200, close_delay: 0, divisor: 0

        closing_wait: infinte

        Flags: spd_vhi skip_test auto_irq

setserial -a /dev/ttyS0

/dev/ttyS0, Line 0, UART: 16550A, Port: 0xd000, IRQ: 11

        Baud_base: 115200, close_delay: 61952, divisor: 0

        closing_wait: 47104

        Flags: spd_vhi skip_test

setserial -a /dev/ttyS1

/dev/ttyS1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 11

        Baud_base: 115200, close_delay: 50000, divisor: 0

        closing_wait: 50880

        Flags: spd_normal skip_test

setserial -a /dev/ttyS2

/dev/ttyS2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 4

        Baud_base: 115200, close_delay: 500, divisor: 0

        closing_wait: 30000

        Flags: spd_normal skip_test

setserial -a /dev/ttyS3

/dev/ttyS3, Line 3, UART: 16550A, Port: 0xd000, IRQ: 0

        Baud_base: 115200, close_delay: 0, divisor: 0

        closing_wait: infinte

        Flags: spd_vhi skip_test auto_irq

----------- TESTS

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: ATDTxxxxxxxxxx

--> Waiting for carrier.

ATDTxxxxxxxxxx

CONNECT 45333/

T

belmoncnas44 lA

ccess Prohibite

Username:

--> Carrier detected.  Waiting for prompt.

Username:

--> Looks like a login prompt.

--> Sending: username

username

Password:

--> Looks like a password prompt.

--> Sending: (password)

1

Selection:

SSfelection:

Ent 1PPP mode.

AsynTUf is 1500 bytes

~1[7f]}#@!}!l} &}"}&rp3/~

--> PPP negotiation detected.

--> Starting pppd at Fri Apr 30 19:00:07 2004

--> pid of pppd: 13582

--> Using interface ppp0

--> Disconnecting at Fri Apr 30 19:00:30 2004

--> The PPP daemon has died: A modem hung up the phone (exit code = 16)

--> man pppd explains pppd error codes in more detail.

--> Try again and look into /var/log/messages and the wvdial and pppd man pages for more information.

Here's what /var/log/messages recorded during the session.

19:00:07 pppd[13582]: pppd 2.4.2 started by root, uid 0

19:00:07 pppd[13582]: Using interface ppp0

19:00:07 pppd[13582]: Connect: ppp0 <--> /dev/tts/3

19:00:30 pppd[13582]: Modem hangup

19:00:30 pppd[13582]: Connection terminated.

19:00:30 pppd[13582]: Exit.

If I try with pon, I get the following in /var/log/messages

19:14:24 pppd[13815]: pppd 2.4.2 started by root, uid 0

19:14:25 chat[13816]: abort on (BUSY)

19:14:25 chat[13816]: abort on (NO CARRIER)

19:14:25 chat[13816]: abort on (VOICE)

19:14:25 chat[13816]: abort on (NO DIALTONE)

19:14:25 chat[13816]: abort on (NO DIAL TONE)

19:14:25 chat[13816]: abort on (NO ANSWER)

19:14:25 chat[13816]: abort on (DELAYED)

19:14:25 chat[13816]: send (ATZ^M)

19:14:25 chat[13816]: expect (OK)

19:14:25 chat[13816]: ATZ^M^M

19:14:25 chat[13816]: OK

19:14:25 chat[13816]:  -- got it

19:14:25 chat[13816]: send (ATDTxxxxxxxxxx^M)

19:14:26 chat[13816]: expect (CONNECT)

19:14:26 chat[13816]: ^M

19:14:51 ttyS3: 1 input overrun(s)

19:14:51 chat[13816]: ATDTxxxxxxxxxx^M

19:14:51 chat[13816]: CONNECT

19:14:51 chat[13816]:  -- got it

19:14:51 chat[13816]: send (^M)

19:14:51 chat[13816]: expect (Username:)

19:14:51 chat[13816]:  45333/

19:14:51 chat[13816]: belmoncnas29 ln-autorise inte^M

19:14:51 chat[13816]: Username:

19:14:51 chat[13816]:  -- got it

19:14:51 chat[13816]: send (username^M)

19:14:52 chat[13816]: expect (Password:)

19:14:52 chat[13816]:  username^M

19:14:52 chat[13816]: Password:

19:14:52 chat[13816]:  -- got it

19:14:52 chat[13816]: send (??????)

19:14:52 chat[13816]: send (\d)

19:14:53 pppd[13815]: Serial connection established.

19:14:53 pppd[13815]: using channel 23

19:14:53 pppd[13815]: Using interface ppp0

19:14:53 pppd[13815]: Connect: ppp0 <--> /dev/ttyS3

19:14:54 pppd[13815]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8290b3> <pcomp> <accomp>]

19:14:57 pppd[13815]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8290b3> <pcomp> <accomp>]

19:15:00 pppd[13815]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8290b3> <pcomp> <accomp>]

19:15:03 pppd[13815]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8290b3> <pcomp> <accomp>]

19:15:06 pppd[13815]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8290b3> <pcomp> <accomp>]

19:15:09 pppd[13815]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8290b3> <pcomp> <accomp>]

19:15:12 pppd[13815]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8290b3> <pcomp> <accomp>]

19:15:15 pppd[13815]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8290b3> <pcomp> <accomp>]

19:15:17 pppd[13815]: Hangup (SIGHUP)

19:15:17 pppd[13815]: Modem hangup

19:15:17 pppd[13815]: Connection terminated.

19:15:18 pppd[13815]: Exit.

----------------------------- 

So I don't know why the remote host is hanging up on me, but it *might* have to do with inactivity. The error is always "modem hangup", but is it MY modem hanging up, or the remote?

If you have any observations, PLEASE let me know.

Thank you.

PS - Minicom works too!

----------

## NeddySeagoon

Progman3K,

Glad to hear you have got the hard bit working.

Many of the entries in /dev are not the real device files. Instead, they are symbolic links (... to other symbolic links) that point to the real device files. In the case of /dev/ttyS* you have *Quote:*   

>  ls -al /dev/ttyS*
> 
> lr-xr-xr-x  1 root root 5 May  1 11:47 /dev/ttyS0 -> tts/0
> 
> lr-xr-xr-x  1 root root 5 May  1 11:47 /dev/ttyS1 -> tts/1
> ...

 

Its not quite so useful here but think about /dev/cdrom (which is also a symlink). If it points to my CD-RW, then some days I can use it as and IDE drive, other days as emulated SCSI, which in reality needs different device special files but devfs always points the symbolic link to the right place.

Most of the time, symbolic links behave as if they were the real device file. There are exceptions, so its aways worth checking when something doesn't work. (e.g. xawtv needs the real device file)

I didn't know I had a /etc/init.d/bootmisc file. You should not change the Gentoo supplied scripts. One day, you will do a etc-update and wonder why your modem doesn't work.

List the commands you want executed in /etc/conf.d/local.start. Gentoo treats this file as a script but etc-update doesn't touch it.

```
setserial /dev/tts/3 uart 16550A port 0xd000 irq 11 baud_base 115200 spd_vhi skip_test 
```

 should do nicely.

Gentoo will already have created the real device file there and the /dev/ttyS3 symbolic link. You should demand the interrupt - autodetect doesn't always get it right.

Your  *Quote:*   

> ln -sf /dev/ttyS3 /dev/modem

 creates a symbolic link to a symbolic link, which is not wrong, its just harder for the PC and you to follow.

Your dialogue shows that you successfully logged into your ISP and both ends started PPP but something went wrong with the PPP setup, so the ethernet link was not established.

I'm not a PPP user, so I can't help much more.

----------

## xeonburn

NeddySeagoon. Yes, it is an AC97 modem.

lspci 

```

0000:00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 03)

```

lspci -n

```

0000:00:1f.6 Class 0703: 8086:24c6 (rev 03)

```

----------

## Progman3K

I'm nearly there!

The modem dials, and now it's no longer 

error #16 (link was terminated by the modem hanging up)

but instead when I call, the modems connect and a ppp negotiation session begins, but it seems one-sided:

My computer repeatedly send LCP requests, but never seems to get any response.

I know the serial port is OK because the login works, but it almost feels like the moment pppd starts negotiating, it is either sending on the wrong port, or at the wrong data rate, like if I am in E-7-1 and the remote host is in N-8-1...

Either way, it's like if the remote host is ignoring the requests and pppd times out because of it.

The error now is -

error #10 - The  PPP  negotiation failed, that is, it didn't reach the point              where at least one network protocol (e.g. IP) was running.

Here's the output of wvdial, and /var/log/messages

#wvdial myisp

--> 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: ATDTxxxxxxxxxx

--> Waiting for carrier.

ATDTxxxxxxxxxx

CONNECT 45333/

login:

--> Carrier detected.  Waiting for prompt.

login:

--> Looks like a login prompt.

--> Sending: user

user

Password:

--> Looks like a password prompt.

--> Sending: (password)

PPP session from[11]gpW}'}"}(}"[17]`~~

[7f]}#@!}!}"} }4}"

--> PPP negotiation detected.

--> Starting pppd at Sat May  1 16:49:51 2004

--> pid of pppd: 9034

--> pppd:  Defaults

--> Using interface ppp0

--> pppd:  Defaults

[...] same request 12 times [...]

--> pppd:  Defaults

--> Disconnecting at Sat May  1 16:50:21 2004

--> The PPP daemon has died: PPP negotiation failed (exit code = 10)

16:26:57 pppd[8733]: pppd 2.4.2 started by root, uid 0

16:26:57 pppd[8733]: using channel 3

16:26:58 pppd[8733]: Using interface ppp0

16:26:58 pppd[8733]: Connect: ppp0 <--> /dev/pts/7

16:26:58 pppd[8733]: sent [LCP ConfReq id=0x1 <magic 0x7735a6fd> <pcomp> <accomp>]

[...] same request 12 times [...]

16:27:31 pppd[8733]: sent [LCP ConfReq id=0x1 <magic 0x7735a6fd> <pcomp> <accomp>]

16:27:34 pppd[8733]: LCP: timeout sending Config-Requests

16:27:34 pppd[8733]: Connection terminated.

16:27:34 pppd[8733]: Waiting for 1 child processes...

16:27:34 pppd[8733]:   script pppd (charshunt), pid 8743

16:27:34 pppd[8733]: Script pppd (charshunt) finished (pid 8743), status = 0x0

16:27:34 pppd[8733]: Exit.

Here's the contents of my ppp options file:

lock

record /tmp/ppp

defaultroute

debug

crtscts

modem

default-asyncmap

Thank you in advance for any help!

----------

## MasterX

Sorry to bring this modem setup up, but I am having some troubles.

I have build in the kernel the 3 things that I need to have. Dmesg shows that the modem should be under /dev/ttyS3. lspci -v shows the modem. The irq of the modem is the same with the irq of the ethernet card. Can this be a problem?

I run the command setserial /dev/ttyS3 ....

and setserial -a gives the right answer. 

However, kppp reports that the modem is busy and minicom ... can not dial.

Can someone explain to me what I am doing wrong. 

I am using 2.6.7 kernel and this modem works under linux. It was working when I had RedHat, it is a matter of configuration

Thank you

----------

## MasterX

A more usefull command is

setserial -bg  /dev/ttyS*

About the minicom I had to set the serial port to /dev/ttyS4, close minicom and restart it. And for kppp, I had to make a symlink to /dev/modem.

Now, everything works.

I knew that I was very close to the solution   :Very Happy: 

----------

