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

Re: "Do you want to go.. FASTER?!"



In article <199612131730.MAA12910@goldfinch.cs.duke.edu> you write:
>After some fiddling around, I've finally been able to establish a null
>modem PPP link between my TT and my Linux box --- at 38400 baud.  And as
>they say in T2, "I think it should go faster than this."  I already know
>how to get the Linux end up to 115200, but I can't figure out how to do
>it on the other end.
>
>Now, I have HSmodem v0.something-recent installed, and the docs seem to
>suggest that I could get /dev/serial2 to run at 115200 by setting it
>for 150 --- no dice.  I tried installing hsminst.xdd (after deciphering
>just enough of the instructions to manage it) and got a whole suite of
>cute new devices, including /dev/HSSERIAL2 --- which appears to be
>entirely non-functional.  At this point I'm no longer even sure I have
>HSmodem installed properly (which loops back to the perennial "HSmodem
>before/after MiNT" confusion).

Well theres only one answer to that one: before MiNT. (see below.)
>
>I know I've seen people on this list discussing LAN's they had running,
>and I refuse to believe you're all running at 38400 baud.  So there must
>be a way to do this.  Suggestions?

 ok :)  i dont remember when i installed this, i guess when MiNTs ttys
were a bit more `broken' but you all know the saying about never to
change a running system...

# from the st's rc.net:
#
# open tty, leave open for 10 seconds (this line from before the
# nonblocking fork version therefore lets runtt do the (t)fork)
/bin/runtt -t serial2 sleep 10

# set raw, no echo, flow control
stty 38400 raw -echo crtscts </dev/serial2

# set speed...
/usr/local/bin/tspeed 115200 </dev/serial2

# now start slip
/etc/slattach -e -d -h -r saturn -l st -p cslip -t /dev/serial2

# adjust netmask (you most likely don't need this!)
/etc/ifconfig sl0 netmask 255.255.255.252
-------cut----

 and this is tspeed:

#include <stdio.h>
#include <stdlib.h>
#include <ioctl.h>

int main (argc, argv)
        int argc;
        char **argv;
{
        long bps = -1;
        volatile long ibps, obps;
        if (argc > 1)
                bps = atol(argv[1]);
        ibps = obps = bps;
        ioctl (0, TIOCIBAUD, &ibps);
#if 0
        printf ("old/lower ispeed %ld ", ibps);
#endif
        ioctl (0, TIOCOBAUD, &obps);
#if 0
        printf ("old/lower ospeed %ld\n", obps);
#endif
        return 0;
}

 result: ~10K/sec ftp speed, and still some spare cycles left on the
68000.  (which you wouldn't get with the hsmodem loaded _after_ mint
as it doesn't know about select() or even how to sleep on a read()
or write().  and if you wonder how the TIOC?BAUD `magically' work
above 38400 have a look at the mint kernel source.)

 oh and there were some(?) MegaSTe board revisions where the SCC ports
(modem2, serial2) are pretty much broken, and modem1 with its max.
19200 bps is a little useless for this so you might need to fix your
SCC ports first...  which means swapping a PAL and the SCC chip
(in my case at least).  i think i still have the details somewhere if
anyone needs them...  also the original SCC chip only had 3 bytes buffer
per channel and the one i'm using now has 8, so i don't know if the
original one would work as well at 115200 bps with that slow CPU... :)

 hmm which reminds me.  the TT had a nice (or even two?) DMA channel
for its SCC chip, did anyone ever use that?  that should have got it
some nice throughput with much lower CPU load and no receiver overruns...

 cheers,
	Juergen