Bluetooth no funciona en ubuntu 14.04 con dell inspiron 15-3521

9

Tengo un portátil Dell inspiron 15-3521 con Ubuntu 12.04 preinstalado, funcionaba bien (eliminé este Ubuntu). Instalé Ubuntu 14.04 (instalación nueva).

(El controlador instalado es: bcmwl-kernel-source 6.30.223.141+bdcom-0ubuntu2)

La red WiFi funciona bien pero Bluetooth no funciona (mi teléfono, otra PC y computadora portátil no pueden verlo y mi computadora portátil no puede ver nada).

El dispositivo Bluetooth está habilitado, encendido y visible.

lspci resultado:

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
02:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

lsusb resultado:

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
Bus 001 Device 005: ID 064e:8132 Suyin Corp. 
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller 
Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 19d2:0031 ZTE WCDMA Technologies MSM MF110/MF627/MF636
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Momo
fuente
Parece que no está conectado a su bus PCI, ¿puede actualizar su pregunta con la lsusbsalida editándola ?
P.-H. Lin
No ese, es la tarjeta inalámbrica.
P.-H. Lin
El bluetooth aparece en lsusb
Momo
¿Qué puedo hacer ahora?
Momo
Esto puede ayudar a askubuntu.com/questions/845531/…
warsong

Respuestas:

8

Pasos similares a los de Diabolik2. La nueva información es dónde y cómo obtener el archivo hexadecimal.

Fuentes:

Para tener una solución completa, escribo todos mis pasos desde el principio:

  1. Encuentra la identificación de tu dispositivo:

    $ lsusb | grep Bluetooth

    Mi salida por ejemplo:

    Bus 001 Dispositivo 003: ID 0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0

    de donde 0a5c: 21d7 debe recordarse.

  2. Obtenga un archivo hexadecimal para su dispositivo:

    • Después de buscar controladores de Bluetooth en Google, elegí esta descarga: http://drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-43142-Bluetooth-40-Adapter-Driver-12007030-for-Windows-8.shtml #descargar
    • Extraje el último archivo .hex por casualidad. Afortunadamente funcionó. PASOS: En nautilus, haga clic derecho en el archivo .cab descargado > elija Abrir con el Administrador de archivos > seleccione el último archivo .hex en la lista de archivos> haga clic derecho> Extraer ...
    • descargar y compilar hex2hcd
      $ git clone git: //github.com/jessesung/hex2hcd.git
      $ cd hex2hcd
      $ make
    • convertir el .hex a .hcd
       $ ./hex2hcd /path/to/extracted.hex /where/you/want/your_new.hcd
  3. Copie el archivo hcd a / lib / firmware como lib / firmware / fw- 0a5c_21d7 .hcd.

    En el nombre del archivo, use la ID que descubrió anteriormente.

sb.
fuente
1
Paso 3. Debe copiarse el archivo hcd a:/lib/firmware/brcm/
david6
I have extracted the last .hex file by chance. Fortunately it worked.- las personas que lean esto, tengan en cuenta que si no funciona, podría romper algo, por lo que probablemente solo debería hacerlo si la publicación de Diabolik2 no funciona para usted.
Wilf
1
También es muy importante leer lo que dmesg | grep Bluetoothdice, ya que le dará información útil. En mi caso, decía que no se pudo cargar el archivo brcm / BCM.hcd , así que nombré el archivo hcd como en BCM.hcdlugar de fw-0a5c_21d7.hcdcopiarlo /lib/firmware/brcm/. Funcionó a las mil maravillas. DELL inspiron 15 - 3543.
Qualphey
Ah, y el hexarchivo que he elegido usando el método sugerido en la respuesta de Florin C. Usando el infarchivo.
Qualphey
1
Para Ubuntu 16.04, la solución es obtener el archivo .hex de Windows como se explicó anteriormente, transformarlo .hdctambién como se explica, pero debe poner un nombre diferente para el archivo de firmware como: /lib/firmware/brcm/BCM-0a5c-6410.hcd(depende de su bus lsusb: ID de devnum)
morhook
6

Las respuestas dicen que tengo que instalar Windows para obtener un firmware para Linux ... suena mal, ¿no?

Pero las respuestas anteriores fueron de oro. Tengo Bluetooth funcionando después de mucho tiempo en mi Dell con Ubuntu 12.04 386. Aquí mis complementos a las respuestas anteriores (especialmente sb):

  1. La cabina del SB es buena y tenía los archivos hexadecimales para varios chips de esta familia.

  2. cabextract es una herramienta para extraer un archivo .cab. sólo:

    sudo apt-get install cabextract

y extraerlo por:

cabextract 20573731_e75f2c1244fb153ccc4c1cac0dfbbab030d18543.cab

Tenga en cuenta que no hay un directorio dentro de la cabina, sino solo archivos, por lo que obtendrá muchos archivos hexadecimales. Es bueno crear un directorio específico y extraer la cabina allí.

  1. Cómo obtener el archivo hexadecimal correcto .

Entonces tengo la identificación del chip: 0a5c: 21d7 y un montón del archivo hexadecimal. ¿Cómo puedo obtener el adecuado para mí? El truco es investigar el archivo .inf que le indica a Windows qué instalar. Buscando 21D7 (tenga en cuenta la D mayúscula en lugar de 'd') me sale esto:

% Dell1704.DeviceDesc% = RAMUSB21D7, USB \ VID_0A5C y PID_21D7; BRCM Genérico 43142A0 RAMUSB

El USB / VID y PID es lo que obtengo en lsusb: capital (0a5c: 21d7). El RAMUSB21D7 es lo que necesito buscar a continuación en el archivo inf (es la descripción del dispositivo).

Y este es mi resultado:

;;;;;;;;;;;;;RAMUSB21D7;;;;;;;;;;;;;;;;;

[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex

Y el archivo hexadecimal que usaré es BCM43142A0_001.001.011.0122.0126.hex

El resto es igual que el anterior. Obtenga la herramienta a través de git, compílela, convierta el archivo hexadecimal a hcd, deseche / vuelva a cargar el btusb.

Nota: Tenga en cuenta que el archivo hcd debe comenzar con fw -...... y no con fw _...... Cometí este error. :)

Florin C
fuente
Después de extraer el archivo hexadecimal correcto y el procedimiento seguido. Cuando reinicié mi máquina y activé el comando dmesg | grep firmware. Estoy obteniendo salida como[ 15.023826] bluetooth hci0: Direct firmware load for brcm/BCM43142A0-0a5c-21d7.hcd failed with error -2
ravi1991 01 de
6

He resuelto el problema con la solución de esta publicación :

En resumen, he hecho estos pasos: enumere su identificación:

lsusb

Mi identificacion es: 0a5c:21d7

Obtenga el archivo .hex: en su partición de Windows (suponiendo que arranque dual con Windows) , obtenga el archivo BCMxxxx.hex C:\windows\system32\drivers. Si hay dos o más archivos .hex, vea cuál está en uso con el administrador de dispositivos de Windows. Copie este archivo en su directorio de inicio

Abra la terminal y escriba estos comandos:

sudo apt-get install git
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
./hex2hcd ../BCMxxxx.xxx.xxx.xx.hex fw-0a5c_21d7.hcd (Replace 0a5c_21d7 with your id)
sudo cp fw* /lib/firmware

Vuelva a cargar módulos con estos comandos:

sudo modprobe -r btusb
sudo modprobe btusb

Reinicia tu computadora.

Abra la terminal y escriba:

dmesg | grep firmware

Si está bien, puede ver el mensaje:

[   xxxxxxxxxx] Bluetooth: firmware loaded

Esto es todo.

Buena suerte diabolik2

Diabolik2
fuente
1
Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
αғsнιη
Tenga en cuenta que la publicación aparentemente se ha actualizado con los pasos aquí
Wilf
0

En mi caso, el firmware del bluetooth no se cargó hasta que creé el directorio brcm en / lib / firmware / y cambié el nombre del archivo a

BCM43142A0-0a5c-21d7.hcd

Estoy usando Debian 8 y Dell Inspiron 15

Salud

Alex
fuente
-1

La solución funciona (Ubuntu 14.04 kernel-4.2) En mi caso, el archivo HCD necesitaba llamarse BCM.hcd. El nombre exacto del archivo que debe nombrar su archivo hcd se indicará en la descripción del error de carga, que se puede ver con el comando:

dmesg | grep firmware

como dijo Wilf arriba!

Gimnasista
fuente
Bienvenido a Ask Ubuntu! Por favor no agregue comentarios como respuestas. Invierta un tiempo en el sitio y obtendrá los privilegios suficientes para votar de manera positiva las respuestas que le gusten, como esta , o para agregar comentarios reales cuando busque aclaraciones sobre cualquier problema.
Martin Thornton el