* [Hardware] Linux bluetooth audio gateway
@ 2011-06-21 13:48 Михаил Плужников
2011-06-22 4:57 ` Anton Farygin
0 siblings, 1 reply; 3+ messages in thread
From: Михаил Плужников @ 2011-06-21 13:48 UTC (permalink / raw)
To: hardware
[-- Attachment #1: Type: Text/Plain, Size: 753 bytes --]
Приветствую.
Имеется задачка, сделать из стационарного компьютера bluetooth-наушники, что бы можно было
транслировать на него аудио поток с плеера по blutooth.
Пока, после экспериментов, не удалось продвинуться дальше эмуляции HSP на PC, т.е. плеер
видит компьютер как обычный комп, а не handset устройство с пофилем a2dp.
Может у кого то была такая задача и её решил?
Помогие, советом или куда копать.
В аттаче конфиги из /etc/bluetooth
[-- Attachment #2: audio.conf --]
[-- Type: text/plain, Size: 1489 bytes --]
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
[General]
Enable=true
# Switch to master role for incoming connections (defaults to true)
Master=true
# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Control,Source
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
SCORouting=PCM
# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
AutoConnect=true
# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
[Headset]
# Set to true to support HFP, false means only HSP is supported
# Defaults to true
HFP=true
# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
MaxConnected=1
# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incomming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=false
# Just an example of potential config options for the other interfaces
[A2DP]
SBCSources=1
MPEG12Sources=0
[-- Attachment #3: main.conf --]
[-- Type: text/plain, Size: 2422 bytes --]
[General]
# List of plugins that should not be loaded on bluetoothd startup
#DisablePlugins = network,input
# Default adaper name
# %h - substituted for hostname
# %d - substituted for adapter id
Name = %h-%d
# Default device class. Only the major and minor device class bits are
# considered.
Class = 0xff0408
# How long to stay in discoverable mode before going back to non-discoverable
# The value is in seconds. Default is 180, i.e. 3 minutes.
# 0 = disable timer, i.e. stay discoverable forever
DiscoverableTimeout = 0
# How long to stay in pairable mode before going back to non-discoverable
# The value is in seconds. Default is 0.
# 0 = disable timer, i.e. stay pairable forever
PairableTimeout = 0
# Use some other page timeout than the controller default one
# which is 16384 (10 seconds).
PageTimeout = 8192
# Discover scheduler interval used in Adapter.DiscoverDevices
# The value is in seconds. Defaults is 30.
DiscoverSchedulerInterval = 30
# What value should be assumed for the adapter Powered property when
# SetProperty(Powered, ...) hasn't been called yet. Defaults to true
InitiallyPowered = true
# Remember the previously stored Powered state when initializing adapters
RememberPowered = true
# Use vendor, product and version information for DID profile support.
# The values are separated by ":" and VID, PID and version.
#DeviceID = 1234:5678:abcd
# Do reverse service discovery for previously unknown devices that connect to
# us. This option is really only needed for qualification since the BITE tester
# doesn't like us doing reverse SDP for some test cases (though there could in
# theory be other useful purposes for this too). Defaults to true.
ReverseServiceDiscovery = true
# Enable name resolving after inquiry. Set it to 'false' if you don't need
# remote devices name and want shorter discovery cycle. Defaults to 'true'.
NameResolving = true
# Enable runtime persistency of debug link keys. Default is false which
# makes debug link keys valid only for the duration of the connection
# that they were created for.
DebugKeys = false
# Enable Low Energy support if the dongle supports. Default is false.
# Enable/Disable interleave discovery and attribute server over LE.
EnableLE = false
# Enable the GATT Attribute Server. Default is false, because it is only
# useful for testing. Attribute server is not enabled over LE if EnableLE
# is false.
AttributeServer = false
[-- Attachment #4: rfcomm.conf --]
[-- Type: text/plain, Size: 277 bytes --]
#
# RFCOMM configuration file.
#
rfcomm0 {
# Automatically bind the device at startup
bind yes;
#
# # Bluetooth address of the device
device 00:23:76:E5:F6:4E;
#
# # RFCOMM channel for the connection
channel 1;
#
# # Description of the connection
comment "HTC Desire";
}
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Hardware] Linux bluetooth audio gateway
2011-06-21 13:48 [Hardware] Linux bluetooth audio gateway Михаил Плужников
@ 2011-06-22 4:57 ` Anton Farygin
2011-06-23 15:14 ` Михаил Плужников
0 siblings, 1 reply; 3+ messages in thread
From: Anton Farygin @ 2011-06-22 4:57 UTC (permalink / raw)
To: hardware
Миша, есть такая ссылка, где собраны разные методы:
http://ubuntuforums.org/showthread.php?t=1464189
Если вдруг получится, опиши пожалуйста как сделал - тоже интересно.
21.06.2011 17:48, Михаил Плужников пишет:
> Приветствую.
> Имеется задачка, сделать из стационарного компьютера bluetooth-наушники, что бы можно было
> транслировать на него аудио поток с плеера по blutooth.
>
> Пока, после экспериментов, не удалось продвинуться дальше эмуляции HSP на PC, т.е. плеер
> видит компьютер как обычный комп, а не handset устройство с пофилем a2dp.
>
> Может у кого то была такая задача и её решил?
> Помогие, советом или куда копать.
>
> В аттаче конфиги из /etc/bluetooth
>
>
>
> _______________________________________________
> Hardware mailing list
> Hardware@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/hardware
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Hardware] Linux bluetooth audio gateway
2011-06-22 4:57 ` Anton Farygin
@ 2011-06-23 15:14 ` Михаил Плужников
0 siblings, 0 replies; 3+ messages in thread
From: Михаил Плужников @ 2011-06-23 15:14 UTC (permalink / raw)
To: hardware
В сообщении от 22 июня 2011 08:57:16 автор Anton Farygin написал:
> Миша, есть такая ссылка, где собраны разные методы:
> http://ubuntuforums.org/showthread.php?t=1464189
>
> Если вдруг получится, опиши пожалуйста как сделал - тоже интересно.
>
> 21.06.2011 17:48, Михаил Плужников пишет:
> > Приветствую.
> > Имеется задачка, сделать из стационарного компьютера bluetooth-наушники,
> > что бы можно было транслировать на него аудио поток с плеера по
> > blutooth.
> >
> > Пока, после экспериментов, не удалось продвинуться дальше эмуляции HSP на
> > PC, т.е. плеер видит компьютер как обычный комп, а не handset устройство
> > с пофилем a2dp.
> >
> > Может у кого то была такая задача и её решил?
> > Помогие, советом или куда копать.
> >
> > В аттаче конфиги из /etc/bluetooth
> >
Сделал.
Твоя ссылка помогла, но для себя так и не прояснил, как это всё хозяйство работает.
Оказалось, что наше ядро/bluez "не понимает" некоторые bluetooth-usb донглы т.е. проброс
audio на них не работает, а в 39-м ядре такие устройства вообще не работают.
Следовательно, для начала надо найти "правильный" рабочий bluetooth донгл.
Сначала, я полагал, что необходимо эмулировать компьютер для других устройств как
гарнитуру или мультимедиа устройство, игрался с DeviceID и DeviceClass, прочитав как их
необходимо генерировать. Использовал sdptool для регистрации профилей на устройстве.
В результате компьютер начал видеться как наушники, но не работало всё равно.
После прочтения ссылки, решил попробовать их рецепт.
Вообще у нас много чего уже сделано, достаточно поставить pulseaudio, pulseaudio-bluez,
bluez-alsa, прописать в /etc/bluetooth/audio.conf Enable=Source (с Enable=Sink не
получилось) и перезапустить сервис bluetoothd.
Теперь плеер должен видеть компьютер как мультимедиа устройство, с AudioGateway сервисом,
можно спайрить устройства и подключить плеер. Однако, есть проблема, pilseaudio не
пробрасывает новый audio source на стандартный audio sink (alsa-вывод на звуковую карту),
что необходимо сделать руками:
1. Ищем наш bluetooth source: pacmd list source | grep bluez_source, затем находим и
копируем строчку вида "bluez_source.XX_XX_XX_XX_XX_XX"
2. Тоже самое, только sink: pacmd list sink | grep sink, находим и скопируем строчку вида
"alsa_output.pci-0000_00_05.0.analog-stereo", т.е. наш используемый для вывода audio sink.
3. Соединяем потоки: pacmd load module-loop source=bluez_source.XX_XX_XX_XX_XX_XX
sink=alsa_output.pci-0000_00_05.0.analog-stereo
4. Можно слушать музыку
Если кто знает как заставить pulseaudio автоматом роутить новый source на выход -
объясните.
Можно не использовать pulseaudio, только тогда придётся самому прописывать линки в
asoundrc.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-06-23 15:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-21 13:48 [Hardware] Linux bluetooth audio gateway Михаил Плужников
2011-06-22 4:57 ` Anton Farygin
2011-06-23 15:14 ` Михаил Плужников
ALT Linux hardware support
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/hardware/0 hardware/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 hardware hardware/ http://lore.altlinux.org/hardware \
hardware@altlinux.ru hardware@lists.altlinux.org hardware@lists.altlinux.ru hardware@lists.altlinux.com hardware@altlinux.org
public-inbox-index hardware
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.hardware
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git