web-dev-qa-db-fra.com

"RTNETLINK répond: erreur d'entrée / sortie" lors de la tentative de création d'une interface

Ce problème semble avoir touché beaucoup de gens au cours des dernières années, et je pourrais le trouver discuté dans plusieurs forums et questions. Cependant, la plupart de ces discussions ont fini par mourir sans solutions claires ou n'ont pas été clairement énoncées, d'où mon essai encore une fois.

Le problème

La connexion meurt en silence

J'essaie de me connecter à un réseau wifi public (un réseau universitaire, par exemple) à l'aide de mon ordinateur portable (un Dell Precision M3800). La connexion est initialement réussie, mais après un certain temps (je ne pouvais pas comprendre combien: parfois, ce n’est que quelques minutes, parfois quelques heures), elle ne fonctionne plus.

En arrêtant de fonctionner ici, je veux dire que, bien que apparemment , la connexion soit toujours active, lorsque j'essaie d'accéder à un site Web ou d'envoyer une requête ping à une adresse, rien ne se passe initialement. Notamment, à ce stade, tout indique encore que la connexion est active. L'icône Network Manager et les sorties de nmcli dev, nmcli g et nmcli dev wifi indiquent que nous sommes connectés avec succès.

Après un certain temps, alors que nmcli dev et nmcli g disent toujours que tout va bien, nmcli dev wifi ne détecte plus que la connexion à laquelle nous sommes censés être connectés (même si je sais qu'il existe d'autres points d'accès disponibles ).

Essayer de réinitialiser la connexion

Si je ne fais rien, la situation reste la même. Si j'essaie maintenant de réinitialiser la connexion, nous obtiendrons l'erreur selon le titre. Pour cela, j'utilise Sudo service network-manager restart. Voici l'état signalé par divers outils à ce stade:

  1. ip link signale toujours l'interface vers le haut, avec une ligne de la forme ... wlp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> ... (notez la partie UP).
  2. Par contre, iw signale l'interface comme étant en panne: le résultat de iw dev wlp6s0 link est Not connected.
  3. nmcli signale que l'interface est en panne. En particulier, nmcli dev indique l'état comme disconnected, et identique pour nmcli g. Fait intéressant, nmcli g signale toujours le WIFI comme enabled. Ceci est confirmé par la sortie de nmcli radio, qui signale tout sous la forme enabled.
  4. L'icône Network Manager indique simplement disconnected sans option visible pour se reconnecter.

Essayez de ramener l’interface à nouveau, obtenez l’erreur _ RTNETLINK

À ce stade, je suis un peu en manque d'idées, alors j'essaie simplement de réinitialiser la connexion via ip, qui ne l'enregistre toujours pas comme étant en panne. J'utilise Sudo ip link set wlp6s0 down puis Sudo ip link set wlp6s0 up. La première commande réussit, comme le confirme le résultat de ip link. La deuxième commande échoue cependant avec

RTNETLINK répond: Erreur d'entrée/sortie

Des informations intéressantes supplémentaires sont données par dmesg. Lorsque l'erreur se produit, beaucoup d'erreurs sont données par iwlwifi. J'ai téléchargé l'ensemble dmesg dump sur ce Gist . L'erreur est probablement due à ce qui se passe autour de L1049 . Une fois la connexion interrompue, jusqu’à ce que je force la réinitialisation du gestionnaire de réseau, nous obtenons la boucle d’erreurs iwlwifi qui commence à L11 et ne prend fin que parce que c’est le point où j’exécute dmesg.

Lorsque j'essaie alors d'exécuter ip link set wlp6s0 up et d'obtenir notre erreur bien-aimée, les lignes suivantes sont imprimées dans le dmesg:

[  +9.727062] iwlwifi 0000:06:00.0: Failed to wake NIC for hcmd
[  +0.000047] iwlwifi 0000:06:00.0: Error sending MAC_CONTEXT_CMD: enqueue_hcmd failed: -5
[  +0.000006] iwlwifi 0000:06:00.0: Failed to remove MAC context: -5
[ +13.220958] iwlwifi 0000:06:00.0: Could not load the [0] uCode section
[  +0.000007] iwlwifi 0000:06:00.0: Failed to start INIT ucode: -5
[  +0.000002] iwlwifi 0000:06:00.0: Failed to run INIT ucode: -5
[  +0.000001] iwlwifi 0000:06:00.0: Failed to start RT ucode: -5
[Feb27 12:59] iwlwifi 0000:06:00.0: Could not load the [0] uCode section
[  +0.000007] iwlwifi 0000:06:00.0: Failed to start INIT ucode: -5
[  +0.000002] iwlwifi 0000:06:00.0: Failed to run INIT ucode: -5
[  +0.000002] iwlwifi 0000:06:00.0: Failed to start RT ucode: -5

La poursuite de la recherche sur Google m'a amené à ces deux messages sur les forums archlinux ( . Wireless AP cesse de diffuser en cas de déconnexion et RTNETLINK répond: erreur d'entrée/sortie, rt3290 ), qui suggère en outre un problème avec les pilotes de la carte réseau. Ils mentionnent en particulier le rechargement des pilotes sans fil intel avec

Sudo modprobe -r iwlwifi
Sudo modprobe iwlwifi

La première commande a réussi, comme le confirme le résultat de ip link ne plus afficher l'interface wlp6s0. Malheureusement, une fois que le pilote a été arrêté, il ne remonte pas (eh bien, il remonte dans le sens où il apparaît de nouveau dans Sudo modprobe | grep iwl, mais l'interface ne réapparaît toujours pas avec ip link). La deuxième commande échoue sans sortie du terminal et avec le journal dmesg suivant:

[Feb27 16:45] Intel(R) Wireless WiFi driver for Linux
[  +0.000002] Copyright(c) 2003- 2015 Intel Corporation
[  +0.000830] iwlwifi 0000:06:00.0: loaded firmware version 17.608620.0 op_mode iwlmvm
[  +0.016423] iwlwifi 0000:06:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0xFFFFFFFF
[  +0.024695] Timeout waiting for hardware access (CSR_GP_CNTRL 0xffffffff)
[  +0.000012] ------------[ cut here ]------------
[  +0.000009] WARNING: CPU: 6 PID: 4523 at /build/linux-hwe-4GXcua/linux-hwe-4.13.0/drivers/net/wireless/intel/iwlwifi/pcie/trans.c:1873 iwl_trans_pcie_grab_nic_access+0xe7/0xf0 [iwlwifi]
[  +0.000001] Modules linked in: iwlmvm(+) mac80211 iwlwifi cfg80211 ccm rfcomm bnep snd_hda_codec_hdmi arc4 uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev media joydev pn544_mei mei_phy pn544 hci nfc intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel hid_multitouch kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc snd_hda_codec_realtek snd_hda_codec_generic btusb btrtl Dell_laptop snd_hda_intel btbcm aesni_intel snd_hda_codec Dell_smm_hwmon aes_x86_64 btintel bluetooth snd_hda_core snd_hwdep crypto_simd ecdh_generic glue_helper cryptd intel_cstate snd_pcm intel_rapl_perf Dell_wmi Dell_smbios input_leds dcdbas snd_seq_midi serio_raw wmi_bmof sparse_keymap snd_seq_midi_event snd_rawmidi intel_pch_thermal snd_seq rtsx_pci_ms memstick
[  +0.000033]  snd_seq_device snd_timer snd acpi_als kfifo_buf mei_me lpc_ich mei shpchp soundcore ie31200_edac industrialio dptf_power int3403_thermal int3406_thermal int3402_thermal Dell_smo8800 Dell_rbtn processor_thermal_device int3400_thermal int340x_thermal_zone mac_hid acpi_thermal_rel intel_soc_dts_iosf parport_pc ppdev lp parport autofs4 hid_logitech_hidpp hid_logitech_dj usbhid hid i915 nouveau rtsx_pci_sdmmc mxm_wmi ttm i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt psmouse fb_sys_fops ahci libahci drm rtsx_pci wmi video [last unloaded: cfg80211]
[  +0.000026] CPU: 6 PID: 4523 Comm: modprobe Tainted: G        W       4.13.0-36-generic #40~16.04.1-Ubuntu
[  +0.000000] Hardware name: Dell Inc. Dell Precision M3800/Dell Precision M3800, BIOS A10 08/17/2015
[  +0.000001] task: ffff9037d6261740 task.stack: ffffb44d43ef0000
[  +0.000006] RIP: 0010:iwl_trans_pcie_grab_nic_access+0xe7/0xf0 [iwlwifi]
[  +0.000001] RSP: 0018:ffffb44d43ef3ae0 EFLAGS: 00010082
[  +0.000001] RAX: 000000000000003d RBX: ffff9037d77e0018 RCX: 0000000000000000
[  +0.000001] RDX: 0000000000000000 RSI: ffff9037efb96578 RDI: ffff9037efb96578
[  +0.000001] RBP: ffffb44d43ef3b00 R08: 0000000000000001 R09: 00000000000005a4
[  +0.000000] R10: 0000000000000000 R11: 00000000000005a4 R12: 0000000000000000
[  +0.000001] R13: ffff9037d77e8f20 R14: ffffb44d43ef3b10 R15: ffff9037d77e0230
[  +0.000001] FS:  00007f82e7a0a700(0000) GS:ffff9037efb80000(0000) knlGS:0000000000000000
[  +0.000001] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  +0.000001] CR2: 00007ffc8c365b08 CR3: 000000038bc2e004 CR4: 00000000001606e0
[  +0.000001] Call Trace:
[  +0.000006]  iwl_read_prph+0x38/0x90 [iwlwifi]
[  +0.000004]  iwl_pcie_apm_init+0x1c0/0x230 [iwlwifi]
[  +0.000005]  iwl_trans_pcie_start_hw+0x76/0x1f0 [iwlwifi]
[  +0.000009]  iwl_op_mode_mvm_start+0x6e4/0xb10 [iwlmvm]
[  +0.000005]  _iwl_op_mode_start.isra.10+0x4c/0xa0 [iwlwifi]
[  +0.000004]  iwl_opmode_register+0x6c/0xd0 [iwlwifi]
[  +0.000002]  ? 0xffffffffc0742000
[  +0.000007]  iwl_mvm_init+0x35/0x1000 [iwlmvm]
[  +0.000003]  do_one_initcall+0x55/0x1b0
[  +0.000003]  ? __vunmap+0x81/0xb0
[  +0.000002]  ? kmem_cache_alloc_trace+0x154/0x1b0
[  +0.000001]  ? kfree+0x165/0x170
[  +0.000003]  do_init_module+0x5f/0x209
[  +0.000002]  load_module+0x196a/0x1d70
[  +0.000002]  ? ima_post_read_file+0x7d/0xa0
[  +0.000003]  SYSC_finit_module+0xe5/0x120
[  +0.000001]  ? SYSC_finit_module+0xe5/0x120
[  +0.000002]  SyS_finit_module+0xe/0x10
[  +0.000003]  entry_SYSCALL_64_fastpath+0x24/0xab
[  +0.000001] RIP: 0033:0x7f82e75384d9
[  +0.000001] RSP: 002b:00007ffc8c368c08 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[  +0.000001] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f82e75384d9
[  +0.000001] RDX: 0000000000000000 RSI: 000055cbf8d6626b RDI: 0000000000000001
[  +0.000000] RBP: 00007ffc8c367c10 R08: 0000000000000000 R09: 0000000000000000
[  +0.000001] R10: 0000000000000001 R11: 0000000000000246 R12: 000055cbf914aad0
[  +0.000001] R13: 00007ffc8c367bf0 R14: 0000000000000005 R15: 0000000000040000
[  +0.000001] Code: 00 00 e8 9d b9 25 dd eb ab 48 89 df be 24 00 00 00 c6 05 69 f1 01 00 01 e8 67 eb fe ff 48 c7 c7 c8 ce 8c c0 89 c6 e8 5a 47 a3 dc <0f> ff eb c1 0f 1f 44 00 00 0f 1f 44 00 00 55 49 c7 c0 08 cf 8c 
[  +0.000024] ---[ end trace a5e22ad3df2362ea ]---
[  +1.001198] iwlwifi 0000:06:00.0: Could not load the [0] uCode section
[  +0.000007] iwlwifi 0000:06:00.0: Failed to start INIT ucode: -5
[  +1.965039] iwlwifi 0000:06:00.0: Failed to run INIT ucode: -5

Conclusion/Question

Je suppose qu'une cause probable de tout cela est un bug de pilote. Je ne comprends toujours pas pourquoi cela se produit uniquement avec certains réseaux et pas avec d'autres.

De plus, étant donné que le redémarrage de l'ordinateur portable résout le problème, du moins temporairement, ne devrait pas permettre de simuler ce qui se passe pendant le redémarrage. , pilote-sage, afin de pouvoir le faire sans le redémarrage lui-même ?

Détails supplémentaires sur le matériel

Détails du modèle d'adaptateur réseau, tels que donnés par lspci -k | grep -A3 Network:

06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
    Subsystem: Intel Corporation Dual Band Wireless-AC 7260
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi

Le périphérique est un ordinateur portable Dell Precision M3800, exécutant Ubuntu 16.04 64 bits.

Informations pertinentes complémentaires

  1. Aucun autre appareil que je connaisse ne pose le même problème avec cette connexion. En outre, le même appareil ne présente généralement pas ce problème sur aucun autre réseau wifi. Cela arrive parfois, mais c'est rare et généralement facilement résolu en réinitialisant la connexion. Cela semble impliquer que le problème doit résider dans la combinaison entre ce périphérique particulier et ce réseau particulier , c'est ce qui le rend si méchant.

  2. J'avais l'habitude d'avoir Windows 10 sur ce même appareil, et il a donné le même problème . C’était sans doute même pire, car si j’essayais de redémarrer alors que le wifi ne fonctionnait pas, l’ordinateur portable se bloquait souvent pendant le redémarrage et aboutissait dans un BSOD. Après avoir essayé d’installer différents pilotes de carte réseau, c’était un peu moins courant, mais pour pouvoir relancer l’interface, je dois passer par une procédure étrange de désactivation et de réactivation de la carte réseau via le panneau de configuration plusieurs fois.

Autres postes où cette question a été soulevée

  • Impossible de configurer le wifi via systemd-networkd ( forums archlinux ). Pas tout à fait pertinent pour mon cas car l'OP utilise systemd-networkd. Le message est donné lorsque vous essayez de faire apparaître l'interface via ip link set wlp2s0f0 up. OP prétend avoir résolu le problème de la correction d'un fichier de configuration wpa_supplicant défectueux, ce que je ne fais pas si cela s'applique au cas présent.

  • [Résolu] Problème de connexion sans fil avec la connexion sans fil ( forums archlinux ). Le message d'erreur est à nouveau donné pour essayer de faire apparaître l'interface avec ip link set wlp2s0 up. La cause semblait être un conflit entre NetworkManager et dhcpcd qui fonctionnaient tous les deux. OP prétend avoir résolu le problème en désactivant dhcpcd via systemctl. Ne s'applique probablement pas ici.

  • Wifi ne fonctionne pas RTNETLINK répond: Erreur d'entrée/sortie ( forums archlinux ). Peut-être le même problème que ci-dessus, mais OP a abandonné le poste.

  • [Résolu] RTNETLINK répond: Erreur d'entrée/de sortie ( forums archlinux ). Erreur donnée par ip link set wlo1 up. Aucune solution atteinte.

  • wifi ne fonctionne pas avec plusieurs messages d'erreur [fermé] ( askubunt ). Erreur donnée par ip link set wlo1up. La poste est fermée et incertaine.

  • Le réseau sans fil se déconnecte sans raison et cesse de fonctionner ( buntuforums ). La solution suggérée consistait à utiliser Sudo sed -i 's/wifi.powersave = 3/wifi.powersave = 2/' /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf pour désactiver Network Manager de l'activation de la gestion de l'alimentation sans fil. OP n'est jamais revenu au poste pour dire si cela fonctionnait pour lui, mais cela ne fonctionnait pas pour moi.

  • Plusieurs autres articles peuvent être trouvés, en particulier sur les forums Arch Linux et sur askubunt .

2
glS

J'ai trouvé cette série de rapports de bugs liés au même type de problème: bug.launchpad , bugzilla.kernel.org 1 , bugzilla.kernel.org 2 , bugzilla.kernel.org .

Citant Emmanuel Grumbach (egrumbach) dans le premier lien ci-dessus:

C'est un problème électrique. Je ne peux rien faire à ce sujet

il semble donc que ce soit un problème résultant d’erreurs dans la carte physique.

2
glS