Modem anomaly
I bought the 6 CD plus manual Slackware 12.0 set, installed, cohabiting the HD with Windows 2000 Pro - then discovered winmodems. It seemed more efficient to buy an external modem that try to get my PCI Netodragon to work. I acquired a Hayes Accura External V92 serial modem and removed the Netodragon. It works fine with W2K, connection usually at either 24.0kbps or 26.4kbps, either fast enough to support my needs on the Internet.
Here's the anomaly. After booting Slackware, if I logon as root, then startx and bring up KDE, then run KPPP, the modem dials and connects correctly to my ISP, however, the response is sluggish, noticeably slower than W2K. (Yes, I'm aware logging on as root is to be avoided. However, I did so for the sake of comparison to logging on as user to see if there was any difference.) If I log on as user, startx, KDE, KPPP, the modem connects properly but may as well not since enabling the log shows barely any activity on the graph. The parameter values entered to KPPP are identical between the root and user KDE's. Any suggestions on how to determine the problem? I did setserial -a /dev/ttyS0 and found what I expected, including IRQ 4- From some source in my research a comment was made that perhaps there was an IRQ conflict perhaps with the mouse. I don't know how to find which IRQ the mouse is using, however, for testing, while the modem was attempting to communicate I moved the mouse around to see if there was any effect....there was not. In addition, I followed the Slackware manual suggestion and ran pppsetup in console mode. If I run ppp-on, once again the modem dials and connects properly, however, from there I'm not sure what to run in console mode. I did find, however, doing ppp-on, even though it connects the modem, apparently KDE does not know about it. Any and all suggestions appreciated...I've been searching many sources for solutions and suggestions and I'm stuck. |
It has been a while since I used a serial modem, but I suspect that your problem is arising from using both ppp and KPPP.
KPPP actually creates files in a subdirectory of the /etc/ppp directory and creates new entries in /etc/resolv.conf when it runs. When KPPP exits, it is supposed to reverse these changes, but if something goes wrong, then things can get screwed up. The sluggishness may be due to incorrect entries in /etc/resolv.conf, so that the DNS name servers are not being accessed efficiently. Check that your resolv.conf contains entries like these: Quote:
|
Thanks for the response. To complicate matters, I found the Hayes modem began stalling under Windows so I removed it and reinstalled the Netodragon. However, I can still test things just by turning it on before booting Linux. I'll be doing so anon, and I'll check out the /etc/resolv.conf file and see what happens.
G |
KPPP can monitor the actual dataflow rate.
|
Guanx - yes, I found that, and that was the graph I mentioned in the first post, and as I recall, showed a red line for send and a blue for receive, but I may have those backwards.
in re resolv.conf, I did not find "search <isp>"however, I did find "nameserver" with an IP address that I presume would be the same as that referred to in W2K as "remote", and the two urls were not even close. Within windows and Firefox, I entered the url from resolv.conf and eventually the connect timed out. Next check will be to change the values to those W2K posted and see what happens. btw, besides resolv.conf in /etc I also found resolv.conf.3080 and resolv.conf.3011...any idea what those are, how they got there, what they are used for and by whom? |
Quote:
|
Update -
I've managed to get my old Practical Peripherals 56K MiniTower modem to work. In the process of trying to discover the problem, I've now installed Ubuntu, PClinuxOS and SuSE. All three gave different results, none worked not matter what I did. I've returned to Slackware, still determined to find the problem, which persists. (I still have to access this forum via Windows.) In the process of continuing research I've encounter WVdial. I'm curious if anyone has experience with this tool and if it replaces ppp-go or Kppp? If so, what would be the sequence of using it? That is, as with ppp-go from the command line, then startx (and KDE), or? I'm hoping it will provide more diagnostic information. |
You say that everything works fine with Windows, but you consistently have problems with various Linux distributions. One difference between Windows and *nix is that the latter implement DCD on the serial port. Does your cabling support this?
I have not used wvdial, but there is a Slackbuild script for it. |
DCD being Data Carrier Detect, controlled at the modem via AT&c0-2, which brings back fond memories of using Telix and Minicom. However...the serial cable I'm using is new, came with the Hayes Accura modem (I've no way of determining whether it is supported...documentation says pin 1 is DCD).
I would like some means of viewing the dialog between the software and the modem, and subsequently the dialog between the opsys and the ISP. That might provide some clues, however, I've yet to find the means. The point remains, the modem works fine with Windows, without any difficulty. With the other distros, the problems are all different. With PCLinuxOS, using kppp, the modem dials, negotiates, and within a few seconds, terminates. I have as yet no way to determine why. With Ubuntu, nothing happened. With UsSE, I got to see the dialog, and the responses from the ISP were not what the software expected so no connection occurred. As noted with Slackware, the modem connects, connection is made with the ISP, and then communication is so slow it is of no use. So. I need to know the means to see the dialog. |
You can use minicom to connect directly and send/see AT commands, etc.
wvdial can be used and is pretty easy to work with. I'll confirm what someone said above -do not mix pppsetup and kppp. Chose one or the other but do not try to use both. If you already have, uninstall the packages which contain those files, and delete all the files under /etc/ppp and then reinstall the packages. One problem with pppsetup is that it does not work for using dynamic DNS. Years ago, my very first scripting project under Linux was to re-write pppsetup so that it would use dynDNS and only ask the minimum of questions. Many people have gotten their modem working by using it, so yo might want to try it: http://distro.ibiblio.org/pub/linux/...ects/ispsetup/ Just download the gzipped script and unpack somehwere in your path. Then run 'ispsetup' and answer the questions it'll only ask for your username, password, the phone number and the modem location (usually /dev/ttyS0). Then run ppp-on to start. Use some other program besides kppp to monitor the connection. Again -do not mix kppp and pppsetup. |
Thanks, gnashly...I'll give it a try. I won't bore you with the many frustrations I've encountered, including the hardware failure of IDE channel 1. The computer gods have not been smiling...laughing, perhaps..not smiling.
G |
I wish to chronicle events in my attempts to get this modem to work properly, because I believe it will illustrate a couple of things: first, why Linux in its current incarnation will never replace Windows in any flavor, and second, why I find dealing with Linux to be so frustrating.
Prior to my litany, I wish to point out my background. I spent my professional career as an IBM mainframe systems programmer. My primary and preferred programming language is Assembly. That's true for the PC as well. That ought to provide sufficient bona fides. That is, I am quite familiar with computers, with computer hardware, with computer peripherals, with PC's and their peripherals. I have built my own PCs from the ground up, installed and maintained several operating systems. I retired after having had my own computer service bureau for 10 years, preceded by several years of technical consulting. I wrote, documented, and sold several utility software programs, some of which are still in use today. That being said, the following is essentially an indictment and if others are not interested in my complaints, read no further. In the last post in this thread, a link was provided to a modified script, "ispsetup" which was suggested by the author to use in an attempt to get my modem to work properly. Since I have no Internet access on this machine, I used my laptop, connected to the Internet via DSL at another location to download the script. I downloaded it to a Kingston USB memory stick, which seemed the easiest way to transport the script to this machine. With the stick inserted in a USB slot, I booted up Linux. Looking at dmesg in /var/log I find the following: Code:
scsi 4:0:0:0: Direct-Access Kingston Data Traveler 2.0 PMAP PQ: 0 ANSI: 0 CCS Konqueror>Storage Media The Kingston appears as the last device File type Unmounted removable medium Click on Kingston yields a Konqueror error message window with the following text: Code:
A security policy in place prevents this sender from Properties name KINGSTON type Unmounted Removable Medium location / (media) size (blank) Top tab Meta Info Device node /dev/sda1 Mounting (various boxes unchecked) Mount point /media/ (at the bottom) File system: vfat Within the dropdown box, at the bottom is Mount Click on mount yields the same Konqueror error message noted above. Exit KDE, return to console mode. Exploring various files, I find sda1 does not exist in /media, however, it does exist in /dev. /mnt does not contain sda1 either, however, it does have /memory as a mount point. On a hunch, I decided to try the following mount command: Code:
mount -t auto /dev/sda1 /mnt/memory Comments: I'm curious if the device is not mounted, and therefore theoretically inaccessible, how Konqueror could know the file system thereon was vfat. Secondly, and more importantly, the error message provided by Konqueror is completely worthless. It means absolutely nothing unless one is quite familiar with arcane internals. There is no reference, anywhere within the error message for solution to the problem, let alone a description of the problem. Trying to understand the mount command by reading man pages is a joke. The problem here is obviously a mount problem, however, no documentation I found, in extensive searches of the Internet provided any help. Now, lets finish with the grand finale. I managed to get the Kingston mounted, and further, managed to install the ispsetup script in its proper place. Being curious about the format of the script, I read through it some, and found buried within a minor comment to the effect that in order to run the script, I had to have "dialog" installed, something that was not mentioned in the .txt file accompanying the script. I did a man dialog, and there it was. Further, again out of curiosity, I ran dialog without parameters and was presented with the help page. So far, so good. I tried then to run ispsetup. (Note that I'm still logged on as root.) I received a two word message: Permission denied. That's very helpful. Permission denied, by whom, for what reason? Another read of the script showed this error message does not exist in the script. It first tests to ensure you are logged on as root, then tests for the existence of "dialog" and does some other preliminaries then gets on with the task at hand. Who issued the error message? How do I find out? Where is it documented? So far, absolutely the most frustrating thing about Linux is the piss poor documentation. I found long ago, the most difficult part of any program was error recovery, and the second most difficult was providing accurate documentation for the poor slob who was going to run into errors. By far and away, what Linux, in toto, lacks is exactly that. And finally...regardless the frustration, I am determined to make this thing work, and to make it work my way. I intend to get this modem functional come hell or highwater, then after that, find how to put plugins into Firefox that support midi, then how to customize my kernel so it runs lean and mean, then how to get assembly working the way I want it. |
The error message came from the shell. One of the *pluses* of *nix is that we have permissions settings. The script must be made executablw itht eh command 'chmod 755 ./ispsetup'. You can then run the script directly from the shell with the command ./ispsetup. You could also execute the script without setting the execute bit by running it with the command 'sh ispsetup' or 'bash ispsetup'. If you've worked around any *nix systems you surely must know these basic facts?
dialog is a text-based UI tool which uses the curse or nucrse lbrary to present console dialog boxes where you can use the cursors keys and even the mouse, sometimes to navigate through any menus os list selection 'widgets'. running the utility requires you te be root because the tool with modify or create configuration files for dialup facilities. Usually normal users are not allowed to do these things for security reasons. You can change the permissions to setuid (2755) if you want to allow non-root users to run the tool. The same goes for running the ppp-on ppp-off scripts which actually make the connection. |
From CHANGES_AND_HINTS.TXT:
Quote:
As for the rest of your criticism/rant on linux. I'll just assume you let your frustration get the better of you and not comment on them further, suffice to say that I don't share your opinion or conclusions. |
I found the problem. Like a novice, I forgot RTFM...in this case, I failed to read all of ispsetup.txt, which mentioned a little command called "chmod". Having done that, ispsetup now works.
Before continuing, prior post was a rant, obviously, an expression of frustration. I subsequently bought "Linux Bible" by Christopher Negus and Slackware is his preferred distribution for the exact same reasons I obtained it in the first place, which is it is a most hands-on Op Sys allowing direct control of just about every aspect. That said, on to the next problem. As mentioned, ispsetup run, and then...what I want to do is establish the connection within startx/KDE. If I run ppp-go prior to issuing the startx command, Firefox within KDE does not see the connection. It appears the dialup connection is good, based upon the rapid flickering of TX and RX on the modem and logging of IP addresses and such. So. How do I establish the connection so that Firefox in KDE will use it? Secondly, in an attempt to see if the connection was working outside of X, I tried BitchX, having had some experience with IRC Chat. How do I exit BitchX? The only way I could get it to stop was ctl-alt-del. Thanks for your patience, folks. I WILL get this sucker to work. |
Quote:
|
"Changes and hints" and a lot of other good documentation is in the root directory of the install disk, or on the slackware ftp servers if you don't have your install disk to hand.
|
I have the install disk to hand...thanks. I'll read on.
I still have no idea how to establish the connection to the Internet via the modem such that Firefox within KDE recognizes it. I'm using ppp-go to make the connection, however, even console apps, like BitchX don't seem to find it. Any suggestions? |
Well, I appear to be flying solo on this one.
I'm wondering if there isn't an issue with the ppp daemon. It would appear, based upon viewing bootlog, that it is not being loaded. Is there any way to determine if it has been loaded, and if not, how to ensure it is loaded at boot time. What is the method to load the daemon after boot? |
ppp-on and ppp-off (and others) control that unless you set up on-demand dialing. You can use 'ping'(ping google.com) to find out if a good connection is being made. Do not mix KDE ppp tools with your use of pppsetup or ispetup or neither will work.
Do you have firewall running? |
I think that you should be using KPPP to do this. It really is easier, although I do recall that it can be intimidating.
Excuse me if this is out of date, but I am referring to an old box running Slackware 11.0, so things may have changed a little. As the root user, start a KDE session and then start KPPP. Hit "Configure..." On the "Modems" tab do "New" ( or "Edit" your existing setup). On the "Device" tab enter a Name e.g. Hayes, Modem device /dev/modem, Flow control Hardware [CRTSCTS], Line termination CR, Connection speed 115200 ( or maximum that your serial port supports), check Use lock file and set Modem timeout to 60 sec. On the "Modem" tab, check Wait for dial tone before dialling, set Busy wait to 0 sec and Modem volume to mid range. Now hit "Modem Commands". As you have a Hayes modem, then the default Hayes commands should be OK, but for initial setup, set the Pre-init delay, Post-init delay and Dialing speed to maximum. You can cut these back later to shorten the connect time, but at this time you want to be sure that you can get things to work. Hit OK when done, and you will return to the "Modem" tab. Now hit "Query modem". This should connect to your modem. If it does not, then open a shell window, and type 'ls -l /dev/modem'. This should be a symlink to /dev/ttyS0. If it is not, then create it with 'ln -s /dev/ttyS1 /dev/modem' and try "Query modem" again. To this point all that has happened is to set up communication between the computer and the modem via the serial connection. You should now be able to hit "Terminal..." and type command such as ATZ that will be sent to the modem and you should get a response OK. To actually connect to the internet, you will need to set up your account information from your ISP under the "Accounts" tab in KPPP. On the "Dial" tab you name your connection, enter the dialup phone number, set your Authentication type (often PAP), get KPPP to store your password ( or leave this clear iuntil you are happy that all is OK), set Callback type to None and do NOT Customize pppd Arguments. On the "IP" tab, set Dynamic IP address if your ISP uses DHCP (like the vast majority). On the "Gateway" tab, set the Configuration to Default gateway and check Assign the default route to this gateway. On the "DNS" tab, check Automatic if your ISP uses DHCP. Alternatively you can set Manual and provide DNS server addresses if you want to set these. This should be all that is required to set up a basic dialup connection using KPPP. |
Quote:
Secondly, if I wanted to try out the two different techniques, what files are created that would conflict? I notice when I run ispsetup that it deletes resolv.conf in /etc. Apparently that file is created when netconfig is run. And in regard running netconfig, it suggests settup up loopback if dialup is going to be used. The result then is that resolv.conf has merely the host name of my PC, which apparently can be anything, and further has zero effect on anything. In my explorations, I finally discovered Midnight Commander. It would have been of immense assistance had anyone mentioned this fine tool. It is the equivalent of the old Qfiler program for MS-DOS and the current Total Commander for MS Windows. |
Quote:
Secondarily, and a question still not answered is if I use ispsetup to create the files required to make the connection, then do ppp-on, the connection is made, however, I'm in CLI mode. If I then startx and initiate KDE, no software within KDE recognizes the connection. How do I make the software within KDE recognize the connection? Note, that even if I can accomplish that, I suspect I will get the same results as noted, namely that there will be no traffic. |
OK- You say that you can get a connection with the hardware. Perhaps there is a networking problem that is stopping packets entering your system.
What is the output of 'ifconfig'? You should have a ppp0 interface. Can you ping your ISPs DNS server addresses? Are you running a firewall? Perhaps there is an issue with firewall rules. Perhaps there is a routing problem. What is the output of 'route'? |
Quote:
Regardless, I did startx/KDE, opened a terminal window and ran ispsetup then ppp-go. That script logged the following: Code:
Connect: ppp0 <--> /dev/ttyS0 Code:
lo Link encap: Local Loopback Code:
5 packets transmitted 0 received 100% loss The following was received from the route command: Code:
destination (the remote IP) Gateway * Genmask 255.255.255.255 Secondly, how do I get applications within KDE to recognize the dialup connection if I don't use Kppp to establish the connection? |
Quote:
If you have done a fresh install, then I suspect that you do not a firewall running. Quote:
Quote:
Some receive and transmit errors can occur, but this seems to be too many. This may be a hardware problem, yet you say that this all works without any problem with Windows. Puzzling. If you connect from Windows, what is the output of 'ipconfig' and 'route -print'? One other thing, you refer to "ispsetup". Have you tried "pppsetup"? |
Quote:
Quote:
Quote:
Here's the results of the Windows 2000 Pro queries: Code:
PPP adapter Yahoo: "route -print" showed a lot of data, however, the IP addr 12.73.96.166 was repeated througout. I could copy it if it would help, but I suspect not. Quote:
|
Have you tried lowering the baud rate? Perhaps you need to lower the baud rate in your linux setup. I note that you mention connect speeds of 24 or 26.4 kbps in your original post.
|
Quote:
|
At this point I would pull out the multimeter and check my cable. What you are describing is the symptoms of a system that is not receiving the signals on the DCD line.
From http://www.linux.com/base/ldp/howto/...odem-dumb.html Quote:
|
Well, I've watched the lights on the modem (it's not a dumb modem, btw...I remember those days...this is a Practical Peripherals 56K minitower, and responds to most of the query commands when "test modem" is run, either on Windows or Linux), DCD is labeled CD only, and I can see that come high when the connection is made. Initially both TX and RX flicker as the handshake takes place. I'm convinced that line is working properly and that there is no problem with the cable. I've used both the cable I originally had with the PP modem as well as a new cable that came with a modem I bought recently, a Made-in-China version of a Hayes, this one called a Hayes Accura V.92 Data/Fax modem. I get identical results with both cables and with both modems, which is to say, they both work fine with Windows 2000 Pro, they neither will receive with Slackware. Therefore, I doubt seriously the fault is in the hardware.
Yesterday, for an experiment, I changed the IRQ for ttyS0 to 5, and nothing worked. Further, I obtained the phone number of Yahoo's dialup specialists and will be talking to them as soon as I am prepared to be that patient. |
Quote:
However, when that connection is made, the modem raises DCD on the cable to the serial port of your computer. If your cables do not have the DCD line, then your serial port will not see this signal, so no data will be received. This link shows the correct wiring for a DTE-DCE cable http://circuits.epanorama.net/docume...232cables.html |
Quote:
This post is to prove my original theory since I am now logged on using the exact same hardware as before, the exact same settings as before, and the only difference being the god damned ISP. I have to admit further I have changed distros to PCLinuxOS and therefore this is an Adios. I hope this thread will be of use to any other dinosaurs like myself using dialup who encounter a similar problem will find some solutions. |
Further research yielded this fine article:
http://www.theory.physics.ubc.ca/ppp-linux.html There is a good possibility the problem resides right within what is discussed in this essay, namely that AT&T is not expressly disallowing dialup access by anyone other than Windows apps, however, that's essentially what is happening assuming they are using Microsoft's CHAP stuff. |
All times are GMT -5. The time now is 02:44 AM. |