web-dev-qa-db-fra.com

Pilote wifi RTL8821CE - impossible de se connecter après une suspension ou un changement de réseau sur Ubuntu 18.04 (Kernel 4.15)

J'utilise Ubuntu 18.04 dans un ordinateur portable HP. J'ai téléchargé le pilote en utilisant:

git clone https://github.com/tomaspinho/rtl8821ce.git

J'ai suivi les instructions du fichier README pour l'installation.

Le pilote fonctionnait bien après le redémarrage de l'ordinateur, mais si j'essaie de changer de réseau sans fil ou si l'ordinateur est suspendu, le gestionnaire de réseau ne peut plus se connecter. Le gestionnaire de réseau voit le ssid du Wi-fi dans l'air mais ne parvient pas à établir la connexion. En bref, cela ne fonctionne que sur la première connexion.

J'ai essayé de redémarrer Network Manager, de le désinstaller et de le réinstaller, mais le problème persiste. La seule solution est de redémarrer Ubuntu, ce qui est très agaçant pour moi.

Comment puis-je résoudre ce problème?

1
Seb

EDIT: Une nouvelle installation d'ubuntu 18.10 (uefi) résout le problème de façon permanente, vous n'avez pas besoin de suivre les étapes ci-dessous, il suffit d'installer ubuntu 18.10 et de construire le module wifi. Cela devrait alors fonctionner parfaitement. Il y a peut-être des bugs dans la version d'UBuntu 18.04 LTS qui avaient été corrigés dans la version 18.10

Le problème principal est que le pilote wifi installé par dkms ne se recharge pas après la suspension pour une raison inconnue.

J'AI RTL8821CE COMME MA Puce WIFI SO MON MODULE KERNEL IS NOMME COMME 8821ce

Ouvrez la connexion au terminal en tant que root en exécutant la commande Sudo -s, puis exécutez les commandes suivantes (vous pouvez également utiliser Sudo au lieu de vous connecter en tant que root)

modprobe -r 8821ce et

modprobe -i 8821ce

ces commandes rechargeront les modules wifi et votre wifi fonctionnera à nouveau après la suspension.

J'ai trouvé une solution temporaire pour éviter d'envoyer ces commandes chaque fois que vous quittez susp.

REMARQUE:

  1. CE CONTOURNEMENT PARFOIS FONCTIONNE ET PARFOIS NE FONCTIONNE PAS

  2. CELA POURRAIT CASSER VOTRE SUSPENDRE/REPRENDRE MAIS VOUS POUVEZ SIMPLEMENT REVENIR À L'ÉTAT PRÉCÉDENT EN DÉSACTIVANT LE SERVICE ET EN SUPPRIMANT LES FICHIERS.

Les étapes sont;

  1. Créez un script qui lance les commandes ci-dessus à la reprise (pas à la suspension) en

Sudo nano /etc/pm/sleep.d 20_anyname.sh (remplacez n'importe quel nom par quelque chose de votre choix)

et entrez les lignes suivantes dans le script

#!/bin/sh

# This script Restarts rtl8821ce kernel modules
# Use this if your wifi not working after suspend/resume

case "${1}" in
        resume|thaw)
               Sudo modprobe -r 8821ce
               Sudo modprobe -i 8821ce
;;
esac

puis appuyez sur CTRL + X et enregistrez les modifications en entrant yes

Assurez-vous que les autorisations appropriées sont accordées par

Sudo chown root:root /etc/pm/sleep.d/20_anyname.sh

Sudo chmod 755 /etc/pm/sleep.d/20_anyname.sh

  1. Créer un service systemd en

Sudo nano /etc/systemd/system/somename.service

Entrez le texte suivant

[Unit]
Description=Wifi Resume Service
After=sleep.target
After=hibernate.target
After=hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/path/to/your/script

[Install]
WantedBy=sleep.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

et enregistrez avec CTRL + X puis tapez yes puis entrez.

Assurez-vous ensuite que les autorisations appropriées sont accordées par

Sudo chown root:root /etc/systemd/system/somename.service

Sudo chmod 755 /etc/systemd/system/somename.service

  1. Activez votre script en utilisant Sudo systemctl enable somename

  2. Redémarrez et profitez

Comme je l'ai dit avant, il fonctionne parfois et parfois pas. Je ne sais vraiment pas pourquoi c'est comme ça. Pour obtenir un réseau wifi pleinement opérationnel, vous devez attendre que les développeurs insèrent le module sans bug dans les prochains noyaux, car rtl8821ce est toujours une nouvelle puce.

Activez d'abord votre réseau wifi local, puis suspendez votre ordinateur portable. Maintenant, pour dire si le script a réussi ou non, voyez le coin en haut à droite juste après la reprise si vous ne voyez aucune sorte de signe wifi alors vous êtes prêt à partir et si vous voyez un signe wifi à première vue, le script échoue.

Pour voir les erreurs journctl -u somename.service

1
Saurabh Singh

J'ai le même problème avec un pavillon et la réponse acceptée ne me convient pas. Voici ce que j'ai fait:

Dans Ubuntu 18.04, créez le script:

Sudo vim /lib/systemd/system-sleep/wifi.sh

et copiez et collez ce qui suit:

#!/bin/sh
case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    modprobe -r 8821ce && modprobe -i 8821ce
    ;;
esac

Puis donnez-lui les autorisations utilisateur:

Sudo chmod a + x /lib/systemd/system-sleep/wifi.sh

Prêt.

0

J'ai rencontré le même problème sur un Lenovo Ideapad330. Même jeu de puces sans fil et même problème lors de la reprise après une suspension.

Lors de la lecture du fichier Lisez-moi du pilote 8821ce sur GitHub , tomaspinho évoque des problèmes éventuels, notamment "PCIe Activate State Power Management".

J'ai suivi ses recommandations et j'ai ajouté le paramètre suivant à la commande grub

pci=noaer

Maintenant, je n'ai plus de problème sans fil après la suspension.

0
benoit mordac