openSUSE 12.3: no network (eth0) after kernel update

This excellent How To (https://forums.opensuse.org/english/get-technical-help-here/how-faq-forums/unreviewed-how-faq/485001-get-your-wired-ethernet-working-attansic-ethernet-controller-1969-1091-a.html) worked perfectly fine, until yesterday’s kernel update to 3.7.10-1.4.
Now I get:

modprobe alx
FATAL: Error inserting alx (/lib/modules/3.7.10-1.4-desktop/kernel/drivers/net/ethernet/atheros/alx/alx.ko): Unknown symbol in module, or unknown parameter (see dmesg)

and looking at dmesg:

dmesg | grep alx
  356.525403] alx: Unknown symbol compat_dependency_symbol (err 0)

What do I need to do to get alx running again?
Thanks a lot!

So I don’t know what is wrong, but by default, you still have kernel 3.7.10-1.1.1 as well as 3.7.10-1.4.1 and you can select between the two in the Grub 2 boot loader. Upon PC restart just select the Advanced menu and look for the right kernel version in your list. If the older kernel works fine, consider posting a bug report on the problem. You can also switch up to kernel 3.8.11 or 3.9.0, both are out to try. Have a look here: openSUSE and Installing New Linux Kernel Versions - Blogs - openSUSE Forums

Thank You,

Great, thank you! I wasn’t aware of this fall-back option. Selecting the older kernel version works fine. :slight_smile:

(Looks to me like the alx module works within version 3.7.10-1.1, only. Copying alx.ko into the 3.7.10-1.4 subdirs of /lib/modules and hoping it would work was probably just a crazy idea.)

Anyway, I’m back on again. Thanks a lot!

I was very happy to help. Don’t be shy on posting a bug report of this issue. Get your facts together and then go here: Bugzilla Main Page and use your forum login to post a bug report there.

Thank You for using openSUSE,

Sometimes that works, but more often it doesn’t.

So where did this module come from? If it is supposed to be part of opensuse, but was not provided, then report a bug. If it is something that you installed yourself, try rerunning the installer while booted to the newer kernel.

I’m using the nvidia proprietary driver on one box, where I am running Tumbleweed. There have been several recent kernel updates. After each update, I have to run the nvidia driver installer to get back my graphics.

I have an older laptop with an atheros WiFi interface. I was using that 6 or 7 years ago, before the kernel had atheros support. So I had to install the driver. Often a kernel update would cause the driver to fail, so I would have to reinstall.

Hi Dirk,

Just did the same kernel upgrade with a similar -alx- configuration without any issue after a reboot.

Perhaps because I compiled this source rpm earlier:

http://download.opensuse.org/repositories/home:/Akoellh:/Kernelmodules/openSUSE_12.3_Update/src/alx-1.2.3+git20130403-1.4.src.rpm

Should be question of installing this rpm plus kernel source and then a “rpmbuild -bb alx.spec” from /usr/src/packages/SPECS, which should result in a binary rpm in …/RPMS for your architecture (I have the “desktop” kernel of x86_64).

Cheers,

Mark

Just did the same kernel upgrade with a similar -alx- configuration without any issue after a reboot.

Why didn´t you add the repo and install alx from there?

uname -a
Linux linux64.linux 3.7.10-1.4-desktop #1 SMP PREEMPT Fri Apr 19 12:06:34 UTC 2013 (8ef74f8) x86_64 x86_64 x86_64 GNU/Linux
zypper se -si alx
Daten des Repositories laden ...
Installierte Pakete lesen ...

S | Name            | Typ   | Version                           | Arch   | Repository
--+-----------------+-------+-----------------------------------+--------+-----------
i | alx-kmp-desktop | Paket | 1.2.3+git20130403_k3.7.10_1.4-1.4 | x86_64 | alx
modinfo alx
filename:       /lib/modules/3.7.10-1.4-desktop/updates/drivers/net/ethernet/atheros/alx/alx.ko
version:        1.2.3+git20130403
license:        Dual BSD/GPL
description:    Qualcomm Atheros Gigabit Ethernet Driver
author:         Qualcomm Corporation, <nic-devel@qualcomm.com>
srcversion:     7755A26A83A2CD77E5D19AF
alias:          pci:v00001969d0000E091sv*sd*bc*sc*i*
alias:          pci:v00001969d000010A0sv*sd*bc*sc*i*
alias:          pci:v00001969d000010A1sv*sd*bc*sc*i*
alias:          pci:v00001969d00001090sv*sd*bc*sc*i*
alias:          pci:v00001969d00001091sv*sd*bc*sc*i*
depends:        mdio
vermagic:       3.7.10-1.4-desktop SMP preempt mod_unload modversions

The Repo:
Index of /repositories/home:/Akoellh:/Kernelmodules/openSUSE_12.3_Update

Thank you everybody for all your help and support! (Sorry though for the late response).

@nrickert:
Good to know that my first idea wasn’t complete nonsens. Thanks!
I’ve installed the alx module myself (from the How To I mentioned in the first post), because eth0 was not running on my Lenovo G580 with the openSUSE 12.3 off-the-shelf installation. That’s why a bug report wouldn’t have been correct. But unfortunately installing the old module under the new kernel didn’t work.

@mjramler:
I successfully installed the package you mentioned, but then ran into an error when trying to build the binary:

rpmbuild -bb alx.spec
error: line 13: Dependency tokens must begin with alpha-numeric, '_' or '/': BuildRequires:     %kernel_module_package_buildreqs

That’s where I gave up …

@Sauerland:
Thanks for sharing the repo of Axel Koellhofer. It works!
(zypper didn’t work, since I didn’t have a network, but downloading the alx-kmp-dektop*.rpm under the old kernel and installing it manually under the new kernel was successful.)

Again, thanks to all of you for your support! I’m “Having a lot of fun” again … :wink:

Dirk

I’m also having an issue with this driver on the aforementioned kernel. I successfully built the RPM from the source package and installed it, but I get the following error in dmesg:

2013-05-21T09:55:17.931983-03:00 Corei7-2400 kernel:  5880.489454] alx 0000:03:00.0: unrecognize the chip, aborting
2013-05-21T09:55:17.932008-03:00 Corei7-2400 kernel:  5880.489461] alx 0000:03:00.0: net device private data init failed
2013-05-21T09:55:17.932011-03:00 Corei7-2400 kernel:  5880.489481] alx 0000:03:00.0: error when probe device, error = -22
2013-05-21T09:55:17.932013-03:00 Corei7-2400 kernel:  5880.489489] alx: probe of 0000:03:00.0 failed with error -22


hwinfo --netcar
26: PCI 300.0: 0200 Ethernet controller                         
  [Created at pci.319]
  Unique ID: svHJ.dciuKhvHIn9
  Parent ID: qTvu.Bby94CRHdbE
  SysFS ID: /devices/pci0000:00/0000:00:1c.1/0000:03:00.0
  SysFS BusID: 0000:03:00.0
  Hardware Class: network
  Model: "Attansic Ethernet controller"
  Vendor: pci 0x1969 "Attansic Technology Corp."
  Device: pci 0xe091 
  SubVendor: pci 0x1462 "Micro-Star International Co., Ltd."
  SubDevice: pci 0x10cd 
  Revision: 0x13
  Memory Range: 0xf7d00000-0xf7d3ffff (rw,non-prefetchable)
  I/O Ports: 0xc000-0xcfff (rw)
  IRQ: 17 (no events)
  Module Alias: "pci:v00001969d0000E091sv00001462sd000010CDbc02sc00i00"
  Driver Info #0:
    Driver Status: alx is active
    Driver Activation Cmd: "modprobe alx"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #16 (PCI bridge)


PCI ID is added by the patch in the src.rpm, but still not recognized? Any ideas?

Edit: I seem to have it working by hijacking the device ID of another device in the driver source.

I changed the first line in alx_reg.h’s PCI ID definitions to read

#define ALX_DEV_ID_AR8161               0xe091

and the module loads/detects and I now have an eth0 device.

Have not tested actual communications as I have no network to plug it into - I just needed an eth0 device to register some software that tracks installs by MAC address on eth0

Has anyone had this issue? I am able to use the atheros NIC under Legacy BIOS mode on my Dell 14z Ultrabook using the repository provided in this thread. If I try to install in UEFI Bios mode with the Atherios NIC enables, Linux freezes after loading the Initial RAM disk. Disabling the Atherios card in the UEFI BIOS allows the install to complete. If the card is re-enabled in UEFI mode, the Linux freezes again. I am able to connect to the internet using the wireless card only in this case. Can something be patched in the source code so I can compile a copy of alx that UEFI will get along with. :wink:

I normally suggest you start your own message thread instead of latching onto an existing one. I suggest two things:

  1. Give us the output of the terminal command: /sbin/lspci and post it in a message here. This can tell us the networking chipset being used.
  2. Consider a kernel upgrade, there is 3.8 out and 3.9-rc7 is out if the problem is a kernel regression of some sort: openSUSE and Installing New Linux Kernel Versions - Blogs - openSUSE Forums

Thank You,

I setup the kernel repo, installed stable kernel 3.9.8 along with the source, rebuild alx module and turned off UEFI security mode. Machine still freezes after initial RAM disk tries to give control to the kernel (new kernel works fine if atheros NIC is disabled in BIOS just as the 3.7.10-1.16 kernel does). I will just wait till someone fixes this. A few folks have seen this with other distros as well, so it’s not specific to openSUSE.

kev005 wrote:

>
> jdmcdaniel3;2568180 Wrote:
>> I normally suggest you start your own message thread instead of latching
>> onto an existing one. I suggest two things:
>>
>> 1. Give us the output of the terminal command: /sbin/lspci and post it
>> in a message here. This can tell us the networking chipset being used.
>> 2. Consider a kernel upgrade, there is 3.8 out and 3.9-rc7 is out if
>> the problem is a kernel regression of some sort: ‘openSUSE and
>> Installing New Linux Kernel Versions - Blogs - openSUSE Forums’
>> (http://tinyurl.com/bq5q8nk)
>>
>> Thank You,
>
> I setup the kernel repo, installed stable kernel 3.9.8 along with the
> source, rebuild alx module and turned off UEFI security mode. Machine
> still freezes after initial RAM disk tries to give control to the kernel
> (new kernel works fine if atheros NIC is disabled in BIOS just as the
> 3.7.10-1.16 kernel does). I will just wait till someone fixes this. A
> few folks have seen this with other distros as well, so it’s not
> specific to openSUSE.
>

I’ll be glad when they eventually build alx into the kernel - I have a
similar problem with kernel updates. What was biting me was that the kernel
update wasn’t showing up in the grub2 menu so all the build/modprobe/etc.
was just rewriting the previous kernel and the alx module was not getting
loaded to the 3.7.10-1.16 kernel. What finally worked for me was to update
the kernel - which you have done - then, before rebooting to activate the
new kernel, go into yast->bootloader. Make some minor change - I change the
delay time by a second - so that a new grub2 menu is generated along with
the appropriate vmlinuz and initrd links are updated. Then reboot. You may
have to re-install the alx driver one more time but I think you will find
that the kernel update process is crapping out before it gets all it’s work
done. In my case, they were still linking to the older kernel and the alx
build was seeing the wrong kernel source while building. pita, but a fairly
simple workaround.

Any idea if the alx driver will be builtin in the newer kernels?


Will Honea
whonea@yahoo.com

The alx-kernel Module is avaible in Kernel 3.10:

modinfo alx
filename:       /lib/modules/3.10.3-19.gec6c1d9-desktop/kernel/drivers/net/ethernet/atheros/alx/alx.ko
license:        GPL
description:    Qualcomm Atheros(R) AR816x/AR817x PCI-E Ethernet Network Driver
author:         Qualcomm Corporation, <nic-devel@qualcomm.com>
author:         Johannes Berg <johannes@sipsolutions.net>
srcversion:     BD59174713AFD2F4DE32A0F
alias:          pci:v00001969d000010A0sv*sd*bc*sc*i*
alias:          pci:v00001969d000010A1sv*sd*bc*sc*i*
alias:          pci:v00001969d00001090sv*sd*bc*sc*i*
alias:          pci:v00001969d0000E091sv*sd*bc*sc*i*
alias:          pci:v00001969d00001091sv*sd*bc*sc*i*
depends:        mdio
intree:         Y
vermagic:       3.10.3-19.gec6c1d9-desktop SMP preempt mod_unload modversions

The 3.10 Kernel is avaible for Tumbleweed, in the Kernel-stable-Repo and in openSUSE 13.1 MS3