From: "John Poltorak" Received: from mxout2.mailhop.org ([63.208.196.166] verified) by 2rosenthals.com (CommuniGate Pro SMTP 5.0.9) with ESMTP id 280128 for os2-wireless_users@2rosenthals.com; Wed, 09 Aug 2006 20:02:40 -0400 Received: from mxin2.mailhop.org ([63.208.196.176]) by mxout2.mailhop.org with esmtp (Exim 4.51) id 1GAy0M-000IbI-Ue for os2-wireless_users@2rosenthals.com; Wed, 09 Aug 2006 20:02:31 -0400 Received: from 213-152-37-93.dsl.eclipse.net.uk ([213.152.37.93] helo=mail.warpix.org) by mxin2.mailhop.org with smtp (Exim 4.51) id 1GAy0M-000Mzw-F4 for os2-wireless_users@2rosenthals.com; Wed, 09 Aug 2006 20:02:30 -0400 Received: from tp600.warpix.org by mail.warpix.org (IBM OS/2 SENDMAIL VERSION 2.03/2.0) id BAA637.23; Thu, 10 Aug 2006 01:02:23 +0100 Received: by tp600.warpix.org (IBM OS/2 SENDMAIL VERSION 2.03/2.0) id BAA000.62; Thu, 10 Aug 2006 01:02:07 +0100 Date: Thu, 10 Aug 2006 01:02:06 +0100 To: Lewis G Rosenthal Subject: Re: [OS2Wireless]Re: Timeout problem Message-ID: <20060810010206.A45@warpix.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.94.15i In-Reply-To: ; from Lewis G Rosenthal on Wed, Aug 09, 2006 at 02:26:37PM -0400 X-Mail-Handler: MailHop by DynDNS X-Spam-Score: -2.4 (--) On Wed, Aug 09, 2006 at 02:26:37PM -0400, Lewis G Rosenthal wrote: > More important (for these purposes) is what is between you and the server, John. I have an ADSL 4-port router where my two main servers are connected. They use old IBM 10Mbps ethernet cards. The laptop gets plugged into this router. > Hubs are half-duplex devices, whereas switches are (usually) > auto-sensing. Older hardware, however didn't always implement full duplex in the same manner, so it's possible that a single device can cause a packet storm due to dropped packet > s, affecting (or effecting, as it were) the entire network. Better switches should detect such things and partition the errant client, but this may not be relia > ble, even with newer hardware. > > Good troubleshooting steps: > > 1. Check the obvious (bad patch cable(s), jacks, power, etc.). don't overlook some unrelated software which may be stealing CPU cycles, either. The laptop is new and is hardly running anything at all - just an OS/2 cmd shell. > > 2. Isolate the client with the worst problem (if possible). > > 3. Disconnect the rest of the stations (or power them off). The two servers work fine. > 4. Lock the server and the workstation at 10Mbps half duplex and observe. How do I tell if they are working at half duplex? > 5. If all goes well with #4, the bump both to 100Mbps half duplex and observe. 10Mbps is the max. > 6. Assuming #5 goes well, drop back to 10Mbps and switch to full duplex. > > 7. If #6 works without incident, go to 100/full on both, and finally auto. > > Soft cable faults can be difficult to find. Adapters set to auto can drop a lot of packets just switching back and forth between full and half duplex, whereas l > ocking them down to half may result in better all around performance. I suspect that problem is down to the driver and its configuration. It has a Broadcom BCM4401 - a fast ethernet MAC chip according to PCI. According to the docs:- The official driver is not available for OS/2, and the datasheet is not available to write drivers. This driver is based on the source of Linux driver version 3.0.7, which was provided on the Broadcom website. Maybe I should contact the developer of the driver, although I think I should ensure I have configured it correctly. I haven't set any options in the NIF so all the defaults will apply. Maybe some need to be over ridden. Any suggestions? [B44A] Type = NDIS Title = "Broadcom BCM4401 MAC driver" Version = 2.01 DriverName = B44A$ Xports = NETBEUI, LANDD [FILE] Name = B44A.OS2 Path = IBMCOM\MACS [SLOT] display = "Slot Number of the Adapter" type = decimal ;default = "0" optional = yes range = 0-7 help = "SLOT=n, n=0..7 specifies the PCI SLOT index number to look for the adapter. PCI SLOT index starts 0. Default is 0. This isn't required unless there are multiple adapters." [TXQUEUE] display = "Maximum TX queue count" type = decimal ;default = 8 optional = yes range = 4-84 help = "TXQUEUE=n, n=4..84, specifies the number of transmits which can be queued up by the driver. The default value is 8." [RXQUEUE] display = "Maximum RX queue count" type = decimal ;default = 16 optional = yes range = 6-84 help = "RXQUEUE=n, n=6..84, specifies the number of recieves which can be queued up by the driver. The default value is 16." [TXEARLY] display = "Early Transmit Start" type = decimal ;default = 56 optional = yes range = 1-63 help = "<< Detail of the function is unknown. >> TXEARLY=n, (may) specifies the amount copied into FIFO that the transmit action can be started. n*32bytes? If the value is too low, the transmit FIFO underrun may occur. The default value is 56. (Linux default is also 56.)" [TXMXDMA] display = "Maximum Transmit DMA Burst Length" type = decimal ;default = 16 optional = yes set = 8,16,32,64 help = "<< Detail of the function is unknown. >> TXMXDMA=n, (may) specifies the maximum PCI DMA burst length to fill the transmit FIFO. in n*32bytes? The default value is 16. (Linux uses H/W default which is also 16.)" [RXMXDMA] display = "Maximum Receive DMA Burst Length" type = decimal ;default = 16 optional = yes range = 8-511 help = "<< Detail of the function is unknown. >> RXMXDMA=n, (may) specifies the maximum PCI DMA burst length to drain the receive FIFO. in n*32bytes? The default value is 16. (Linux uses H/W default which is also 16.)" ;[MAXFRAME] ;display = "Maximum Frame size" ;type = decimal ;default = 1514 ;optional = yes ;range = 1514-2014 ;step = 500 ;help = "MAXFRAME=n, n=1514 or 9014, specifies the maximum frame size ;which can be transmitted or received by the driver. The conventional ;Ethernet MTU is 1500. The Jumbo Packet MTU is 9000. The default value is 1514." [IRLTIME] display = "Interrupt Receive Lazy Timeout" type = decimal ;default = 32768 optional = yes range = 0-65535 help = "<< Detail of the function is unknown. >> IRLTIME=n, n=0..65535, (may) specify the maximum lazy time that the receive frame complete interrupt occurs. in n*16ns? The default value is 32768. (Linux default is 0.)" [IRLFC] display = "Interrupt Receive Lazy Frame Count" type = decimal ;default = 3 optional = yes range = 0-255 help = "<< Detail of the function is unknown. >> IRLFC=n, n=0..255, (may) specify the maximum frame count that the receive frame interrupt occurs. The default value is 3. (Linux default is 1.)" [TXPAUSE] display = "Transmit Pause High Water Mark" type = decimal ;default = 192 optional = yes range = 1-255 help = "<< Detail of the function is unknown. >> TXPAUSE=n, (may) specify the amount copied into Rx FIFO that the adapter transmits the mac control pause frames. n*16bytes? The default value is 192. (Linux default is also 192.)" ;[NETADDRESS] ;tag = NETADDRESS ;display = "Network adapter address" ;type = hexstring ;strlength = 12 ;optional = yes ;editable = yes ;help = "NETADDRESS alternates the MAC address of the adapter ;with the one fixed in the hardware(in the EEPROM)." [IRQ15OVR] display = "Accept IRQ level > 15" type = string strlength = 4 ;default = NO optional = yes set = YES,NO help = "IRQ15OVR=str, specifies that the range of the acceptable IRQ level is either [0..15] or [0..255]. If YES is specified, the range is [0..255](no range check). The default string is NO." > > HTH > > -- > Lewis -- John