Lines Matching +full:pse +full:- +full:pd

1 .. SPDX-License-Identifier: GPL-2.0
7 ------------
11 1. **Users and System Administrators**: For those dealing with real-world
12 Ethernet issues, this guide provides a practical, step-by-step
15 or mysterious network issues, jump right into the step-by-step guide and
24 Step-by-Step Diagnostic Guide from Linux (General Ethernet)
25 -----------------------------------------------------------
29 environments, including **Single-Pair Ethernet (SPE)** and **Multi-Pair
31 over Data Line) and **PoE** (Clause 33 PSE).
43 - **Link is up and stable, but no data transfer**: If the link is stable but
47 - **Link is unstable**: Link resets, speed drops, or other fluctuations
50 - **No link detected**: The interface is up, but no link is established.
61 For example, in the output `<NO-CARRIER,BROADCAST,MULTICAST,UP>`, the important
64 - **UP**: The interface is in the administrative "UP" state.
65 - **NO-CARRIER**: The interface is administratively up, but no physical link is
71 - **Command:** `ip link show dev <interface>`
73 - **Expected Output:**
75 .. code-block:: bash
77 4: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 ...
80 - **Interpreting the Output:**
82 - **Administrative UP State**:
84 - If the output contains **"UP"**, the interface is administratively up,
87 - If you also see **"NO-CARRIER"**, it means the physical link has not been
92 - **Administrative DOWN State**:
94 - If the output lacks **"UP"** and shows only states like
98 .. code-block:: bash
102 - **Next Steps**:
104 - If the interface is **administratively up** but shows **NO-CARRIER**,
108 - If the interface was **administratively down** and you have brought it up,
112 - **If the interface is up and the link is detected**:
114 - If the output shows **"UP"** and there is **no `NO-CARRIER`**, the
119 - If the interface is up and the link is detected but **no data is being
126 - If the **link is unstable** or **frequently resetting or dropping**, this
134 Use `ethtool -I` to check the link status, PHY configuration, supported link
139 For both **Single-Pair Ethernet (SPE)** and **Multi-Pair Ethernet (MPE)**
145 - **Command:** `ethtool -I <interface>`
147 - **Example Output for SPE Interface (Non-autonegotiation)**:
149 .. code-block:: bash
155 Supports auto-negotiation: No
159 Advertised auto-negotiation: No
163 Auto-negotiation: off
164 master-slave cfg: forced slave
165 master-slave status: slave
169 MDI-X: Unknown
170 Supports Wake-on: d
171 Wake-on: d
176 - **Example Output for MPE Interface (Autonegotiation)**:
178 .. code-block:: bash
184 Supported pause frame use: Symmetric Receive-only
185 Supports auto-negotiation: Yes
189 Advertised pause frame use: Symmetric Receive-only
190 Advertised auto-negotiation: Yes
194 Link partner advertised pause frame use: Symmetric Receive-only
195 Link partner advertised auto-negotiation: Yes
199 Auto-negotiation: on
203 MDI-X: Unknown
204 Supports Wake-on: pg
205 Wake-on: p
209 - **Next Steps**:
211 - Record the output provided by `ethtool`, particularly noting the
212 **master-slave status**, **speed**, **duplex**, and other relevant fields.
221 or the **PSE** (Power Sourcing Equipment) is managed by proprietary user-space
224 (LEDs), using multimeters, or consulting vendor-specific software for
230 - **Command:** `ethtool --show-pse <interface>`
232 - **Expected Output Examples**:
234 1. **PSE Not Supported**:
236 If no PSE is attached or the interface does not support PSE, the following
239 .. code-block:: bash
241 netlink error: No PSE is attached
244 2. **PoDL (Single-Pair Ethernet)**:
248 .. code-block:: bash
250 PSE attributes for eth1:
251 PoDL PSE Admin State: enabled
252 PoDL PSE Power Detection Status: delivering power
254 3. **PoE (Clause 33 PSE)**:
258 .. code-block:: bash
260 PSE attributes for eth1:
261 Clause 33 PSE Admin State: enabled
262 Clause 33 PSE Power Detection Status: delivering power
263 Clause 33 PSE Available Power Limit: 18000
265 - **Adjust Power Limit (if needed)**:
267 - Sometimes, the available power limit may not be sufficient for the link
270 - **Command:** `ethtool --set-pse <interface> c33-pse-avail-pw-limit <limit>`
274 .. code-block:: bash
276 ethtool --set-pse eth1 c33-pse-avail-pw-limit 18000
277 ethtool --show-pse eth1
281 .. code-block:: bash
283 Clause 33 PSE Available Power Limit: 18000
286 - **Next Steps**:
288 - **PoE or PoDL Not Used**: If **PoE** or **PoDL** is not implemented or used
292 - **PoE or PoDL Controlled Externally**: If **PoE** or **PoDL** is used but
293 is not managed by the Linux kernel's **PSE-PD** framework (i.e., it is
294 controlled by proprietary user-space software or external tools), this part
295 is out of scope for this documentation. Please consult vendor-specific
298 - **PSE Admin State Disabled**:
300 - If the `PSE Admin State:` is **disabled**, enable it by running one of
303 .. code-block:: bash
305 ethtool --set-pse <devname> podl-pse-admin-control enable
307 or, for Clause 33 PSE (PoE):
309 ethtool --set-pse <devname> c33-pse-admin-control enable
311 - After enabling the PSE Admin State, return to the start of the **Check
314 - **Power Not Delivered**: If the `Power Detection Status` shows something
316 **PSE**. Check for potential issues such as a short circuit in the cable,
317 insufficient power delivery, or a fault in the PSE itself.
319 - **Power Delivered but No Link**: If power is being delivered but no link is
332 noise-related problems.
334 - **Command:** `ethtool --cable-test <interface>`
336 The following are the typical outputs for **Single-Pair Ethernet (SPE)** and
337 **Multi-Pair Ethernet (MPE)**:
339 - **For Single-Pair Ethernet (SPE)**:
340 - **Expected Output (SPE)**:
342 .. code-block:: bash
353 - **For Multi-Pair Ethernet (MPE)**:
354 - **Expected Output (MPE)**:
356 .. code-block:: bash
385 - An **Open Circuit** result might not only indicate a damaged or disconnected
386 cable but also occur if the cable is properly attached to a powered-down link
389 - Some PHYs may report a **Short within Pair** if the link partner is in
395 these quirks are often hardware-specific, the **kernel driver** would be an
406 - **OK**:
408 - The cable is functioning correctly, and no issues were detected.
410 - **Next Steps**: If you are still experiencing issues, it might be related
411 to higher-layer problems, such as duplex mismatches or speed negotiation,
412 which are not physical-layer issues.
414 - **Special Case for `BaseT1` (1000/100/10BaseT1)**: In `BaseT1` systems, an
419 for short-distance mode).
421 - **Open Circuit**:
423 - An **Open Circuit** result typically indicates that the cable is damaged or
426 - If the link partner is in **admin down** state or powered off, you might
429 - **Next Steps**: Inspect the cable at the fault length for visible damage
433 - **Short within Pair**:
435 - A **Short within Pair** indicates an unintended connection within the same
438 - **Next Steps**: Replace or repair the cable and check for any physical
441 - **Short to Another Pair**:
443 - A **Short to Another Pair** means the wires from different pairs are
446 - **Next Steps**: Replace or repair the damaged cable. Inspect the cable for
449 - **Impedance Mismatch**:
451 - **Impedance Mismatch** indicates a reflection caused by an impedance
456 - **Next Steps**: Check the cable quality and ensure consistent impedance
460 - **Noise**:
462 - **Noise** means that the Time Domain Reflectometry (TDR) test could not
466 - **Next Steps**: Identify and eliminate sources of electromagnetic
470 - **Resolution Not Possible**:
472 - **Resolution Not Possible** means that the TDR test could not detect the
476 - **Next Steps**: Inspect the cable manually if possible, or use alternative
479 - **Unknown**:
481 - An **Unknown** result may occur when the test cannot classify the fault or
485 - **Next Steps**: Re-run the test, verify the link partner's state, and inspect
493 speed, duplex settings, or master-slave roles can cause connection issues.
498 - If both link partners support autonegotiation, ensure that autonegotiation is
502 - **Quick Fix:** Reset autonegotiation to the default settings, which will
505 .. code-block:: bash
507 ethtool -s <interface> autoneg on
509 - **Command to check configuration:** `ethtool <interface>`
511 - **Expected Output:** Ensure that both sides advertise compatible link modes.
520 .. code-block:: bash
527 Auto-negotiation: on
532 - One possible issue occurs when one side is using **autonegotiation** (as in
534 (e.g., older hardware with single-speed hubs). In such cases, modern PHYs
538 - **No or empty "Link partner advertised link modes"**.
540 - **"Link partner advertised auto-negotiation:"** will be **"no"** or not
543 - This type of detection does not always work reliably:
545 - Typically, the modern PHY will default to **Half Duplex**, even if the link
548 - Some PHYs may not work reliably if the link partner switches from one
551 - **Next Steps**: Set both sides to the same fixed speed and duplex mode to
554 .. code-block:: bash
556 ethtool -s <interface> speed 1000 duplex full autoneg off
561 - In **BaseT1** systems (e.g., 1000BaseT1, 100BaseT1), link establishment
563 **slave**. A mismatch in this master-slave configuration can prevent the link
567 - **Role Preference in 1000BaseT**: The **1000BaseT** specification allows link
568 partners to negotiate master-slave roles or role preferences during
576 - **Next Steps**: Ensure that one side is configured as **master** and the
579 **forced**. Check for any driver-related restrictions or forced modes.
581 - **Command to force master/slave mode**:
583 .. code-block:: bash
585 ethtool -s <interface> master-slave forced-master
589 .. code-block:: bash
591 ethtool -s <interface> master-slave forced-master speed 1000 duplex full autoneg off
594 - **Check the current master/slave status**:
596 .. code-block:: bash
602 .. code-block:: bash
604 master-slave cfg: forced-master
605 master-slave status: master
607 - **Hardware Bugs and Driver Forcing**: If a known hardware issue forces the
623 - **Monitor Kernel Logs for Link Resets and Speed Drops**:
625 - The Linux kernel will print link status changes, including downshift
629 - **Command to monitor kernel logs in real-time:**
631 .. code-block:: bash
633 dmesg -w | grep "Link is Up\|Link is Down"
635 - Example Output (if a downshift occurs):
637 .. code-block:: bash
639 eth0: Link is Up - 100Mbps/Full (downshifted) - flow control rx/tx
645 - **Note**: Not all drivers or PHYs support downshift reporting, so you may
648 - **Monitor Link Down Events Using `ethtool`**:
650 - Starting with the latest kernel and `ethtool` versions, you can track
651 **Link Down Events** using the `ethtool -I` command. This will provide
655 - **Command to monitor link down events:**
657 .. code-block:: bash
659 ethtool -I <interface>
661 - Example Output (if supported):
663 .. code-block:: bash
665 PSE attributes for eth1:
672 - **Check Link Status and Speed**:
674 - Even though downshift counts or events are not easily tracked, you can
677 - **Command:** `ethtool <interface>`
679 - **Expected Output:**
681 .. code-block:: bash
685 Auto-negotiation: on
691 - **Disable Energy-Efficient Ethernet (EEE) for Diagnostics**:
693 - **EEE** (Energy-Efficient Ethernet) can be a source of link instability due
694 to transitions in and out of low-power states. For diagnostic purposes, it
699 - **Next Steps**: Disable EEE and monitor if the link becomes stable. If
703 - **Command:**
705 .. code-block:: bash
707 ethtool --set-eee <interface> eee off
709 - **Important**: If disabling EEE resolves the instability, the issue should
714 - **Monitor Error Counters**:
716 - Use `ethtool -S <interface> --all-groups` to retrieve standardized interface
719 - **Command:** `ethtool -S <interface> --all-groups`
721 - **Example Output (if supported)**:
723 .. code-block:: bash
725 phydev-RxFrames: 100391
726 phydev-RxErrors: 0
727 phydev-TxFrames: 9
728 phydev-TxErrors: 0
730 - If the unified interface is not supported, use `ethtool -S <interface>` to
731 retrieve MAC and PHY counters. Note that non-standardized PHY counter names
734 - **Command:** `ethtool -S <interface>`
736 - **Example Output (if supported)**:
738 .. code-block:: bash
744 - **Note**: If no meaningful error counters are available or if counters are
749 - **Compare Counters**:
751 - Compare the egress and ingress frame counts reported by the PHY and MAC.
753 - A small difference may occur due to sampling rate differences between the
757 - Significant discrepancies indicate potential issues in the data path
780 can hunt down every elusive network issue - one twisted pair at a time.
783 dig deeper - or report that bug!