Vishal, : > the first thing i'd like to check is if the ethernet cards are running : > in full- or half-duplex mode. AFAIK running one card in half-duplex mode : > and the other trying to force full-duplex mode can lead to lots of : > collisions, so this could be a reason for slow speed. I agree with Ulrich, and apparently that may have been your problem. : thanks for the reply, i found that there are collission when i use a : hub in between, How do i make sure that both the ethernet cards are : running in half or full duplex mode, how do i check if weathere an : ethernet is in half or full duplex mode You may find that one of the following tools helps you to determine what your ethernet card has negotiated with its peer: - ethtool ( the tool which will probably continue to be maintained and supported under linux ) http://www.gnu.org/directory/sysadmin/Monitor/ethtool.html - mii-diag, aka mii-tool, ( one of these two is usually available on common distributions available today ) http://freshmeat.net/projects/mii-diag/ -Martin Here's some example output from mii-diag and mii-tool: # mii-tool --help usage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...] -V, --version display version information -v, --verbose more verbose output -R, --reset reset MII to poweron state -r, --restart restart autonegotiation -w, --watch monitor for link status changes -l, --log with -w, write events to syslog -A, --advertise=media,... advertise only specified media -F, --force=media force specified media technology media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD, (to advertise both HD and FD) 100baseTx, 10baseT # mii-tool eth0 eth0: negotiated 100baseTx-FD flow-control, link ok # mii-diag --help Usage: mii-diag [-aDfrRvVw] [-AF <speed+duplex>] [--watch] <interface>. Show the link status of the specified network interface. The default interface is "eth0". The common usage is mii-diag eth0 Frequently used options are -A --advertise <speed|setting> -F --fixed-speed <speed> Speed is one of: 100baseT4, 100baseTx, 100baseTx-FD, 100baseTx-HD, 10baseT, 10baseT-FD, 10baseT-HD -s --status Return exit status 2 if there is no link beat. Less frequently used options are -a --all-interfaces Show the status all interfaces (Not recommended with options that change settings.) -D --debug -g --read-parameters Get driver-specific parameters. -G --set-parameters PARMS Set driver-specific parameters. Parameters are comma separated, missing elements retain existing value. -M --msg-level LEVEL Set the driver message bit map. -p --phy ADDR Set the PHY (MII address) to report. -r --restart Restart the link autonegotiation. -R --reset Reset the transceiver. -v --verbose Report each action taken. -V --version Emit version information. -w --watch Continuously monitor the transceiver and report changes. This command returns success (zero) if the interface information can be read. If the --status option is passed, a zero return means that the interface has link beat. # mii-diag eth0 Basic registers of MII PHY #1: 3000 7809 02a8 0154 05e1 0000 0000 0000. Basic mode control register 0x3000: Auto-negotiation enabled. Basic mode status register 0x7809 ... 7809. Link status: not established. End of basic transceiver information. -- Martin A. Brown --- SecurePipe, Inc. --- mabrown@securepipe.com