os2-wireless_users@2rosenthals.com ?????????????? ????? #1024

???: "John Poltorak" <os2-wireless_users@2rosenthals.com> ?? ????
?????????
??: Re: [OS2Wireless]Re: Timeout problem
??: Thu, 10 Aug 2006 01:02:06 +0100
??: Lewis G Rosenthal <os2-wireless_users@2rosenthals.com>

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



???????: ????, ??????, ??????.
?????????
??? ????????