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)
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
Great, thank you! I wasn’t aware of this fall-back option. Selecting the older kernel version works fine.
(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.)
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.
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.
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).
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 …
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
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.
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.
>
> 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?