Linmodem Post Install Problems

A compilation of problems and solutions

Offered by Jacques Goldberg
Department of Physics, Technion, Haifa, Israel

  1. Otherwise, for the impatient:

    1. The place to go if ppp (login to ISP) does not start once the right driver has been installed
    2. Motorola Si3054 no carrier, 64 bits processor has been solved by Andreas Rudin.
    3. The following instructions were written long ago for the ltmodem package for kernels 2.4 (Lucent DSP's).
    4. For other modems just replace ttyLT0 by whatever the driver needs,in the coming instructions below. In this case, it may however be simpler to read the wvdial page on this site or just access the wvdial Web site.
    5. Type which wvdial to see if you have wvdial on your machine.
    6. If not, install it from your CD's or ask Google. For RPM based system there is this shorcut : search for a name starting with the letter W.
    7. login as root or become su if this is not already the case (needed to install wvdial anyway).
    8. With more modern kernels than the one used when this note was written, write /dev/ttySLT0 where you see here, in next line for example, /dev/ttyLT0.
    9. Only if the installation of the modem driver does not create the modem in format /dev/ttyS... , link existing file /dev/ttyLT0 to /dev/ttyS14 , required to make wvdialconf find the modem.
      Have you understood that /dev/ttyLT0 does not follow the format /dev/ttyS... ?
      Remove /dev/ttyS14 after wvdialconf has successfully completed.
    10. add a line debug in /etc/ppp/options if not already there.
    11. execute wvdialconf. The command is wvdialconf /etc/wvdial.conf
    12. edit /etc/wvdial.conf. Uncomment lines made idle by # or a semicolon ; . Replace username, password and phone number by those supplied by your ISP (Internet Service Provider). Replace "ttyS14" by "ttyLT0" if your use the ltmodem driver (kernel 2.4 series).
      In the following, any line starting with a # or ; is disabled. Remove the # or ; character to enable the feature,
      Add the line #Stupid Mode = yes and yes there is a space between Stupid and Mode. Enable the feature if nothing happens, no error message, after starting wvdial until it times out.
      Add the line #Carrier Check = no
      Add and enable the line #Auto DNS = yes if your ISP shows DNS addresses while wvdial establishes the connnection but you cannot browse ("address not found").
      If you are using the SmartLink slmodem driver, enable Carrier Check = no .
    13. open an additional window as root or su
    14. in this window enter tail -f /var/log/messages | tee mydebug.txt
    15. return to first window and start wvdial
    16. watch the second window. If you see two IP addresses at the bottom (such as, you do not need me any more. Begin to work, in a new window. You can clear the messages with CTRL-C and you do not need it in future, nor the wvdialconf steps.
    17. alternately, after starting wvdial you can know if your session is ready with /sbin/ifconfig which if OK will show a pppd entry.
    18. if your reached this place, it is time to start an application (telnet, ftp, Web browser) and enjoy your modem.
    19. to stop the session and hang up the phone line, say (being root): killall pppd or hit CTRL-C in the wvdial window.
    20. for regular work, once debugged, you just need to run wvdial as su.
  2. Troubleshooting:

    1. tail command does not work (messages file not found): you have it elsewhere or with some other name. Try find /usr -name messages and if not found go read /etc/syslog.conf to find the full path of the general log file. Newcomers: do not edit /etc/syslog.conf unless you know exactly what you are doing (requires restarting syslogd).
    2. have you studied Linmodem Resources ?
    3. NO DIALTONE message: please check your IRQ's, wrong, or conflicting. Use setserial -agv /dev/modem and cat /proc/interrupts, the latter should not show the IRQ reported by the former.
    4. Still NO DIALTONE: edit /etc/wvdial.conf. By default it shows place holders or text for 3 Init strings (you can add more up to 7). Try to add ATH1 as last command in last non empty string. Return to step vwdial.
    5. Still NO DIALTONE: add AT+GCI=xx in the Init string, where xx is your HEXADECIMAL country code found here (in spite of what it says, use the AT+GCI syntax for Lucent modems). Your modem may be trying to listen to the wrong frequency.
      The country code is usually set in command slmodemd for SmartLink and compatible modems, as a two letters code. In such cases, take it from this source which is also much more complete.
    6. Still NO DIALTONE: find a cable known to work with an other modem and your phone line outlet, and try again (your cable may fail to match the phone company wiring - especially in Switzerland for example if the modem comes from elsewhere. Check that you have the right adaptor).
    7. wvdial sends ATZ, modem does not reply OK: installation failed. Reexamine all installation logs.
    8. wvdial waits for carrier, number is dialed, nothing else appears on the wvdial screen: wait for NO DIALTONE, NO ANSWER, BUSY, ...
    9. wvdial says NO CARRIER: remove leading # in line #Carrier Check = no of /etc/wvdial.conf . If the line does not exist, add it.
    10. Have you really waited for the dial tone? Hit CTRL-C to kill wvdial and verify your phone connection and the number to be dialed. Do not forget prefixes such as 9 to get an external phone line from your exchange, and the like.
    11. modem has connected but ppp does not start. Look at the ppp log for the reason. Have you forgotten to add Stupid Mode = yes in your wvdial.conf? If you see a # in this line,remove it.
    12. ppp starts but times out. Remove the leading # in line #Stupid Mode = yes of file /etc/wvdial.conf
    13. failed to authenticate? verify that there is no matching entry in /etc/ppp/chap-secrets. If you see your username and password in that file, comment the line with a leading # and retry. Warning: wvdial version 1.40 creates the line again, so use a more recent version. Note: some ISP servers use a copyrighted encryption algorithm for chap authentication, not supported by Linux pppd (at this time, at least).
    14. LCP / connection timed out: same as previous item. For more details on both, thoroughly study what does ISP want and learn about SPAP/CHAP/PAP to understand why it is so important not to have a valid entry in file chap-secrets, in order to avoid chap/spap encrypting problems.
      See the my favorite, excellent tutorial on debugging ppp.
    15. nothing helped: start minicom, set up the /dev/modem port to some reasonable baud rate, and 8N1 parity/lenth/stop bits. Try to dial the number with ATDT. If the other side answers, and nothing appears on you screen, try to hist ENTER a few times: some ISP's wait for it before prompting for the username. But some ISP's sleep until YOU start pppd (this is why you should remember Stupid Mode = yes )
    16. command AT&V will display all your modem settings. Report to us with this listing if nothing works, such as even does not dial.
    17. +++ resets the modem to command mode.
    18. (CTRL-A) Z X (not CTRL-A CTRL-Z etc...) make minicom exit
    19. CTRL-C will always kill minicom, even if seems stuck.
    20. The link works, pppd has started, you cannot reach any computer (with Netscape or telnet or ftp or whatever). If your ISP has supplied to you one or more DNS addresses (Domain Name Server), add them to file /etc/resolv.conf; the syntax is:
      nameserver 111.222.333.444
      (with the ISP's numbers of course). If your ISP has not supplied such addresses, and only if you cannot reach any other computer, add the line usepeerdns in file /etc/ppp/options.
      With wvdial, add AutoDNS = yes in file /etc/wvdial.conf .
      This mechanism can also be exploited if the machine is alternatively used for dial up to some ISP and connection to a local network (LAN,WAN): leave the LAN/WAN DNS addresses in /etc/resolv.conf, and use AutoDNS for dial up.
      Kppp users: the mechanism is controlled by the DNS setting submenu of Kppp configurator.
    21. Another cause of DNS problems is if you have an Ethernet link up.
      Type ifconfig
      If you see a block eth0 , remove it: ifconfig eth0 down
      Verify that it has gone.
    22. An more recent alternate to not being able to browse etc... is caused by a bad firewall setting
    23. The NoEC problem: some hints. More hints welcome please!
    24. see this link for a very comprehensive listing of modem commands (not all exist in all modems).
    25. Computer freezes when trying to connect to some new ISP's with ltmodem, but works fine with older ISP's. See this this note.
    26. Asking for help, include the output of /sbin/lsmod , a copy of the wvdial window, and the few lines (not the long full file) of /var/log/messages relevant to your attempt.
    27. You need to dial to dial by PULSE (old lines), not by TONE:
      -with wvdial, in /etc/wvdial.conf, replace ATDTnumber by ATDPnumber.
      -with "user friendly" dialers (gnome-ppp, kppp,...) look for a Pulse/Dial switch in the modem configuration menu.
    28. Connection hangs up at random? Try this:
      On 2/1/07, ste  wrote:
       Hello Marvin,
       the internal modem is working only at 33000, while  the serial one works
       at 48000.  Some  things I resolved:
       When it hangs up at random times with messages:
       Jan 28 23:51:17 tecra pppd[8647]: No response to 4 echo-requests
       Jan 28 23:51:17 tecra pppd[8647]: Serial link appears to be disconnected.
       Jan 28 23:51:17 tecra pppd[8647]: Connect time 26.0 minutes.
       Jan 28 23:51:17 tecra pppd[8647]: Sent 862829 bytes, received 4298381
       Jan 28 23:51:20 tecra pppd[8647]: Connection terminated.
       Jan 28 23:51:20 tecra pppd[8647]: Exit.
       resolved by changing in /etc/ppp/options at the line "lcp-echo-failure "
       the value from 4 to 10.
       Maybe this will be useful to others.
       # If this option is given, pppd will send an LCP echo-request frame to the
       # peer every n seconds. Normally the peer should respond to the
       # lcp-echo-failure option to detect that the peer is no longer connected.
       lcp-echo-interval 30
       # If this option is given, pppd will presume the peer to be dead if n
       # LCP echo-requests are sent without receiving a valid LCP echo-reply.
       # If this happens, pppd will terminate the connection.  Use of this
       # option requires a non-zero value for the lcp-echo-interval parameter.
       # This option can be used to enable pppd to terminate after the physical
       # connection has been broken (e.g., the modem has hung up) in
       # situations where no hardware modem control lines are available.
       lcp-echo-failure 10
    29. Discover edits and blacklisting.
      Read full article or at least this part:
      Try re-moving all non-essential external devices,
      reboot and rerun the:
      $ sudo wvdialconf  /etc/wvdial.conf
      If there is not a Freeze, you can try adding devices back one-at-a-time
      to  assess what causes the Freeze.
      If  removing devices doesn't suffice, try shutting off services to
      classes of devices with:
      $ sudo gedit /etc/discover.conf
      Change the lines:
      # Default settings:
      # Enable the PCI, USB, IDE, and SCSI bus scans:
      enable pci,usb,ide,scsi
      # Enable the PCMCIA scan too:
      enable pcmcia
      # The ISA bus scan causes problems on some machines, and is slow,
      # so we might not want to scan these devices:
      enable isa
      #disable isa
      # The parallel and serial scans cause problems on some machines too:
      disable parallel,serial
      # Scan for the following types of hardware at boot time:
      #boot bridge,cdrom,disk,ethernet,ide,scsi,sound,usb,video
      boot all
      # Default settings:
      # Enable the PCI, USB, IDE, and SCSI bus scans:
      enable pci,ide
      # Enable the PCMCIA scan too:
      # enable pcmcia
      # The ISA bus scan causes problems on some machines, and is slow,
      # so we might not want to scan these devices:
      enable isa
      #disable isa
      # The parallel and serial scans cause problems on some machines too:
      disable parallel,serial
      # Scan for the following types of hardware at boot time:
      #boot bridge,disk,ide
      # skipping cdrom, ethernet,scsi,sound,usb,video
      # boot all
      Reboot and again test the modem.
      If all is OK, the services can be added back one-at-a-time.
      Much narrow choises can be later by adding driver names to a file with:
      $ sudo /etc/modprobe.d/blacklist.local
      # with lines like
      blacklist ehci_hcd
      # which only disable some USB ports
      Merely blacklisted drivers can be manually after bootup with commands like
      $ sudo modprobe ehci_hcd
    30. NEW REMINDER: When wvdialconf and/or other diallers such as GnomePPP which run wvdial in their backyard seem not to detect the modem, check the name of the modem file.
      This is explained since the beginning of the existence of this site. Let me repeat it for example with the Intel driver 537EP actually beautifully maintained by Philippe Vouters.
      The driver is initialised as /dev/537. This name does not satisfy the syntax required by wvdialconf.
      Philippe rightly recommends creating a link ln -s /dev/537 /dev/modem . This should satisfy GnomePPP implemented in Ubuntu as default modem. But in that implementation there also is a button "Detect the modem" in the Setup menu. Since neither /dev/modem nor /dev/537 respect the wvdialconf syntax /dev/ttySsomething, the modem is not found when the detect button is pressed.
      To avoid this trap, just add the command ln -s /dev/537 /dev/ttyS537 .
      The Agere modems also need such care. Names such as ttyS537 are of course arbitrary, but it is good practice to keep them meaningful.

Help others too: report problems and solutions!

When asking for help, specify distribution, kernel, modem, driver, driver release, and include the wvdial log, and the ppp log found in /var/log/messages (cut away messages before and after the failing session)

Author:Jacques Goldberg
Created: 8 May 2001
Last update: 8 May 2001