Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I discovered that the latest driver for my computers ethernet-adapter did not work. I fixed this by downloading an earlier driver, which worked perfectly.

However every time I run "apt-get upgrade", the driver I have downgraded gets updated. While simply reinstalling the old driver fixes the issue, it's quite annoying.

I'm running Ubuntu 11.10 64-bit. The driver that works is "r8168" and the newer driver that doesn't work is "r8169".

Is there a way to tell apt not to install the newer, not working, driver?

share|improve this question
    
This question appears to be abandoned, if you are experiencing a similar issue please ask a new question with details pertaining to your problem. If you feel this question is not abandoned, please flag the question explaining that. I am flagging this for closure. Regards, –  Ringtail Mar 11 '12 at 22:31

2 Answers 2

up vote 1 down vote accepted

I have this exact same issue with drivers: it's a well known Linux kernel problem with Realtek ethernet adapters, see here and here. I'm guessing you installed the r8168 driver from Realtek by hand on top of the r8169 driver that comes with the Linux kernel. Note that these numbers are not version numbers, but product names. Some people say the r8168 driver from Realtek works better than the r8169 driver from the Linux kernel.

If I'm right, then you're installing a kernel module on top of the drivers installed by the linux-image-* package from apt. When you upgrade that script it rebuilds your kernel modules and doesn't know to re-install your custom driver. The problem isn't the driver so much as the whole kernel.

You could try pinning linux-image so that apt doesn't ever upgrade it, but then you lose kernel upgrades. Alternately you can reinstall the Realtek driver by hand after every kernel upgrade by re-running autorun.sh from the r8168 code. A third option, one of the links above has a solution that recommends blacklisting the r8169 module that comes with the kernel. However that may leave you with a kernel with no driver for your ethernet, I don't know enough about modules and ramdisks to advise you safely.

share|improve this answer

You can hold the package. Related howto: https://help.ubuntu.com/community/PinningHowto

Just an easy terminal way:

sudo -i 
echo package_name hold | dpkg --set-selections

Replace package_name with your exact driver package name.

share|improve this answer
    
But what would, in this case, the package_name be? I've installed the driver from source and I'm not sure if there IS a package! Any ideas? –  Touzen Dec 1 '11 at 22:14
    
What was the driver name? Can't you find a .deb package for it? If you compiled it from source, package manager won't upgrade it. How did this happen at first place? –  heartsmagic Dec 1 '11 at 22:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.