> I am having a problem with determining whether my network card is
> running under full duplex or half duplex. I have some computers
> running on a small 5 port hub. when I copy a large file over, I get a
> whole lot of collisions. I have set the windows machine to half
> duplex in the network control panel and I still get that problem. I
> was woundering if you could tell me how to find out if my linux box is
> running on full duplex or not. It is a ne2000 compatible card using
> the ne2k-pci module for it. I would also like to know if I can fix
> it, or manually set it.
You seem to be a bit confused here.
Half-duplex mode won't prevent collisions. Full duplex might.
In full-duplex mode, the NIC can transmit and receive packets
simultaneously. In half-duplex mode, it can not receive while
transmitting. Some kinds of physical media like 10Base2 (Thinnet) and
10Base5 (thick Ether) can only work in half-duplex mode.
When in half-duplex mode, you can get collisions if you try to transmit
when data is arriving on the wire. The cards will try to prevent this
from happening, but collisions are an inevitable way of life in
When in full-duplex mode, you can't get a collision on the wire into
your NIC, but you can get collisions in the hub.
Most repeater-hubs are half-duplex devices. When packets hit it from
different ports at once, a collision will probably happen. Your NICs
may detect this.
A hub that runs in full duplex (like a repeater that has some buffering
or a switch) will generally not have collisions. The internal circuitry
will try to hold packets and only transmit them when the lines are
What amount of collisions are you looking at? Run /sbin/ifconfig can
compare the number of packets transmitted (TX packets) against the
number of collisions. Chances are that the ratio will be pretty low.
(On my system, I've got 7617 collisions out of 868783 packets - 0.87%).
If your ratio is high, then forcing the card into full-duplex mode might
help, but chances are that the only good solution will be to replace the
hub with a switch.
I don't know how to check the card's duplex or force its mode.