Many new motherboards (example: Gigabyte H77-DS3H) have the AR8161 ethernet controller. It will not work “out of the box” with openSUSE 12.3. However, you can solve the problem when you can transfer and install 2 packages on your computer, e.g. using an USB stick.
It is important to check for the exact model number of the controller. Do as user root:
or the equivalent for x86_64 systems. Pick the right one according to the kernel you have installed. Normally this will be “desktop”. The version numbers must match your kernel and may change in the future.
The required packages are available from this repository (look into subdirectories noarch and i586 or x86_64):
Transfer the 2 packages to a directory on your host and use yast to add the directory as an RPM only repository. Then you can install the packages with yast.
Now you are almost ready. As user root run these commands from a console:
modprobe alx
systemctl restart network.service
You should now be able to see and configure your ethernet network controller with yast.
Unfortunately, the method given in my post #1 above is outdated and will no longer work with kernels from the 12.2 update repository. As an alternative method it was possible to install the alx.ko module built by Axel Köllhofer. Pick the package alx-kmp-<your_kernel>.<arch>.rpm matching your kernel from http://download.opensuse.org/repositories/home:/Akoellh:/Kernelmodules/ and install it (hint: wget <file> and then zypper in <file>). This was working well for 12.3 and some updates of the 12.2 kernel.
Even the alternative method did not work for me for 12.2 kernel 3.4.47 desktop.
Unpack the source and change into the new directory:
tar xvlf compat-drivers-2013-03-04-u.tar.bz2
cd compat-drivers-2013-03-04-u
I had to patch the source of include/linux/compat-3.8.h to make it compile without error (ymmv):
--- include/linux/compat-3.8.h.orig 2013-03-01 20:21:29.000000000 +0100
+++ include/linux/compat-3.8.h 2013-08-26 13:11:24.943314878 +0200
@@ -46,10 +46,13 @@
* locking in the kref_put path can be deferred to the actual removal from
* the lookup structure and RCU lookups become trivial.
*/
+
+/* Commented; hack by vodoo
static inline int __must_check kref_get_unless_zero(struct kref *kref)
{
return atomic_add_unless(&kref->refcount, 1, 0);
}
+ */
/* This backports:
*
Apply the patch or edit the file manually to have lines 49-52 commented out. Compile with the following commands:
./scripts/driver-select alx
make
… and install and enable as user root:
make install
modprobe alx
systemctl reload network.service
This should get you a working alx driver.
Have a lot of fun!
I applied the above mentioned hacks to my openSUSE 12.3 quite some time ago. It got my wired Attansci [1969:1091] network card to fly just fine.
I’m usually on wireless, so I didn’t notice which/what/when update killed it…
Now I’m on 3.7.10-1.40-desktop as per the latest update. I’ve got a pile of kernels to choose from at boot…not one works (anymore). Well the kernels are fine - only no wired ethernet. Wireless is fine with them all.
I tried the above mentioned (this thread) hacks again…no luck.
a) any hints?
b) will openSUSE 13.1 work with Attensic - both wireless and wired?
I used to be quite active asking tons of questions and so in the past. But now…openSUSE has become so ‘runs everything directly from the download’ that it’s (very) rarely needed
As always; thanks a million for your time and efforts!
On Wed, 13 Aug 2014 19:46:01 +0000, vkjaersgaard wrote:
> a) any hints?
> b) will openSUSE 13.1 work with Attensic - both wireless and wired?
This would be better handled as a new post in the networking forum -
please post there and indicate all the necessary info - openSUSE release,
specific network card, etc.