There are two sorts of ethernet twisted-pair cable with 8-pin RJ45 connectors at both ends:
For a normal stand-alone cable modem connecting to a normal ethernet NIC in a PC, you need a straight-through cable, because cable modem RJ45 sockets are normally wired as if they were hub sockets. Many cable modems are sold with an appropriate cable provided in the box.
As an exception to the general rule, the cable modem in certain Pace digital TV set top boxes requires a cross-over cable to connect to a normal ethernet NIC in a PC. In these cases the RJ45 socket will be marked X-over on the back panel. If it is not so marked, use a straight-through cable.
You can tell whether you have the correct cable because, when both cable modem and PC are powered up and operational, there should be LINK lights (usually green LEDs) lit beside the RJ45 sockets at both ends.
When connecting a cable modem to the specially designated WAN port of a router (for instance), a straight-through ethernet cable is usually required.
With other configurations, the general rule is that NIC-to-hub needs a straight-through cable, but NIC-to-NIC and hub-to-hub require cross-over cables.
An Auto-MDIX ethernet socket automatically senses what sort of cable it has connected to it, and switches into the correct mode to work with the other end of the link. Some modern PC ethernet cards are Auto-MDIX. Some modern cable modems have Auto-MDIX ethernet sockets. If either end of a link is Auto-MDIX, then the link will work with either a straight-through or a cross-over cable. The following cable modems are known to have Auto-MDIX ethernet sockets:
Note that Auto-MDIX sensing is different from speed and duplex settings: Auto-MDIX is just about the wiring configuration, speed auto-sensing and duplex auto-negotiation is about the signal on the wires.
If a cable modem is connected via ethernet, no special cable modem drivers are required: to the system the connection looks like an ethernet connection, and only ethernet drivers are required. If the cable modem vendor supplies drivers, they are likely intended for a USB connection, and do not need to be installed for ethernet usage.
Windows automatically supplies drivers for most common ethernet cards. However, it is worthwhile checking the ethernet card vendor's support site for updated drivers, and installing those if they are more recent than the ones that came supplied with Windows.
In particular, there are known problems with the drivers supplied with Windows 98 for RealTek ethernet cards (RTL8029, RTL8129), and they should be updated by downloading the latest drivers from http://www.realtek.com.tw/.
The original ethernet networks ran on coaxial cables and only at 10Mbps (1.25 million bytes per second). These systems were known as 10base2 and 10base5. The coaxial cable was a shared medium for all the connected devices, so only one device could transmit at a time. Devices would wait for silence on the wire before transmitting (carrier-sense). It was still possible for more than one device to make the decision to transmit at the same time, so each device would also listen to its own transmission to make sure that no-one else was transmitting at the same time: if another transmission was detected (collision detection), each device would stop transmitting and wait a random amount of time before trying again. This method of working was known as CSMA/CD: carrier-sense multiple access with collision detection.
When ethernet was re-implemented on twisted-pair cable (UTP or STP), the same CSMA/CD conventions were retained, but now there were only two devices on the cable: one at each end. The original style of ethernet working became known as half-duplex or semi-duplex: data could flow in either direction, but only in one direction at one time. Ethernet at 10Mbps on twisted-pair cable is known as 10baseT.
With the advent of twisted-pair cable between only two devices, it became possible to separate the electrical signals travelling in each direction onto different pairs of conductors in the cable, making full-duplex ethernet possible: data could flow in both directions at once without collisions. This required improved ethernet hardware at both ends, and each end required knowledge of whether the other end was capable of full-duplex working. A full-duplex ethernet card does not bother to listen for silence before transmitting, so cannot inter-work with a half-duplex card: chaos would ensure and performance would be terrible, as the half-duplex card would keep detecting collisions. So the consequence of mismatched duplex settings (full-duplex at one end, half-duplex at the other) is very poor data performance and packet loss.
With improved cabling, it became possible to raise ethernet speeds to 100Mbps: once again this required improved hardware at both ends of the link, and both ends had to function at the same speed, otherwise they could not communicate. Ethernet at 100Mbps on twisted-pair cable is known as 100baseTX.
The need for each end of the link to know the speed and duplex settings of the other end gave rise to an ethenet auto-negotiation protocol implemented in the hardware, so that each end could determine the supported features of the other, and they could agree on an optimal setting that both ends could support. Unfortunately, this hardware auto-negotiation protocol has been known to fail, and leave the link with a duplex mismatch. Many hard-bitten network administrators now routinely turn off ethernet auto-negotiation and configure device speed and duplex settings manually at both ends of the link, thus ensuring a correct match.
It is always safe to force one end of an ethernet link to be semi-duplex even when you are not sure what duplex setting is in effect at the other end of the link.
It is never safe to force one end of an ethernet link to be full-duplex (or allow it to autonegotiate itself to full-duplex), unless you are sure the other end of the link is also full-duplex.
This section applies to your PC only if your PC ethernet card is connected directly to the cable modem, and not if you have an intervening device, e.g. a NAT router such as a Linksys or Netgear. If you have an intervening device such as a router, then this section applies to the WAN port of the router.
This section applies to the following cable modems:
This section does not apply to the following cable modems, which are capable of full-duplex working:
It has been verified by experiment that certain auto-negotiating ethernet cards (both in PCs and in Macs), when connected to certain models of cable modem, sense the ethernet duplex setting incorrectly. Such a cable modem has ethernet hardware which is capable of operating only in half-duplex mode, at 10 Mbps, yet some auto-negotiating ethernet cards incorrectly sense the cable modem as full-duplex. If an auto-negotiation card incorrectly starts operating in full-duplex mode, there can be collisions between ethernet packets being transmitted in both directions at the same time, leading to packet loss, and repeated re-transmissions. There is no visible evidence of this apart from poor performance. This problem can be avoided by manually configuring your ethernet card to be 10 Mbps half-duplex. No ill-effects will transpire from doing this, even when it is not necessary. The exact wording of the setting changes required varies from one manufacturer to another, so the instructions below are necessarily rather broadly defined.
Win98/ME: to change to half-duplex:
Windows 2000 or XP: to change to half-duplex:
Apple Mac OS 8.x/9.x users with auto-negotiating ethernet sockets can check the setting it is actually operating on by using the Apple System Profiler utility from the Apple menu. [If a network speed and duplex setting is not shown, your ethernet interface is an older one which works only at 10 Mbps half-duplex, so you need take no action]. Mac users can force their auto-negotiating ethernet socket to 10Mbps half-duplex by means of a special System Extension, which they can download from here either in MacBinary format or in BinHex format. Microsoft Internet Explorer will automatically decode these downloads. If you download with any other browser, you will need to decode the resulting .bin or .hqx file by dropping it onto Stuffit Expander. The resulting file should be named " Duplexer10half" (note the leading space, which is required), and it should be exactly 14,792 bytes long, with a blank icon. If your download matches that length, drop the resulting file into the Extensions folder inside the System Folder, and restart. If you check with Apple System Profiler, you should now see your ethernet working half-duplex.
Apple Mac OS X (v 10.2) and BSD Unix users can view and set the ethernet speed and duplex settings using the ifconfig command in a terminal window. For instance, the following is an extract of the output from the command ifconfig with no parameters:
media: autoselect (100baseTX <full-duplex>) status:active supported media: none autoselect 10baseT/UTP <half-duplex> 10baseT/UTP < half-duplex,hw-loopback> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,hw-l oopback> 100baseTX <half-duplex> 100baseTX <half-duplex,hw-loopback> 100baseTX < full-duplex> 100baseTX <full-duplex,hw-loopback>
The media: line shows that the interface is set to autoselect and is currently operating as 100baseTX full-duplex. The supported media: line lists the supported values of the media keyword (none, autoselect, 10baseT/UTP, 100baseTX), and the items in angled brackets are the supported values of the mediaopt keyword (half-duplex, full-duplex, hw-loopback) for each media setting. So, to force the ethernet to work at 10Mbps half-duplex, you would type the command:
sudo ifconfig en0 media 10baseT/UTP mediaopt half-duplex
Apple Mac OS X (v 10.3 and above) users can set ethernet speed and duplex settings using System Preferences:
Linux: to change to half-duplex, an option needs to be passed to the driver. For example, if the installed ethernet card is a Tulip, then the /etc/modules.conf file might say:
alias eth0 tulip options tulip options=12
to inform the system that you have a Tulip NIC and want it in 10baseT, half-duplex mode. The value of 12 is specific to the Tulip driver. Consult your HOWTO for the options for the particular card that you have.
Older models of Linksys Cable/DSL routers have a WAN port which is fixed 10 Mbps semi-duplex, and therefore work correctly with all models of cable modem. With other devices directly attached to the cable modem (such as a Netgear RT314 router), if they have an auto-negotiating WAN port, then you might need to set it to 10 Mbps half-duplex in accordance with the principles of this article.
The ntl:home 100/120 (Ambit) cable modem duplex setting can be configured by the user, by using the web pages at http://192.168.100.1/, user root password root. By default, the cable modem is configured to auto-negotiate its speed and duplex setting to be the same as your ethernet card. If you manually configure an explicit speed and duplex setting in your ethernet card, you should also configure the same one in the cable modem, thus removing auto-negotiation from both ends of the link. The optimal setting is to manually force both the ethernet card and the cable modem to full-duplex, thus avoiding all ethernet collisions, and avoiding any possibility of an auto-negotiation mistake.
Semi-duplex means that only one end of the ethernet link can transmit at any one instant. But this state lasts only for the duration of a single ethernet packet (just over 1 millisecond at 10 Mbps). It is possible to interleave ethernet packets flowing in opposite directions so rapidly that the impression of simultaneous continuous download and upload is maintained. There is more than enough bandwidth in a 10 Mbps semi-duplex link to keep both download and upload fully loaded on a cable modem. So, yes, you can download and upload simultaneously with a half-duplex ethernet setting.
Return to Index.