CCNA Interface and Cable Issues: Duplex, Errors, Copper and Fiber Troubleshooting
<p>Interface and cable troubleshooting is the skill of finding the physical-layer cause of a failing or slow Ethernet link by reading interface states, error counters, speed and duplex settings, cable tests and optical signal levels. This lesson covers CCNA 200-301 v2.0 exam topic 1.1: collisions and errors, duplex and speed mismatches, copper and fiber distance limits, pinouts and cable types, Auto-MDIX, TDR cable tests, transceiver light levels and interference, with the IOS XE commands that show each one.</p>
On this page10 sections
- How do you tell a configuration fault from a physical fault on an interface?
- What do the error counters in show interfaces mean?
- How do speed and duplex autonegotiation work, and what happens when one end is hard-set?
- How does a speed mismatch differ from a duplex mismatch, and what do collisions tell you?
- Which copper cable category supports which speed, and how far?
- Which cable and pinout does each connection need?
- How do you locate a copper cable fault with TDR?
- Which fiber type and optic does a link need?
- How do you read optical signal levels in show interfaces transceiver?
- How do you choose cabling where interference or grounding is a problem?
- Use interface and line-protocol states to separate configuration faults from physical faults, including err-disabled ports
- Interpret CRC, runt, giant, overrun and collision counters and say which ones point to the cable
- Predict the result of autonegotiation against a hard-set port and tell a speed mismatch from a duplex mismatch
- Choose the right copper category, fiber type and optic for a speed and distance
- Select straight-through, crossover or rollover cabling and explain when Auto-MDIX does and does not help
- Locate copper faults with TDR and diagnose fiber faults from transceiver Tx and Rx power
- Pick shielded copper or fiber where interference or ground-potential differences corrupt frames
How do you tell a configuration fault from a physical fault on an interface?
Start with the interface status and line-protocol status: together they tell you which layer has failed before you look at a single counter. The first word reports the physical layer (is there a signal and a link?); the line-protocol word reports whether the data-link layer is working over it.
| Status / protocol | What it means | Typical causes |
|---|---|---|
| administratively down / down | The interface is disabled in the configuration | shutdown is configured. Fix with no shutdown; no cable work needed |
| down / down (notconnect) | No link at Layer 1 | Cable unplugged or broken, far-end interface shut down or powered off, speeds forced to different values, wrong cable type with Auto-MDIX off, fiber polarity or wrong optic |
| down / down (err-disabled) | The switch shut the port itself after detecting a violation | BPDU guard, port security, link-flap and similar features. Find the reason, remove the cause, then bounce the port |
| up / down | Layer 1 is fine but Layer 2 is not | Mostly a WAN/serial symptom: encapsulation or keepalive mismatch |
| up / up | Link and protocol are working | Any remaining problem shows up in counters (errors, collisions) or higher layers |
Two points are easy to miss. First, a notconnect port tells you nothing about the far end's IP address, VLAN or duplex: those do not stop a link from coming up, so a down/down port is a physical or link-establishment problem. Second, an err-disabled port that goes straight back to err-disabled after shutdown / no shutdown still has its cause attached: whatever tripped the feature (a device the port should not see, too many MAC addresses, a flapping link) is still there. Check the reason with show interfaces status err-disabled or show errdisable recovery and remove the cause first. Automatic errdisable recovery is only a timer that re-enables the port; with the cause still present, the port simply trips again.
SW1# show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0/0 198.51.100.9 YES manual up up
GigabitEthernet0/1/0 172.16.40.1 YES manual administratively down down
GigabitEthernet0/1/1 172.16.41.1 YES manual down down
Useful commands: show ip interface brief (state at a glance), show interfaces status (switch ports: connected/notconnect/err-disabled, VLAN, duplex, speed, type), and show interfaces (full detail and counters).
What do the error counters in show interfaces mean?
Each counter in show interfaces points at a different kind of fault, and only some of them point at the cable. Read them as a pattern, compare both ends of the link, and clear them (clear counters) so you know whether they are still rising.
R4# show interfaces gi0/1/2
Full Duplex, 1000Mbps, link type is auto, media type is RJ45
0 runts, 0 giants, 0 throttles
1187 input errors, 1187 CRC, 0 frame, 0 overrun, 0 ignored
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
| Counter | Meaning | Points to |
|---|---|---|
| input errors | Total of the receive-side error counters | Look at which sub-counter makes up the total |
| CRC | Frame's FCS did not match its contents: the frame was corrupted | Damaged or over-length cable, electromagnetic interference, bad connector or optic, or the full-duplex end of a duplex mismatch |
| runts | Frames shorter than the 64-byte Ethernet minimum | Fragments of collided frames, typically the full-duplex end of a duplex mismatch |
| giants | Frames larger than the port's maximum frame size | An MTU mismatch, for example a jumbo-frame server NIC on a port still at the default MTU |
| overrun | The receiver hardware could not move frames to memory fast enough | Bursty input exceeding the device's receive capacity, not the cable |
| ignored | Frames dropped because internal receive buffers were full | Device load or traffic bursts, not the cable |
| collisions / late collision | Transmission collided (late = after the first 64 bytes) | Half-duplex operation; late collisions mean a duplex mismatch or over-length cabling (see below) |
| output drops | Frames discarded from a full output queue | Congestion, not a physical fault |
In the example, every input error is a CRC error and there are no runts or collisions: corruption on the medium is the first suspect, but you still check the other end before deciding. The practical rule: CRC errors with no collisions on either end suggest the medium (cable, connector, interference); CRC and runts on one end with late collisions on the other suggest a duplex mismatch; overruns, ignored and output drops are capacity problems, so replacing the cable will not help; giants are a frame-size (MTU) problem.
How do speed and duplex autonegotiation work, and what happens when one end is hard-set?
Autonegotiation lets both ends of a copper link advertise what they support and pick the best common speed and duplex. It works only when both ends take part. If one end is hard-set, it stops advertising, and the other end falls back to parallel detection:
- The autonegotiating end can still sense the speed from the signal, so speed normally matches.
- It cannot learn the duplex, so at 10 or 100 Mb/s it defaults to half duplex (IEEE 802.3 behaviour).
The classic result: an engineer hard-sets a switch port to speed 100 and duplex full, the PC is left on auto, the PC comes up at 100 Mb/s half duplex, and you now have a duplex mismatch. The same thing happens in reverse when a device's NIC is fixed and the switch port is on auto: show interfaces status shows the switch port as a-half.
SW1# show interfaces status
Port Name Status Vlan Duplex Speed Type
Gi1/0/21 BADGE-RD connected 30 a-half a-100 10/100/1000BaseTX
Gi1/0/22 LAPTOP22 connected 30 a-full a-1000 10/100/1000BaseTX
The a- prefix means the value was autonegotiated (or sensed); a value without the prefix was configured. a-full a-1000 is a healthy negotiated gigabit link (and a-full a-100 would be an equally healthy negotiated link at 100 Mb/s). a-half on a modern switch port is a warning sign: the peer probably is not negotiating.
The fix is to make both ends agree: either both on auto (the recommended default), or, when one end cannot be changed (firmware or a vendor policy fixes its NIC), hard-set the other end to exactly the same speed and duplex. Configure it under the interface:
SW1(config)# interface gi1/0/21
SW1(config-if)# speed 100
SW1(config-if)# duplex full
Use the peer's actual fixed values (the example assumes a peer fixed at 100 Mb/s full duplex). Two general rules follow from parallel detection: leaving one side on auto against a fixed peer always reproduces the half-duplex fallback, and any speed other than the peer's fixed speed keeps the link down.
How does a speed mismatch differ from a duplex mismatch, and what do collisions tell you?
A speed mismatch keeps the link down; a duplex mismatch lets the link come up and then corrupts traffic. That difference is the fastest way to tell them apart.
| Speed mismatch (both ends forced, different speeds) | Duplex mismatch (same speed, half vs full) | |
|---|---|---|
| Link state | down / down (notconnect) | up / up |
| Symptoms | No traffic at all | Slow transfers, retransmissions; small pings often still succeed |
| Half-duplex end | n/a | Collisions and late collisions |
| Full-duplex end | n/a | CRC (FCS) errors and runts |
| Fix | Configure the same speed, or auto on both | Configure the same duplex, or auto on both |
Why the counters split: the half-duplex end follows CSMA/CD and stops transmitting when it hears the other end sending, so it records collisions, many of them late because the full-duplex end sends whenever it likes. The full-duplex end never expects a collision, so it receives the truncated, corrupted frames the half-duplex end abandoned, and counts them as CRC errors and runts.
When you need evidence before dispatching a technician, look for the asymmetric pattern: half duplex reported on one end and full on the other, late collisions on one side and CRC errors only on the other. A damaged cable instead gives CRC errors on both ends with no collisions, or an open pair in a cable test.
When collisions are normal and what late collisions mean
Collisions are normal only on half-duplex shared media, such as several hosts sharing a hub segment or a device that only supports half duplex. A slowly rising collision count there, with no late collisions and no CRC errors, is just CSMA/CD contention. On a full-duplex link there should be no collisions at all, because each direction has its own pair or strand.
A late collision is one detected after the first 64 bytes (512 bit times) of a frame have been sent. A correctly built half-duplex network never produces them, because every station should hear a transmission before that point. Cisco lists the causes as:
- A duplex mismatch: the port is half duplex and the peer is full duplex (the most common cause on a modern network).
- Cabling that exceeds Ethernet length limits on a half-duplex segment: the signal takes too long to reach the far station, so it starts sending before it hears the frame.
- Faulty hardware such as a bad NIC or port.
Once duplex is confirmed to match on both ends of a half-duplex segment, a mismatch is ruled out, so persistent late collisions with few CRC errors point to segment length (then hardware). Interference, MTU mismatches and receive overruns do not create late collisions: they show up as CRC errors, giants and overruns respectively.
Which copper cable category supports which speed, and how far?
Twisted-pair Ethernet has a 100 m channel limit (typically 90 m of permanent horizontal cable plus up to 10 m of patch cords) regardless of category. The category decides which speed the cable carries reliably over that distance.
| Category | Typical Ethernet use | Reach |
|---|---|---|
| Cat5e | Commonly 1000BASE-T (1 Gb/s); 2.5GBASE-T is also specified on Cat5e | 100 m |
| Cat6 | 1000BASE-T; 10GBASE-T only on short runs | 100 m at 1 Gb/s; about 55 m at 10 Gb/s |
| Cat6a | 10GBASE-T | 100 m |
| Cat8 | 25GBASE-T / 40GBASE-T in the data centre | 30 m |
What exceeding the limits looks like:
- Too long for any copper (any channel past 100 m): the link flaps, drops or logs input/CRC errors. Category and shielding do not raise the 100 m limit, so the options are a different medium (fiber) or an active device that splits the run into legal segments.
- Category too low for the speed (for example Cat6 longer than about 55 m carrying 10GBASE-T): clean at the lower speed, CRC errors or renegotiation down at the higher one. The channel performs at the level of its weakest component, so every part of it (horizontal cable, jacks, patch cords) must be rated for the speed; speed settings cannot change a cable's electrical limits.
Older coaxial Ethernet had its own segment limits (for example 185 m for 10BASE2), but they have nothing to do with modern twisted pair.
Which cable and pinout does each connection need?
Copper Ethernet uses RJ-45 connectors wired to T568A or T568B. A cable with the same standard at both ends is straight-through; a cable with T568A at one end and T568B at the other is a crossover. Which one you need depends on whether the two devices transmit on the same pins.
| Interface type | Devices | 10/100 Mb/s transmit pins | Receive pins |
|---|---|---|---|
| MDI | PCs, servers, routers, printers, most endpoints | 1 and 2 | 3 and 6 |
| MDI-X | Switches and hubs | 3 and 6 | 1 and 2 |
- Unlike devices (MDI to MDI-X): straight-through. PC to switch, router to switch.
- Like devices (MDI to MDI, or MDI-X to MDI-X): crossover. Switch to switch, hub to switch, PC to PC, PC directly to a router, router to router.
- Console access: a rollover (console) cable from the device's RJ-45 console port to the laptop's DB-9 serial adapter, or a USB console cable where the device has a USB console port. A rollover is not an Ethernet cable.
100BASE-TX uses only two pairs (pins 1-2 and 3-6). 1000BASE-T uses all four pairs, transmitting and receiving on every pair at once. That is why a cable with one broken pair can still pass 100 Mb/s while gigabit fails or will not negotiate, provided the broken pair is one 100BASE-TX does not use (pins 4-5 or 7-8). A break on pins 1-2 or 3-6 stops 100 Mb/s as well.
Auto-MDIX
Auto-MDIX detects the cable type and swaps the transmit and receive pairs internally, so a straight-through cable works between like devices. It is enabled by default on Catalyst switch ports (mdix auto). Two conditions break it:
no mdix auto(for example from an old hardening template): like devices need a real crossover cable again. Only the pin mapping matters here: shielding and category do not change which pins transmit, and a rollover is a console cable.- Hard-coding speed and duplex. Cisco's Catalyst configuration guides tell you to leave speed and duplex on auto when you rely on Auto-MDIX; on those platforms, fixing them disables the automatic pair swap, so any link between like devices that was relying on Auto-MDIX (a straight-through cable between two switches, say) goes down/down once fixed speed and duplex are configured.
How do you locate a copper cable fault with TDR?
Time-domain reflectometry (TDR) is a built-in cable test on many Catalyst copper ports: the switch sends a signal down each pair and times the reflection to report whether the pair is normal, open or shorted, and how far from the switch the fault is. It is a two-step process: run the test, then read the result.
SW2# test cable-diagnostics tdr interface gi2/0/33
SW2# show cable-diagnostics tdr interface gi2/0/33
Interface Speed Local pair Pair length Remote pair Pair status
--------- ----- ---------- ------------------ ----------- -----------
Gi2/0/33 100M Pair A 67 +/- 5 meters Pair B Normal
Pair B 67 +/- 5 meters Pair A Normal
Pair C 67 +/- 5 meters Pair C Normal
Pair D 12 +/- 5 meters N/A Open
How to read it: pairs that reach the far end all report roughly the same length (the cable length), and a pair reported Open at a shorter length is broken that far from the switch; here, pair D about 12 m out, for example at a patch panel or punch-down. Cisco labels pins 1-2, 3-6, 4-5 and 7-8 as pairs A to D, so an open pair C or D leaves the two 100BASE-TX pairs intact: a link may still run at 100 Mb/s while gigabit fails. Repair the cable; leaving the port forced to a lower speed only hides the fault. (A pair reported as Short means conductors touching; the lengths come with a stated tolerance.)
Limits to remember:
- The
showcommand only displays the result of the lasttest; it does not run a new test. - TDR is for copper only. On fiber SFP/SFP+ ports the test is not supported; use the optic's digital optical monitoring (
show interfaces transceiver) instead. - On many platforms the test interrupts the link while it runs, so use it on a port that is already down or in a maintenance window.
Which fiber type and optic does a link need?
Optics must match the fiber type and the distance. Multimode fiber has a wide core (50 or 62.5 microns) and is used with short-reach 850 nm optics; single-mode fiber has a narrow core (about 9 microns) and is used with long-reach 1310/1550 nm optics.
| Optic | Fiber | Typical reach |
|---|---|---|
| 1000BASE-SX | Multimode | About 220-275 m on 62.5-micron fiber (depending on its bandwidth grade); up to 550 m on 50-micron OM2 and better |
| 1000BASE-LX/LH | Single-mode | Up to 10 km |
| 1000BASE-ZX | Single-mode | Long haul, around 70 km |
| 10GBASE-SR | Multimode | About 33 m on OM1, 82 m on OM2, 300 m on OM3, 400 m on OM4 |
| 10GBASE-LR | Single-mode | Up to 10 km |
| 10GBASE-ER | Single-mode | Up to 40 km |
The naming helps: SX/SR = short reach, multimode; LX/LR = long reach, single-mode; ER and ZX go further still. Common faults:
- Wrong optic family for the fiber: short-reach multimode optics (SR/SX) are not designed for single-mode fiber, and over kilometre distances the link will not come up even with clean, correctly polarised strands. Long runs on single-mode fiber need single-mode optics rated for the distance.
- Multimode grade too low for the speed: the reach of 10GBASE-SR depends on the fiber's grade (see the table). Beyond it, modal dispersion smears the pulses, so the link logs CRC errors even though light levels are in range. That is a bandwidth limit, not light loss, so cleaning cannot cure it; single-mode optics stay on single-mode fiber, and the way to keep SR optics over a longer run is a higher multimode grade (OM3 or OM4).
- Copper too long or electrically exposed: multimode fiber with short-reach optics covers a few hundred metres in one direct run, which is why it replaces copper runs beyond 100 m and copper between buildings.
Fiber Ethernet links run full duplex at the optic's speed in practice, so a duplex setting does not explain a dark or lossy optical link.
How do you read optical signal levels in show interfaces transceiver?
SFP and SFP+ optics with digital optical monitoring (DOM) report temperature, voltage, laser current, and transmit (Tx) and receive (Rx) power in dBm. show interfaces transceiver (add detail for the thresholds) is the main physical-layer evidence for a fiber link.
SW3# show interfaces te1/1/4 transceiver
Optical Optical
Temperature Voltage Tx Power Rx Power
Port (Celsius) (Volts) (dBm) (dBm)
--------- ----------- ------- -------- --------
Te1/1/4 36.8 3.31 -1.7 -10.4 -
Flags next to a value compare it with the optic's thresholds: ++ high alarm, + high warning, - low warning, -- low alarm. dBm is logarithmic, so a more negative number means less light. In the example, Rx carries a low-warning flag (-). Always compare this end's Rx with the far end's Tx:
| What you see | Likely cause | Action |
|---|---|---|
| Far-end Tx normal, local Rx low (warning or alarm) | Loss in the path: dirty or damaged connector end faces, tight bends, bad splices, a run longer than the optic's rated reach | Inspect and clean connectors first (especially any recently reworked), check bends, then check length |
| Tx normal on both ends, Rx around -40 dBm on both (no light) | Strands crossed so Tx meets Tx (polarity), or a broken strand | Swap the strands at one end (A-to-B polarity) or replace the cord |
| Local Tx outside its normal range | Failing transceiver | Replace the optic |
Rx above the high alarm (++) | Receiver overload: a long-haul optic such as ZX on a short span | Fit an inline attenuator in the receive path, or use an optic rated for the distance |
Too much light is a fault, just like too little: an overloaded receiver produces CRC errors and flaps. Changing the fiber type does not fix it, and single-mode optics must stay on single-mode fiber.
How do you choose cabling where interference or grounding is a problem?
When electromagnetic interference (EMI) from motors, welders, elevators or compressors corrupts frames on unshielded twisted pair (UTP), the symptom is CRC errors on both ends that rise when the noise source runs, with correct speed and duplex and no collisions. Speed, duplex and MTU are not the cause in that pattern.
- Shielded twisted pair (STP/F/UTP) reduces EMI, but only when the shield is correctly grounded through shielded jacks and patch panels. An ungrounded shield gives little protection.
- Fiber is immune to EMI because it carries light, not electrical signals, and it also removes length limits that copper cannot meet.
- Category and jacket ratings are not noise controls: a category describes bandwidth over distance, and plenum is a fire-safety rating for cable in air-handling spaces.
Between buildings, there is a second reason to choose fiber. Separate electrical systems can sit at different ground potentials, and a copper cable (especially a shield grounded in both buildings) bonds them together, driving current through the cable and the equipment. Fiber is non-conductive, so it removes that path entirely, which is why inter-building links are normally fiber.
Tip. Questions on this topic are mostly scenarios built around evidence: show interfaces counters from one or both ends of a link, show interfaces status or show ip interface brief lines, a TDR cable-test table or show interfaces transceiver light levels. You are asked for the most likely cause, the next step, or the change that fixes the link, often under a constraint such as a device whose settings cannot be changed, optics that must be kept or a cable route that must stay. Expect to tell near-identical faults apart by which counter rises on which end, to know which counters do not point to the cable, to match cable categories, fiber types and optics to distances, to choose straight-through, crossover or rollover cabling, and to recognise when Auto-MDIX applies. Some items ask you to select two answers.
- Administratively down means shutdown in the config; down/down notconnect is a physical or link-establishment problem; err-disabled needs its cause removed before the port is bounced.
- A duplex mismatch links up and errors: late collisions on the half-duplex end, CRC errors and runts on the full-duplex end.
- A speed mismatch between two hard-set ends never brings the link up.
- An autonegotiating port facing a hard-set peer senses the speed but falls back to half duplex at 10/100 Mb/s; the a- prefix in show interfaces status marks negotiated values.
- Collisions are normal only on half-duplex shared media; late collisions mean a duplex mismatch, over-length cabling or faulty hardware.
- Giants point to an MTU mismatch, and overruns, ignored frames and output drops point to capacity, not the cable.
- Twisted pair is limited to 100 m; Cat6 carries 10GBASE-T only on short runs, while Cat6a carries it to 100 m.
- Like devices need a crossover cable unless Auto-MDIX is active, and hard-coding speed and duplex can disable Auto-MDIX; consoles use a rollover cable.
- SX/SR optics are multimode short reach, LX/LR single-mode long reach; check Rx against the far end's Tx, clean connectors first, and attenuate an overloaded receiver.
- Use grounded shielded cable or fiber against EMI, and fiber between buildings with different ground potentials.
Frequently asked questions
What is a duplex mismatch on a Cisco switch?
A duplex mismatch is a link where both ends run the same speed but one end operates at half duplex and the other at full duplex. The link comes up and small pings usually succeed, but throughput collapses: the half-duplex end logs collisions and late collisions, while the full-duplex end logs CRC (FCS) errors and runts. It usually happens when one end is hard-set to full duplex and the other autonegotiates, falling back to half duplex at 10 or 100 Mb/s. Fix it by setting both ends to auto, or both to the same fixed speed and duplex.
Why does a speed mismatch take an interface down but a duplex mismatch does not?
Ethernet speeds use different signalling, so two ports forced to different speeds cannot recognise each other's signal and never establish a link; the interface stays down/down (notconnect). Duplex only controls whether a port may send and receive at the same time, so two ports at the same speed with different duplex settings still link up, and the fault appears later as collisions on one end and CRC errors on the other.
What causes CRC errors on an interface?
CRC errors mean received frames failed the frame check sequence, so they were corrupted in transit. Common causes are a damaged or badly terminated cable, a cable longer than its rated distance, electromagnetic interference on unshielded copper, a dirty connector or failing optic on fiber, and the full-duplex end of a duplex mismatch. Compare both ends: CRC errors on both ends with no collisions point to the medium; CRC errors on one end with late collisions on the other point to a duplex mismatch.
What is the difference between runts, giants and overruns?
Runts are frames shorter than the 64-byte Ethernet minimum, usually fragments of collided frames from a duplex mismatch. Giants are frames larger than the port's maximum frame size, usually caused by an MTU mismatch such as a jumbo-frame server on a port at the default MTU. Overruns count frames the receiving hardware could not process fast enough during bursts; they indicate a capacity limit, not a cable fault.
What does Auto-MDIX do, and why might a straight-through cable stop working between two switches?
Auto-MDIX detects whether a crossover is needed and swaps the transmit and receive pairs internally, so a straight-through cable works between two switches. It is on by default on Catalyst ports, but it stops working if it is disabled with no mdix auto, and Cisco's configuration guides require speed and duplex on auto for it to operate. With Auto-MDIX inactive, two like devices need a crossover cable.
What is the maximum length of a Cat6 Ethernet cable?
Every twisted-pair Ethernet category, including Cat6, is limited to a 100 m channel, usually 90 m of horizontal cable plus up to 10 m of patch cords. Cat6 carries 1 Gb/s across the full 100 m but supports 10GBASE-T only up to about 55 m; Cat6a is needed for 10 Gb/s at 100 m. Beyond 100 m, use fiber or add a switch along the path.
How do you check fiber light levels on a Cisco switch?
Use show interfaces transceiver, or show interfaces transceiver detail for the alarm and warning thresholds, on a port whose SFP supports digital optical monitoring. It shows temperature, voltage, transmit power and receive power in dBm, with ++ and + marking high alarm and warning and -- and - marking low alarm and warning. Compare local receive power with the far end's transmit power to find loss from dirty connectors, bends or excess length, missing light from crossed strands, or receiver overload.
When should you use fiber instead of copper?
Use fiber when the run is longer than the 100 m twisted-pair limit, when strong electromagnetic interference corrupts frames on copper, and between buildings, where fiber's non-conductive glass avoids ground-potential differences between electrical systems. Match the optic to the fiber: multimode with SX or SR optics for short runs, single-mode with LX, LR or longer-reach optics for kilometres.
Source
This lesson covers the "Network Infrastructure and Connectivity" domain of the official CCNA exam guide. Vendors revise their guides — check the source for the current version.
Sign up free to mark lessons complete, bookmark topics and track your exam readiness.