# Problema con wifi BCM4360

## Ignatius881

Buenas tardes.

Ayer realicé una instalación de Gentoo, siguiendo un tutorial en youtube para, entre otras cosas, entender mejor la compilación manual del kernel, en lugar de usar el comodín de genkernel. Tras varios intentos, creo que ya lo tengo configurado para poder conectarme a internet mediante wifi. El problema es que no me conecto.

Instalé el paquete broadcom-sta, porque en este enlace dice que para mi dispositivo debo usar el driver wl, incluido en dicho paquete.

Ejecutando el comando lspci -v me sale, entre otras cosas, esto:

```
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter (rev 03)

   Subsystem: Apple Inc. BCM4360 802.11ac Wireless Network Adapter

   Flags: bus master, fast devsel, latency 0, IRQ 18

   Memory at a0600000 (64-bit, non-prefetchable) [size=32K]

   Memory at a0400000 (64-bit, non-prefetchable) [size=2M]

   Capabilities: [48] Power Management version 3

   Capabilities: [58] MSI: Enable- Count=1/1 Maskable- 64bit+

   Capabilities: [68] Vendor Specific Information: Len=44 <?>

   Capabilities: [ac] Express Endpoint, MSI 00

   Capabilities: [100] Advanced Error Reporting

   Capabilities: [13c] Device Serial Number 2c-f0-00-ff-ff-00-00-01

   Capabilities: [150] Power Budgeting <?>

   Capabilities: [160] Virtual Channel

   Capabilities: [1b0] Latency Tolerance Reporting

   Capabilities: [220] Resizable BAR <?>

   Kernel driver in use: wl
```

Para poder instalar broadcom-sta, me pedía eliminar o enmascarar los módulos b43, bcma, ssb y mac80211 del núcleo, así que procedí a ello y ya no los tengo incluidos en el sistema. Tengo instalado wpa_supplicant y dhcpcd, junto con wireless-tools. Tengo modificado a mi red el archivo /etc/wpa_supplicant/wpa_supplicant.conf y el archivo /etc/conf.d/net. Y el caso es que, tanto al inicio como luego ejecutando comandos hasta hartarme, no consigo que el dispositivo wifi se conecte a ninguna red, porque de hecho ni siquiera las localiza.

No sé si me queda algo en el tintero, si es así proporcionaré la información necesaria.

PD: como curiosidad, en otra partición del mismo disco duro estoy usando Manjaro. Instalando el paquete linux419-broadcom-wl y reiniciando, el sistema se conecta sin problema. Y en dicha distribución, el comando lspci -v lanza lo siguiente:

```
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter (rev 03)

   Subsystem: Apple Inc. BCM4360 802.11ac Wireless Network Adapter

   Flags: bus master, fast devsel, latency 0, IRQ 18

   Memory at a0600000 (64-bit, non-prefetchable) [size=32K]

   Memory at a0400000 (64-bit, non-prefetchable) [size=2M]

   Capabilities: [48] Power Management version 3

   Capabilities: [58] MSI: Enable- Count=1/1 Maskable- 64bit+

   Capabilities: [68] Vendor Specific Information: Len=44 <?>

   Capabilities: [ac] Express Endpoint, MSI 00

   Capabilities: [100] Advanced Error Reporting

   Capabilities: [13c] Device Serial Number 2c-f0-00-ff-ff-00-00-01

   Capabilities: [150] Power Budgeting <?>

   Capabilities: [160] Virtual Channel

   Capabilities: [1b0] Latency Tolerance Reporting

   Capabilities: [220] Resizable BAR <?>

   Kernel driver in use: wl

   Kernel modules: bcma, wl
```

----------

## pelelademadera

emerge --ask sys-kernel/linux-firmware

----------

## Ignatius881

 *pelelademadera wrote:*   

> emerge --ask sys-kernel/linux-firmware

 

Eso fue lo primero que hice tras instalar el kernel la primera vez, ayer por la tarde, según lo indicado en el manual de Gentoo.

----------

## Dwosky

Puedes ponernos tu wpa_supplicant.conf? Comenta los datos de la SSID y la pass, pero para ver cómo esta configurado, aparte indica la seguridad que tiene tu WiFi (WPA, WPA2, etc).

Prueba si puedes a lanzar el wpa_cli (es un comando del wpa_supplicant) para ver en qué estado está la conexión. Lo puedes hacer manualmente ejecutando estos commandos (una vez lanzado el wpa_cli):

1) scan

2) cuando devuelva el OK => scan_results (aparece tu wifi o alguna wifi?)

Aparte puedes mirar con status en qué estado está.

----------

## Ignatius881

 *Dwosky wrote:*   

> Puedes ponernos tu wpa_supplicant.conf? Comenta los datos de la SSID y la pass, pero para ver cómo esta configurado, aparte indica la seguridad que tiene tu WiFi (WPA, WPA2, etc).
> 
> Prueba si puedes a lanzar el wpa_cli (es un comando del wpa_supplicant) para ver en qué estado está la conexión. Lo puedes hacer manualmente ejecutando estos commandos (una vez lanzado el wpa_cli):
> 
> 1) scan
> ...

 

Mi wpa_supplicant.conf:

```
ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=users

eapol_version=1

ap_scan=1

fast_reauth=1

# Only WPA-PSK is used. Any valid cipher combination is accepted.

network={

        ssid="XXXXXXXX_XXXX"

        proto=WPA

        key_mgmt=WPA-PSK

        pairwise=CCMP TKIP

        group=CCMP TKIP WEP104 WEP40

        psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

        priority=2

}
```

El comando wpa_cli:

```
# wpa_cli

wpa_cli v2.6

Copyright (c) 2004-2016, Jouni Malinen <j@w1.fi> and contributors

This software may be distributed under the terms of the BSD license.

See README for more details.

Interactive mode

scan

OK

<3>CTRL-EVENT-SCAN_STARTED

<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN

<3>CTRL-EVENT-SCAN-RESULTS

<3>Trying to associate with SSID 'ibss-rsn'

<3>Associated with de:26:17:40:fc:46

<3>CTRL-EVENT-CONNECTED - Connection to de:26:17:40:fc:46 completed [id=21 id_str=1]

<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0

<3>CTRL-EVENT-EAP-FAILURE EAP authentication failed
```

----------

## Dwosky

 *Ignatius881 wrote:*   

> 
> 
> ```
> <3>Trying to associate with SSID 'ibss-rsn'
> 
> ...

 

Has visto la última línea? O bien no esta bien la password o la configuración de seguridad de tu WiFi y el wpa_supplicant.conf difiere. Haz una cosa, edita tu wpa_supplicant.conf y deja así tu network:

```
network={

        ssid="XXXXXXXX_XXXX"

        psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

        priority=2

}
```

wpa_supplicant debería ser capaz de encontrar la seguridad de la WiFi y configurarse acorde sin necesidad de forzarlo.

EDIT: Se me ocurre que igual sería mejor usar el wpa_passphrase:

```
wpa_passphrase MYSSID passphrase >> /etc/wpa_supplicant/wpa_supplicant.conf
```

 y borres la entrada anterior.

----------

## Ignatius881

 *Dwosky wrote:*   

>  *Ignatius881 wrote:*   
> 
> ```
> <3>Trying to associate with SSID 'ibss-rsn'
> 
> ...

 

Hecho, ejecuté wpa_passphrase, y lo que tenía puesto anteriormente en el archivo lo comenté, para conservarlo en caso de necesidad.

Reinicié el sistema, y al arrancar me pone lo siguiente:

```
* Bringing up interface wlp2s0

* Starting wpa_supplicant on wlp2s0

Succesfully initialized wpa_supplicant

ctrl_iface exists and seems to be in use - cannot override it

Delete '/var/run/wpa_supplicant/wlp2s0' manually if it is not used anymore

Failed to initialize control interface '/var/run/wpa_supplicant'.

You may have another wpa_supplicant process already running or the file was

left by an unclean termination of wpa_supplicant in which case you will need

to manually remove this file before starting wpa_supplicant again.

nl80211: deinit ifname=wlp2s0 disabled_11b_rates=0

* start-stop-daemon: failed to start '/usr/sbin/wpa_supplicant'

* ERROR: net.wlp2s0 failed to start

* ERROR: cannot start netmount as net.wlp2s0 would not start
```

Borro el directorio /var/run/wpa_supplicant, ejecuto el comando openrc, y me devuelve:

```
* Bringing up interface wlp2s0

* Starting wpa_supplicant on wlp2s0

Succesfully initialized wpa_supplicant

* Starting wpa_cli on wlp2s0

* Backgrounding

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

* WARNING: netmount will start when net.wlp2s0 has started
```

----------

## Dwosky

```
* Bringing up interface wlp2s0 

* Starting wpa_supplicant on wlp2s0 

Succesfully initialized wpa_supplicant 

* Starting wpa_cli on wlp2s0 

* Backgrounding 

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

* WARNING: netmount will start when net.wlp2s0 has started
```

Por defecto con wpa_supplicant te va a ir a background mientras ejecuta el DHCP, por eso te dice que está inactivo, pero si esperas un rato te suele dar IP. Te fijaste a los 10-20 segundos si con el ifconfig ya tenías una IP en la WiFi?

----------

## Ignatius881

 *Dwosky wrote:*   

> 
> 
> ```
> * Bringing up interface wlp2s0 
> 
> ...

 

Pues la verdad es que ni me fijé en ese detalle. De todos modos encontré una solución para la conexión, que no es la que yo buscaba porque ahora tengo ocupados 3 puertos USB de 4, pero algo es algo.

Conecté un viejo dispositivo USB, un ralink f5d8053, y me conecté a mi red con el comando wpa_cli, siguiendo las indicaciones del manual. Repito, no es la solución que yo hubiera deseado, pero es mejor que nada, a la espera de resolver el problema con el dispositivo broadcom.

----------

## Dwosky

 *Ignatius881 wrote:*   

> Repito, no es la solución que yo hubiera deseado, pero es mejor que nada, a la espera de resolver el problema con el dispositivo broadcom.

 

Si con la LiveCD pudiste conectar, estoy seguro que es un simple problema de configuración, porque el driver te lo pilla. Mira, te copio lo que tengo yo en el portatil sobre wpa_supplicant, mira que lo tengas parecido:

```
> /etc/conf.d/net

modules_wlp2s0="wpa_supplicant"

config_wlp2s0="dhcp"
```

```
> /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

eapol_version=1

ap_scan=1

fast_reauth=1

network={

        ssid=<SSID Name>

        psk=<Super secret password>

}
```

En mi caso ejecuto /etc/init.d/net.wlp2s0 start cuando me logo, me sale el mismo status que a ti y a los 10-20 segundos o menos haciendo un ifconfig se ve que ya tiene IP. Como cliente de DHCP tengo el dhcpcd.

----------

## Ignatius881

Yo no veo que tenga ninguna IP, o al menos no sale nada que ponga IP.

----------

## natrix

Hola Ignatius881:

Algunas sugerencias:

1) revisar en el núcleo si tienes correctamente cargado el modulo de tu WL.

2) Prueba otras versiones de firmware y/o drivers. Creo que BCM tiene las versiones b43, b43-legacy y bcmwl.

3) Muéstranos la salida de 'dmesg | grep bcm'

----------

