EndeavourOS Linux Drops WiFi Every Reboot

When a major core update requires a reboot ASAP, do I cause any harm by replacing a restart with a full system shutdown followed 30 seconds later by turning it back on? My guess is no, but I wanted to confirm with EndeavourOS experts. Because since installing EndeavourOS last week every reboot disconnects WiFi. At which time I can either cable connect to ethernet, or turn the computer completely off then back on.

An Arch wiki article points directly to my 2012 ACER Aspire’s Ralink RT3090 Wireless chipset:

$ lspci -k
05:00.0 Network controller: Ralink corp. RT3090 Wireless 802.11n 1T/1R PCIe
	Subsystem: Lite-On Communications Inc RT3090 Wireless 802.11n 1T/1R PCIe
	Kernel driver in use: rt2800pci
	Kernel modules: rt2800pci

Arch wiki states: “For devices which are using the RT3090 chipset it should be possible to use rt2800pci driver, however, is not working with this chipset very well (e.g. sometimes it is not possible to use higher rate than 2Mb/s).”

In December 2012, after ACER had switched my Aspire model from a Windows 7 with hybrid BIOS/UEFI to Windows 8 with UEFI, it offered a WLAN driver upgrade: Wireless LAN_Atheros_10.0.0.217_W8x64_A. Unfortunately neither Arch respositories or the AUR show a Linux version of that Windows 8 64-bit file.

I did notice during installation an issue involving the attempted starting of the ethernet interface. I thought I read “enp8s0” but now find only “enp3s0.” And, yes, I attempted various commands to start and enable WLAN and nothing worked. Only a hard shut down followed by cold start brings the WLAN back up.

Weird, huh? Thoughts? Per Arch wiki I fear this annoying problem is an unfix-able EndeavourOS deal-breaker. It’s one hell of a nice OS that hopefully I can install on my second computer, also ACER, though it must wait until Arch Linux reacts to Microsoft’s September 2019 open-sourcing of exFAT to Linux’s Open Invention Network (OIN).


You can try and see if this will stop it from disconnecting.

modprobe rt2800pci nohwcrypt=1

I had some issues with wireless when dual booting, as windows would bring the wireless card in some persistent power state that Linux was not able to figure out. I guess something similar might be the case here (not the dual boot part, but the power state, this time probably caused by the driver itself).
You can add this to a startup script

sudo modprobe -r rt2800pci && sudo modprobe rt2800pci

This should reset the card.
Maybe also add the flag @ricklinux mentioned ( nohwcrypt=1).

Gosh dang, guys! Responding through ethernet cable. I was so hopeful, but it didn’t work:

[williamjbj@william-aspirez1620 ~]$ sudo -r rt2800pci && sudo modprobe rt2800pci nohwcrypt=1
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user]
            [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file ...
[williamjbj@william-aspirez1620 ~]$

Option -r doesn’t seem to be a sudo option. So simply remove it…
I guess it was meant as an option for the first modprobe:

sudo modprobe -r rt2800pci && sudo modprobe rt2800pci nohwcrypt=1

ah yes, a copy-paste mistake there.
sudo modprobe -r is what i meant. I’ve edited the post.

Could you show the output of lsmod
It should be using the rt2800pci but you may need to blacklist other modules such as rt2800usb
in /etc/modprobe.d/blacklist.conf

Here it is. Currently I have /etc/modprobe.d/broadcom-wl.conf.

[williamjbj@william-aspirez1620 ~]$ lsmod
Module                  Size  Used by
fuse                  139264  3
hid_logitech_hidpp     45056  0
mousedev               24576  0
input_leds             16384  0
joydev                 28672  0
hid_logitech_dj        28672  0
uvcvideo              114688  0
videobuf2_vmalloc      20480  1 uvcvideo
videobuf2_memops       20480  1 videobuf2_vmalloc
videobuf2_v4l2         28672  1 uvcvideo
hid_generic            16384  0
videobuf2_common       57344  2 videobuf2_v4l2,uvcvideo
videodev              270336  3 videobuf2_v4l2,uvcvideo,videobuf2_common
usbhid                 65536  1 hid_logitech_dj
hid                   147456  4 usbhid,hid_generic,hid_logitech_dj,hid_logitech_hidpp
mc                     61440  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
nls_iso8859_1          16384  1
nls_cp437              20480  1
vfat                   24576  1
fat                    86016  1 vfat
intel_rapl_msr         20480  0
intel_rapl_common      32768  1 intel_rapl_msr
snd_hda_codec_realtek   126976  1
snd_hda_codec_generic    94208  1 snd_hda_codec_realtek
x86_pkg_temp_thermal    20480  0
intel_powerclamp       20480  0
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realtek
rt2800pci              16384  0
rt2800mmio             20480  1 rt2800pci
coretemp               20480  0
rt2800lib             143360  2 rt2800mmio,rt2800pci
kvm_intel             327680  0
rt2x00pci              16384  1 rt2800pci
rt2x00mmio             16384  2 rt2800mmio,rt2800pci
mei_hdcp               24576  0
rt2x00lib              90112  5 rt2x00mmio,rt2x00pci,rt2800mmio,rt2800pci,rt2800lib
gpio_ich               16384  0
kvm                   827392  1 kvm_intel
mac80211             1032192  3 rt2x00pci,rt2x00lib,rt2800lib
iTCO_wdt               16384  0
iTCO_vendor_support    16384  1 iTCO_wdt
i915                 2502656  6
irqbypass              16384  1 kvm
snd_hda_intel          57344  3
crct10dif_pclmul       16384  1
snd_intel_dspcfg       28672  1 snd_hda_intel
crc32_pclmul           16384  0
r8169                  90112  0
snd_hda_codec         163840  3 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_realtek
ghash_clmulni_intel    16384  0
cfg80211              884736  2 rt2x00lib,mac80211
cryptd                 24576  1 ghash_clmulni_intel
snd_hda_core          106496  4 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               143360  3 snd_hda_intel,snd_hda_codec,snd_hda_core
intel_cstate           16384  0
eeprom_93cx6           16384  1 rt2800pci
intel_uncore          147456  0
snd_timer              40960  1 snd_pcm
realtek                24576  1
i2c_algo_bit           16384  1 i915
rfkill                 28672  2 cfg80211
intel_rapl_perf        16384  0
libarc4                16384  1 mac80211
libphy                139264  2 r8169,realtek
snd                   110592  13 snd_hda_codec_generic,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
pcspkr                 16384  0
i2c_i801               36864  0
drm_kms_helper        241664  1 i915
jmb38x_ms              24576  0
memstick               24576  1 jmb38x_ms
cec                    65536  2 drm_kms_helper,i915
wmi                    36864  0
rc_core                61440  1 cec
soundcore              16384  1 snd
intel_gtt              24576  1 i915
mei_me                 45056  1
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
mei                   122880  3 mei_hdcp,mei_me
lpc_ich                28672  0
evdev                  24576  15
mac_hid                16384  0
nf_log_ipv6            16384  5
ip6t_REJECT            16384  1
nf_reject_ipv6         20480  1 ip6t_REJECT
xt_hl                  16384  22
ip6t_rt                20480  3
nf_log_ipv4            16384  5
nf_log_common          16384  2 nf_log_ipv4,nf_log_ipv6
ipt_REJECT             16384  1
nf_reject_ipv4         16384  1 ipt_REJECT
xt_LOG                 20480  10
xt_limit               16384  13
xt_addrtype            16384  4
xt_tcpudp              20480  18
xt_conntrack           16384  16
ip6table_filter        16384  1
ip6_tables             36864  53 ip6table_filter
nf_conntrack_netbios_ns    16384  0
nf_conntrack_broadcast    16384  1 nf_conntrack_netbios_ns
nf_nat_ftp             20480  0
nf_nat                 57344  1 nf_nat_ftp
nf_conntrack_ftp       24576  1 nf_nat_ftp
nf_conntrack          172032  6 xt_conntrack,nf_nat,nf_nat_ftp,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_conntrack_ftp
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
libcrc32c              16384  2 nf_conntrack,nf_nat
iptable_filter         16384  1
pkcs8_key_parser       16384  0
crypto_user            16384  0
drm                   565248  5 drm_kms_helper,i915
agpgart                53248  2 intel_gtt,drm
ip_tables              36864  9 iptable_filter
x_tables               53248  13 ip6table_filter,xt_conntrack,iptable_filter,xt_LOG,xt_tcpudp,xt_addrtype,ip6t_rt,ip6_tables,ipt_REJECT,ip_tables,xt_limit,xt_hl,ip6t_REJECT
ext4                  794624  1
crc32c_generic         16384  0
crc16                  16384  1 ext4
mbcache                16384  1 ext4
jbd2                  139264  1 ext4
crc32c_intel           24576  3
sr_mod                 28672  0
cdrom                  77824  1 sr_mod
xhci_pci               20480  0
sdhci_pci              57344  0
cqhci                  32768  1 sdhci_pci
xhci_hcd              290816  1 xhci_pci
sdhci                  77824  1 sdhci_pci
mmc_core              188416  3 sdhci,cqhci,sdhci_pci
ehci_pci               20480  0
ehci_hcd               98304  1 ehci_pci
[williamjbj@william-aspirez1620 ~]$

Just to make sure here. So does the wifi work but just disconnects? Do you have the check box marked in NetworkManager

“connect automatically with priority”

Right click on your network connection. Select edit connections. Highlight your wireless connection and click on the gear icon at the bottom. Click on the general tab. Make sure that the check box is marked and save.

“Connect automatically with priority” is checked, with default set to “0.” I changed it to “1” but problem remains.

The “problem,” to expand on my initial description, is that on initial start-up speedy EndeavourOS displays sign-in and connects to my wireless network faster than I’ve ever seen. But reboot, such as when recommended after upstream delivers many core system changes, and you know without doubt the WLAN will be disconnected. After installing EndeavourOS the first time with WiFi working, rebooting from the installation media showed WiFi “Device not ready.” I was stunned; WiFi worked perfectly during Live USB run-through.

I spent at least an hour trying every standard UNIX/Linux command plus what I could find in Arch wiki to restart the WLAN. Nothing worked. Tired and disgusted, I turned off the computer to return next morning and, BANG, “WiFi Networks Available.” Thrilled yet dumbfounded, I thought perhaps one of my commands had a delayed effect. But that made no sense as I quickly realized that only a complete shutdown followed by cold start brings WiFi back. Ethernet is fine so I keep a cable nearby.

Linux forums from Debian/Ubuntu to Arch to Open-SUSE to Red Hat are riddled with users troubleshooting Ralink RT3090 and at least one related model. But the issues differ from my particularly baffling one and I don’t recall any being solved. I’ve ruled out the card needing to be re-seated because WiFi will remain indefinitely so long as you don’t reboot. I’ve retained consistent wireless connection for 8 to 10 hours.

I’m writing this off-line so I can disconnect the Ethernet cable and shut down the computer. I want to confirm WiFi still returns upon cold start, at which point I’ll send this reply.


And there you go. From cold start, “Connection Established.” Now getting upstream message. Accessed the changes and although reboot was not required I did so anyway. And? You guessed it: back on the cable.

You’re now seeing in near real time the craziness of this situation. I’ve tried all the “modprobe.d” suggestions above with no success. Thanks to everyone for nonetheless very educational Arch Linux lessons. Perhaps it’s time to take a breath. I keep coming back to the Arch wiki observation that the “rt2800pci driver … is not working with this chip-set very well.” The 2Mb/s reference is curious, yet makes no sense regarding my rebooting cut-off. Or at least so it would seem.

Well maybe try again… with these.

sudo modprobe -r rt2800pci
sudo modprobe rt2800pci nohwcrypt=Y
sudo iw reg set US
sudo iwconfig wlan0 power off


[williamjbj@william-aspirez1620 ~]$ sudo modprobe -r rt2800pci
[sudo] password for williamjbj: 
[williamjbj@william-aspirez1620 ~]$ sudo modprobe rt2800pci nohwcrypt=Y
[williamjbj@william-aspirez1620 ~]$ sudo iw reg set US
[williamjbj@william-aspirez1620 ~]$ sudo iwconfig wlan0 power off
[williamjbj@william-aspirez1620 ~]$ 


Ethernet Network
Wired Connection 1

Wi-Fi Networks
device not ready

Have you enabled NetworkManager?

$ systemctl enable NetworkManager.service

Have you tried AUR?

$ yay ralink
5 aur/mt7601u-ap-dkms (+1 0.00%) 
    Kernel module for Ralink MT7601U chipset wireless adaptors with Access Point (AP / Master) support.
4 aur/rt3562sta (+1 0.00%) (Orphaned) (Out-of-date 2018-08-20) 
    Ralink RT3562 PCI WLAN adaptors kernel module
3 aur/rt5592sta_linux_patched-dkms (+3 0.00%) 
    DKMS module which contains linux device driver for the Ralink RT2860 ABGN WLAN Card. It's based on halou89's rt5592sta_linux_patched package.
2 aur/rtbth-dkms-git (+4 0.00%) (Orphaned) (Out-of-date 2017-11-26) 
    rtbth Kernel module sources for Ralink RT3290 bluetooth, lomiu's solution.
1 aur/rtbth-dkms (+8 0.00%) (Out-of-date 2016-12-23) 
    rtbth Kernel module sources for Ralink RT3290 bluetooth
==> Packages to install (eg: 1 2 3, 1-3 or ^4)

Firmware missing? Doesn’t EndeavourOS check that during installation? Realizing of course that’s a far from perfect process.

On Ubuntu’s user forum three years ago someone with Ralink Corp. RT3290 (mine is RT3090) received the following suggestion using Debian/Ubuntu commands. Unfortunately the person, apparently having no WiFi whatsoever, failed to confirm a fix.

  • Install firmwares package
sudo apt-get update
sudo apt-get install linux-firmware

Then reboot, see if works.

  • If It didn’t work, blacklist the rt2800pci module

echo "blacklist rt2800pci" | sudo tee /etc/modprobe.d/blacklist-myrt2800pci.conf

Thanks, Judd. My remarks about missing firmware came before seeing your posted reply. I’ll try

systemctl enable NetworkManager.service

and restart to check it. If no change I’ll reconsider what’s in the repositories. I know I had looked early on and was uncomfortable not finding anything for the RT3090. But I do suspect it may be interchangeable with the RT3290 chipset.

If it does come to taking a chance on what’s in the AUR, I’ll first need guidance one how to roll back to the original configuration if necessary. I’m well-versed in Debian/Ubuntu’s “Timeshift” – and have yet to learn Arch Linux’s version.

1 Like

It took my Ralink since installation and I have never had problems, it is a very old Linksys WUSB54GC ↓

Linksys WUSB54GC v3 802.11g Adapter [Ralink RT2070L] type: USB → driver: rt2800usb

Okay. Used

systemctl enable NetworkManager.service

and still

WiFi Networks
device not ready

So taking into account Jude’s comments about his elderly :drooling_face: Linksys WUSB54GC I’ll see what the AUR can do for me. There are also online references to Ralink patches but all at least six or seven years old. (Yeah, like I have room to joke about old equipment! :zipper_mouth_face:) I rechecked the Arch repo – as Jude apparently did; nothing as I thought I recalled.

Maybe you could try loading it through initramfs. Add “rt2800pci” to the MODULES section in /etc/mkinitcpio.conf then run “mkinitcpio -p linux” after.

1 Like

@ricklinux what I have is


so I don’t see any MODULES section. :confused:

I have the file on my xfce. It is the file /etc/mkinitcpio.conf

Edit: Not the folder but the .conf file at the bottom of the page. Edit it with nano