Issues with Kernel 94 > 9.5

sudo dnf reinstall kernel-core.x86_64

failed… log says
DKMS make.log for rtl8723du/0.1 for kernel 5.14.0-503.19.1.el9_5.x86_64 (x86_64)
Thu 09 Jan 2025 19:09:39 AEST
make: Entering directory ‘/usr/src/kernels/5.14.0-503.19.1.el9_5.x86_64’
echo “WARNING: This driver is obsolete. Use GitHub - lwfinger/rtw88: A backport of the Realtek Wifi 5 drivers from the wireless-next repo. instead”
/var/lib/dkms/rtl8723du/0.1/build/Makefile:68: /usr/src/kernels/5.14.0-503.19.1.el9_5.x86_64/hal/phydm/phydm.mk: No such file or directory
make[1]: *** No rule to make target ‘/usr/src/kernels/5.14.0-503.19.1.el9_5.x86_64/hal/phydm/phydm.mk’. Stop.
make: *** [Makefile:1944: /var/lib/dkms/rtl8723du/0.1/build] Error 2
make: Leaving directory ‘/usr/src/kernels/5.14.0-503.19.1.el9_5.x86_64’

OK so i follow echo “WARNING: This driver is obsolete. Use GitHub - lwfinger/rtw88: A backport of the Realtek Wifi 5 drivers from the wireless-next repo. instead”

On make I get this issue…

[yani@maud rtw88]$ sudo make
make -j`nproc` -C /lib/modules/5.14.0-427.42.1.el9_4.x86_64/build M=$PWD modules
make[1]: Entering directory '/usr/src/kernels/5.14.0-427.42.1.el9_4.x86_64'
  CC [M]  /home/yani/rtw88/main.o
  CC [M]  /home/yani/rtw88/mac80211.o
  CC [M]  /home/yani/rtw88/tx.o
  CC [M]  /home/yani/rtw88/fw.o
  CC [M]  /home/yani/rtw88/bf.o
  CC [M]  /home/yani/rtw88/pci.o
/home/yani/rtw88/main.c: In function ‘rtw_vif_watch_dog_iter’:
/home/yani/rtw88/main.c:199:34: error: ‘struct ieee80211_bss_conf’ has no member named ‘assoc’
  199 |                 if (vif->bss_conf.assoc)
      |                                  ^
/home/yani/rtw88/main.c: In function ‘rtw_vif_assoc_changed’:
/home/yani/rtw88/main.c:599:25: error: ‘struct ieee80211_bss_conf’ has no member named ‘assoc’
  599 |         if (conf && conf->assoc) {
      |                         ^~
/home/yani/rtw88/main.c:600:35: error: ‘struct ieee80211_bss_conf’ has no member named ‘aid’
  600 |                 rtwvif->aid = conf->aid;
      |                                   ^~
In file included from ./include/linux/byteorder/little_endian.h:5,
                 from ./arch/x86/include/uapi/asm/byteorder.h:5,
                 from ./include/asm-generic/qrwlock_types.h:6,
                 from ./arch/x86/include/asm/spinlock_types.h:7,
                 from ./include/linux/spinlock_types_raw.h:7,
                 from ./include/linux/ratelimit_types.h:7,
                 from ./include/linux/ratelimit.h:5,
                 from ./include/linux/dev_printk.h:16,
                 from ./include/linux/device.h:15,
                 from ./include/linux/devcoredump.h:8,
                 from /home/yani/rtw88/main.c:5:
/home/yani/rtw88/main.c: In function ‘get_vht_ra_mask’:
/home/yani/rtw88/main.c:1023:38: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1023 |         u16 mcs_map = le16_to_cpu(sta->vht_cap.vht_mcs.rx_mcs_map);
      |                                      ^~
./include/uapi/linux/byteorder/little_endian.h:37:51: note: in definition of macro ‘__le16_to_cpu’
   37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
      |                                                   ^
/home/yani/rtw88/main.c:1023:23: note: in expansion of macro ‘le16_to_cpu’
 1023 |         u16 mcs_map = le16_to_cpu(sta->vht_cap.vht_mcs.rx_mcs_map);
      |                       ^~~~~~~~~~~
/home/yani/rtw88/main.c: In function ‘rtw_update_sta_info’:
/home/yani/rtw88/main.c:1246:16: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1246 |         if (sta->vht_cap.vht_supported) {
      |                ^~
/home/yani/rtw88/main.c:1253:24: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1253 |                 if (sta->vht_cap.cap & IEEE80211_VHT_CAP_RXSTBC_MASK)
      |                        ^~
/home/yani/rtw88/main.c:1259:24: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1259 |                 if (sta->vht_cap.cap & IEEE80211_VHT_CAP_RXLDPC)
      |                        ^~
/home/yani/rtw88/main.c:1273:23: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1273 |         } else if (sta->ht_cap.ht_supported) {
      |                       ^~
/home/yani/rtw88/main.c:1274:37: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1274 |                 ra_mask |= ((u64)sta->ht_cap.mcs.rx_mask[3] << 36) |
      |                                     ^~
/home/yani/rtw88/main.c:1275:37: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1275 |                            ((u64)sta->ht_cap.mcs.rx_mask[2] << 28) |
      |                                     ^~
/home/yani/rtw88/main.c:1276:32: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1276 |                            (sta->ht_cap.mcs.rx_mask[1] << 20) |
      |                                ^~
/home/yani/rtw88/main.c:1277:32: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1277 |                            (sta->ht_cap.mcs.rx_mask[0] << 12);
      |                                ^~
/home/yani/rtw88/main.c:1278:24: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1278 |                 if (sta->ht_cap.cap & IEEE80211_HT_CAP_RX_STBC)
      |                        ^~
/home/yani/rtw88/main.c:1280:24: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1280 |                 if (sta->ht_cap.cap & IEEE80211_HT_CAP_LDPC_CODING)
      |                        ^~
/home/yani/rtw88/main.c:1295:36: error: ‘struct ieee80211_sta’ has no member named ‘supp_rates’
 1295 |                 ra_mask |= (u64)sta->supp_rates[NL80211_BAND_5GHZ] << 4;
      |                                    ^~
/home/yani/rtw88/main.c:1301:24: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1301 |                 if (sta->vht_cap.vht_supported) {
      |                        ^~
/home/yani/rtw88/main.c:1308:31: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1308 |                 } else if (sta->ht_cap.ht_supported) {
      |                               ^~
/home/yani/rtw88/main.c:1320:31: error: ‘struct ieee80211_sta’ has no member named ‘supp_rates’
 1320 |                 ra_mask |= sta->supp_rates[NL80211_BAND_2GHZ];
      |                               ^~
/home/yani/rtw88/main.c:1326:24: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1326 |                 if (sta->vht_cap.vht_supported) {
      |                        ^~
/home/yani/rtw88/main.c:1335:31: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1335 |                 } else if (sta->ht_cap.ht_supported) {
      |                               ^~
/home/yani/rtw88/main.c:1344:31: error: ‘struct ieee80211_sta’ has no member named ‘supp_rates’
 1344 |                 } else if (sta->supp_rates[0] <= 0xf) {
      |                               ^~
/home/yani/rtw88/main.c:1361:20: error: ‘struct ieee80211_sta’ has no member named ‘bandwidth’
 1361 |         switch (sta->bandwidth) {
      |                    ^~
/home/yani/rtw88/main.c:1369:37: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1369 |                 is_support_sgi = sta->vht_cap.vht_supported &&
      |                                     ^~
/home/yani/rtw88/main.c:1370:38: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1370 |                                  (sta->vht_cap.cap & IEEE80211_VHT_CAP_SHORT_GI_80);
      |                                      ^~
/home/yani/rtw88/mac80211.c: In function ‘rtw_ops_bss_info_changed’:
/home/yani/rtw88/mac80211.c:402:25: error: ‘struct ieee80211_bss_conf’ has no member named ‘assoc’
  402 |                 if (conf->assoc) {
      |                         ^~
/home/yani/rtw88/main.c:1379:37: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1379 |                 is_support_sgi = sta->ht_cap.ht_supported &&
      |                                     ^~
/home/yani/rtw88/mac80211.c:411:66: error: ‘struct ieee80211_bss_conf’ has no member named ‘assoc’
  411 |                         rtw_coex_media_status_notify(rtwdev, conf->assoc);
      |                                                                  ^~
/home/yani/rtw88/main.c:1380:38: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1380 |                                  (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40);
      |                                      ^~
/home/yani/rtw88/main.c:1389:37: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1389 |                 is_support_sgi = sta->ht_cap.ht_supported &&
      |                                     ^~
/home/yani/rtw88/main.c:1390:38: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1390 |                                  (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20);
      |                                      ^~
/home/yani/rtw88/main.c:1399:16: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 1399 |         if (sta->vht_cap.vht_supported ||
      |                ^~
/home/yani/rtw88/main.c:1400:16: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 1400 |             sta->ht_cap.ht_supported)
      |                ^~
/home/yani/rtw88/mac80211.c: At top level:
/home/yani/rtw88/mac80211.c:1026:35: error: initialization of ‘void (*)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, u64)’ {aka ‘void (*)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, long long unsigned int)’} from incompatible pointer type ‘void (*)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, u32)’ {aka ‘void (*)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, unsigned int)’} [-Werror=incompatible-pointer-types]
 1026 |         .bss_info_changed       = rtw_ops_bss_info_changed,
      |                                   ^~~~~~~~~~~~~~~~~~~~~~~~
/home/yani/rtw88/mac80211.c:1026:35: note: (near initialization for ‘rtw_ops.bss_info_changed’)
/home/yani/rtw88/mac80211.c:1027:35: error: initialization of ‘int (*)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *)’ from incompatible pointer type ‘int (*)(struct ieee80211_hw *, struct ieee80211_vif *)’ [-Werror=incompatible-pointer-types]
 1027 |         .start_ap               = rtw_ops_start_ap,
      |                                   ^~~~~~~~~~~~~~~~
/home/yani/rtw88/mac80211.c:1027:35: note: (near initialization for ‘rtw_ops.start_ap’)
/home/yani/rtw88/mac80211.c:1028:35: error: initialization of ‘void (*)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *)’ from incompatible pointer type ‘void (*)(struct ieee80211_hw *, struct ieee80211_vif *)’ [-Werror=incompatible-pointer-types]
 1028 |         .stop_ap                = rtw_ops_stop_ap,
      |                                   ^~~~~~~~~~~~~~~
/home/yani/rtw88/mac80211.c:1028:35: note: (near initialization for ‘rtw_ops.stop_ap’)
/home/yani/rtw88/mac80211.c:1029:35: error: initialization of ‘int (*)(struct ieee80211_hw *, struct ieee80211_vif *, unsigned int,  u16,  const struct ieee80211_tx_queue_params *)’ {aka ‘int (*)(struct ieee80211_hw *, struct ieee80211_vif *, unsigned int,  short unsigned int,  const struct ieee80211_tx_queue_params *)’} from incompatible pointer type ‘int (*)(struct ieee80211_hw *, struct ieee80211_vif *, u16,  const struct ieee80211_tx_queue_params *)’ {aka ‘int (*)(struct ieee80211_hw *, struct ieee80211_vif *, short unsigned int,  const struct ieee80211_tx_queue_params *)’} [-Werror=incompatible-pointer-types]
 1029 |         .conf_tx                = rtw_ops_conf_tx,
      |                                   ^~~~~~~~~~~~~~~
/home/yani/rtw88/mac80211.c:1029:35: note: (near initialization for ‘rtw_ops.conf_tx’)
/home/yani/rtw88/main.c: In function ‘rtw_vif_smps_iter’:
/home/yani/rtw88/main.c:1795:66: error: ‘struct ieee80211_bss_conf’ has no member named ‘assoc’
 1795 |         if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc)
      |                                                                  ^
/home/yani/rtw88/main.c:1803:17: error: too few arguments to function ‘ieee80211_request_smps’
 1803 |                 ieee80211_request_smps(vif, IEEE80211_SMPS_STATIC);
      |                 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yani/rtw88/main.h:12,
                 from /home/yani/rtw88/main.c:7:
./include/net/mac80211.h:6597:6: note: declared here
 6597 | void ieee80211_request_smps(struct ieee80211_vif *vif, unsigned int link_id,
      |      ^~~~~~~~~~~~~~~~~~~~~~
/home/yani/rtw88/main.c:1809:17: error: too few arguments to function ‘ieee80211_request_smps’
 1809 |                 ieee80211_request_smps(vif, IEEE80211_SMPS_OFF);
      |                 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yani/rtw88/main.h:12,
                 from /home/yani/rtw88/main.c:7:
./include/net/mac80211.h:6597:6: note: declared here
 6597 | void ieee80211_request_smps(struct ieee80211_vif *vif, unsigned int link_id,
      |      ^~~~~~~~~~~~~~~~~~~~~~
/home/yani/rtw88/bf.c: In function ‘rtw_bf_assoc’:
/home/yani/rtw88/bf.c:61:23: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
   61 |         vht_cap = &sta->vht_cap;
      |                       ^~
/home/yani/rtw88/bf.c:81:37: error: ‘struct ieee80211_bss_conf’ has no member named ‘aid’
   81 |                 bfee->aid = bss_conf->aid;
      |                                     ^~
/home/yani/rtw88/main.c: In function ‘rtw_check_sta_active_iter’:
/home/yani/rtw88/main.c:2626:26: error: ‘struct ieee80211_bss_conf’ has no member named ‘assoc’
 2626 |         if (vif->bss_conf.assoc || !is_zero_ether_addr(rtwvif->bssid))
      |                          ^
/home/yani/rtw88/main.c: In function ‘rtw_set_ampdu_factor’:
/home/yani/rtw88/main.c:2681:16: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 2681 |         if (sta->vht_cap.vht_supported)
      |                ^~
/home/yani/rtw88/main.c:2682:42: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
 2682 |                 factor = u32_get_bits(sta->vht_cap.cap,
      |                                          ^~
/home/yani/rtw88/main.c:2684:21: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 2684 |         else if (sta->ht_cap.ht_supported)
      |                     ^~
/home/yani/rtw88/main.c:2685:29: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
 2685 |                 factor = sta->ht_cap.ampdu_factor;
      |                             ^~
/home/yani/rtw88/tx.c: In function ‘get_tx_ampdu_factor’:
/home/yani/rtw88/tx.c:101:21: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
  101 |         u8 exp = sta->ht_cap.ampdu_factor;
      |                     ^~
/home/yani/rtw88/tx.c: In function ‘get_tx_ampdu_density’:
/home/yani/rtw88/tx.c:116:19: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
  116 |         return sta->ht_cap.ampdu_density;
      |                   ^~
/home/yani/rtw88/tx.c: In function ‘get_highest_ht_tx_rate’:
/home/yani/rtw88/tx.c:128:50: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
  128 |         if (rtwdev->hal.rf_type == RF_2T2R && sta->ht_cap.mcs.rx_mask[1] != 0)
      |                                                  ^~
In file included from ./include/linux/byteorder/little_endian.h:5,
                 from ./arch/x86/include/uapi/asm/byteorder.h:5,
                 from ./include/asm-generic/qrwlock_types.h:6,
                 from ./arch/x86/include/asm/spinlock_types.h:7,
                 from ./include/linux/spinlock_types_raw.h:7,
                 from ./include/linux/ratelimit_types.h:7,
                 from ./include/linux/printk.h:9,
                 from ./include/asm-generic/bug.h:22,
                 from ./arch/x86/include/asm/bug.h:87,
                 from ./include/linux/bug.h:5,
                 from ./include/net/mac80211.h:16,
                 from /home/yani/rtw88/main.h:12,
                 from /home/yani/rtw88/tx.c:5:
/home/yani/rtw88/tx.c: In function ‘get_highest_vht_tx_rate’:
/home/yani/rtw88/tx.c:147:37: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
  147 |         tx_mcs_map = le16_to_cpu(sta->vht_cap.vht_mcs.tx_mcs_map);
      |                                     ^~
./include/uapi/linux/byteorder/little_endian.h:37:51: note: in definition of macro ‘__le16_to_cpu’
   37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
      |                                                   ^
/home/yani/rtw88/tx.c:147:22: note: in expansion of macro ‘le16_to_cpu’
  147 |         tx_mcs_map = le16_to_cpu(sta->vht_cap.vht_mcs.tx_mcs_map);
      |                      ^~~~~~~~~~~
cc1: some warnings being treated as errors
/home/yani/rtw88/tx.c: In function ‘rtw_tx_data_pkt_info_update’:
/home/yani/rtw88/tx.c:400:16: error: ‘struct ieee80211_sta’ has no member named ‘vht_cap’
  400 |         if (sta->vht_cap.vht_supported)
      |                ^~
/home/yani/rtw88/tx.c:402:21: error: ‘struct ieee80211_sta’ has no member named ‘ht_cap’
  402 |         else if (sta->ht_cap.ht_supported)
      |                     ^~
/home/yani/rtw88/tx.c:404:21: error: ‘struct ieee80211_sta’ has no member named ‘supp_rates’
  404 |         else if (sta->supp_rates[0] <= 0xf)
      |                     ^~
/home/yani/rtw88/fw.c: In function ‘rtw_fw_ra_report_iter’:
/home/yani/rtw88/fw.c:202:12: error: ‘struct ieee80211_sta’ has no member named ‘max_rc_amsdu_len’
  202 |         sta->max_rc_amsdu_len = get_max_amsdu_len(bit_rate);
      |            ^~
make[2]: *** [scripts/Makefile.build:299: /home/yani/rtw88/mac80211.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/yani/rtw88/tx.c: In function ‘get_tx_ampdu_density’:
/home/yani/rtw88/tx.c:118:1: error: control reaches end of non-void function [-Werror=return-type]
  118 | }
      | ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:299: /home/yani/rtw88/bf.o] Error 1
/home/yani/rtw88/fw.c: In function ‘rtw_get_rsvd_page_skb’:
/home/yani/rtw88/fw.c:1262:27: error: too few arguments to function ‘ieee80211_beacon_get_tim’
 1262 |                 skb_new = ieee80211_beacon_get_tim(hw, vif, &tim_offset, NULL);
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yani/rtw88/main.h:12,
                 from /home/yani/rtw88/fw.c:7:
./include/net/mac80211.h:5422:17: note: declared here
 5422 | struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw,
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
/home/yani/rtw88/fw.c:1277:27: error: too few arguments to function ‘ieee80211_nullfunc_get’
 1277 |                 skb_new = ieee80211_nullfunc_get(hw, vif, false);
      |                           ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yani/rtw88/main.h:12,
                 from /home/yani/rtw88/fw.c:7:
./include/net/mac80211.h:5554:17: note: declared here
 5554 | struct sk_buff *ieee80211_nullfunc_get(struct ieee80211_hw *hw,
      |                 ^~~~~~~~~~~~~~~~~~~~~~
/home/yani/rtw88/fw.c:1288:27: error: too few arguments to function ‘ieee80211_nullfunc_get’
 1288 |                 skb_new = ieee80211_nullfunc_get(hw, vif, true);
      |                           ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yani/rtw88/main.h:12,
                 from /home/yani/rtw88/fw.c:7:
./include/net/mac80211.h:5554:17: note: declared here
 5554 | struct sk_buff *ieee80211_nullfunc_get(struct ieee80211_hw *hw,
      |                 ^~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:299: /home/yani/rtw88/main.o] Error 1
/home/yani/rtw88/pci.c: In function ‘rtw_pci_napi_init’:
/home/yani/rtw88/pci.c:1704:9: error: too many arguments to function ‘netif_napi_add’
 1704 |         netif_napi_add(
      |         ^~~~~~~~~~~~~~
In file included from ./include/linux/etherdevice.h:21,
                 from ./include/linux/ieee80211.h:20,
                 from ./include/net/mac80211.h:20,
                 from /home/yani/rtw88/main.h:12,
                 from /home/yani/rtw88/pci.c:7:
./include/linux/netdevice.h:2732:1: note: declared here
 2732 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
      | ^~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:299: /home/yani/rtw88/tx.o] Error 1
make[2]: *** [scripts/Makefile.build:299: /home/yani/rtw88/pci.o] Error 1
make[2]: *** [scripts/Makefile.build:299: /home/yani/rtw88/fw.o] Error 1
make[1]: *** [Makefile:1936: /home/yani/rtw88] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.14.0-427.42.1.el9_4.x86_64'
make: *** [Makefile:183: all] Error 2

Hints?

I highly recommend you use ELRepo’s kmod-rtw88_usb package. To see if this driver works for your device, run ‘lsusb’ and get the device IDs in the form of xxxx:yyyy. Then check if your device is listed here:

https://elrepo.org/wiki/doku.php?id=deviceids#kmod-rtw88_usb

With ELRepo’s kmod package, there is no need to rebuild for each kernel update.

Thanks, I tried the recommended one and it failed.

In what way did it fail? Please post exact error messages. Even if they don’t seem particularly informative to you it may be just what people here need to figure out what the problem is.

initramfs for 9.5
I’m forced to use the boot menu and run 9.4.

Cause the WiFi driver that works in 9.4.

First 9.5 wouldn’t work with the WiFi

Then there must have been an update as there are 2 version of 9.5 in the boot menu and the most recent won’t boot at all.

The help says “sudo dnf reinstall kernel-core.x86_64” that’s where I’m at in fixing this.

$ lsusb
Bus 007 Device 005: ID 0bda:d723 Realtek Semiconductor Corp. 802.11n WLAN Adapter

kmod-rtw88_usb

(rtw88_8723du.ko)
[0bda:d723] Realtek Semiconductor Corp. UNKNOWN DEVICE d723

as per deviceids [ELRepo Wiki]

Use that because it has a matching ID or keep with the one toracat suggested?

Your device is supported by elrepo’s kmod-rtw88_usb package. You can install it by running (as root):

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-v2-elrepo.org
# yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
# yum install kmod-rtw88_usb

And reboot the 9.5 kernel.

That all went OK and the rebuild of the Kernel was OK but…

…/…/grub-core/fs/fshelp.c:257:file ‘/initramfs-5.14xxx.img’ not found.

I thought reinstalling the kernel was to rewrite the initramfs?

dracut -f /boot/initramfs-5.14.0-503.19.1.e19_5.x86_64.img 5.14.0-503.19.1.e19_5.x86_64

Is that correct? You can’t just believe just any help file you read on the internet. :wink:

$ sudo dracut -f /boot/initramfs-5.14.0-503.19.1.e19_5.x86_64.img 5.14.0-503.19.1.e19_5.x86_64
dracut: Cannot find module directory /lib/modules/5.14.0-503.19.1.e19_5.x86_64/
dracut: and --no-kernel was not specified

Not hearing any singing.

l not 1

$ sudo dracut -f /boot/initramfs-5.14.0-503.19.1.el9_5.x86_64.img 5.14.0-503.19.1.el9_5.x86_64
dracut: dracut module ‘/lib/modules/5.14.0-427.42.1.el9_4.x86_64/kernel/drivers/vfio’ cannot be found or installed.

I’m lost now.

What do you get with:

dnf provides *kernel/drivers/vfio\*

dnf provides *kernel/drivers/vfio*
Last metadata expiration check: 8 days, 17:35:32 ago on Fri 03 Jan 2025 01:33:31.
kernel-debug-modules-core-5.14.0-503.19.1.el9_5.x86_64 : Core kernel modules to match the core kernel
Repo : baseos
Matched from:
Other : kernel/drivers/vfio

kernel-modules-core-5.14.0-427.42.1.el9_4.x86_64 : Core kernel modules to match the core kernel
Repo : @System
Matched from:
Other : kernel/drivers/vfio

kernel-modules-core-5.14.0-503.16.1.el9_5.x86_64 : Core kernel modules to match the core kernel
Repo : @System
Matched from:
Other : kernel/drivers/vfio

kernel-modules-core-5.14.0-503.19.1.el9_5.x86_64 : Core kernel modules to match the core kernel
Repo : @System
Matched from:
Other : kernel/drivers/vfio

kernel-modules-core-5.14.0-503.19.1.el9_5.x86_64 : Core kernel modules to match the core kernel
Repo : baseos
Matched from:
Other : kernel/drivers/vfio

They are there for other versions. Can I just copy them over?