Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Problem connecting Bluetooth device
#1
I have a Yamaha MCR-B043 that I would like to connect to a moOde box running on a Pi 3B. I've got the Pi up and running with 9.1.4, but I can't get it to connect using Bluetooth.

I'm going to the Bluetooth Control menu and trying to scan for the device. I get a list of MAC addresses and the name of the MCR-B043. I select the name and it should pair, but that doesn't work. 

I've tried starting the scan before putting the MCR-B043 in pairing mode, and I've tried putting the MCR-B043 in pairing mode first. I've rebooted a few time, power cycled the MCR-B043, and generally tried all the tricks that have worked when BT devices are finicky. Nothing seems to work. 

I can pair the MCR-B043 with my Windows box no problem.

I tried to pair to the MCR-B043 from another moOde box I have on a Pi4, and it doesn't work - interesting thing is that it sees the Pi3 Bluetooth.

I also tried pairing to a Bose Mini Soundlink, and that fails to pair as well.

Any suggestions as to where to look for a log or some other way to identify what's going on?
Michael

RPi4 —> HiFiBerry DAC+ —> Rotel RA01 —> Celestion DL8
Reply
#2
You could try running the bluetooth control script manually and see if it reports anything useful.

The script is
Code:
pi@moode9:~ $ sudo /var/www/util/blu-control.sh
** blu-control.sh version 1.6
**
** Bluetooth has a range of around 30 feet (10 meters) but range
** will vary depending on obstacles (metal, wall, etc.), device signal
** strength and quality, and level of electromagnetic interferrence.
**
** Usage: blu-control.sh [OPTION]
**
** -i Initialize/reset controller
** -s Scan (BR/EDR only) and trust devices
** -S Scan (LE and BR/EDR) and trust devices
** -p List paired devices
** -c List connected devices
** -l List trusted devices
** -d Disconnect device <MAC addr>
** -r Remove paired device <MAC addr>
** -P Pair with device <MAC addr>
** -C Connect to device <MAC addr>
** -D Disconnect all devices
** -R Remove all devices
** -h Help

The code that starts Bluetooth and related services is
Code:
function startBluetooth() in file /var/www/inc/renderer.php

There is also the bluetoothctl program
Code:
pi@moode9:~ $ bluetoothctl --help
bluetoothctl ver 5.66
Usage:
       bluetoothctl [--options] [commands]
Options:
       --agent         Register agent handler: <capability>
       --endpoints     Register Media endpoints
       --monitor       Enable monitor output
       --timeout       Timeout in seconds for non-interactive mode
       --version       Display version
       --help          Display help
Commands:
       list            List available controllers
       show            Controller information
       select          Select default controller
       devices         List available devices, with an optional property as the filter
       system-alias    Set controller alias
       reset-alias     Reset controller alias
       power           Set controller power
       pairable        Set controller pairable mode
       discoverable    Set controller discoverable mode
       discoverable-timeout    Set discoverable timeout
       agent           Enable/disable agent with given capability
       default-agent   Set agent as the default one
       advertise       Enable/disable advertising with given type
       set-alias       Set device alias
       scan            Scan for devices
       info            Device information
       pair            Pair with device
       cancel-pairing  Cancel pairing with device
       trust           Trust device
       untrust         Untrust device
       block           Block device
       unblock         Unblock device
       remove          Remove device
       connect         Connect device
       disconnect      Disconnect device

       advertise.:
               uuids           Set/Get advertise uuids
               service         Set/Get advertise service data
               manufacturer    Set/Get advertise manufacturer data
               data            Set/Get advertise data
               discoverable    Set/Get advertise discoverable
               discoverable-timeout    Set/Get advertise discoverable timeout
               tx-power        Show/Enable/Disable TX power to be advertised
               name            Configure local name to be advertised
               appearance      Configure custom appearance to be advertised
               duration        Set/Get advertise duration
               timeout         Set/Get advertise timeout
               secondary       Set/Get advertise secondary channel
               interval        Set/Get advertise interval range
               clear           Clear advertise config

       monitor.:
               set-rssi-threshold      Set RSSI threshold parameter
               set-rssi-timeout        Set RSSI timeout parameter
               set-rssi-sampling-period        Set RSSI sampling period parameter
               add-or-pattern  Register 'or pattern' type monitor with the specified RSSI parameters
               get-pattern     Get advertisement monitor
               remove-pattern  Remove advertisement monitor
               get-supported-info      Get advertisement manager supported features and supported monitor types
               print-usage     Print the command usage

       scan.:
               uuids           Set/Get UUIDs filter
               rssi            Set/Get RSSI filter, and clears pathloss
               pathloss        Set/Get Pathloss filter, and clears RSSI
               transport       Set/Get transport filter
               duplicate-data  Set/Get duplicate data filter
               discoverable    Set/Get discoverable filter
               pattern         Set/Get pattern filter
               clear           Clears discovery filter.

       gatt.:
               list-attributes List attributes
               select-attribute        Select attribute
               attribute-info  Select attribute
               read            Read attribute value
               write           Write attribute value
               acquire-write   Acquire Write file descriptor
               release-write   Release Write file descriptor
               acquire-notify  Acquire Notify file descriptor
               release-notify  Release Notify file descriptor
               notify          Notify attribute value
               clone           Clone a device or attribute
               register-application    Register profile to connect
               unregister-application  Unregister profile
               register-service        Register application service.
               unregister-service      Unregister application service
               register-includes       Register as Included service in.
               unregister-includes     Unregister Included service.
               register-characteristic Register application characteristic
               unregister-characteristic       Unregister application characteristic
               register-descriptor     Register application descriptor
               unregister-descriptor   Unregister application descriptor

       admin.:
               allow           Allow service UUIDs and block rest of them

       player.:
               list            List available players
               show            Player information
               select          Select default player
               play            Start playback
               pause           Pause playback
               stop            Stop playback
               next            Jump to next item
               previous        Jump to previous item
               fast-forward    Fast forward playback
               rewind          Rewind playback
               equalizer       Enable/Disable equalizer
               repeat          Set repeat mode
               shuffle         Set shuffle mode
               scan            Set scan mode
               change-folder   Change current folder
               list-items      List items of current folder
               search          Search items containing string
               queue           Add item to playlist queue
               show-item       Show item information

       endpoint.:
               list            List available endpoints
               show            Endpoint information
               register        Register Endpoint
               unregister      Register Endpoint
               config          Configure Endpoint
               presets         List available presets

       transport.:
               list            List available transports
               show            Transport information
               acquire         Acquire Transport
               release         Release Transport
               send            Send contents of a file
               receive         Get/Set file to receive
               volume          Get/Set transport volume
pi@moode9:~ $
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#3
OK, I tried this on two different moOde boxes. Using the GUI, a BT scan works fine, but Connect fails. The audio device is showing pairing mode, but nothing changes.

Using the CLI, the scan works fine, and connecting works almost instantaneously. ... both machines.

Just for the heck of it, I tried to connect another BT speaker. Same issue - Using the GUI the scan works, but Connect fails. Using the CLI it connects no problem.
Michael

RPi4 —> HiFiBerry DAC+ —> Rotel RA01 —> Celestion DL8
Reply
#4
Curious behavior.

I'm having no trouble scanning, pairing, and connecting with all the Bluetooth devices at hand using the webUI of moOde 9.1.4 installed on various Pi models, including the Pi 3B, all. The audio-related BT devices include smart phones, speakers/headphones, and other moOde players.

The scanning function detects several dozen BT devices if i include LE devices, many of which are not related to audio and are reported by device address or unique vendor IDs (got lots of sensors in my house). The 2.4 GHz ISM band is a noisy environment here.

Wish I could think of something to suggest but I'm stumped.

Regards,
Kent
Reply
#5
(11-23-2024, 05:00 PM)MJR42 Wrote: OK, I tried this on two different moOde boxes. Using the GUI, a BT scan works fine, but Connect fails. The audio device is showing pairing mode, but nothing changes.

Using the CLI, the scan works fine, and connecting works almost instantaneously. ... both machines.

Just for the heck of it, I tried to connect another BT speaker. Same issue - Using the GUI the scan works, but Connect fails. Using the CLI it connects no problem.

When you say CLI do you mean the blu-control.sh script or the bluetoothctl utility?
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#6
A quick test on my end connecting to an ANKER speaker and no issues.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#7
(11-23-2024, 08:31 PM)Tim Curtis Wrote:
(11-23-2024, 05:00 PM)MJR42 Wrote: OK, I tried this on two different moOde boxes. Using the GUI, a BT scan works fine, but Connect fails. The audio device is showing pairing mode, but nothing changes.

Using the CLI, the scan works fine, and connecting works almost instantaneously. ... both machines.

Just for the heck of it, I tried to connect another BT speaker. Same issue - Using the GUI the scan works, but Connect fails. Using the CLI it connects no problem.

When you say CLI do you mean the blu-control.sh script or the bluetoothctl utility?
Sorry, I was busy for a week. I was using blu-control.sh.
Michael

RPi4 —> HiFiBerry DAC+ —> Rotel RA01 —> Celestion DL8
Reply
#8
Very odd because the WebUI just sends commands to blu-control.sh.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#9
(Yesterday, 10:26 AM)Tim Curtis Wrote: Very odd because the WebUI just sends commands to blu-control.sh.

Indeed. I'm going to drop this because there's a workaround. If the issue affects others and I could help figure this out, let me know. I'll do what I can to help.
Michael

RPi4 —> HiFiBerry DAC+ —> Rotel RA01 —> Celestion DL8
Reply


Forum Jump: