unable to start iwl3945 based wifi

Issues related to applications and software problems and general support
Post Reply
pseud
Posts: 21
Joined: 2018/01/27 15:58:42

unable to start iwl3945 based wifi

Post by pseud » 2019/10/17 23:58:29

Hello folks - I don't know where the problem is here, but I can't get my wifi up after an install of CentOS 8. Does anyone have any ideas where this is going wrong?

See below some output

Many thanks
Morgan.

$ lspci | grep 3945
10:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
$ nmcli d
DEVICE TYPE STATE CONNECTION
ens1 ethernet connected ens1
virbr0 bridge connected virbr0
lo loopback unmanaged --
virbr0-nic tun unmanaged --
$ sudo dnf provides iwl3945*
[sudo] password for kodi:
iwl3945-firmware-15.32.2.9-92.el8.1.noarch : Firmware for Intel® PRO/Wireless 3945 A/B/G network adaptors
Repo : @System
Matched from:
Provide : iwl3945-firmware = 15.32.2.9-92.el8.1

iwl3945-firmware-15.32.2.9-92.el8.1.noarch : Firmware for Intel® PRO/Wireless 3945 A/B/G network adaptors
Repo : BaseOS
Matched from:
Provide : iwl3945-firmware = 15.32.2.9-92.el8.1

$ sudo modprobe iwl3945
modprobe: FATAL: Module iwl3945 not found in directory /lib/modules/4.18.0-80.11.2.el8_0.x86_64
[kodi@frontserver ~]$ sudo modinfo iwl3954
modinfo: ERROR: Module iwl3954 not found.
[kodi@frontserver ~]$ sudo insmod iwl3954
insmod: ERROR: could not load module iwl3954: No such file or directory
Morgan Read

User avatar
TrevorH
Site Admin
Posts: 33202
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: unable to start iwl3945 based wifi

Post by TrevorH » 2019/10/18 03:46:37

The module isn't called iwl3945, it's called iwlwifi.

Code: Select all

$ grep 8086 /lib/modules/4.18.0-80.11.2.el8_0.x86_64/modules.* | grep -i -E "4222|4227"
/lib/modules/4.18.0-80.11.2.el8_0.x86_64/modules.alias:alias pci:v00008086d00000891sv*sd00004222bc*sc*i* iwlwifi
You didn't include the -nn switch to your lspci so I don't know the exact device id that you have but a grep of pci.ids shows 4222 and 4227 as possibles.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

pseud
Posts: 21
Joined: 2018/01/27 15:58:42

Re: unable to start iwl3945 based wifi

Post by pseud » 2019/10/18 23:59:12

Thanks Trevor for getting back - but, I'm a totally confused... Perhaps I need iwlegacy? But, there is none...

$ lspci -nn
...
10:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)

$ grep 8086 /lib/modules/4.18.0-80.11.2.el8_0.x86_64/modules.* | grep 4222
/lib/modules/4.18.0-80.11.2.el8_0.x86_64/modules.alias:alias pci:v00008086d00000891sv*sd00004222bc*sc*i* iwlwifi

$ sudo modinfo iwlwifi
[sudo] password for kodi:
filename: /lib/modules/4.18.0-80.11.2.el8_0.x86_64/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko.xz
license: GPL
author: Copyright(c) 2003- 2015 Intel Corporation <linuxwifi@intel.com>
description: Intel(R) Wireless WiFi driver for Linux
firmware: iwlwifi-100-5.ucode
firmware: iwlwifi-1000-5.ucode
firmware: iwlwifi-135-6.ucode
firmware: iwlwifi-105-6.ucode
firmware: iwlwifi-2030-6.ucode
firmware: iwlwifi-2000-6.ucode
firmware: iwlwifi-5150-2.ucode
firmware: iwlwifi-5000-5.ucode
firmware: iwlwifi-6000g2b-6.ucode
firmware: iwlwifi-6000g2a-6.ucode
firmware: iwlwifi-6050-5.ucode
firmware: iwlwifi-6000-6.ucode
firmware: iwlwifi-7265D-29.ucode
firmware: iwlwifi-7265-17.ucode
firmware: iwlwifi-3168-29.ucode
firmware: iwlwifi-3160-17.ucode
firmware: iwlwifi-7260-17.ucode
firmware: iwlwifi-8265-36.ucode
firmware: iwlwifi-8000C-36.ucode
firmware: iwlwifi-9260-th-b0-jf-b0-38.ucode
firmware: iwlwifi-9260-th-a0-jf-a0-38.ucode
firmware: iwlwifi-9000-pu-a0-jf-b0-38.ucode
firmware: iwlwifi-9000-pu-b0-jf-b0-38.ucode
firmware: iwlwifi-9000-pu-a0-jf-a0-38.ucode
firmware: iwlwifi-QuQnj-a0-hr-a0-38.ucode
firmware: iwlwifi-QuQnj-a0-jf-b0-38.ucode
firmware: iwlwifi-QuQnj-f0-hr-a0-38.ucode
firmware: iwlwifi-Qu-a0-jf-b0-38.ucode
firmware: iwlwifi-Qu-a0-hr-a0-38.ucode
rhelversion: 8.0
...

But, 3945ABG isn't included in that list...
And, it is included in this list:
https://wireless.wiki.kernel.org/en/use ... s/iwlegacy

So, it seems the driver is iwlegacy and not iwlwifi?

But, from here:
https://wiki.gentoo.org/wiki/Intel_Corp ... 5ABG#lspci
It seems the driver is iwl3945...
And, running lshw like here:
https://wiki.gentoo.org/wiki/Intel_Corp ... 45ABG#lshw
My the hardware doesn't exist...

I'm confused...
Morgan Read

pseud
Posts: 21
Joined: 2018/01/27 15:58:42

Re: unable to start iwl3945 based wifi

Post by pseud » 2019/10/20 13:28:36

OK, after chasing a lot of red-herrings, this is what I (think I) know:-

$ uname -r
4.18.0-80.11.2.el8_0.centos.plus.x86_64
$ sudo dnf list iwl3945-firmware*
Last metadata expiration check: 0:10:50 ago on Sun 20 Oct 2019 11:46:49 BST.
Installed Packages
iwl3945-firmware.noarch 15.32.2.9-92.el8.1 @BaseOS
$ lspci -knn | grep 3945
10:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)
$ grep 8086 /lib/modules/4.18.0-80.11.2.el8_0.x86_64/modules.* | grep 4222
/lib/modules/4.18.0-80.11.2.el8_0.x86_64/modules.alias:alias pci:v00008086d00000891sv*sd00004222bc*sc*i* iwlwifi
$
So, the firmware for the 3945 is installed, the driver is iwlwifi, but apparently the driver doesn't exist...

$ sudo modprobe iwlwifi
$ lsmod | grep iwl
iwlwifi 237568 0
cfg80211 745472 1 iwlwifi
$ lspci -vnn | grep 3945
10:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)
$

And:
https://wireless.wiki.kernel.org/en/use ... rs/iwlwifi
Tells me:
iwlwifi is the wireless driver for Intel's current wireless chips. For older chips, there are other drivers:
ipw2100
ipw2200
iwlegacy (for Intel® PRO/Wireless 3945ABG and Intel® Wireless Wi-Fi Link 4965AGN)

And:
https://wireless.wiki.kernel.org/en/use ... s/iwlegacy
Tells me:
iwlegacy is the wireless driver for Intel's 3945 and 4965 wireless chips. Modules are for individual chips are named iwl3945 and iwl4965 respectively.

This post seems to confirm the same:
Klaus69 wrote:
2015/04/05 06:36:27
...
modinfo iwl3945
filename: /lib/modules/3.10.0-229.1.2.el7.x86_64/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko
So, the driver for 3945 is not iwlwifi and iwlwifi is reporting wrong...

And, perhaps this is the answer:
https://access.redhat.com/documentation ... enablement
Which tells me:
11.1.1. Removed device drivers
Support for the following device drivers has been removed in RHEL 8:
...
* wireless drivers:
...
carl9170
iwl4965
iwl3945
...

So, perhaps it looks like the module for the 3945 has been moved from iwlwifi to to iwlegacy, and dropped...?

But, I stumbled accross this:
https://bugs.centos.org/view.php?id=16397#c35124
Which says:
'... use the centosplus kernel (kernel-plus). It has patches that restore the drivers that have been removed from RHEL-8 kernels.'
And, I didn't find anything in there...

Am I going to have to build my own modules? This reminds me of building modem drivers 15 to 20 years ago...
Is there any easier way I can get the iwlegacy driver?
Morgan Read

m35e14f13
Posts: 1
Joined: 2020/06/25 14:41:01

Re: unable to start iwl3945 based wifi

Post by m35e14f13 » 2020/06/25 14:59:27

I have exactly the same problem (Thinkpad T61 with Intel PRO/Wireless 3945ABG wifi)...
I've discovered there's already precompiled iwlegacy module for CentOS/RHEL 8 in ELRepo.

# rpm -ivh https://elrepo.org/linux/elrepo/el8/x86 ... noarch.rpm
# dnf install kmod-iwlegacy

reboot and see wifi enabled

# dmesg | grep iwl
[ 24.319953] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:ds
[ 24.319955] iwl3945: Copyright(c) 2003-2011 Intel Corporation
[ 24.319957] iwl3945: hw_scan is disabled
[ 24.320668] iwl3945 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 24.377185] iwl3945 0000:03:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
[ 24.377190] iwl3945 0000:03:00.0: Detected Intel Wireless WiFi Link 3945ABG
[ 24.377895] ieee80211 phy0: Selected rate control algorithm 'iwl-3945-rs'
[ 24.427539] iwl3945 0000:03:00.0 wls3: renamed from wlan0
[ 49.294420] iwl3945 0000:03:00.0: loaded firmware version 15.32.2.9

# ifconfig wls3
wls3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.109 netmask 255.255.255.0 broadcast 192.168.1.255

cyq
Posts: 1
Joined: 2021/04/05 14:12:39

Re: unable to start iwl3945 based wifi

Post by cyq » 2021/04/05 14:33:27

m35e14f13 wrote:
2020/06/25 14:59:27
I have exactly the same problem (Thinkpad T61 with Intel PRO/Wireless 3945ABG wifi)...
I've discovered there's already precompiled iwlegacy module for CentOS/RHEL 8 in ELRepo.

# rpm -ivh https://elrepo.org/linux/elrepo/el8/x86 ... noarch.rpm
# dnf install kmod-iwlegacy

reboot and see wifi enabled
You are able to install kmod-iwlegacy successfully? I am getting a bunch of errors and I cannot figure out why.

Code: Select all

# dnf install kmod-iwlegacy
Last metadata expiration check: 0:49:12 ago on Mon 05 Apr 2021 01:38:50 PM CST.
Error: 
 Problem: cannot install the best candidate for the job
  - nothing provides kernel(dma_direct_map_page) = 0x0f3fca22 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(dma_direct_unmap_page) = 0xe8624fbd needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(pci_set_master) = 0x260e7929 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(dma_direct_sync_single_for_cpu) = 0xf62f28ee needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(dma_direct_sync_single_for_device) = 0x056d193b needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(pci_disable_device) = 0xef0e1dc9 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(pci_enable_device) = 0xb8378956 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(pci_request_regions) = 0x659c6302 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(pci_release_regions) = 0x605d5ee4 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(pci_enable_msi) = 0x16ffe1a4 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(pci_disable_msi) = 0x631ebbc7 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_channel_to_frequency) = 0x9791d2e6 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_get_tkip_p2k) = 0xa394d9f9 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_alloc_hw_nm) = 0x9486ce0b needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_beacon_get_tim) = 0x0ff20e02 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_free_hw) = 0xd1bc4bb6 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_register_hw) = 0xab8c5bb2 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_unregister_hw) = 0xe87d31bd needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(wiphy_rfkill_set_hw_state) = 0x269845e8 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_find_sta) = 0x082d358a needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_start_tx_ba_cb_irqsafe) = 0xc7376f1b needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_start_tx_ba_session) = 0xf52b1276 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_stop_tx_ba_cb_irqsafe) = 0x4febe18f needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_rx_napi) = 0xb2cdcc4f needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_stop_queue) = 0xacf9b9be needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_stop_queues) = 0x992e3e72 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_wake_queue) = 0x30d99e7a needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_wake_queues) = 0x845a72ea needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(pci_ioremap_bar) = 0x4686a669 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_chswitch_done) = 0xb78d5a8a needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_stop_tx_ba_session) = 0x6a31a0fd needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(__ieee80211_get_radio_led_name) = 0x87b6db34 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_tx_status_irqsafe) = 0x4ba47cc8 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(__ieee80211_create_tpt_led_trigger) = 0x222ffbb5 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_rate_control_register) = 0xd02ca58e needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_rate_control_unregister) = 0x2c1b086f needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_restart_hw) = 0x3d2d6e1c needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_scan_completed) = 0xb89f3bc2 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
  - nothing provides kernel(ieee80211_sta_block_awake) = 0xb787edc7 needed by kmod-iwlegacy-0.0-4.el8_3.elrepo.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
Any clues? Thanks in advance.

User avatar
toracat
Site Admin
Posts: 7518
Joined: 2006/09/03 16:37:24
Location: California, US
Contact:

Re: unable to start iwl3945 based wifi

Post by toracat » 2021/04/05 16:50:01

@cyq

What is your running kernel?

uname -r
CentOS Forum FAQ

Post Reply