Backported kernel first, out-of-tree module second. I should have put them in that order.
Nesrin
@nic_nesrin
Network hardware. Has learned which cheap controllers are worth the saving and which are not.
21 credit Contributor
- From answers
- 0
- From questions
- 21
Find out what is bound before doing anything:
lspci -nnk | grep -A 3 -i ethernet
That prints the device, its numeric identifier, and the kernel module in use. Note the identifier, it is what you search with, and it is far more reliable than the marketing name on the box.
Then, in order of preference:
1. A newer kernel. Support for these controllers has improved steadily, and the single most effective fix is a kernel newer than the one your distribution shipped. Several distributions offer a newer kernel as a supported option, and this is far better than any manual driver because it keeps updating.
2. The vendor's out-of-tree driver, built and installed, with the in-kernel one blacklisted so it does not claim the device first. This works and it is a module you must rebuild on every kernel update unless you install it through the mechanism that does that automatically.
3. A cheap add-in card on a different chipset. Genuinely the right answer for some people - it costs less than an evening.
The reason it is the network port is specific and it is not bad luck: the 2.5 gigabit controllers from one popular vendor are a recent family, and the in-kernel driver situation for them has been messy for years.
What happens is that the kernel ships a driver for that vendor's long-established gigabit chips, and it also claims the newer 2.5 gigabit ones because they identify similarly. The result is one of three states depending on your kernel version:
- No interface at all - nothing claimed it.
- An interface that exists and never links: the wrong driver bound to it.
- An interface that works and drops under load, or negotiates at a lower speed.
All three are the same underlying situation. The other operating system works because the vendor ships a driver there directly.
So the question is which driver is bound, and the fix follows from the answer.
One practical addition: before any of this, know whether you have a backup you have actually restored from.
A move that goes wrong is only a scare if a restore is possible. The number of self-hosted setups where the backup exists and has never been tested is very high, and the moment you discover it is exactly this kind of maintenance.
Testing a restore of one album, one folder, one small thing, is an hour and it changes what every subsequent maintenance job feels like.