ppp, chat and Motorola Bitsurfer PC

Posted on 1997-04-25
Last Modified: 2010-03-18

I am having trouble getting chat and pppd to work properly using the
Motorola Bitsurfer TA.  The same configuration works fine with an
analog modem.  When I change the /etc/ppp/options file to use the
new modem with the Bitsurfer TA PPP initialization string, it doesn't
work.  I am using kernel 2.1.35 and pppd 2.2.0f.  The initialization
string I'm using is AT&F&C1&D2S0=0%A2=95 (from the Bitsurfer manual).
The problem seems to be that the dial string is not being sent properly.
It sends TD8660091 instead of ATD8660091, which causes a failure.  The
output form /var/adm/messages is:

pppd[362]: pppd 2.2.0 started by root, uid 0
chat[364]: abort on (BUSY)
chat[364]: abort on (NO CARRIER)
chat[364]: send (AT&F&C1&D2S0=0%A2=95^M)
chat[364]: expect (OK)
chat[364]: AT&F&C1&D2S0=0%A2=95^M^M
chat[364]: OK -- got it
chat[364]: send (ATD8660091^M)
chat[364]: expect (Username:(login:))
chat[364]: ^M
chat[364]: TD8660091^M^M
chat[364]: NO
chat[364]: alarm
chat[364]: Failed
pppd[362]: Exit.

I've tried using AATD8660091 for the dial string.  This shows up in the
/var/adm/messages file as ATD8660091, but it still fails.  If anyone has
gotten a Bitsurfer TA working under Linux, I'd love to know how you got
it to work.
Question by:efuller
  • 4
  • 4

Accepted Solution

dhm earned 290 total points
ID: 1584469
I'll bet you have a dial-in (getty or equivalent) process running on the port, and that program is stealing characters chat would like to see.  Make sure nothing is using the port before you start up pppd.  Also, the partial "NO ..." message chat received was probably "NO CARRIER."  This may have been caused by the getty program printing a "login:" prompt and causing the modem to abort the dial, or by the fact that the modem simply couldn't connect.   Before you even fool around with pppd, it's best to try connecting by hand, using minicom, xc, or some other terminal emulation software.  Type the modem setup strings and the ATD string by hand, and make sure the dialing, connecting, and login proceed correctly every time.  (If you *do* have an mgetty process running, you may find you have trouble with minicom as well.)

BTW, I have several BitSurfrs working here.  They're nice modems, but a little difficult to get working in Multi-Link mode.

Author Comment

ID: 1584470
ps -w -tS1 shows that no processes are using ttyS1, which is the port the
Bitsurfer is recognized on.  I believe it is configured correctly.  I am using
the auto configuration of rc.serial to configure it.  It is being recognized on
the same IRQ and port as it is under Win95.  When I run minicom, it puts
the init string on the screen, but when I hit enter so that it can process the
string, the cursor doesn't return to the next line and the modem never
sends back a response.  Any other ideas?

Expert Comment

ID: 1584471
Can you put a loopback plug on the serial port?  Just connecting pins 2 & 3 will do -- if it's a female plug, sacrifice a paperclip to the cause.  Then try minicom again.  If you don't get *exactly* what you type, somebody's stealing the characters.

BTW, the ps man page says that -t finds processes with the specified terminal as the *controlling tty*.  However, the getty I use (mgetty) doesn't acquire the line it's monitoring until after it's accepted a connection.  So, "ps -ax" on my main dialin machine gives:

 7554  ?  S    0:00 /usr/sbin/mgetty ttyS0

i.e. the process that's watching ttyS0 has no controlling tty.  (Mgetty is pretty good; when it notices that characters are available on the port, it looks for lock files before reading anything.  If it can't lock the port itself, it assumes the characters belong to somebody else.  Hmmm, you know it's possible that you just have a disagreement about where lockfiles go.  Pppd and minicom may be putting them in one place, while whatever's stealing your characters is looking for them somewhere else.)

Have you ever gotten any other type of modem to work on this port?
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.


Author Comment

ID: 1584472
I have reconfigured the serial ports.  I was able to get another modem
working on the same port.  The Bitsurfer is back on /dev/cua1 and
I am no longer having the problems with the missing characters.  When
pppd starts, it always dies due to an abort from the chat script due to a
 NO CARRIER message.  The ISDN line is definitely connected properly
and the ISDN line is working.  This has been tested by using an analog
modem with the POTS jack on the Bitsurfer.  This works fine.  Only the
Bitsurfer seems to think their is no carrier.  Any ideas about this?

Expert Comment

ID: 1584473
Hmmm, this is tougher.  If you do the chat script by hand (using minicom), do you get connected?  If not, there's a chance that your modem is slightly misconfigured for your ISDN system.  (I'm not an ISDN guru, so this explanation may be slightly flawed, but anyway:) apparently, pure ISDN is a 64kbps-per-channel technology, but in many places your ISDN call will get switched through older equipment somewhere along the line.  This older equipment operates at 56kbps.  Now, the modem can be configured (AT%A4=xxx) to operate at 64kbps or 56kbps; if your call goes through something that can only run at 56k, but the modem is set to 64k, the connection won't work.  My BitSurfr manual says that 64k is the default setting, but I think I also saw an errata note that said the default had been changed to 56k.  In any case, you might want to try adding "AT%A4=1" to your initialization string.

Author Comment

ID: 1584474
My connection to my ISP is 112.5K.  The manual does say that the
default is supposed to be 64K, but who knows.  I'll try setting the
rate to 64K and the multiplier to 2.

Author Comment

ID: 1584475
I've tried using AT&F&C1&D2S0=0%A2=95%A4=1@B0=2 and
AT&F&C1&D2S0=0%A2=95%A4=0@B0=2 as the initialization strings,
but both result in NO CARRIER all the time.

Expert Comment

ID: 1584476
Dual-link PPP is tough to get going.  What equipment does your ISP have on the other end?  Are you dialing into another BitSurfr, or into some sort of router?  In my case, I have linux boxes on either end, and BitSurfrs between.  I use almost the same init string, BUT! instead of "%A2=95", I have "%A2=3&M".  I think the PPP mode (%A2=95) is for dialing into a server that expects a synchronous connection, but I've never gotten it to work against our Cisco routers.

Again, have you been able to establish an ISDN connection by hand with minicom?  You'll probably want to start out at "@B0=1%A2=2" (single channel, v.120).  If you turn on all modem messages ("V1W1X2"), you may see something of use.  If you can get a single channel, and then see PPP garbage from the other end (it looks like 30- or 40-character bursts of line noise, with lots of curly brackets, at about 1-second intervals), you're in good shape.  If you get "CONNECT", then a pause, and then "NO CARRIER", it probably means the other end will only accept dual-link connections (so you should try "%A2=3&M@B0=2").  If you use "%A2=95", I'm pretty sure any PPP garbage you see will have been generated by *your* modem, not by the server.

Hmmm, what else...I know that @B0 setting mismatches between two BitSurfrs will keep them from connecting.  Also, the dial string for dual-link may need to be something like "ATDTnumber-a&number-b", where number-a and number-b are the numbers of each remote channel.  (The reference for this is p.7-2 in the manual, which I see now is the PPP section.  Maybe it doesn't matter, but the chat scripts I use say it.)

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I have seen several blogs and forum entries elsewhere state that because NTFS volumes do not support linux ownership or permissions, they cannot be used for anonymous ftp upload through the vsftpd program.   IT can be done and here's how to get i…
Note: for this to work properly you need to use a Cross-Over network cable. 1. Connect both servers S1 and S2 on the second network slots respectively. Note that you can use the 1st slots but usually these would be occupied by the Service Provide…

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question