LINUX.ORG.RU

bluetooth BCM43142A0 on gentoo

 , ,


0

1

Собственно,сабж.

Bus 002 Device 005: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module

Есть /usr/lib/firmware/brcm/BCM43142A0-105b-e065.hcd из windows 8.1


[    2.219823] Bluetooth: hci0: BCM: chip id 70
[    2.220823] Bluetooth: hci0: BCM: features 0x06
[    2.236822] Bluetooth: hci0: BCM43142A
[    2.237825] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0000
[    2.237845] bluetooth hci0: Direct firmware load for brcm/BCM43142A0-105b-e065.hcd failed with error -2
[    2.237847] Bluetooth: hci0: BCM: Patch brcm/BCM43142A0-105b-e065.hcd not found
[    4.282093] Bluetooth: hci0: command 0x1003 tx timeout
[    4.384683] Bluetooth: hci0: unexpected event for opcode 0x1003

Есть также

[bluetooth]# show 
Controller 38:B1:DB:D1:CA:5C (public)
        Name: BlueZ 5.52
        Alias: BlueZ 5.52
        Class: 0x001c010c
        Powered: yes
        Discoverable: yes
        DiscoverableTimeout: 0x00000000
        Pairable: yes
        UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
        UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
        UUID: Message Access Server     (00001132-0000-1000-8000-00805f9b34fb)
        UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
        UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb)
        UUID: Phonebook Access Server   (0000112f-0000-1000-8000-00805f9b34fb)
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: OBEX Object Push          (00001105-0000-1000-8000-00805f9b34fb)
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: OBEX File Transfer        (00001106-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
        UUID: Audio Source              (0000110a-0000-1000-8000-00805f9b34fb)
        UUID: IrMC Sync                 (00001104-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v1D6Bp0246d0534
        Discovering: no
Advertising Features:
        ActiveInstances: 0x00
        SupportedInstances: 0x05
        SupportedIncludes: tx-power
        SupportedIncludes: appearance
        SupportedIncludes: local-name

Как таки его завести ?



Последнее исправление: dmtrge (всего исправлений: 1)

там в /lib/firmware/brcm валяется несколько этих файлов. Перебирай. И да, начинай с первых. Заведётся.

anonymous
()
Ответ на: комментарий от dmtrge

когда-то давно тыкал Broadcom Bluetooth вроде твоего. И тоже было *.hcd из Windows 8/8.1 . Если правильно помню в винде этот файлик «текстовый» – коды hex ''' 00h 00h 10h … или ? 00 00 10 …


а firmware в linux "скомпилирована" в бинарный файл *.hcd. Есть ли эти "бинарники"
 в windows не помню , я качал тулзу с github. собирал её и "компилировал" нужный firmware. Кажется позднее я видел её в составе linux-ов...
anonymous
()
Ответ на: комментарий от dmtrge

сорри, забыл за маркдаун

Когда-то давно тыкал Broadcom Bluetooth вроде твоего. И тоже было *.hcd из Windows 8/8.1 . Если правильно помню в винде этот файлик «текстовый» – коды hex

 00h 00h 10h …
 или ?
 00 00 10 …

а firmware в linux «скомпилирована» в бинарный файл *.hcd. Есть ли эти «бинарники» в windows не помню, может называются иначе. Я качал тулзу с github. Собирал её и «компилировал» ею нужный firmware. Кажется, позднее я видел её в составе linux-ов…

anonymous
()
Ответ на: комментарий от dmtrge

посмотри свои фирмвари – бинарные они или текстовые

я про эту утилиту usr/bin/hex2hcd вспоминал – ею компилировал.

anonymous
()
Ответ на: добавка от anonymous

Да угадал уже, lspci первой строкой в сабже и ниже линк на АУР. В комментах говорят что завелось. Повторил инструкцию - у меня не завелось.

dmtrge
() автор топика
Ответ на: комментарий от anonymous

Тогда уж на Atheros ath9k. Твой интел без закрытых фирмварей-блобятин не работает.

anonymous
()
Ответ на: комментарий от mky

Нашел

 brcm_patchram_plus --patchram /lib/firmware/BCM43142A0_001.001.011.0311.0312.hcd --enable_hci --bd_addr 38:B1:DB:D1:CA:5C --no2bytes --tosleep 1000 /dev/ttyS1
bash: /usr/local/bin/brcm_patchram_plus: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла
dmtrge
() автор топика
Ответ на: комментарий от mky
gcc br.c -o brcm_patchram_plus
br.c: В функции «read_event»:
br.c:486:18: предупреждение: неявная декларация функции «read»; имелось в виду «fread»? [-Wimplicit-function-declaration]
  486 |  while ((count = read(fd, &buffer[i], len)) < len) {
      |                  ^~~~
      |                  fread
br.c: В функции «hci_send_cmd»:
br.c:509:2: предупреждение: неявная декларация функции «write»; имелось в виду «fwrite»? [-Wimplicit-function-declaration]
  509 |  write(uart_fd, buf, len);
      |  ^~~~~
      |  fwrite
br.c: В функции «expired»:
br.c:515:2: предупреждение: неявная декларация функции «alarm» [-Wimplicit-function-declaration]
  515 |  alarm(4);
      |  ^~~~~
br.c: В функции «proc_patchram»:
br.c:536:3: предупреждение: неявная декларация функции «usleep» [-Wimplicit-function-declaration]
  536 |   usleep(tosleep);
      |   ^~~~~~
br.c: В функции «main»:
br.c:685:4: предупреждение: неявная декларация функции «sleep» [-Wimplicit-function-declaration]
  685 |    sleep(UINT_MAX);
      |    ^~~~~
           
# chmod +x brcm_patchram_plus 
# . brcm_patchram_plus --patchram /lib/firmware/BCM43142A0_001.001.011.0311.0312.hcd --enable_hci --bd_addr 38:B1:DB:D1:CA:5C --no2bytes --tosleep 1000 /dev/ttyS1
bash: .: brcm_patchram_plus: не удаётся запустить бинарный файл

dmtrge
() автор топика
Ответ на: комментарий от anonymous

Вот сорцы Таки удалось завести эту приблуду.

brcm_patchram_plus --patchram /lib/firmware/BCM43142A0_001.001.011.0311.0312.hcd --enable_hci --bd_addr 38:B1:DB:D1:CA:5C --no2bytes --tosleep 1000 /dev/ttyS1
port /lib/firmware/BCM43142A0_001.001.011.0311.0312.hcd could not be opened, error 13

dmtrge
() автор топика
Последнее исправление: dmtrge (всего исправлений: 1)
Ответ на: комментарий от dmtrge

сорцы на github-е тогда уж смотреть надо [br] ставь новое ядро, там этот brcm_patchram_plus уже внутри, [br] и фирмварь должна лежать в /lib/firmware/brcm/ или смотри в dmesg

anonymous
()
Ответ на: комментарий от anonymous

Сам модуль виден в системе, но в деле себя не показал. Bluetoothctl показывает что все нормально, но ни одного девайса не видно, да и для остальных девайсов он не виден. В принципе, как было на момент создания треда.

dmtrge
() автор топика
Последнее исправление: dmtrge (всего исправлений: 2)
Ответ на: комментарий от dmtrge

в dmesg ошибка загрузки firmware ушла? у тебя должно быть уже три файла претендующих на звание фирмвари для твоего блютуза: один из windows 8.1 и 2 из разных источников в интернете. их содержимое совпадает? имя файла в логах dmesg и в каталоге фирмвари совпадает?

anonymous
()

У меня на Ubuntu 18.04 работает с такой фирмарью

$ md5sum /lib/firmware/brcm/BCM43142A0-105b-e065.hcd
ea36094709d0a7e5808f489fdceb5b81  /lib/firmware/brcm/BCM43142A0-105b-e065.hcd

anonymous
()
Ответ на: комментарий от anonymous
60b44813b1551b27f5e29085255e3b21  /lib/firmware/BCM43142A0_001.001.011.0311.0312.hcd

У меня другой файл. Хм, можете выложить на какой-нибудь обменник, попробую завести.

dmtrge
() автор топика
Ответ на: комментарий от dmtrge

это "прогресс"

те файлы из интернета тебе не подойдут – их md5 не такой как у анонимуса с убунтой. файл из винды тоже с этим md5?

anonymous
()
Ответ на: комментарий от dmtrge

и сравни что ты показал и что сказано про фирмварь в dmesg

anonymous
()
Ответ на: комментарий от dmtrge

5.458935] Bluetooth: hci0: BCM: Patch brcm/BCM43142A0-105b-e065.hcd not found

что-то ты какой то странный гентушник
показывай

$ md5sum /lib/firmware/brcm/BCM43142A0-105b-e065.hcd

anonymous
()
Ответ на: комментарий от anonymous

да не понятно, говорит gentoo, а простые вопросы-замечания игнорирует. я такое решал гуглингом, когда о линуксе знал совcем ничего. может конечно, у него какая-то там хардварная версия чипа экзотическая…

тролль думаешь?

кстати, очень может быть. вначале взял firmware из windows 8.1 (?!) и не заработало. я ему расписал всё что вспомнил, он проигнорил

anonymous
()
Ответ на: комментарий от anonymous

Решено. Решение довольно странное: Перезагрузка не помогла, а лишь полный shutdown и старт системы. Никаких файлов не менял, новых манипуляций не проводил. Пруф

Turn your computer off and on again. Not just reboot!

Всем спасибо.)

dmtrge
() автор топика
Последнее исправление: dmtrge (всего исправлений: 2)
Ответ на: комментарий от dmtrge

странно,да. обычно достаточно модуль перезапустить.

anonymous
()
Ответ на: комментарий от anonymous

вначале взял firmware из windows 8.1 (?!) и не заработало.

Было 3-4 версии фирмваря: win10,win8,1 и какой-то noname из гитхаба(линк был выше). Все с разными хеш. И я не тролль, а лишь неопытный гентушник. Все равно всем спасибо.)

dmtrge
() автор топика
Последнее исправление: dmtrge (всего исправлений: 2)
Ответ на: комментарий от dmtrge

да, похоже есть там такой баг - если залить неправильный фирмварь, то надо обесточивать чтобы залить правильный

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.