[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Sending streams stall due to bad flow control by KPPP



If anyone is interested, August last year I started a thread called "(Sid) Net 
broken - Sending streams stall" about how sending files over my modem seemed 
to stall after only a few 10s of kB were sent.

Well, after giving up for a while and using gpppon instead of KPPP as I would 
prefer, I came back and had a look at how KPPP was calling pppd. It turns out 
that even though "Hardware [CRTSCTS]" flow control was set in the KPPP config 
it would call pppd with a "xonxoff" argument. This is due to a bad test in 
connect.cpp near line 1273. It ought to read something like:

  QString flowCtrl = gpppdata.flowcontrol();
  if(flowCtrl != "None" && flowCtrl != i18n("None")) {
    if(flowCtrl == "CRTSCTS" || flowCtrl == i18n("Hardware [CRTSCTS]"))
      command += " crtscts";
    else
      command += " xonxoff";
  }

Of course, my poor modem being swamped with outgoing data faster than it could 
send it due to non-existent flow control was the reason I was getting these 
symptoms. Recompiling kdenetwork source with the above change seems to have 
fixed the problem.

Just FYI,
Brendon Higgins

Attachment: pgpBMLJkoL9nQ.pgp
Description: PGP signature


Reply to: