Skip to contentSkip to conversation

Bluetooth BCM20702A1

Buildroot Marco Trapanese 2 participants 3 messages Apr 30, 2016 – May 1, 2016

lore
Share & tools
lore
#0 lore raw

Hi!
Does buildroot provide the firmware for this common USB/BT dongle? I'm running the latest version on an RPi3.
Here the output of dmesg:

Quoted 7 lines
[    3.126672] usb 1-1.2: Product: BCM20702A0
[    4.435485] Bluetooth: hci0: BCM20702A
[    4.442507] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[    4.442572] bluetooth hci0: Direct firmware load for 
brcm/BCM20702A1-0a5c-21e8.hcd failed with error -2
[    4.442579] Bluetooth: hci0: BCM: Patch 

brcm/BCM20702A1-0a5c-21e8.hcd not found

and here lsmod:

Quoted 6 lines
# lsmod | grep bt
btusb                  27112  0
btrtl                   3573  1 btusb
btintel                 6072  1 btusb
btbcm                   5627  1 btusb
bluetooth             315678  7 btusb,btrtl,btintel,btbcm

The dongle works fine with Raspbian Jessie.
If you need other information, please feel free to ask!

Thanks in advance
Marco

#1 lore raw
Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Marco" == Marco Trapanese <[email protected]> writes:

Hi!
Does buildroot provide the firmware for this common USB/BT dongle? I'm running the latest version on an RPi3.
Here the output of dmesg:

Quoted 7 lines
[    3.126672] usb 1-1.2: Product: BCM20702A0
[    4.435485] Bluetooth: hci0: BCM20702A
[    4.442507] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[    4.442572] bluetooth hci0: Direct firmware load for
brcm/BCM20702A1-0a5c-21e8.hcd failed with error -2
[    4.442579] Bluetooth: hci0: BCM: Patch

brcm/BCM20702A1-0a5c-21e8.hcd not found

It seems it is not available in linux-firmware:

find build/linux-firmware-b0668886def608d352cd0263a7ef04e64e25574a \
     -name BCM20702A1-0a5c-21e8.hcd

According to this bugreport:

https://bugzilla.redhat.com/show_bug.cgi?id=1275122

It is indeed not available in linux-firmware. The bugreport does refer to places where you can download the firmware, but it is not clear what license it is available under and if we are allowed to redistribute it.

Judging from the kernel commits to this driver it sounds like it should be usable without firmware though:

commit ad750fa142747f3f42b66ae051a0f275bd2035df

Author: Petri Gynther <[email protected]>
Date:   Wed Feb 10 12:00:46 2016 -0800

Bluetooth: btbcm: Fix handling of firmware not found

If the call to request_firmware() fails in btbcm_setup_patchram(), the BCM chip will be operating with its default firmware.

In this case, btbcm_setup_patchram() should not return immediately but instead should skip to btbcm_check_bdaddr() and quirk setup.

But that commit is probably not present in the rpi kernel yet.

Quoted 2 lines

The dongle works fine with Raspbian Jessie.
If you need other information, please feel free to ask!

It would be interesting to know where they get the firmware from. Can you check what package provides the file?

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

[Buildroot] Qt5 and display

Hi,
I compiled Qt5 in Buildroot 2016.05-git-01124-g70fc85f-dirty with both X11 and eglfs support, because I would like to try both. Console application runs fine, but when I launch a visual application (i.e. qml) I get:

Quoted 1 line

Could not open display

Currently I have no X server running so I'm launching my application with -platform eglfs

exporting QT_DEBUG_PLUGINS=1 leads to this output:

Quoted 120 lines

QML debugging is enabled. Only use this in a safe environment. QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqeglfs.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqeglfs.so, metadata=

{
    "IID": 
"org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 329216
}

Got keys from plugin meta data ("eglfs") QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqminimal.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqminimal.so, metadata=

{
    "IID": 
"org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 329216
}

Got keys from plugin meta data ("minimal") QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqminimalegl.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqminimalegl.so, metadata=

{
    "IID": 
"org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 329216
}

Got keys from plugin meta data ("minimalegl") QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqoffscreen.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqoffscreen.so, metadata=

{
    "IID": 
"org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 329216
}

Got keys from plugin meta data ("offscreen") QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqxcb.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqxcb.so, metadata=

{
    "IID": 
"org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329216
}

Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking directory path "/opt/QmlTest/bin/platforms" ...
loaded library "/usr/lib/qt/plugins/platforms/libqeglfs.so" QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt/plugins/egldeviceintegrations" ... QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/egldeviceintegrations/libqeglfs-x11-integration.so" Found metadata in lib /usr/lib/qt/plugins/egldeviceintegrations/libqeglfs-x11-integration.so, metadata=

{
    "IID": 
"org.qt-project.qt.qpa.egl.QEGLDeviceIntegrationFactoryInterface.5.5",
    "MetaData": {
        "Keys": [
            "eglfs_x11"
        ]
    },
    "className": "QEglFSX11IntegrationPlugin",
    "debug": false,
    "version": 329216
}
Quoted 8 lines

Got keys from plugin meta data ("eglfs_x11") QFactoryLoader::QFactoryLoader() checking directory path "/opt/QmlTest/bin/egldeviceintegrations" ...
loaded library "/usr/lib/qt/plugins/egldeviceintegrations/libqeglfs-x11-integration.so" Could not open display
Aborted
Application finished with exit code 134.

I never had this kind of problem with all previous Buildroot environments I compiled.
This is due to my configuration? I attach the .config file.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config
Type: application/xml
Size: 84242 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160501/07ad3c71/attachment-0001.wsdl>