Faster Linux modem-based connection

I've set up a dialup server using mgetty and pppd, but the fastest I've been able to connect to it has been 24600bps. I've adjusted the speed in mgetty.config to 115200bps. I know that the top speed I can achieve is 33.6 because of the analog limitation, but why is it that I'm not getting this speed at least. More specifically, is there other places I should adjust the speed setting?
The modem I'm dialing the server with CAN achieve 53K and usually connects to my ISP with 52000bps. The modem on the server side is a RocketModem(multimodem) card.
Thanks
LVL 3
tiboriAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
jlevieConnect With a Mentor Commented:
As long as the serial port speed is significantly greater than the line speed it won't affect the connect speed. 115200 certainly qualifies, that'll drive an ISDN modem with both B chan's up (128K/sec).

The only place else left that you have any control over is the default modem config, i.e., what state it goes to on powerup or reset. You might find some options in the modem to tweak that will allow higher connect speeds (enabling software compression, max connect speed, etc).

If none of that helps, it becomes likely that it's just the nature of the particular call and the path it takes through the phone system that limits the connection speed.
0
 
tiboriAuthor Commented:
jlevie: I've just read the FAQ on the modem maker(Comtrol)'s web site. They suggest putting the following lines in /etc/uucp/ports:
port ttyR0
type direct
device /dev/ttyR0
speed: 115200

Does this have any effect? I mean is setting the port speed in mgetty.config sufficient. Either way, I've tried it, and the connect seems faster, however I don't know how to check the true connect speed from a linux client...or the server. When I connect it says CONNECT 115200..but I would like to know the true connect speed. What do I need to check?
Thanks
0
 
tiboriAuthor Commented:
I have compression enabled, which helps. I'm not exactly sure how to set the max connect speed. Is it an initialization string issue?
Thanks.
0
A proven path to a career in data science

At Springboard, we know how to get you a job in data science. With Springboard’s Data Science Career Track, you’ll master data science  with a curriculum built by industry experts. You’ll work on real projects, and get 1-on-1 mentorship from a data scientist.

 
jlevieCommented:
We're talking about dial-in speeds, right?

Init-strings and the like don't come into play for auto-answer mode unless the modem is one of those awful things that can only remember their last state as opposed to a more conventional modem what has the normal AT registers and saved profiles.

On the assumption that it's a conventional modem... When the modem answers the call it's state is determined by the stored default profile (typically they come with reset to default on disconnect configured). It's the content of the default profile that I was referring to that you might want to examine and/or change. You'll probably need to consult your modem docs to find what the default profile is set to and how to change and save a new one. BTW: what modem is it?
0
 
tiboriAuthor Commented:
jlevie: Thanks. I'll look into that. The modem is a Comtrol PCI RocketModem II. How do I check the connect speed on a Linux client?
Thanks
0
 
jlevieCommented:
I don't know of any way to do so. A lot of modems can be queryed when they are in auto-answer mode and on-line, but you can only do so by breaking into the connection (which is going to seriously upset pppd) or having dial-in going to some application that can issue the query to the modem. Linux, or Unix in general, dial-in servers just see serial data comming in, they don't really care (or know as far as I can tell) if it's from a modem or a hardwired serial port.

Dial-out is a different matter. The software (kppp or whatever) knows it's talking to a modem and can issue the query for the connect speed when the connection comes up.
0
 
tiboriAuthor Commented:
I'm using kppp on a client to dial the server. Where is the setting to ask it to query the modem for the connect speed? I mean the true connect speed, not what it's giving me right now which is the speed of the serial line 115200bps.

Also I've taken a look at the default profile for the modem and it is possible to set up two user profiles in addition to the default profile, which I intend to do if necessary. However in the S-register settings the only relevant registers that I see are S46(Data compression control)-Set at 138 by default and Line Connection Speed(set at 0 by default) Should I change these? and if yes to what for the user profile?
Thanks
0
 
jlevieCommented:
Are the docs for that modem on line someplace? It's hard to provide specific advice w/o knowing more about the modem.
0
 
tiboriAuthor Commented:
Yes, they're at http://www.comtrol.com/cgi-bin/downld.exe?product=RocketModemII&doctype=Any&os=Linux
The files are pdf and it is 200052A.pdf(ftp://ftp.comtrol.com/rmodem/hw_doc/at_cmds/200052A.pdf) that has the default profile and AT commands defined.
0
 
jlevieCommented:
Cool I look them over this evening and see what I can find for you.
0
 
ReinierCommented:
Try adding W1X4 to your modem initstring. I think you will then see something like

CONNECT 115200
CARRIER 38600

like my modem reports. If not, play withthe other W and X settings.

Do you use setserial for setting the serial port speed? If so, how do you set it?

0
 
tiboriAuthor Commented:
Thanks Reinier, I'll try that. I tried to use setserial, but it gives me "invalid argument". The reason for that I believe is that this port is not ttyS# it's ttyR# and it doesn't recognize that. It works fine on my client side which has a modem installed on ttyS3
0
 
tiboriAuthor Commented:
ATW1X4 does give the carrier speed-thanks. It also gives a Protocol:Lap-M. Unfortunately my carrier speed is still only 24600. Any ideas why?
0
 
tiboriAuthor Commented:
Ok, I've dialed out with the modem to a known 56Kbps provider and the carrier speed is still only 24600. To me it looks like the phone lines, but how can I rule out the modem settings for sure.
Thanks
0
 
jlevieCommented:
I've been going through the modem docs and it pretty much looks like the factory default ought to negogiate the highest possible connect speed the remote modem and the phone line will allow.

Have you tried a connection with no dialer init strings? You can do it by running kppp, going into Setup->Modem-Terminal. Then set the verbose mode per Reinier's comment and dial the remote with an "ATDT" command.

You could also get the configurations ther with &V and compare them to what the doc's claim the defaults are.
0
 
tiboriAuthor Commented:
jlevie: This is exactly what I did. I mean I dialed from Kppp's terminal with atdt to an ISP that I've dialed before from another place, and I've been able to get 52K connects to. When dialing with the RocketModem however, the top speed I get is 26400. So it's either the line or some other setting that I'm missing. I'll try the &V command and get back to you. Thanks for all your help.
0
 
tiboriAuthor Commented:
Well I've talked to the modem manufacturer, and I've also spoken to the phone company. Both suggest that the problem is most likely the phone line. The &V command does give the specs specified in the documentation. And it seems the modem is set to the highest parameters. Thank you both for your help.
0
 
jlevieCommented:
Okay, how about picking a comment you like as the answer & grading it.
0
 
jlevieCommented:
Duh... nevermind, we crossed in the mail...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.