# [wifi broadcom] carte hard blocked [résolu]

## Grena

Bonjour,

Depuis deux jours je n'ai plus de wifi sur mon pc portable. Celui-ci fonctionnait normalement le matin et depuis le soir la carte refuse de démarrer.

```
 /etc/init.d/net.wlp2s0 
```

me sort des erreurs soft/hard blocked 

la sortie de rfkill

```

rfkill list:

0: tpacpi_bluetooth_sw: Bluetooth

   Soft blocked: yes

   Hard blocked: no

1: phy0: Wireless LAN

   Soft blocked: yes

   Hard blocked: no

2: brcmwl-0: Wireless LAN

   Soft blocked: yes

   Hard blocked: yes

```

apres un rfkill unblock all 

j'ai :

```
0: tpacpi_bluetooth_sw: Bluetooth

   Soft blocked: no

   Hard blocked: no

1: phy0: Wireless LAN

   Soft blocked: no

   Hard blocked: no

2: brcmwl-0: Wireless LAN

   Soft blocked: no

   Hard blocked: yes

```

Ayant un live usb j'ai constaté le même problème sur ubuntu 14.04

par contre avec le live de la 12.04 ça remarche très bien.

le pilote utilisé est wl du package broadcom-sta-6.30.223.141

```
lsmod:

Module                  Size  Used by

vfat                    9929  1 

fat                    50392  1 vfat

usb_storage            45773  1 

uvcvideo               70552  0 

videobuf2_vmalloc       2808  1 uvcvideo

videobuf2_memops        1807  1 videobuf2_vmalloc

videobuf2_core         27375  1 uvcvideo

videodev              104994  2 uvcvideo,videobuf2_core

lib80211_crypt_tkip     7370  0 

wl                   4113294  0 

x86_pkg_temp_thermal     4725  0 

r8169                  57314  0 

coretemp                6278  0 

lib80211                3709  2 wl,lib80211_crypt_tkip

psmouse                32970  0 

thinkpad_acpi          59906  0 

```

dmesg me sort ces erreurs

```
[    2.654614] systemd-udevd[1284]: renamed network interface wlan0 to wlp2s0

[   75.120074] ERROR @wl_cfg80211_scan : 

[   75.120080] WLC_SCAN error (-22)

[   76.122460] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)

[   77.124835] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)

[   78.126451] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)

[   79.128861] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)

[   80.131274] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)

```

 le modele de la carte est:

```
02:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n

   Subsystem: Broadcom Corporation Device 0607

   Kernel driver in use: wl

   Kernel modules: wl

```

J'ai tenté de blacklister thinkpad_acpi qui peut apparament entrer en conflit et tenter

un noyau précédent, de même j'ai été dans l'uefi mais les options indiquaient que la carte foctionnait j'ai tout de même tenté de restaurer les options par défaut mais le problème persiste toujours. Et je ne sais pas pourquoi la carte reste bloquée.

Merci d'avance pour votre aideLast edited by Grena on Tue Aug 26, 2014 7:25 pm; edited 1 time in total

----------

## USTruck

Bonjour,

En vrac les idées qui me viennent, car je vois pas ...

- As-tu un interrupteur qui permet de mettre la partie wifi en mode off (ma fille en a un sur le sien, j'ai déjà été pris a chercher comme un con pourquoi sa fonctionne pas . ...)

- Aurais-tu mis a jour le kernel ? Oui -> as-tu recompilé le module ? Ceci même sans changer de kernel juste une modfi pourrais avoir modifier un symbole ....

- Sur le ubuntu qui fonctionne , vérifie s'il n'utilise pas le driver  du kernel (B43) en lieu et place de broadcom, dans les dernières version kernel b43 fonctionne bien juste le firmware (linux-firmware)

- Voir aussi si version du kernel, que tu viendrai de mettre a jour, le module broadcom ne fonctionne peut-être pas avec cette version kernel, ce qui expliquerai que ubuntu 14 ne fonctionne pas ....

Espère t'avoir donné une idée ou une piste

----------

## Grena

Bonjour et merci pour ta réponse,

J'ai déjà chercher mais pas trouver d'interrupteur pour stopper le wifi sur ce pc (thinkpad edge 330) , j'ai juste une touche fonction qui me coupe ou avtive le blocage logiciel.

 Une combinaison de touche peut il activer le blocage matériel de la carte ?

J'ai mis à jour le kernel la veille puis recompiler le pilote comme d'habitude, après redémarrage le wifi fonctionnais très bien, le lendemain matin également et c'est que lorsque je l'ais éteint à midi pour le redémarer en début d'après midi que le wifi à disparus. Or le matin je n'ais pas toucher au kernel ni fais de mise à jour, j'ai juste fais quelque teste en modifiant le fichier /etc/acpi/actions/powerbtn.sh qui se lance 2 fois à chaque appuis, mais je ne vois pas en quoi ça peut être lié au blocage matériel de la carte (j'ai tous de même réinstaller acpid et remis par défault la configuration mais c'est sans effet). Donc je ne pense pas que ce soit suite à la mise à jour, changement de version. Je teste comme même car en ce moment je manque de piste.

Sur ubuntu 12.04 le pilote utiliser est bien wl mais par contre même si rfkill list me dit que la carte n'est pas bloquer, je ne peut pas me connecter ni même lancer un scan des résaux diponible (après c'était peut être déjà le cas avant je n'ais jamais tester ) 

Une chose qui me parait étrange, c'est pourquoi j'ai deux entré dans rfkill pour la même carte et qui apparaisent toutes les deux lorsque je charge wl ? 

Sinon le problème peut il être dûe à une surchauffe et la carte wifi ? car le matin le pc à calculer pendant 3h30 d'affiler et bien qu'il ne soit pas monter au dessus de 56° et le plus souvent à 52-53° je me dis que ça as pus jouer.

----------

## USTruck

Bonsoir,

voir le manuel du PC.

Deux cartes : as-tu le bluetooth sur la carte wifi ?

Je vois sur manuel du E330 que la touche F9 devrait afficher la liste des périphérique les un après les autres pour te permettre de choisir lequel tu veux activer/deactiver .....

http://www.manualowl.com/m/Lenovo/ThinkPad-Edge-E330/Manual/309899

Comme sous linux, voir si cette fonction est prise en charge, voir via bios si la partie wifi n'est pas 'off' ou 'disable' aussi

Chaleur ... m'étonnerai mais on ne sait jamais.

Je sais pas t'aider plus.

----------

## Grena

Bonsoir,

Possible que ce soit le bluetooth meme si c'est préciser Wireless LAN alors que tpacpi quand a lui indique bien bluetooh 

f9 ne fais rien sauf activer desactiver le blocage soft de la carte je pense que ça doit utiliser le programme ThinkVantage Access Connections que je n'ais pas trouver pour linux 

en tous cas mon interface wifi (wlp2s0) est liée à brcmwl 

```

ll /sys/class/rfkill

total 0

lrwxrwxrwx 1 root root 0 30 juin  00:01 rfkill0 -> ../../devices/platform/thinkpad_acpi/rfkill/rfkill0

lrwxrwxrwx 1 root root 0 30 juin  00:01 rfkill1 -> ../../devices/pci0000:00/0000:00:1c.1/0000:02:00.0/ieee80211/phy0/rfkill1

lrwxrwxrwx 1 root root 0 30 juin  00:01 rfkill2 -> ../../devices/pci0000:00/0000:00:1c.1/0000:02:00.0/net/wlp2s0/rfkill2

```

j'ai esseyé d'en ajouter une sur phy0 pour voir avec (iw phy phy0 interface add wlan1 type managed) mais j'ai l'erreur Operation not supported (-95)

j'ai tenter 

```

echo 1 >/sys/class/rfkill/rfkill2/state

```

pas d'erreur mais sys/class/rfkill/rfkill2/state reste à la valeur 2 pareil avec echo 0

par contre: 

```

echo 2 >/sys/class/rfkill/rfkill2/state 

echo: write error: argument invalide

```

dans le bios j'ai  

```
securité -> I/O Port Access -> Wireless LAN : Enabled
```

si je le désactive je ne voit pus du tous la carte

il y a aussi 

```
 config-> network -> Wireless LAN : On 
```

mais bizarrement si je la met à off alors ça ne change rien...

----------

## Grena

Bonjour,

Pour le moment j'ai contourné le problème en utilisant une clé externe. Mais cette solution est temporaire ( la clé est moins puissante que la carte et je n'ais que 3 port usb)

Ce que je trouve toujours aussi bizard c'est rfkill2 qui se trouve dans /sys/class/net/wlp2s0/rfkill2  

Si quelqu'un d'autre à une carte broadcom avec le pilote wl je veux bien savoir si c'est identique ailleurs car ce n'est pas le cas pour la clé wifi (realteck) ni sur mon fixe avec une carte atheros.

Si je me souvient bien c'est une carte wifi avec double antenne ça peut peut être jouer egalement.

Sinon cela peut il venir de udev ? ( il a été également recompiler la veille du bug ) 

Merci d'avance pour les réponses

----------

## kwenspc

Rien de tout ça, c'est uniquement la faute du driver. (Bon wl est connu pour être un truc tout pourri.)

Rfkill est sympa (même si les index qu'il utilise lui sont propre et pas les même que celui des iface... à part ça l'api et le concept est bien).

Donc soit le pb trouve sa cause au niveau materiel: double switch, comme c'est ton cas vu que tu as un bouton hw, et un dans la carte... indépendant l'un l'autre. Et bien souvent gérer comme de la merde dans les drivers. D'où les 2 entrées dans rfkill list.

Et/ou sinon un soucis de driver (qui fait mal la différenciation avec soft/hard, qui s'intègre pas avec le switch hw etc...)

T'as 2 solutions:

- passes à une autre carte qui s'intègrerait mieux avec ta config matériel, si possibles.

- sinon tiens toi au courant du support de ta carte dans le driver brcm80211, elle finira bien par être proprement supportée (http://wireless.kernel.org/en/users/Drivers/brcm80211)

----------

## Gaug

Une question utilise tu NetworkManager pour gérer ton internet.

----------

## Grena

@kwenspc: 

Merci pour l'explication. J'ai vu dans le liens que tu m'as donné que ma carte était dans la liste de celle en développement, je suis donc confiant pour avoir un support bientôt. 

@Gaug:

Je n'utilise pas NetworkManager, j'utilise uniquement le fichier /etc/conf.d/net   et wpa_supplicant pour me connecter.

----------

## Grena

Bonjour, 

Ayant du temps libre je décide de me replonger dans ce problème pour tenter de le résoudre.

D'après la page du pilote b43 ( http://wireless.kernel.org/en/users/Drivers/b43 ) le support est disponible à partir de linux 3.17. Effectivement je viens de l'installer et j'ai bien une interface dans /sys/class/net .

Le problème persiste cependant toujours avec quelque nuance :

Je n’ai  plus qu'une entrée dans rfkill

```

0: tpacpi_bluetooth_sw: Bluetooth

   Soft blocked: no

   Hard blocked: no

1: phy0: Wireless LAN

   Soft blocked: no

   Hard blocked: no 
```

La carte n'est apparemment plus bloqué sauf que lorsque je tente de démarrer le réseaux j'ai ceci :

```
 # /etc/init.d/net.wlp2s0 start -v 

net.wlp2s0       | * Bringing up interface wlp2s0

net.wlp2s0       | *   Skipping module adsl due to missing program: /usr/sbin/adsl-start /usr/sbin/pppoe-start

net.wlp2s0       | *   Skipping module br2684ctl due to missing program: br2684ctl

net.wlp2s0       | *   Skipping module tuntap due to missing program: ip openvpn tunctl

net.wlp2s0       | *   Skipping module bridge due to missing program: brctl

net.wlp2s0       | *   Skipping module clip due to missing program: /usr/sbin/atmsigd

net.wlp2s0       | *   Skipping module macvlan due to missing program: ip

net.wlp2s0       | *   Skipping module netplugd due to missing program: /sbin/netplugd

net.wlp2s0       | *   Skipping module ifplugd due to missing program: /usr/sbin/ifplugd

net.wlp2s0       | *   Skipping module ipppd due to missing program: /usr/sbin/ipppd

net.wlp2s0       | *   Skipping module iproute2 due to missing program: ip

net.wlp2s0       | *   Skipping module firewalld due to missing program: firewall-cmd

net.wlp2s0       | *   Skipping module pppd due to missing program: /usr/sbin/pppd

net.wlp2s0       | *   Skipping module vlan due to missing program: ip

net.wlp2s0       | *   Skipping module dhclient due to missing program: /sbin/dhclient

net.wlp2s0       | *   Skipping module pump due to missing program: /sbin/pump

net.wlp2s0       | *   Skipping module ip6rd due to missing program: ip

net.wlp2s0       | *   Skipping module ip6to4 due to missing program: ip

net.wlp2s0       | *   Loaded modules: apipa arping bonding ccwgroup ethtool macchanger macnet wpa_supplicant ssidnet ifconfig system dhcpcd

net.wlp2s0       | *   Starting wpa_supplicant on wlp2s0 ...

net.wlp2s0       | *   start-stop-daemon: fopen `/var/run/wpa_supplicant-wlp2s0.pid': No such file or directory

net.wlp2s0       | *   Detaching to start `/usr/sbin/wpa_supplicant' ...

net.wlp2s0       |Successfully initialized wpa_supplicant

net.wlp2s0       |rfkill: WLAN hard blocked

net.wlp2s0       |Could not set interface wlp2s0 flags (UP): Operation not possible due to RF-kill                                                                  [ ok ]

net.wlp2s0       | *   Starting wpa_cli on wlp2s0 ...

net.wlp2s0       | *   start-stop-daemon: fopen `/var/run/wpa_cli-wlp2s0.pid': No such file or directory

net.wlp2s0       | *   Detaching to start `/usr/bin/wpa_cli' ...                                                                                                    [ ok ]

net.wlp2s0       | *   Backgrounding ... ...

net.wlp2s0       | * WARNING: net.wlp2s0 has started, but is inactive

```

et le status de la carte repasse à bloqué dans rfkill

```
rfkill list

0: tpacpi_bluetooth_sw: Bluetooth

   Soft blocked: yes

   Hard blocked: no

1: phy0: Wireless LAN

   Soft blocked: no

   Hard blocked: yes

```

dmesg me donne les erreurs suivantes :

```
dmesg| grep 'b43\|phy0'

[    2.786061] b43-phy0: Broadcom 43228 WLAN found (core revision 30)

[    2.786510] b43-phy0: Found PHY: Analog 9, Type 4 (N), Revision 16

[    2.786522] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1

[    2.799133] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

[    2.804941] b43 bcma0:0 wlp2s0: renamed from wlan0

[   77.032718] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)

[   78.085876] b43-phy0 ERROR: Radio 0x2057 rcal timeout

[   83.141675] b43-phy0 debug: Radio 0x2057 rccal timeout

[   88.198397] b43-phy0 debug: Radio 0x2057 rccal timeout

[   93.253575] b43-phy0 ERROR: Radio 0x2057 rcal timeout

[   93.290306] b43-phy0 debug: Chip initialized

[   93.290531] b43-phy0 debug: 64-bit DMA initialized

[   93.290610] b43-phy0 debug: QoS enabled

[   93.291278] b43-phy0 debug: Wireless interface started

[   93.291293] b43-phy0: Radio hardware status changed to DISABLED

[   93.317264] b43-phy0: Radio turned on by software

[   93.317280] b43-phy0: The hardware RF-kill button still turns the radio physically off. Press the button to turn it on.

[   93.317337] b43-phy0 debug: Adding Interface type 2

[   93.329476] b43-phy0 debug: Removing Interface type 2

[   93.329615] b43-phy0 debug: Wireless interface stopped

[   93.329637] b43-phy0 debug: DMA-64 rx_ring: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00

[   93.329741] b43-phy0 debug: DMA-64 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00

[   93.331252] b43-phy0 debug: DMA-64 tx_ring_AC_BE: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00

[   93.333262] b43-phy0 debug: DMA-64 tx_ring_AC_VI: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00

[   93.335285] b43-phy0 debug: DMA-64 tx_ring_AC_VO: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00

[   93.337253] b43-phy0 debug: DMA-64 tx_ring_mcast: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00

```

Il y a également lors du boot, juste avant le lançement du noyaux, le message : setup_efi_pci () failed!

mais je n'ai pas trouvé plus d'information à ce sujet et je ne me souviens pas de l'avoir vu avant.

J'ai un cd et une licence de Windows 7 en 32 bit , dès que je trouve un moyen de l'installer sans devoir reformater tous mon disque dur qui à sa table de partition en gpt, je ferais le test avec.

Merci pour votre aide.

----------

## USTruck

Bonsoir,

 *Quote:*   

> 
> 
> [   93.317280] b43-phy0: The hardware RF-kill button still turns the radio physically off. Press the button to turn it on. 

 

Tu dois avoir un moyen de déactiver la fonction wifi, sur certain portable c'est accessible via :

a) un bouton spécifique on/off 

b) touche de fonction : touche 'fn' (en bleu en général) puis une des touches Fx ...(1 a 12)

c) touche spécifique parfois tactile (je l'ai sur mon dell) je l'éfleure pour on/off (dans mon cas je dois mettre le wmi dell dans le kernel)

----------

## Grena

Bonsoir,

Le seul bouton que j'ai est la combinaison fn + f9 ( le logo du wifi est présent dessus) mais celui-ci ne change que le status "soft blocked" j'ai ensuite essayé cette touche au démarrage lors de l'affichage de l'écran donnant accès aux paramètre de l'uefi, donc avant le démarrage du système,  mais ça na pas fonctionné (alors que pour la luminosité par exemple ces touches ne fonctionnent qu'a ce moment). 

C'est le modules thinkpad_acpi qui à l'aire de gérer ça car lorsque je l'enlève la touche en question n'as plus aucun effet mais j'ai rien trouvé de plus à ce sujet.

----------

## USTruck

Bonsoir,

Je trouve plus sur les sites russe  : http://forum.ubuntu.ru/index.php?topic=174255.45

En quelque mots :

rfkill list all

Puis pour la carte que tu veux enable : echo "1" | sudo tee /sys/class/rfkill/rfkill1/hard

Attention : rfkill1 doit correspondre a la partie que tu veux enable (voir /sys/class/rfkill/.....)

J'ai dans mes recherches trouvé aussi qu'il faut remettre le bios (uefi) en config par défaut, mais la attention tu dois avoir de quoi boot sur clé usb, la partition boot uefi risque bien d'être remise a blanc

Bonne chance

Sinon je trouve aussi comme info: 

http://lxr.free-electrons.com/source/Documentation/laptops/thinkpad-acpi.txt

Ajouter des params au modules thinkpad_acpi lors du chargement ....

http://www.thinkwiki.org/wiki/Thinkpad-acpi

----------

## Grena

Bonsoir et merci de ton aide,

Pour l'uefi j'ai remis les paramètres par défaut depuis le menu de l'uefi et juste désactiver le secure boot mais il n'y a pas eu de changement (y compris au niveau des partitions ). Un reset en débranchant le portable et retirant la pile de la carte mère aurait-il plus de chance de succès ? Ou je risque de planter totalement le système ?

# echo 1 > /sys/class/rfkill/rfkill1/hard  

me donne: permission non accordée

J'ai également ceci :

```

--# cd /sys/class/rfkill/rfkill1

--# cat state 

2

--# echo 1 >state 

--# cat state

2

--# echo 0 >state

--# cat state    

2

--# echo 2 >state

echo: write error: argument invalide

--# cat state    

2

```

alors que en testant avec une cle wifi l'écriture dans hard me renvoie la même erreur. Par contre je peut passer la valeur de state à 0 ou 1 sans souci.

----------

## USTruck

Bonjour,

D'abord c'est le fichier HARD qui doit etre changé /sys/class/rfkill/rfkillx/hard !!!!!

ensuite il faut avoir les droits root, donc soit tu utilise su soit sudo pour pouvoir changer le fichier.

Pour le echo 2 : normal seul les valeurs 0 et 1 sont acceptée

----------

## Grena

Bonjour,

J'ai bien commencé par tenter de modifier la valeur du fichier hard et c'est vrais que j'ai oublié de le préciser mais toute ces manipulations sont effectué sur un terminal loguer en root ( su root effectuer juste avant, d’où le # en début de ligne ) donc pas de problème de droit normalement et l'utilisation de tee me donne également  "permission non accordée".

J'ai également vérifier que rfkill1 étais la bonne interface. 

Si j'ai également posté le cas du fichier state c'est que celui-ci me semblais étrange car il ne me renvoi pas d'erreur et pourtant ça valeur ne change pas. De plus je me demandais, vu que la valeur 2 n'est pas accepté, comment la valeur inscrite dans ce ficher pouvais être 2 ?

----------

## Grena

J'ai finalement formater mon disque dur et installer windows 7 ainsi que les pilote et outil issue du site de lenovo, et alors seulement j'ai pus débloquer la

carte grâce à la combinaison de touche fn +f9 qui lance le programme ThinkVantage access communication...

Après restauration de Gentoo la carte à fonctionner correctement.

Je déplore cependant cette gestion logiciel qui me contraint à installer un os dont je ne me sert pas, alors qu'un simple bouton aurais suffit ou alors

faire gérer la combinaison directement par l'uefi et donc la rendre indépendante de l'os.

Je continuerais cependant à chercher tranquillement si je peut régler le problème entièrement depuis Linux, et notamment prendre du temps pour regarder la doc de thinkpad_acpi.

Merci à USTruck et aux autres intervenants pour votre aide et le temps passé à essayer de résoudre ce problème.

----------

