O Bluetooth não funciona no ubuntu 14.04 com dell inspiron 15-3521


9

Eu tenho um laptop Dell inspiron 15-3521 com o Ubuntu 12.04 pré-instalado, estava funcionando bem (eu removi este Ubuntu). Eu instalei o Ubuntu 14.04 (nova instalação).

(O driver instalado é bcmwl-kernel-source 6.30.223.141+bdcom-0ubuntu2:)

A rede Wi-Fi está funcionando bem, mas o Bluetooth não está funcionando (meu telefone, outro PC e laptop não podem vê-lo e meu laptop não pode ver nada.)

O dispositivo Bluetooth está ativado, ativado e visível.

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

Parece que não está conectado ao seu barramento PCI. Você pode atualizar sua pergunta com a lsusbsaída editando -a?
P.-H. Lin

Não é esse, é o cartão sem fio.
P.-H. O que você

O Bluetooth é aparecer em lsusb
Momo

O que eu posso fazer agora?
Momo

Respostas:



8

Etapas semelhantes às do Diabolik2. Novas informações são onde e como obter o arquivo hexadecimal.

Fontes:

Para ter uma solução completa, escrevo todas as minhas etapas desde o início:

  1. Encontre o ID do seu dispositivo:

    $ lsusb | grep Bluetooth

    Minha saída, por exemplo:

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

    a partir do qual 0a5c: 21d7 deve ser lembrado.

  2. Obtenha um arquivo hexadecimal para o seu dispositivo:

    • Depois de procurar drivers bluetooth no Google, escolhi este download: http://drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-43142-Bluetooth-40-Adapter-Driver-12007030-for-Windows-8.shtml #baixar
    • Eu extraí o último arquivo .hex por acaso. Felizmente funcionou. ETAPAS: No nautilus, clique com o botão direito do mouse no arquivo .cab baixado > escolha Abrir com o Archive Manager > selecione o último arquivo .hex na lista de arquivos> clique com o botão direito do mouse> Extrair ...
    • baixar e compilar hex2hcd
      $ git clone git: //github.com/jessesung/hex2hcd.git
      $ cd hex2hcd
      $ make
    • converta o .hex em .hcd
       $ ./hex2hcd /path/to/extracted.hex /where/you/want/your_new.hcd
  3. Copie o arquivo hcd para / lib / firmware como lib / firmware / fw- 0a5c_21d7 .hcd.

    No nome do arquivo, use o ID que você descobriu anteriormente.


11
Passo 3. Deve ser cópia HCD arquivo para:/lib/firmware/brcm/
david6

I have extracted the last .hex file by chance. Fortunately it worked.- pessoas que estão lendo isso, observe que, se não funcionar, isso pode quebrar alguma coisa, então você provavelmente só deve fazer isso se a postagem do Diabolik2 não funcionar para você.
Wilf

11
Também é muito importante ler o que dmesg | grep Bluetoothdiz, pois fornecerá informações úteis. No meu caso, estava dizendo que falhou ao carregar o arquivo brcm / BCM.hcd , então nomeei o arquivo hcd como em BCM.hcdvez de fw-0a5c_21d7.hcde copiei para ele /lib/firmware/brcm/. Funcionou como um encanto. DELL inspiron 15-3543
#

Ah, e o hexarquivo que eu escolhi usando o método sugerido na resposta de Florin C. Usando o infarquivo
Qualphey

11
Para o Ubuntu 16.04, a solução é obter o arquivo .hex do windows, como explicado acima, transformar .hdctambém como explicado, mas você precisa colocar um nome diferente para o arquivo de firmware, como: /lib/firmware/brcm/BCM-0a5c-6410.hcd(depende do seu barramento lsusb: devnum ID)
morhook

6

Respostas dizendo que eu tenho que instalar o Windows para obter um firmware para Linux ... parece errado, não é?

Mas as respostas anteriores foram de ouro. Tenho o Bluetooth funcionando após muito tempo no meu Dell com o Ubuntu 12.04 386. Aqui estão minhas conclusões para as respostas anteriores (especialmente sb):

  1. A cabine do sb é boa e tinha os arquivos hexadecimais para vários chips nessa família.

  2. O cabextract é uma ferramenta para extrair um arquivo .cab. somente:

    sudo apt-get install cabextract

e extraia-o por:

cabextract 20573731_e75f2c1244fb153ccc4c1cac0dfbbab030d18543.cab

Esteja ciente de que não há um diretório dentro da cabine, mas apenas arquivos, para que você obtenha muitos arquivos hexadecimais. É bom mkdir um diretório específico e extrair o táxi lá.

  1. Como obter o arquivo hexadecimal correto .

Então, eu tenho o ID do chip: 0a5c: 21d7 e um monte de arquivo hexadecimal. Como posso encontrar o caminho certo para mim? O truque é investigar o arquivo .inf que instrui o Windows sobre o que instalar. Procurando por 21D7 (observe a capital D em vez de 'd'), recebo o seguinte:

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

O USB / VID e PID é o que recebo em lsusb: capital (0a5c: 21d7). O RAMUSB21D7 é o que eu preciso procurar em seguida no arquivo inf (é a descrição do dispositivo).

E este é o meu resultado:

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

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

E o arquivo hexadecimal que devo usar é BCM43142A0_001.001.011.0122.0126.hex

O resto é o mesmo que acima. Obtenha a ferramenta através do git, construa-a, converta o arquivo hexadecimal para hcd, descarte / recarregue o btusb.

Nota: Esteja ciente de que o arquivo hcd deve começar com fw -...... e não fw _...... Eu cometi esse erro. :)


Depois de extrair o arquivo hex correto e seguir o procedimento. Quando reiniciei minha máquina e disparei o comando dmesg | grep firmware. Estou recebendo saída como[ 15.023826] bluetooth hci0: Direct firmware load for brcm/BCM43142A0-0a5c-21d7.hcd failed with error -2
ravi1991 1/16/16

6

Eu resolvi o problema com a solução deste post :

Em resumo, eu fiz as seguintes etapas: Liste seu ID:

lsusb

Meu id é: 0a5c:21d7

Obter o arquivo .hex: na partição do Windows (presumindo que você faça uma inicialização dupla com o Windows) , obtenha o arquivo BCMxxxx.hex em C:\windows\system32\drivers. Se houver dois ou mais arquivos .hex, veja qual deles está sendo usado com o Gerenciador de dispositivos do Windows. Copie este arquivo no seu diretório pessoal

Abra o terminal e digite estes 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

Recarregue os módulos com estes comandos:

sudo modprobe -r btusb
sudo modprobe btusb

Reinicie o seu computador.

Abra o terminal e escreva:

dmesg | grep firmware

se estiver tudo bem, você pode ver a mensagem:

[   xxxxxxxxxx] Bluetooth: firmware loaded

Isso é tudo.

Boa sorte Diabolik2


11
Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada.
αғsнιη

Observe o cargo aparentemente foi atualizado com os passos aqui
Wilf

0

No meu caso, o firmware bluetooth não foi carregado até eu criar o diretório brcm em / lib / firmware / e renomear o arquivo para

BCM43142A0-0a5c-21d7.hcd

Estou usando o Debian 8 e Dell Inspiron 15

Felicidades


-1

Solução funciona (Ubuntu 14.04 kernel-4.2) No meu caso, o arquivo HCD precisava ser nomeado BCM.hcd. O nome exato do arquivo que você deve nomear seu arquivo hcd será indicado na descrição do erro de carregamento, que pode ser visualizado usando o comando:

dmesg | grep firmware

como Wilf afirmou acima!


Bem-vindo ao Ask Ubuntu! Por favor, não adicione comentários como respostas. Invista algum tempo no site e você obterá privilégios suficientes para aprovar respostas que você gosta como essa ou adicionar comentários reais ao procurar esclarecimentos sobre quaisquer problemas.
Martin Thornton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.