On Wed, Nov 01, 2017 at 02:14:27PM -0700, Mike Schmitz wrote:
> On Wed, Nov 01, 2017 at 01:43:32PM -0700, Mike Schmitz wrote:
> > On Wed, Nov 01, 2017 at 08:31:55AM -0500, dev wrote:
> > > On 10/31/2017 12:42 PM, Mike Schmitz wrote:
> > > <snip>
> > > > 
> > > > Another project has picked up the ball and run with it, though. It works
> > > > for me (SoundBot SB220)
> > > > 
> > > > https://github.com/Arkq/bluez-alsa
> > > > 
> > > 
> > > Nice! I've got it almost working. I'm stuck on "Couldn't get BlueALSA
> > > transport: No such device" Any thoughts?  From what I've googled so far,
> > > solutions involve pulseaudio, or reference a pulseaudio conflict.  I
> > > have some libpulse scattieness installed[0] for apulse support, but
> > > maybe I cannot have both? Perhaps I should remove those?
> > > 
> > > So far, I've installed alsa and development libs[1] but had to add the
> > > debian jessie repo[2] in order to get libfdk-aac-dev. Is there another
> > > place for this?
> > > 
> > > I cloned the bluez-alsa git repo and built per git page[3]. Configured
> > > ~/.asoundrc for my bluetooth headset MAC[4]. The alsa-lib directory
> > > installed to a location unknown to Devaun[5] so I sylinked[6] the new
> > > libraries to a good location. I did 'echo /usr/lib/alsa-lib >
> > > /etc/ld.so.conf.d/alsa-lib.conf' but this did not seem to help after
> > > issuing ldconfig.
> > > 
> > > The bluealsa "server" seems to start ok and generates no errors[7] when
> > > trying to play a sound via aplay, however aplay does not seem to know[8]
> > > yet how to use the headset. I did have an issue with permissions on[9]
> > > on /var/run/bluealsa but I think I fixed those[9]. Right now, aplay
> > > cannot "get BlueALSA transport"[10]. Any thoughts?
> > > 
> > > Thank you!
> > > 
> > > [0]
> > > i   apulse                          - PulseAudio emulation for ALSA
> > > 
> > > i   libpulse-mainloop-glib0         - PulseAudio client libraries (glib
> > > support)
> > > i   libpulse0                       - PulseAudio client libraries
> > > 
> > > i   libpulsedsp                     - PulseAudio OSS pre-load library
> > > 
> > > i   pulseaudio-utils                - Command line tools for the
> > > PulseAudio soun
> > > i   vlc-plugin-pulse                - transitional dummy package for vlc
> > > 
> > > 
> > > 
> > > [1]
> > > aptitude install libalsaplayer-dev bluez bluez-tools libsbc-dev
> > > libfdk-aac-dev alsa-tools alsaplayer-alsa libasound2-dev bluez-hcidump
> > > checkinstall libusb-dev  libbluetooth-dev  libbluetooth-dev
> > > libbluetooth3-dev
> > > libglib2.0-dev
> > > 
> > > [2]
> > > Add debian jessie rep for libfdk-aac-dev
> > > 
> > > libfdk-aac-dev required repo:
> > >    deb http://httpredir.debian.org/debian/ jessie main contrib non-free
> > > 
> > > aptitude install libfdk-aac-dev
> > > 
> > > [3]
> > > git clone https://github.com/Arkq/bluez-alsa.git
> > > cd bluez-alsa; mkdir build; autoreconf --install; cd build; ../configure
> > > --enable-aac --enable-debug
> > > make
> > > make install
> > > 
> > > 
> > > [4]
> > > $ cat ~/.asoundrc
> > > defaults.bluealsa.interface "hci0"
> > > defaults.bluealsa.device "02:FC:9F:F8:13:94"
> > > defaults.bluealsa.profile "a2dp"
> > > 
> > > [5]
> > > $ aplay -D bluealsa:HCI=hci0,DEV=02:FC:9F:F8:13:94,PROFILE=a2dp
> > > /usr/share/sounds/purple/Windows\ Notify.wav
> > > ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library
> > > /usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_pcm_bluealsa.so
> > > aplay: main:722: audio open error: No such device or address
> > > 
> > > [6]
> > > # ldconfig -v | grep alsa
> > > 
> > > /usr/lib/alsa-lib:
> > >   libasound_module_ctl_bluealsa.so -> libasound_module_ctl_bluealsa.so
> > >   libasound_module_pcm_bluealsa.so -> libasound_module_pcm_bluealsa.so
> > > 
> > > # ln -s /usr/lib/alsa-lib/libasound_module_*
> > > /usr/lib/x86_64-linux-gnu/alsa-lib/
> > > 
> > > 
> > > [7]
> > > $ bluealsa --disable-hfp
> > > bluealsa: ../../src/ctl.c:489: Starting controller loop
> > > bluealsa: ../../src/bluez.c:680: Registering endpoint: 
> > > /A2DP/MPEG24/Source/1
> > > bluealsa: ../../src/bluez.c:680: Registering endpoint: /A2DP/MPEG24/Sink/1
> > > bluealsa: ../../src/bluez.c:680: Registering endpoint: /A2DP/SBC/Source/1
> > > bluealsa: ../../src/bluez.c:680: Registering endpoint: /A2DP/SBC/Sink/1
> > > bluealsa: ../../src/bluez.c:910: Registering profile: /HSP/Headset
> > > bluealsa: ../../src/bluez.c:910: Registering profile: /HSP/AudioGateway
> > > bluealsa: ../../src/main.c:225: Starting main dispatching loop
> > > bluealsa: ../../src/ctl.c:550: New client accepted: 8
> > > bluealsa: ../../src/ctl.c:571: +-+-
> > > bluealsa: ../../src/ctl.c:571: +-+-
> > > bluealsa: ../../src/ctl.c:521: Client closed connection: 8
> > > bluealsa: ../../src/ctl.c:571: +-+-
> > > 
> > > 
> > > [8]
> > > $ aplay -D bluealsa:HCI=hci0,DEV=02:FC:9F:F8:13:94,PROFILE=a2dp
> > > /usr/share/sounds/purple/Windows\ Notify.wav
> > > ../../../src/asound/../shared/ctl-client.c:102: Connecting to socket:
> > > /var/run/bluealsa/hci0
> > > ALSA lib ../../../src/asound/bluealsa-pcm.c:645:(_snd_pcm_bluealsa_open)
> > > BlueALSA connection failed: No such file or directory
> > > aplay: main:722: audio open error: No such file or directory
> > > 
> > > 
> > > [9]
> > > chown root:myuser /var/run/bluealsa
> > > chmod g+w+s /var/run/bluealsa
> > > 
> > > 
> > > [10]
> > > $ aplay -D bluealsa:HCI=hci0,DEV=02:FC:9F:F8:13:94,PROFILE=a2dp
> > > /usr/share/sounds/purple/Windows\ Notify.wav
> > > ../../../src/asound/../shared/ctl-client.c:102: Connecting to socket:
> > > /var/run/bluealsa/hci0
> > > ../../../src/asound/../shared/ctl-client.c:213: Getting transport for
> > > 02:FC:9F:F8:13:94 type 1
> > > ALSA lib ../../../src/asound/bluealsa-pcm.c:658:(_snd_pcm_bluealsa_open)
> > > Couldn't get BlueALSA transport: No such device
> > > aplay: main:722: audio open error: No such device
> > 
> > 
> > Damn! Now mine is broken, too. I did a git fetch, and rebuilt, and it is
> > doing the same thing. I guess they broke it in the latest. Incidently, I
> > didn't need the dev package for libfdk-aac1, and it built and worked
> > fine with the previous. Now I gotta remember how to reget the n-1
> > version.
> 
> Ok, false alarm. I forgot to make certain it connected.
> 
> mschmitz@ferrum:~/src/bluez-alsa/build$ bluetoothctl 
> [NEW] Controller 00:1A:7D:DA:71:13 BlueZ 5.43 [default]
> [bluetooth]# connect 00:1A:7D:B0:05:6C
> Attempting to connect to 00:1A:7D:B0:05:6C
> [CHG] Device 00:1A:7D:B0:05:6C Connected: yes
> Connection successful 
> [CHG] Device 00:1A:7D:B0:05:6C ServicesResolved: yes
> [SB220]# info 00:1A:7D:B0:05:6C
> Device 00:1A:7D:B0:05:6C
>         Name: SB220
>         Alias: SB220
>         Class: 0x240404
>         Icon: audio-card
>         Paired: yes
>         Trusted: yes
>         Blocked: no
>         Connected: yes
>         LegacyPairing: no
>         UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
>         UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
>         UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
>         UUID: Advanced Audio Distribu.. (0000110d-0000-1000-8000-00805f9b34fb)
>         UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
>         UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
> [SB220]#
> 

You might want to check that too. It is flaky and doesn't always connect
properly.

I also wrote an init script (attached) that might work for you, when you
get it working.

#!/bin/sh
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
    set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides:          bluealsa
# Required-Start:    $remote_fs $syslog bluetooth
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Provides for bluetooth audio
# Description:       
### END INIT INFO

# Author: Mike Schmitz <tmschm...@gmail.com>
#
# Please remove the "Author" lines above and replace them
# with your own name if you copy and modify this script.

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Provider for bluetooth audio"
DAEMON=/usr/bin/bluealsa
BLUEALSARUNDIR="/var/run/bluealsa"
PID="/var/run/bluealsa/bluealsa.pid"
NAME="bluealsa"

case "$1" in
  start)
    log_action_begin_msg "Starting ${DESC}"
    install -d -m 0750 -o bluealsa -g audio ${BLUEALSARUNDIR} 
    start-stop-daemon --start --exec $DAEMON --make-pidfile --pidfile ${PID} \
            --background
    log_action_end_msg $?
  ;;
  stop)
    log_action_begin_msg "Shutting down ${SVCNAME}"
    start-stop-daemon --stop --exec $DAEMON --pidfile ${PID} --remove-pidfile \
            --quiet
    log_action_end_msg $?
  ;;
  restart|force-reload)
        #
        #       If the "reload" option is implemented, move the "force-reload"
        #       option to the "reload" entry above. If not, "force-reload" is
        #       just the same as "restart".
        #
    log_action_begin_msg "Restarting $DESC"
    start-stop-daemon --stop --exec $DAEMON --pidfile ${PID} --remove-pidfile \
            --quiet
    start-stop-daemon --start --exec $DAEMON --make-pidfile --pidfile ${PID} \
            --background
    log_action_end_msg $?
  ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
  ;;
esac

exit 0

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to