I haven't found a really clear definition about what a 'carrier error' is within the context of the ifconfig output for a interface. I have been searching on Google and there really isn't a great definition, or list of issues that cause this.
I am assuming from the context, that this means something about the Ethernet signal is bad. I suspect something about the interconnecting cable, or the network interface/port is causing this problem?
I hardly ever see this counter changing, but a client contacted me this morning and mentioned network issues. The carrier counter is increasing by about 200 each second. They had recently made some modifications to the equipment connecting to the Linux box I manage. I would like to be able to give them some more specific details about what may be causing the problem, other then saying, something you changed is broke.
eth0 Link encap:Ethernet HWaddr 00:1b:21:f3:ea:ae
inet addr:172.16.0.9 Bcast:172.16.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13386121 errors:0 dropped:0 overruns:0 frame:0
TX packets:21255715 errors:1701 dropped:0 overruns:0 carrier:1031707
collisions:1313642 txqueuelen:1000
RX bytes:2467874046 (2.2 GiB) TX bytes:3820141165 (3.5 GiB)
So what is it a 'carrier error', and what are the typical problems that cause it.
Carrier errors occur when there is a problem with the modulation of your signal.
This could indicate either a duplex mismatch, or a problem with the physical cable/connector.
Restarting autonegotiation and checking the ethernet connector are some things you could try to fix the problem.
Look here for some instructions on how to restart autonegotiation.
I have a cat5e ethernet cable running between two buildings with surge protectors on each end and it gets occasional carrier errors as reported by RouterOS which is based on Linux. I believe most of them are caused by lightning, as we can go all winter without a single carrier error, then when spring comes, we get a lightning storm and there will have been 20-30 more.
The Cisco on the other side reports them as "input errors" when you do a show int.
In any case, they don't seem to cause any problems.
I think they're a side effect of the surge protector doing what it's supposed to do, which is clamping anything above 16V on the ethernet cable to ground. The effect this has on the ethernet signal is likely to be showing up as carrier errors.
Most likely, a surge protector with a higher breakdown voltage, or using no surge protector at all, would reduce the number of carrier errors that occur, at the increased risk of equipment damage. You'd rather the surge voltage go to ground through your surge protector, rather than your equipment, testing if it really does have 1500V isolation from the ethernet pairs to ground as IEEE specs require.
Carrier errors stem from a problem at the physical level of the OSI model. The error is generated by the chip handling the signalling (the carrier wave is modulated to form the 0's and 1's). When the signal between peers is disrupted a "carrier" error occurs.
Usually when the chip does not receive a normal link pulse (NLP) it will generate a carrier error. NLP's are 100ns in duration so even minor electrical disruption will trigger an error. Solution usually means checking integrity of physical links, ensuring links don't run near sources of EMR, etc.
Misconfiguration (or disrupted autoconfiguration which uses fast link pulses / FLP) can cause the same symptom. Once autonegotiation is succesful the carrier errors should stop. If not using autoconfiguration, misconfiguration will cause this number to keep incrementing.
If using a hub packet collisions can cause the same symptoms - but the price of switch vs hub is making that an old equipment issue only.