LINUX.ORG.RU

Избранные сообщения neumond

Bluetooth наушники и восстановление уровня громкости при переподключении

 , , , ,

Имеется набор софта в Debian 14

Pipewire 1.6.8
Cinnamon 6.6.9
Blueman-manager 2.4.4
Стандартная крутилка громкости Cinnamon панельки 

Имеется неудобство

  • 1 - изначально системный звук стоит на 50%
  • 2 - при подключении наушников A10S выставляю громкость 15% в крутилке панели
  • 3 - отключаю наушники, звук автоматом выставляется на 50% назад
  • 4 - подключаю наушники с вероятностью 50 на 50 выставляется либо снова 15% либо 82%, а порой просто в 100%

Короче при переподключении наушников, если повезёт громкость восстановится какая была задана, а если не повезёт, «гиперзвук» удаляет по барабанным перепонкам так что как бы не случился инфаркт жопы.

Вопрос, кто из перечисленного набора управляет восстановлением звука? Факт того что иногда-то оно восстанавливает правильно, заставляет думать что стоит копнуть и узнать где ломается, но куда именно копать сходу непонятно.

И да, наушники очень бюджетные, и есть вероятность что это наушники шлют микшеру звука значения от балды, а он просто исполняет.
Если это так, то как дебажить Bluetooth?


Update: Дебажить как минимум отчасти можно через btmon устанавливается в составе пакета bluez


Пока написал костыль, который просто сбрасывает звук на 15% при подключении конкретного устройства Жить можно, но это такое…

#!/usr/bin/env lua
----------------------------------
local device = '41:42:D4:D3:3B:AE'
local volume = 0.15
local connected = false
----------------------------------
while(true) do
    os.execute('sleep 3')
    ---
    local  pipe = io.popen('bluetoothctl devices Connected')
    if not pipe then
       os.execute("notify-send 'Failed get Bluetooth Devices: Exit'")
       os.exit(1)
    end
    ---
    local data = pipe:read('*a')
    pipe:close()
    if not data then
       os.execute("notify-send 'Failed get Bluetooth Devices: Exit'")
       os.exit(1)
    end
    ---
    if data:find(device,1,true) then
       if not connected then
          connected = true
          os.execute("notify-send 'Bluetooth: Set Volume' "..(volume*100).."%")
          local s = os.execute('wpctl set-volume @DEFAULT_AUDIO_SINK@ '..volume)
          if s ~= 0 and s ~= true then
             os.execute("notify-send 'Failed set Bluetooth Volume: Exit'")
             os.exit(1)
          end
       end
   else
       print("Bluetooth: Wait Device "..device)
       connected = false
   end
end

Проверил в Debian 13, такая же херня.


  • Да, пробовал по новой делать сопряжение
  • Да, сбрасывал наушники до заводских настроек
  • Нет, ничего не конфигурировал со звуком в конфигах

Опыта с Bluetooth наушниками мало, судя по поисковикам проблема частая… Но, решения кто в лес кто по дрова.
Или это всё в порядке вещей? :(
Пишу, прежде чем пытаться рыть (если вообще стоит это делать) именно потому что опыта нет, может просто не понимаю что-то.

Всего-то надо восстановить тот общий уровень громкости который был задан 😢, вот с jack наушниками, втык/вытык/втык провод и всегда какой уровень звука был для конкретного вывода, такой и сохраняется. А тут, фигня какая-то происходит.

LINUX-ORG-RU
()