How to change network card driver? YaST will not

System has a recent installation of openSUSE 13.2 KDE 64-bit, legacy BIOS, with all updates. Wired network card is a Realtek RTL8139/810x Family Fast Ethernet NIC, and was set as enp3s2. In adjusting settings for the card in YaST, I changed the driver from 8139too to 8139cp, which stopped the card from working.

Trying to change the driver back in YaST gives the message:

Unable to configure the network card because the kernel device (eth0, wlan0) is not present. This is mostly caused by missing firmware (for wlan devices)> See dmasg output for details.

dmesg gives:

   12.738932] 8139cp: 8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004)
   12.738989] 8139cp 0000:03:02.0: This (id 10ec:8139 rev 10) is not an 8139C+ compatible chip, use 8139too

So the question is, how do I switch the driver back to 8139too, given that YaST will not do it?

Thanks,
Howard

Some options I’d suggest…

  • If your root partition is BTRFS, maybe try using snapper to return to a snapshot prior to your mistake.
  • Sounds like a very new system. Was this system installed using a DVD? If so, then boot to your DVD again and select “Repair.” That should not only install the original network driver but also unfortunately also undo your updates, so you’ll have to update your system again immediately afterwards. You can either wait for apper to update your system or run the following in a root console
zypper update

HTH,
TSU

Root partition is ext4, so no snapper.
It is a new system, installed using a DVD iso on a USB stick. Booting that gives options

Boot from Hard Disk
Installation
Upgrade
Rescue System
Check Installation Media
Memory Test
but not “Repair”. Would Upgrade help?
Thanks,
Howard

I do not know how yast implements it, but it should be either by blacklisting old module or creating alias for eth0 that points to new module. So check /etc/modules.conf and /etc/modules.conf.d for lines containing 8139too or 8139cp; if in doubt post them here.

This 13.2 installation does not have /etc/modules.conf or /etc/modules.conf.d. Would these functions be done somewhere else in 13.2?
Thanks,
Howard

Have you tried

modprobe 8139too

followed by yast?

Brilliant! That was just what I needed. It let YaST edit the card and set the driver to 8139too. System is connected again. Hooray for you and the forum.
Best regards,
Howard

Sorry, it’s of course /etc/modprobe.conf and /etc/modprobe.conf.d now. But as I see you have fixed it already.