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
Momo
fonte
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
Esta ajuda pode askubuntu.com/questions/845531/...
warsong

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.

sb.
fonte
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. :)

Florin C
fonte
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

Diabolik2
fonte
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

Alex
fonte
-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!

Gimnasist
fonte
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