This guide explains the ongoing debate within the Linux community regarding the removal of 18 legacy Ethernet drivers from the kernel. The goal is to evaluate how long to support still-functioning but obsolete hardware.

This discussion is useful for kernel developers, system administrators, and users working with legacy hardware. Understanding the implications of this proposal helps plan updates and maintain compatibility with older systems.

  • Kernel developers: To assess the impact of changes on the code and decide whether to contribute to the maintenance of specific drivers.
  • System administrators: To anticipate possible incompatibilities and plan updates for systems using legacy hardware.
  • Legacy hardware users: To understand if their hardware might be affected and what alternatives exist.

Prerequisites

  • Operating system: Linux kernel
  • Access: Access to the Linux kernel mailing list
  • Hardware: Legacy Ethernet hardware specified in the proposal
  • Software: Tools for AI-assisted analysis and fuzzing

Procedure to Remove Legacy Ethernet Drivers from the Linux Kernel

This guide provides a step-by-step procedure to remove legacy Ethernet drivers from the Linux kernel, as proposed in the patch series submitted by Andrew Lunn.

  • Step 1: Access the patch series proposed by Andrew Lunn. You can find the patch series at the following address: The patch series.
  • Step 2: Analyze the target drivers of the proposal. The drivers included are:
    • 3Com: 3c509, 3c515, 3c574, 3c589, 3c59x
    • AMD, SMSC, Cirrus, Fujitsu, Xircom, 8390 family
  • Step 3: Evaluate the impact of the removal. The patch series removes approximately 27,600 lines of code in 40 files. Consider the real use of these drivers and their maintainability.
  • Step 4: Review the objections and feedback received in the discussion. Some users have reported that the 3c59x driver is still used in hundreds of industrial PCs.
  • Step 5: Decide whether to proceed with the removal. If you decide to remove the drivers, ensure that the removals are split into separate patches to facilitate the restoration of individual drivers, if necessary.
  • Step 6: Monitor updates and subsequent discussions. Stay informed about any developments in the Linux community regarding this proposal.

Verification and Troubleshooting

At the end of this guide, you will be able to test the functionality of legacy Ethernet drivers in the Linux kernel and resolve any issues.

Functionality Testing

  • Check for the presence of drivers: Run the command ls /sys/class/net/ to list the available network interfaces. Look for the names of the interfaces associated with the drivers you want to test.
  • Check the driver status: Use the command dmesg | grep -i ethernet to view kernel messages related to Ethernet drivers. Look for any errors or warnings.
  • Connectivity test: Use the command ping to test network connectivity. For example, ping 8.8.8.8 to test the connection to Google DNS.

Troubleshooting

  • Compilation errors: If you encounter errors during kernel compilation with legacy drivers, verify compatibility with the kernel version in use. Consult the driver-specific documentation for any compatibility notes.
  • Connectivity issues: If the network interface does not work correctly, try restarting the network service with the command sudo systemctl restart networking or sudo systemctl restart NetworkManager, depending on the system in use.
  • Unsupported drivers: If a specific driver is not supported in the current kernel version, consider using an older kernel version or searching for alternative solutions in the Linux community.

If problems persist, consult Linux support forums or kernel-specific mailing lists for additional assistance.

Educational Summary and Call to Action

At the end of this guide, you will have understood the importance and implications of the proposal to remove 18 legacy Ethernet drivers from the Linux kernel. You will also have learned how this discussion reflects a broader debate on managing support for obsolete hardware.

  • Educational Summary:
  • The proposal by Andrew Lunn aims to remove approximately 27,600 lines of code related to obsolete Ethernet drivers, dating from the 1990s to the early 2000s.
  • The discussion has highlighted the conflict between the need to maintain a clean kernel and the reality of some industrial systems that still depend on these drivers.
  • The removal has been split into separate patches to allow for possible future restorations.
  • The Linux community is carefully considering where to draw the line between obsolete hardware and simply old hardware.

For those using modern hardware, this discussion has no immediate impact. However, for those managing industrial systems or legacy hardware, it is crucial to monitor developments.

If you are interested in contributing or following the evolution of this discussion, we invite you to explore the original thread on the Linux kernel mailing list.

Editorial Note and Disclaimer

The guides and content published on GoYou are the result of independent research and analysis activities, for informational, educational, and in-depth purposes.

GoYou does not constitute a journalistic publication or an editorial product pursuant to Law No. 62/2001 and does not provide real-time information.

The GoYou project does not provide professional, technical, legal, or financial advice and disclaims any liability for the misuse of the information published.

In the Crypto sector, every investment involves risks: readers are invited to always inform themselves independently before making any decisions.