openSUSE13.1 64-bit KDE: Pls. help me get kernel-firmware before/after kernel upgrade

Hello,

I currently have wireless connection in a client-mode PC with wireless adapter (RT2800PCI). Kernel 3.11.10-17.2-desktop. Kernel-firmware version 20130714git-2.17.1. Network Manager 0.9.8.8-1.1.

After upgrading to kernel 3.15.6-2.1 via Standard Kernel repo and Yast, I have no wireless. A quick glance at Network Settings in Yast shows that the wireless connection appears normal, but closer examination reveals Hardware Tab is empty instead of showing “rt2800pci” as kernel parameter. I then know that I would need to install kernel-firmware version 20140624git-35.1 in order to get rt2800pci showing up. If I select newer kernel-firmware version via Yast while in 3.11.10, I lose connection.

I need help downloading the new kernel-firmware while in the older kernel, i.e. 3.11.10-17.2. Once this is done, then I can boot into 3.15.6-2.1 kernel then “zypper in” the new kernel-firmware in order to get wireless connection.

There’s got to be a more efficient procedure getting matching kernel firmware before or during kernel upgrade. Thanks in advance for your help.

You shouldn’t have to do that. kernel-firmware is installed globally for all kernels.
Just install the newer kernel-firmware while booted to the older kernel.
YaST/zypper do download the RPM before they install it, so it shouldn’t matter that you lose the wireless connection then.
Just reboot to the newer kernel afterwards and your wireless should work.

You can of course download the packages manually.
zypper has a “–download-only” ("-d") command line option that only downloads the packages and does not install them.
You can find them in /var/cache/zypp/packages.

Or just point your web browser to the repo and download it manually:
http://download.opensuse.org/repositories/Kernel:/stable/standard/noarch/kernel-firmware-20140624git-35.1.noarch.rpm

And this would be the standard 13.1 version:
http://download.opensuse.org/repositories/openSUSE:/13.1:/Update/standard/noarch/kernel-firmware-20130714git-2.17.1.noarch.rpm

[/QUOTE]There’s got to be a more efficient procedure getting matching kernel firmware before or during kernel upgrade. Thanks in advance for your help.[/QUOTE]
Normally “kernel-firmware” is independent of the kernel version, they don’t have to “match”.
But there can be situations of course where this is not true, i.e. the older kernel-firmware version doesn’t work with the newer kernel’s modules or vice versa.

Hello wolfi323,

Thanks for your reply. Still no go with the newer kernel. Here’s what I just did as you suggested:

  1. Boot into kernel 3.11.10-17.2

  2. YAST > Software Mgmt > kernel-firmware >Search

  3. Highlight kernel-firmware (20130714git…)

  4. Version > Change to 20140624git…)

  5. Accept

  6. Reboot and log into kernel 3.15.6

  7. No Network Manager icon in the taskbar. Cannot configure Network Device settings in YAST, because Hardware tab still shows a blank Kernel Module field, despite me filling in “rt2800pci”. When I edit NM Network Connections window settings, I cannot set security (Blank) or choose the interface.

Then when I reboot into kernel 3.11.10:

  1. I only had to do a minor edit of Network Connection and wireless is back
  2. YAST Software Mgmt shows kernel-firmware version 20140624git

:frowning:

Have you actually enabled NetworkManager? (“Global Options” tab)
If yes, you should not even be able to use the Hardware tab in YaST, if no it’s clear that there’s no NetworkManager icon in the taskbar and that NM Network Connections does not work.

Then when I reboot into kernel 3.11.10:

  1. I only had to do a minor edit of Network Connection and wireless is back
  2. YAST Software Mgmt shows kernel-firmware version 20140624git

:frowning:

So it is working with the old kernel?
Why do you actually want to use the 3.15 kernel then?

Can you please post the output of “/sbin/lspci -nnk”? (both when booted to the older and the newer kernel)
If it works with the older kernel, but doesn’t with the newer one, this might be worth a bug report.

PS: You should not have to set a particular driver in YaST at all.
The kernel should automatically load the correct driver by itself.

On 07/28/2014 09:16 AM, wolfi323 wrote:
>
> taytong888;2656220 Wrote:
>> 7. No Network Manager icon in the taskbar. Cannot configure Network
>> Device settings in YAST, because Hardware tab still shows a blank Kernel
>> Module field, despite me filling in “rt2800pci”. When I edit NM Network
>> Connections window settings, I cannot set security (Blank) or choose the
>> interface.
> Have you actually enabled NetworkManager? (“Global Options” tab)
> If yes, you should not even be able to use the Hardware tab in YaST, if
> no it’s clear that there’s no NetworkManager icon in the taskbar and
> that NM Network Connections does not work.
>
>>
>> Then when I reboot into kernel 3.11.10:
>>
>> 1. I only had to do a minor edit of Network Connection and wireless is
>> back
>> 2. YAST Software Mgmt shows kernel-firmware version 20140624git
>>
>> :frowning:
> So it is working with the old kernel?
> Why do you actually want to use the 3.15 kernel then?
>
> Can you please post the output of “/sbin/lspci -nnk”? (both when booted
> to the older and the newer kernel)
> If it works with the older kernel, but doesn’t with the newer one, this
> might be worth a bug report.
>
> PS: You should not have to set a particular driver in YaST at all.
> The kernel should automatically load the correct driver by itself.

You also need to report any pertinent information in the output of the dmesg
command. As stated earlier, it is rare for the firmware version to change with a
new kernel, and when that happens, the firmware file name is usually changed as
well.

There have been no updates of the rt2xxx firmware since I created my
linux-firmware repo on Feb. 14, 2013. That makes it likely that there is some
other problem with your system.

Hello wolfi323,

I. Boot into older kernel 3.11.10-17-desktop

Taskbar shows NM icon and wireless connection


#/sbin/lspci -nnk

                    3:06.0 Network controller [0280]: Ralink corp. RT2800 802.11n PCI [1814:0601]
     Subsystem: Ralink corp. Device [1814:2860]
     Kernel driver in use: rt2800pci
     Kernel modules: **rt2800pci**

II. Boot into newer kernel: 3.15.6-2-desktop


#/sbin/lspci -nnk

3:06.0 Network controller [0280]: Ralink corp. RT2800 802.11n PCI [1814:0601]
Subsystem: Ralink corp. Device [1814:2860]

Note in this case taskbar does not show NM icon. Show hidden icons > NM > Interfaces only has one check mark called “Enable networking”. Manage connections > Selected (SSID) connection > Edit. Then wireless security tab only shows “None”. Wireless tab > Restricted to interface= **Disconnected interface…
**
I do know how to enable NM via YAST > Network Devices >Network Settings > Global Options>User controlled with NM

Overview tab shows a greyed out “RT2800 802.11n PCI” entry

III. Reboot into older kernel again

Taskbar shows a red circle with / on NM icon position. Interfaces show both “enable networking” and “enable wireless”. I had to re-enter password to get connection again.

So the rt2800pci driver is not even found as possible driver for your device. This rules out the firmware as source of the problem anyway, IIANM.
Can you load it manually?

sudo /sbin/modprobe -v rt2800pci

And please post the output of “dmesg | tail” afterwards.

How did you actually install the kernel?
Via an RPM package?
Then please post which ones you have installed exactly:

rpm -qa kernel*

Background: there’s also a kernel-desktop-base package which lacks most of the kernel modules (it also identifies itself as kernel-desktop in the boot menu and “uname”). If you had installed that one, that would explain why the rt2800pci kernel module cannot be loaded, because it is not included.

Note in this case taskbar does not show NM icon. Show hidden icons > NM > Interfaces only has one check mark called “Enable networking”. Manage connections > Selected (SSID) connection > Edit. Then wireless security tab only shows “None”. Wireless tab > Restricted to interface= Disconnected interface…

If there’s no connection/interface (because of no loaded/working driver f.e.), the NetworkManager icon hides itself, yes.
And then you can of course not configure anything on the security tab either…

I do know how to enable NM via YAST > Network Devices >Network Settings > Global Options>User controlled with NM

I just wanted to make sure. You’re discription did sound a bit like NetworkManager was turned off.

Overview tab shows a greyed out “RT2800 802.11n PCI” entry

Ok, that’s to be expected if the driver is not loaded.

III. Reboot into older kernel again

Taskbar shows a red circle with / on NM icon position. Interfaces show both “enable networking” and “enable wireless”. I had to re-enter password to get connection again.

Hm, no idea about that.

Hello Larry,

In response to your post #5:

  1. rfkill list output for older kernel:
                    rfkill list

0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

  1. For newer kernel, rfkill list gives something to the effect no such device or directory.

  2. Output of dmesg | less on older kernel:

                    31.252671] IPv6: ADDRCONF(NETDEV_UP): enp2s0: link is not ready
31.261659] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2860.bin'
31.310794] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.34
31.324562] IPv6: ADDRCONF(NETDEV_UP): wlp3s6: link is not ready
31.411838] NET: Registered protocol family 17
31.431864] Bluetooth: Core ver 2.16
31.432175] NET: Registered protocol family 31
31.432178] Bluetooth: HCI device and connection manager initialized
31.432192] Bluetooth: HCI socket layer initialized
31.432195] Bluetooth: L2CAP socket layer initialized
31.432202] Bluetooth: SCO socket layer initialized
31.447533] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
31.447539] Bluetooth: BNEP filters: protocol multicast
31.447556] Bluetooth: BNEP socket layer initialized
55.189161] wlp3s6: authenticate with 00:1f:33:b4:e1:d8
55.194847] wlp3s6: send auth to 00:1f:33:b4:e1:d8 (try 1/3)
55.196464] wlp3s6: authenticated
55.197656] wlp3s6: associate with 00:1f:33:b4:e1:d8 (try 1/3)
55.200685] wlp3s6: RX AssocResp from 00:1f:33:b4:e1:d8 (capab=0x431 status=0 aid=1)
55.200778] wlp3s6: associated
55.200805] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s6: link becomes ready
  1. I cannot find anything in dmesg | less output for newer kernel that is related to wireless connection wlp3s6.

Hi wolfi323,

Re: your post #7:

   	 	 	   #sudo /sbin/modprobe -v rt2800pci

FATAL: Module rt2800pci not found.

#linux-77u3:~ # dmesg | tail
81.393392] audit: type=1400 audit(1406589101.007:24): apparmor=“STATUS” operation=“profile_load” name="/usr/lib/dovecot/pop3-login" pid=452 comm=“apparmor_parser”
81.508687] audit: type=1400 audit(1406589101.123:25): apparmor=“STATUS” operation=“profile_load” name="/usr/lib/dovecot/ssl-params" pid=456 comm=“apparmor_parser”
81.788066] audit: type=1400 audit(1406589101.402:26): apparmor=“STATUS” operation=“profile_load” name="/usr/sbin/avahi-daemon" pid=460 comm=“apparmor_parser”
82.076404] audit: type=1400 audit(1406589101.690:27): apparmor=“STATUS” operation=“profile_load” name="/usr/sbin/dnsmasq" pid=464 comm=“apparmor_parser”
82.475682] audit: type=1400 audit(1406589102.090:28): apparmor=“STATUS” operation=“profile_load” name="/usr/sbin/dovecot" pid=468 comm=“apparmor_parser”
82.736463] audit: type=1400 audit(1406589102.350:29): apparmor=“STATUS” operation=“profile_load” name="/usr/sbin/identd" pid=472 comm=“apparmor_parser”
83.001561] audit: type=1400 audit(1406589102.616:30): apparmor=“STATUS” operation=“profile_load” name="/usr/sbin/mdnsd" pid=476 comm=“apparmor_parser”
83.306714] audit: type=1400 audit(1406589102.921:31): apparmor=“STATUS” operation=“profile_load” name="/usr/sbin/nmbd" pid=480 comm=“apparmor_parser”
83.601294] audit: type=1400 audit(1406589103.215:32): apparmor=“STATUS” operation=“profile_load” name="/usr/sbin/nscd" pid=484 comm=“apparmor_parser”
83.969520] audit: type=1400 audit(1406589103.584:33): apparmor=“STATUS” operation=“profile_load” name="/usr/sbin/ntpd" pid=488 comm=“apparmor_parser”

   	 	 	   #rpm -qa kernel*

kernel-default-devel-3.15.6-2.1.gedc5ddf.x86_64
kernel-syms-3.15.6-2.1.gedc5ddf.x86_64
kernel-devel-3.15.6-2.1.gedc5ddf.noarch
kernel-firmware-20140624git-35.1.noarch
kernel-desktop-base-3.15.6-2.1.gedc5ddf.x86_64
kernel-source-3.15.6-2.1.gedc5ddf.noarch
kernel-desktop-3.11.10-17.2.x86_64
kernel-desktop-3.11.6-4.1.x86_64
kernel-desktop-devel-3.15.6-2.1.gedc5ddf.x86_64
kernel-xen-devel-3.15.6-2.1.gedc5ddf.x86_64

I use Yast > Software Management then installed kernel-desktop-base and kernel-desktop-devel because these are the only ones available for the new kernel.

rotfl!
So I guessed correctly…

Again, kernel-desktop-base comes without most kernel modules, in particular it doesn’t include rt2800pci.

Uninstall that, and install kernel-desktop-3.15.6 instead.
It is there in YaST, but you have to select the “kernel-desktop” package and click on “Versions” below the package list.

Hello wolfi323,

YESSS! CA Y EST!

Thanks very much for your insight and dedication to help. I am very grateful to you!

Cheers!

:slight_smile: