Help needed with mTCP and the Xircom PE3-10BT adapter

Software related questions

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby Brutman » Wed Aug 26, 2009 3:34 am

Your adapter is not feeling terribly well, so I'm not going to get worked up by the transfer rate. I think to a RAM disk it should be faster than what you are getting - I get 18KB/sec to a parallel port connected SCSI drive, so something is definitely off.

I'm travelling for work and not near my machines or code, so I can't answer the ENV var question easily - I think you set the size in bytes. So for example:

SET TCPRCVBUF=16384
SET FILEBUF=16384

If I'm wrong, I'll correct myself when I get back ...

You should not be getting dropped packets unless your network is very noisy. It would take a flood of 20 packets at the same time to cause drops. It would be interesting to put a sniffer on your network. That's not going to happen, but the packet trace would be a close second for interesting things to do. (Peek up above for the environment variables to use. Note that the packet trace makes the problem worse because the Jr is really bad at floppy disk I/O.)

You should be able to change directories - I do it all of the time. I wonder if I have a bug and that's why you can't change the drive ...


Mike
Brutman
Site Admin
 
Posts: 951
Joined: Sat Jun 21, 2008 5:03 pm

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby hyperfrog » Wed Aug 26, 2009 12:33 pm

Mike,

I tried your DOS 5.02 boot disk. It works well, but I get the same transfer rate.

A few things I've noticed:

  • Using IRQ 7 is a bit faster than using polling (about 1KB/s faster).
  • The script that zeroes 4 bytes for the software interrupt handler is not required.
  • Bidirectional mode is not faster than standard mode. No wonder; even standard mode could deliver more than 16KB/s.

I still haven't tried the Xircom adapter on the Pentium III since its "resurrection", but this is the next test I do. I think it's going to be interesting.

Cheers,

Christian
hyperfrog
 
Posts: 47
Joined: Wed Jul 22, 2009 3:49 pm
Location: Québec City, QC, Canada

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby Brutman » Wed Aug 26, 2009 1:01 pm

I suspected that the script was obsolete - maybe it was for the TRUMPET TCP stack that we were using. I'll go back and try Trumpet to verify it.

IRQ7 should be faster than polling because polling only happens 18 times a second. I can't use interrupts because I have my other parallel port on the system, and ISA doesn't share interrupts well.

Bi-directional mode should be the same speed as normal when sending data, but about 2x faster when receiving data. Its simple - 4 bits vs. 8. If you are not getting receives that are 2x faster, I wonder if it is really doing bi-directional mode. Did you try the speed test option on netcat to see what things are like without excess buffering and disk I/Os?


Mike
Brutman
Site Admin
 
Posts: 951
Joined: Sat Jun 21, 2008 5:03 pm

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby hyperfrog » Wed Aug 26, 2009 3:58 pm

I now enjoy 58kB/s with the adapter connected to the Pentium III, so the speed limit of 16kB/s doesn't seem to be related to the adapter itself. I will try the netcat speed test. Regarding the bidirectional mode, well, that's what the packet driver says it is using, so... Why would it lie to me? Computers are trustworthy, aren't they?

Mike, Is your PCjr turboed? You know, that PC-SPRINT thing...

Would someone open his (or her) parallel port sidecard (IBM or other brand, except Racore) and tell me the value of the 8 (or 10) capacitors and the 8 (or 10) resistors that should be located next to the DB-25 connector?

Thank you,

Christian
Last edited by hyperfrog on Wed Aug 26, 2009 4:22 pm, edited 1 time in total.
hyperfrog
 
Posts: 47
Joined: Wed Jul 22, 2009 3:49 pm
Location: Québec City, QC, Canada

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby Brutman » Wed Aug 26, 2009 4:13 pm

hyperfrog wrote:I now enjoy 58kB/s with the adapter connected to the Pentium III, so the speed limit of 16kB/s doesn't seem to be related to the adapter itself. I will try the netcat speed test. Regarding the bidirectional mode, well, that's what the packet driver says it is using, so... Why would it lie to me? Computers are trustworthy, aren't they?

Mike, Is your PCjr turboed? You know, that PC-SPRINT thing...

Would someone open its parallel port sidecard (IBM or other brand, except Racore) and tell me the value of the 8 (or 10) capacitors and the 8 (or 10) resistors that should be located next to the DB-25 connector?

Thank you,

Christian


58KB/sec seems way too low for a Pentium III - I think that then I ran the Xircom on my 386-40 I did about 3x faster than that. When I get home from this trip I'll do some quick benchmarks so that way we can verify your numbers.

My Jr is pretty normal - 4.77Mhz clock, but with a NEC V20.


Mike
Brutman
Site Admin
 
Posts: 951
Joined: Sat Jun 21, 2008 5:03 pm

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby hyperfrog » Wed Aug 26, 2009 7:17 pm

Netcat speed test results:

  • Jr receiving data: 28 kB/s
  • Jr sending data: 31 kB/s

Why then am I getting only 16 kB/s with FTP when downloading a file to the RAM disk? (Note: I now get 18 kB/s if I increase the size of the buffers to 16384.) Is my RAM disk such a slow dog? Could it be slower than yours? I don't see why it would be so!

About the nc speed test: I noticed something strange happening on the Jr side. When receiving data, Jr says: "Elapsed time: 92.00", while the sending computer says: "Elapsed time: 145.93". The latter seems to be correct. I was a bit puzzled, so I repeated the test, and it happened again. When I reverse the direction (i.e. Jr sending data), both computers report the same elapsed time.

About the 58 kB/s figure: This test was conducted with the Pentium III downloading from ftp.microsoft.com. I should have tried other FTP sites to make sure the bottleneck is the adapter, not something else somewhere in the cloud.

Mike, there is a quirk in the nc documentation:

Code: Select all
  If you are interested in seeing how fast your machine can transfer
  data use nc like this:

    nc -target <target machine port> -st < bogus.bin

      This is the send test. Bogus.bin is not actually read. Nc will
      send 4MB of data.

    nc -target <target machine port> -st > bogus.bin

      This is the receive test. Nc will receive data but not write it
      to disk. It is up to the other side of the connection to set the
      amount of data to be received. Be careful and make sure that the
      filename you use does not already exist, as it will be zeroed out.


I suggest you put this instead:

Code: Select all
nc -target <ipaddr> <port> -st < bogus.bin
nc -listen <port> -st < bogus.bin


In addition, maybe you should mention that bogus.bin has to be a file that already exists on the sending computer.

Christian
hyperfrog
 
Posts: 47
Joined: Wed Jul 22, 2009 3:49 pm
Location: Québec City, QC, Canada

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby hyperfrog » Wed Aug 26, 2009 9:04 pm

Some FTP speed tests I've conducted with the Xircom adapter in bidirectional mode on the Pentium III:

ftp.apple.com

Default buffer size: 46 kB/s
16384: 85 kB/s
32768: 45 kB/s


ftp.simtel.com

Default buffer size: 78 kB/s
16384: 135 kB/s
32768: 78 kB/s


ftp.microsoft.com

Default buffer size: 47 kB/s
16384: 94 kB/s
32768: 48 kB/s


My local FTP server

Default buffer size: 205 kB/s
16384: 205 kB/s
32768: 205 kB/s


So we now know that my poor little adapter is capable of doing 200 kB/s data transfers. I think it couldn't be in better shape! :D Or could it?

It also appears that the optimum buffer size is 16384, but you don't get such a big boost on a slow 8088 or V20.

Christian
hyperfrog
 
Posts: 47
Joined: Wed Jul 22, 2009 3:49 pm
Location: Québec City, QC, Canada

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby Brutman » Thu Aug 27, 2009 4:15 am

Christian,

Don't get too worked up about the transfer speed. I'm on a business trip so I can't measure my machine, and I'm working off of my memory. Saturday I should be able run some test to confirm what you are seeing.

In general, FTP is going to be slower because there is another memcpy going on between the incoming TCP buffer and the buffer that is going to be used for DOS writing. Memcpy is horribly expensive on the 808x architecture. The 'Speedtest' option on netcat was designed as a throughput test for the TCP/IP stack and the adapter, so it doesn't do that extra copy (which I would consider an application issue.) Speedtest gives you a better idea of what the top end of a machine/adapter combination should be, while FTP is more realistic for measuring what actual data transfer you can do.

I don't get timing discrepancies with my numbers, but I'm using polling instead of IRQ7. I wonder if we are missing the timer interrupt because we are spending so much time receiving packets. (It happens.) If that is the case, the machine will lose track of time during FTP transfers.

I'll work on the docs .. it was probably a late night two years ago.

As for the Xircom on the P3 ... the parallel port is pretty limited. If you are getting 205KB/sec through it, that works out to almost 1.6 megabits per second. Did it pick ECP or EPP mode to get that?

A real Ethernet device would make that look anemic.


Mike
Brutman
Site Admin
 
Posts: 951
Joined: Sat Jun 21, 2008 5:03 pm

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby hyperfrog » Thu Aug 27, 2009 4:36 am

As for the Xircom on the P3 ... the parallel port is pretty limited. If you are getting 205KB/sec through it, that works out to almost 1.6 megabits per second. Did it pick ECP or EPP mode to get that?


No. I set the port to bidirectional mode in the BIOS configuration. I wanted to determine the maximum throughput in bidirectional mode, since I'm never going to have ECP/EPP on the Jr. It would be interesting to check if the adapter can get faster with ECP/EPP though.

Christian
hyperfrog
 
Posts: 47
Joined: Wed Jul 22, 2009 3:49 pm
Location: Québec City, QC, Canada

Re: Help needed with mTCP and the Xircom PE3-10BT adapter

Postby Brutman » Sat Aug 29, 2009 1:09 pm

I am home now and I had a chance to check into the various discrepancies being reported.

First: You can not change drives in the FTP client. You can change directories on the current drive, but not the logged drive. I'll fix that bug this weekend.

Second: Depending on the machine configuration, it is possible for the machine to lose time while the Ethernet card/adapter is active. This happens when the adapter masks interrupts, and it causes the timer tick to be missed. Sending data from the machine does not seem to affect the timer, but receiving data does. The result is that the times reported when receiving data may be lower than the actual time. I've only noticed this on the Xircom adapter when connected to a PCjr.

Third - I could not get the Xircom to run using EPP with my parallel cards. I don't know if it can .. there might be a card it works with yet, but I haven't found one yet. (I've tried two SIIG cards and a Boca card.)

Fourth - accurate timings! The details are here: http://brutman.com/mtcp_speedtest.csv Open with Excel or your favorite spreadsheet.

I used the speedtest option netcat to figure out the top end for sending and receiving on a given machine and adapter combination. So for a PCjr with a Xircom running on a bi-directional parallel port the top end for getting data in and out of the system is going to be 31.8KB/sec to send and around the same to receive. That's it - can't go any faster without changing the hardware. Writing to a ram disk or to a real disk is going to slow it down.

The PCjr with a real Ethernet adapter has a top end of 66KB/sec for sending at 53.8KB/sec for receiving.

My 386-40 with the NE2000 adapter has a top end of 666KB/sec for sending data and 829KB/sec for receiving data. But if you do something realistic, like FTP to a hard drive the numbers drop down to 378KB/sec for sending and 456KB/sec for receiving. It probably could be faster if I tweaked the flow control, but I'm not complaining I have no idea why receiving is so much faster - it might be the cache on the IDE hard drive helping things out.

If you look at the 386-40 with the Xircom adapter you can see the difference that bi-directional machines. On this machine the bus speed is 8Mhz and the parallel port is strapped to be 'standard', and is not capable of bi-directional transfers. On the speed test receiving is 50% slower than sending. I'm surprised it did that well .. in theory is should have been 2x slower than sending. The 386-40 is at least 10x faster than the PCjr - it has a better CPU, higher clock rate, and an L2 cache. If the PCjr can send at 32K a second and the 386-40 can only send at 190K a second, I'd say the 386-40 has 'pegged the meter' on the Xircom and there isn't much that is going to help. The Pentium III is like 20x faster than the 386 and only gets another 15 or 20KB/sec, thus supporting my conjecture.

Anyway, I'm glad the Xircom mystery was cleared up. We just need to get you a 'warm weather' version. :-)



Mike
Brutman
Site Admin
 
Posts: 951
Joined: Sat Jun 21, 2008 5:03 pm

PreviousNext

Return to PCjr Software

Who is online

Users browsing this forum: No registered users and 3 guests

cron