Active GUI element
Static GUI element
Code
WPS object
File/Path
Command line
Entry-field content
[Key combination]
GigaBit LAN
or How I supercharged my network
History
Over the years my simple home network has grown. Originally I had two PCs connected with a crossover cable and a dial up modem connection for Internet. When I first installed cable, I installed an extra network card and plugged in the WAN modem directly to my main PC. I used static IP addresses for the local network and dynamic addressing for Internet which was provided by the cable modem. The set up is shown in figure 1.
Figure 1. Original network setup
Now although I could still access the Internet from both PCs the main PC had to be on, plus if I wanted to print anything from my second computer (Home2) the main computer again had to be on. The solution of course was quite simple, a broadband router with a built-in print server. I chose a SMC7004ABR, which has 4 LAN ports (so I could connect up to 4 PCs), one WAN port to connect to my Motorola cable modem and, last but not least, one parallel port which is the print server connection (see figure 2).
Figure 2. Revised network setup
As the router has a built-in DHCP server (which by default is on), I could switch from static to dynamic IP addressing quite simply, at least in theory.
Installation of the router was quite simple. I just unplugged my LAN cable from Lan0 on Home 1 and plugged into the WAN socket of the router. Then using the network cable supplied with the router I connected the first LAN socket on the router to Lan0 on Home1.
I then realized that I would need an extra LAN cable to connect Home2, as my existing cable was a crossover cable. Now some routers and some network cards can auto-sense the cable and adjust themselves so that either a normal or a crossover cable can be used with impunity. Not knowing if that was true for both the router and LAN card I was using, I opted to play safe and buy a new network cable.
Figure 3. Setting up the LAN interface to use DHCP in the TCP/IP notebook
After removing Lan1 from Home 1 (as this was no longer needed) and with a new UTP cable between Home2 and the second socket in the router, I first set about changing the static addressing of Home1 and 2. This is accomplished by running TCPCFG in Warp. In eCS 1.2 this is TCPCFG2 or alternatively using System Setup -> Network > TCPIP > TCP/IP configuration. In all cases the required setting is on the first page under Network and can be selected using the radio button Automatically, Using DHCP (see figure 3).
Names
After doing this on both systems, saving the changes and a reboot, I could again see each PC across my local network. Although the names of the PCs were displayed when using the File and Print Client Browser they are only known via the NETBEUI protocol and are not available to programs which use TCP/IP. So although I could see Home1 using the File Browser I could not ping Home1. The TCP/IP protocol requires a translation service to convert a name into an IP address. This translation can be achieved using a Domain Name Server (DNS), via a lookup mechanism using the hosts file, or both. The search order as well as the information contained in the hosts file (\mptn\etc\hosts) is displayed on the Hosts Names tab (see figure 4) of the TCP/IP Configuration.
Figure 4. Host name resolution setup via the TCP/IP configuration notebook
As I don't have a server running DNS, I needed to update my hosts file to contain the correct data. To do this I needed the IP address of each PC which had been supplied via DHCP. This can be obtained by running the DHCPMON program on each PC. It is also possible (at least with my 3COM 3CRWE554G72T router—which replaced the original SMC2804 WBRP-g router which became defective) to read the list of machine names and IP addresses in the DHCP server and to fill in the host list on this way. This does however require that the requesting PC also inform the DHCP server with its own name. Some OSs such as Windows 2000 do this, but this is not the default behavior in eCS. To do this I inserted one line of data in the options section in the file \mptn\etc\DHCPCD.CFG on each PC. The line of data is:
option 12 Host name
“Host name” is of course different for each PC.
After I had modified all of my DHCPCD.CFG files and rebooted each PC, I had a list of names and IP addresses in my router (see figure 6). The advantage of doing this was that I could now obtain, using any PC on my network, the current data of all PC names and their IP address from one place, the DHCP server in my router. This allowed me to generate a hosts file, using cut and paste, and to distribute this file across the network. Directly modifying the hosts file is to my mind simpler than using the Host Names tab in the TCP/IP configuration settings notebook but more requires a little more care with the format.
Internet
The Internet was, however, another problem. I could not connect to my provider. I found out the hard way that some ISP’s (mine included—UPC) use the MAC address of the LAN card as an authentication when connecting to their system. So when I inserted the router I effectively broke this authentication as the MAC address seen by my ISP had changed and I had become an unauthorized connection.
Although it was possible to authenticate a change in MAC address by my provider using a special IP address and login procedure, I preferred the alternative solution provided by my new router, MAC address cloning. MAC address cloning is just a method of copying the MAC address of the LAN card and presenting this via the WAN connection of the router to the network. To do this, I accessed the setup routine of the router. The router is addressed from Mozilla—or whatever Internet browser you are using—by typing in its LAN address. The router then replies with a login screen requiring a password. After a successful login all the various settings were then available in the form of web pages. In the 3COM Router, MAC address cloning is on the Internet Settings page (see figure 7) which has only one Tab, and is a simply a matter of selecting the appropriate radio button.
Setting up the printer is also quite simple and has been described previously in VOICE.
Connecting to Windows
Connecting to Windows was easy as long as I remembered to use the same workgroup name, login name, and password on both systems. With the eCS Installation manual there was a remark, at the end of Chapter 4, that I should change the LMannounce to ON for any Window system (95/98/ME/NT/2000/XP). This is easily accomplished in 95/98 and ME but requires a change in the registry in NT, 2000, and XP. After setting this value to ON I personally didn't notice any difference.
One problem which was not solved by the LMannounce setting, and it seemed to occur more often when connecting to XP than W2k, was the message on the Windows systems that a file, directory, etc., could not be accessed and that my eCS machine could not accept any more connections. This I solved by changing the following parameters in the Configuration tab of Sharing and Connecting (see figure 7a).
Shareable resources (MAXSHARES
) to 160, was 16, Connections to resources
(MAXCONNECTIONS
) to 2000 but this is probably overkill, was 26, and Open files (MAXOPENS
)
to 160, was 128. The names in brackets refer to the parameter names in the IBMLAN.INI file
which can be edited directly if preferred. After changing and saving the values a reboot is required for the
changes to take effect.
Two Routers
My next change to my network was when I bought an ASUS Laptop and wanted a wireless connection. So I went out a bought a wireless router. I choose a SMC2804WBRP-g broadband router since the SMC Barricade had worked without problems and I thought the setup would probably be similar, and it was.
I was not sure how I could use two routers as I still wanted to use the print server in the original router, plus I wanted the flexibility of placing the wireless router wherever the reception turned out to be best. After contacting SMC's help desk, it became apparent how I should connect two routers in one system. It turned out that there are two methods of doing this depending on what you want to do (see figure 8).
Method A is if all resources are to be available to all PCs on the network, then the second router is used as a switch. Method B is if you want to isolate an item from the rest of the system. Isolation occurs because there are now two address segments. In Method B, Internet is still available to the laptop, but file sharing is somewhat limited. I chose for Method A.
I connected only the wireless router and switched on one PC. Since this router would be the first router in the network, it would be the one to issue IP addresses. This meant that I had to disable DHCP on the other router and, since both routers had the same initial IP address, change its IP address as well.
Connecting on PC to the wireless router I logged in to the router. I needed to change the DHCP address range of the router so that I could assign a free IP address to the other router. To do this I accessed the setup screen (see figure 9) and changed the addresses (this was called the IP address pool) to be between 192.168.2.100 to 192.168.2.254. This limiting of the available dynamic IP addresses to be issued by the DHCP server gave me the possibility to select any unused address (except 255, which is reserved as a broadcast address) as the IP address of the second router.
As the other router still had the same address as the wireless router, I had to disconnect the wireless router first before I could connect the other router. I logged in using the default IP address and disabled the DHCP server to avoid any conflicts and changed its IP address to 192.168.2.99.
One potential danger was should the router require a hard reset for whatever reason, like forgetting the login password, then the factory defaults including the default IP would be restored requiring the other router to be disconnected temporarily. One handy feature, which I believe is present in most routers, is the ability to save all the settings to a file of choice, which I did. As a precaution I also archived these files to a floppy. After about two years the wireless router became defective and as mentioned earlier has since been replaced with a 3COM 3CRWE554G72T.
After reconnecting the wireless router, I had full access again both with the PCs using the wired network and my laptop wirelessly. Using a wireless connection of course opened up my entire network to the outside world. To protect myself I use WEP encryption coupled with a connection list (see figure 10). This list allows only PCs with the specified MAC address to obtain access to my network via the wireless connection. The MAC address was removed from figure 10 for obvious reasons!
Gigabit
When I changed the motherboard of my primary PC to an ASUS K8V with an Athlon 64 CPU, I initially used my existing 3COM 3C905 [NIC] but started to look around for a driver for the on-board Gigabit LAN since—as usual—only the Windows drivers were supplied with the motherboard.
I had read that one possible driver was the GenMac wrapper driver set. This driver supports 21 different chipsets but as I did not know what chipset the ASUS motherboard used I ran the PCI bus sniffer (pci104vka.zip on Hobbes) program. This program returns an extensive amount of information about all PCI and VGA related devices connected to the motherboard, among which the information for the on-board LAN chipset. That part of the info was as follows:
Bus 0 (PCI), Device Number 10, Device Function 0
Vendor 10B7h 3COM Corp, Networking Division
Device 1700h 3C940 Gigabit Ethernet PCI CODEC
Subsystem ID 80EB1043h Integrated Gigabit Ethernet Controller
Subsystem Vendor 1043h ASUSTeK Computer Inc
As this chipset was supported by the GenMac wrapper driver, I installed this driver by first running the install procedure, which makes the new drivers available in the list of available network cards, and then running the MPTS program using System Setup > Network > Adapters and Protocols to select the new driver.
As I already had the 3COM 3C905 installed, the easiest way to change to the on-board LAN was to select the appropriate GenMac Wrapper network card by using the Change button. This results in a simple swap of the driver while retaining the same protocols but now associated to the new network card.
So I had TCP/IP, NetBIOS over TCP/IP and NetBIOS all associated to my Gigabit LAN.
After a reboot it became apparent that something was wrong. Even though I received an IP address via DHCP, PEER services would not successfully start. Normally when the PEER services are starting, after the initial text lines, dots are displayed every two seconds or so, and after about seven dots the peer service would start. Now I had dots which went to completely to the right of the screen and then an error message: NET 3060. Typing in help NET3060 gives this useful (?) snippet of information:
NET3060: The service did not respond to a control signal and was stopped with the DosKillProc function.
Cause: The service may not be responding to a request to stop or start. An unrecoverable error might have occurred. The service was stopped.
Action: If this error occurred while starting the requester, ensure that the product of the PROTOCOL.INI file parameters NETBIOSTIMEOUT and NETBIOSRETRIES does not exceed 20000 (20 seconds). Try the operation again. If the problem persists, start the workstation again. If the problem still persists, report the problem and the method by which it can be reproduced to your IBM support representative.
I can't remember seeing an IBM representative anywhere here, but I seemed to remember reading somewhere that there were problems with NetBIOS with the GenMac driver. So I removed the NetBIOS protocol, rebooted, and everything then worked.
The next steps
Now I had my new hardware up and running, but to use it I needed at least one other Gigabit NIC. Looking at the list of compatible hardware on the OS/2 Compatible Hardware List Web Site, crosschecking this with the list of available NICs that my local PC vendor had on stock, resulting in only one item: a 3Com 3C2000-T 1000/100/10 Mbps PCI LAN. This I purchased even though at 55 Euros it was relatively expensive.
After plugging it in to my other PC, I installed the OS/2 driver for this NIC which was the GenMAC driver (not to be confused with the GenMac Wrapper driver). Since the router would limit my network to 100Mbps, I directly coupled my the two PCs together after fishing out that old crossover cable that I had. As the transmission 1Gbit LED on the 3COM card lit up and data was transferred quicker than before I concluded that the connection was running at 1Gbps. So I now had half of the answer to going Gigabit, but how to get around the router problem. Now there are 1Gbps routers available but they are generally very very expensive and definitely beyond my budget.
The answer turned out to be quite simple. Use a 1Gbps switch to connect the two machines with Gigabit LAN to each other and the rest of the network. I choose an Edimax ES-5500P 5 port 10/100/1000 Mbps switch which sold for just under 50 Euros. After adding the switch my current network looked like this:
Initial suprises
To get an idea of what difference 1Gbps makes I did some extensive testing. As I wanted to see what the maximum speed would be, I decided to create virtual disks to eliminate any disk access delays and to use FTP to transfer a 150MB file (157,286,400 bytes). This meant that I had to set up my FTP server and create virtual disks.
I used RAMFS121 (available on Hobbes) to create a virtual disk on both PCs. I then set up my FTP server on both systems. This was achieved via the Security tab in the TCP/IP Configuration notebook by adding a user name and password and then configuring my FTP server to give unrestricted access to both systems.
The test was to 'send' data from the RAM disk of one PC to a nul file on the other PC, then to 'receive' the data from the RAM disk of the other PC to a nul file on the local PC. The test was then repeated from the other PC. The file transferred was a 150MB file, and each test was repeated 10 times at both 1Gbps and at 100Mbps, all using the binary mode of transfer. The times displayed by the command line version of FTP, were averaged with the following results.
As can be seen when reading data at 100Mbps a throughput of just over 91Mbps is obtained consistently in all cases. However at 1Gbps this is not the case. There are significant differences depending on the initiator of the transfer as well as the direction. A maximum of 321Mbps was measured which is about three times slower than the specification of 1Gbps, and a minimum of 231 Mbps.
Now when transferring data at 1Gbps the CPU load at the sending side nearly always reached 99.8%, and the IRQ load was about 46%. This would seem to indicate that the processing power of the sender was limiting the maximum throughput. This theory would seem to be substantiated by the following. The faster machine is Home1, a PC with 3000+ (2.0 GHz) AMD 64bit Athlon Processor (2120 CPU integer marks – SysBench 0.94g ) whereas Home2 has a 1700+ (1.7GHz) AMD Athlon processor (1443 CPU integer marks). In other words, Home1's processing power is about 1.47 times (2120/1443) that of Home2. The results of writing a file from Home1 gave 321Kbps against 231Kbps with Home2 which is about 1.42 times faster.
Now as the above is a little theoretical I wanted to try a more real life situation so I decided to use the normal PEER file sharing techniques. For this test I again used the same PCs, Home1 and Home2. As these PCs both had eCS and Windows 2000 installed, I decided to also check the transfer times with both Operating Systems!
The test method was the basically the same as before except I now assigned a drive letter to a network drive and then copied a 500MB file (524,288,000 bytes) in both directions and from each PC in turn. I also tested the operating system combinations eCS to and from eCS, W2k to and from W2k, and eCS to and from W2k at 100Mbps and 1Gbps. The tests were again repeated 10 times but now I discarded the 2 longest times and took an average of the remaining eight. I did this as sometimes with Windows a service would start up which would interfere with the transmission measurements. To help automate the measurements and to simplify things I used a batch file which was as follows:
Time < Enter >time Copy 500Mb.bin v:\ Time < Enter >>time
(above 2 lines repeated 9 times)
Enter is just a file which effectively gives an Enter to the time command so that the time is displayed but not changed. In this case the actual time is stored in the file time.
The first results were somewhat confusing. Transferring data with eCS at 1Gbps from Home2 to Home1 was two and a half times slower than at 100Mbps.
Cables, connections, settings, switch, everything was double checked but to no avail. Since the transfer times under Windows were not erratic I concluded that the hardware was most likely not the problem. Also the CPU usage at 1Gpbs was also very erratic as shown on the left in figure 17 which occurred when transferring data from Home2 to Home1. When transferring data to Home 2 from Home1, as is shown on the right in figure 17, the CPU was loaded far more steadily and consistently with the far better throughput.
New Driver
Since I had ruled out the hardware, there was only one thing left: the software. Since the GenMac Wrapper driver (ver 1.0) supports 21 different chipsets, I used the PCI sniffer program again to find out what chipset was used on the 3Com 3C2000-T LAN card. Imagine my surprise as it turned out to be the same chipset as the on board LAN on Home1. Changing to the new driver solved the problem and gave the following results as shown in Figures 18 and 19.
As can be seen the transfer times are now far more in keeping with each other. The differences at 1Gbps I suspect are mainly caused by different disk R/W times and other performance related items. The maximum throughput was also improved with this driver by about 12%.
eCS is Faster than W2k
W2k is Faster than eCS
As I also had Windows 2000 as well as eCS on both Home1 and Home2, I was very curious about the performance and if there were any significant differences in transfer times.
As in all of the other 500MB transfer tests I read and wrote to the same physical drives and partitions on both Home1 and Home2. Although there are a number of common file systems for both eCS and W2k, I only used FAT as I felt any other file system might result in a bias to one of the OSs.
The first thing that really surprised me was that (see figure 22 and 19) at 1Gbps writing from Home1 to Home2 was 18.1 secs (W2k) against 22.1 secs (eCS) a significant 18% faster. However when reading (figure 23 and 20) the roles were completely reversed with 25.4 secs (W2k) and 19.0 secs (eCS), a massive 35% difference but this time in favor of eCS. Another item of interest was that at 100Mbps, transfer times were between 3% and 9% slower than eCS in all cases. Repeating the measurements made no difference!
Now based on the results obtained with eCS-eCS and W2k-W2k, I wondered what would be the results when transferring data between one operating system and the other over the network. And was extremely interested how they would perform when connected with each other. Again there were some significant timing differences.
As a point of interest when reading from Home1 to Home2 as shown in figure 25, eCS to eCS is about and 25% faster than W2k to W2k but this drops off to 5% when writing. Interestingly the fastest time was eCS to W2k!
FTP is one of the other protocols which can be used to transfer data and is generally thought of as being more efficient in transferring files, but is this really true?
Looking at figure 26 and 27 would seem to repudiate this for eCS. When writing, FTP is only in one case faster than NETBEUI, and when reading everything is slower. What I did notice—and I cannot explain this at all—was that with the GenMAC driver, some of the FTP times were shorter than with the new GenMac Wrapper driver, although as I said earlier the NETBEUI times were really poor. However when I compare FTP times against NETBEUI (see figure 28) when connecting eCS to W2K things are again different. So there is no general faster protocol.
So whether you use FTP or not will depend on what you want to do. FTP comes in two flavours. A command line version (FTP) and a GUI version (FTPPM). What is not well known (although documented in various help files including REXX Tips & Tricks and Multi-Protocol Transport Services: Configuration Guide) is the fact that it is possible to create a script which is executed when FTP is initiated from the command line. To do this it is necessary to create the script file and indicate its name using an environmental variable. The name of this variable is NETRC and it must point to your script file.
For example:
Script file name is d:\usr\keith\script1.rc
SET NETRC=d:\usr\keith\script1.rc
Contents of script1.rc =
machine NETDRIVE login myloginname1 password PW1 macdef machine HOME1 login myloginname1 password PW2 macdef machine HOME3 login myloginname1 password PW3 macdef init binary lcd h:\
When I type in FTP XXX (where XXX is either NETDRIVE, HOME2, or HOME3), the above script would automatically log me on to the specified HOST with the appropriate password of each machine, select binary transfer mode, and set my local directory to H:\.
Another distinct advantage of FTP is when a file exceeds 2GB then (as far as I know) there is only one solution to transfer the file, and that is with a special version of FTP which is available on Alex Taylor's web site.
This graph (figure 28) includes all of above data together with the transfer times when using both FTP and NETBEUI. And Table 1 has the data behind the graph.
Transfer | Time [s] | CPU + IRQ Load Home 1 NETBEUI [%] | IRQ Load Home 1 NETBEUI [%] | CPU Load Home 1 NETBEUI [%] | CPU + IRQ Load Home 2 NETBEUI [%] | IRQ Load Home 2 NETBEUI [%] | CPU Load Home 2 NETBEUI [%] | FTP [s] |
---|---|---|---|---|---|---|---|---|
Home1eCS > Home2W2k1GB | 18.75 | - | - | - | - | - | - | 17.8 |
Home1eCS < Home2eCS1G | 19.00 | 63 | 26 | 37 | 90 | 26 | 64 | 87.2 |
Home2eCS > Home1W2k | 19.63 | - | - | - | - | - | - | 23.5 |
Home2eCS > Home1eCS1G | 19.88 | 60 | 24 | 36 | 96 | 26 | 70 | 21.6 |
Home2W2k < Home1w2K1GB | 20.00 | 22 | - | 22 | 60 | - | 60 | 19.7 |
Home1W2k < Home2eCS | 20.00 | 7 | - | 7 | 58 | 8 | 50 | 59 |
Home1eCS > Home2eCS1GB | 22.13 | 45 | 14 | 31 | 66 | 26 | 40 | 37.3 |
Home1W2k > Home2w2K1GB | 23.25 | 15 | - | 15 | 30 | - | 30 | 18.3 |
Home2W2k > Home1w2K1GB | 23.25 | 22 | - | 22 | 60 | - | 60 | 17.3 |
Home1W2k > Home2eCS | 23.25 | 6 | - | 6 | 54 | 14 | 40 | 23.8 |
Home1W2k < Home2W2k1GB | 25.38 | 17 | - | 17 | 35 | - | 35 | 19.5 |
Home1eCS < Home2W2k1GB | 25.50 | - | - | - | - | - | - | 17.5 |
Home2eCS < Home1eCS1G | 29.00 | 30 | 10 | 20 | 52 | 20 | 32 | 61 |
Home2eCS < Home1W2k | 29.13 | - | - | - | - | - | - | 21.1 |
Home2eCS > Home1eCS | 47.13 | 38 | 26 | 12 | 40 | 15 | 25 | 44.9 |
Home2eCS < Home1eCS(JFS) | 47.88 | 24 | 8 | 16 | 53 | 22 | 31 | - |
Home2eCS < Home1eCS | 48.13 | 38 | 12 | 26 | 54 | 21 | 33 | 82.2 |
Home1W2k > Home2W2k | 49.13 | 5 | - | 5 | 6 | - | 6 | 44.3 |
Home1eCS > Home2W2k | 49.25 | 25 | 7 | 18 | 16 | - | 16 | 44.3 |
Home1eCS < Home2eCS | 49.63 | 51 | 17 | 34 | 43 | 13 | 30 | 67.9 |
Home1eCS > Home2eCS | 49.88 | 34 | 9 | 26 | 65 | 24 | 41 | 50.8 |
Home1eCS < Home2W2k | 50.00 | - | - | - | - | - | - | 45.7 |
Home2eCS < Home1W2k | 51.25 | 12 | - | 12 | 59 | 31 | 28 | 45.9 |
Home2W2k > Home1W2k | 51.75 | 11 | - | 11 | 12 | - | 12 | 44.3 |
Home1W2k < home2W2k | 53.38 | 10 | - | 10 | 15 | - | 15 | 29 |
Home2W2K < Home1eCS | 53.875 | - | - | - | - | - | - | 49.2 |
Home2W2K > Home1eCS | 54.63 | - | - | - | - | - | - | 18.7 |
Home2W2k < Home1W2k | 55.00 | 6 | - | 6 | 24 | - | 24 | 44.4 |
Home2eCS > Home1W2k | 81.50 | 6 | - | 6 | 32 | 15 | 17 | 44.4 |
Home2W2K < Home1eCS | 98.13 | - | - | - | - | - | - | 73.2 |
Home1W2K < Home2eCS | 103.00 | 8 | - | 8 | 31 | 13 | 18 | 67 |
Home1W2K > Home2eCS | 108.75 | 5 | - | 5 | 11 | 5 | 6 | 53.8 |
Home2W2K > Home1eCS | 134.75 | 25 | 6 | 19 | 8 | - | 8 | 47.5 |
As with all tests these measurements are what I obtained on my systems. Other systems may give completely different results. So please treat all of the above results with caution. If you repeat the same tests on your system then I would be very interested to hear what your results were, so please feel free to mail me. (k.merington@gmail.com)
Conclusion
I suppose the question that remains is, was the upgrade worthwhile, was the 115 Euros that I spent well spent. It didn't give me a ten times faster network that I hoped for, but accessing files across the network is now definitely quicker and more responsive. Also as I backup files across the network regularly—and some of the files are quite large, photos, etc.—the time taken is now significantly shorter.
So in answer to my own question, yes, I think it was money well spent. And since nearly every new PC and motherboard have a GigaBit LAN, it would seem to makes sense to upgrade the rest of the network to make use of this performance booster, but that's a decision that everyone will need to make for themselves.