GithubHelp home page GithubHelp logo

melianmiko / openfreebuds Goto Github PK

View Code? Open in Web Editor NEW
75.0 75.0 4.0 1.44 MB

Open source app for HUAWEI FreeBuds (Linux + Windows)

Home Page: https://mmk.pw/en/openfreebuds/

License: GNU General Public License v3.0

Python 97.70% Makefile 0.39% HTML 0.63% NSIS 1.27%

openfreebuds's Introduction

openfreebuds's People

Contributors

melianmiko avatar sitiom avatar sprootik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

openfreebuds's Issues

utils.is_running() misdetects other (not OpenFreeBuds-related) processes

Hi!

Here is the problem example:

$ openfreebuds --verbose
DEBUG:root:MainThread  Using config path: /home/s-trace/.config/openfreebuds/settings.json
DEBUG:root:MainThread  Found running instance PID=18109
DEBUG:TkinterTools:Thread-1 (th)  Starting UI thread...
$ ps 18109
    PID TTY      STAT   TIME COMMAND
  18109 ?        Sl     0:02 /usr/bin/dolphin /home/s-trace/.config/openfreebuds
$ kill 18109
$ openfreebuds --verbose
DEBUG:root:MainThread  Using config path: /home/s-trace/.config/openfreebuds/settings.json
DEBUG:root:MainThread  Found running instance PID=18650
DEBUG:TkinterTools:Thread-1 (th)  Starting UI thread...
$ ps 18650
    PID TTY      STAT   TIME COMMAND
  18650 pts/2    Sl     0:02 kate opt/openfreebuds/ofb_launcher.py
$ openfreebuds --verbose
DEBUG:root:MainThread  Using config path: /home/s-trace/.config/openfreebuds/settings.json
DEBUG:AppletIcons:MainThread  set theme=light
DEBUG:HotkeysTool:MainThread  Starting hotkey tool...
DEBUG:HotkeysTool:MainThread  Started hotkey tool.
DEBUG:UpdateChecker:MainThread  0.11
DEBUG:mmk-update:Thread-2 (_process)  fetching update info...
INFO:Applet:Thread-3 (_thread)  Change icon: state_no_dev
DEBUG:Applet:Thread-3 (_thread)  Menu updated, hash=4c0f9caa16903442a7bbba1f8c291b2d2dd0f17b
...

Freebuds SE Support

Hello Sir,

I have this device right now and how can I add it to supported list? Do I need to capture the HCI packets and send them to you as in link you shared, if necessary, where should I send them?

Freebuds 5i

Изначально репорт написал на английском.
Только сейчас понял, что вроде ведь классные русскоязычные ребята делают это чудо)
Пользовался приложением на протяжении 3-4 дней бесперебойно, но сегодня при открытии приложения возникает эта ошибка.


| |___ ___ | | ___ | | _ _ | |
| | | . | -
| | __| | -| -
| . | | | . |_ -|
|| ||||| || ||||||_|
|
|

     OpenFreebuds crashed due to unknown error.

If you don't know why this happened, you coul'd try to
send this log to developer, and they will try to do
something to prevent this failure in future versions.

E-Mail: [email protected] -or- Web: https://mmk.pw/en/mailto

app_version=0.13.1
python_version=sys.version_info(major=3, minor=11, micro=7, releaselevel='final', serial=0)
os_platform=Linux-6.7.0-arch3-1

-= Settings file =-
{
"address": "A4:46:B4:B8:A9:9F",
"device_name": "HUAWEI FreeBuds 5i",
"is_device_mocked": false,
"device_autoconfig": true,
"language": "ru_RU",
"theme": "dark",
"icon_theme": "auto",
"first_run": false,
"modules": {
"hotkeys": {
"enabled": true,
"next_mode": "++q"
},
"http_server": {
"enabled": false,
"external_access": false,
"port": 21201
},
"mpris_helper": {
"enabled": false
},
"update_check": {
"enabled": true
}
},
"context_menu_extras": [
"equalizer",
"dual_connect"
]
}

-= Manager state =-
device_name=HUAWEI FreeBuds 5i
device_addr=A4:46:B4:B8:A9:9F
state=4
device_class=<openfreebuds.device.huawei.profiles.buds_5i.FreeBuds5iDevice object at 0x7e3a8a647dd0>

-= Device state =-
{
"info": {
"field_2": "\u0001E",
"device_ver": "HL1OTEM2_VA",
"software_ver": "HarmonyOS 2.1.0.202(F001H003C90)",
"serial_number": "5PUTQ23B17004613",
"device_model": "BTFT0014-000145",
"ota_version": "BTFT0014",
"field_24": "L-TQ908423BF010631,R-TQ908823BD013002",
"field_25": "\u0001"
},
"state": {
"in_ear": false
},
"battery": {
"global": 15,
"left": 15,
"right": 15,
"case": 1,
"is_charging": false
},
"anc": {
"mode": "cancellation",
"mode_options": "normal,cancellation,awareness",
"level": "normal",
"level_options": "comfort,normal,ultra"
},
"action": {
"double_tap_left": "tap_action_pause",
"double_tap_right": "tap_action_pause",
"double_tap_options": "tap_action_pause,tap_action_prev,tap_action_next,tap_action_assistant,tap_action_off",
"double_tap_in_call": "tap_action_answer",
"double_tap_in_call_options": "tap_action_off,tap_action_answer",
"long_tap_left": "tap_action_switch_anc",
"long_tap_right": "tap_action_switch_anc",
"long_tap_options": "tap_action_off,tap_action_switch_anc",
"noise_control_left": "noise_control_off_on_aw",
"noise_control_right": "noise_control_off_on_aw",
"noise_control_options": "noise_control_off_on,noise_control_off_on_aw,noise_control_on_aw,noise_control_off_an",
"swipe_gesture": "tap_action_change_volume",
"swipe_gesture_options": "tap_action_off,tap_action_change_volume"
},
"config": {
"auto_pause": true,
"sound_quality_preference": "sqp_connectivity",
"sound_quality_preference_options": "sqp_quality,sqp_connectivity",
"preferred_device": "000000000000"
},
"dev_name": {},
"dev_auto_connect": {},
"dev_connected": {}
}

-= Entire application log =-
DEBUG:FreebudsLocale:MainThread Using language ru_RU
INFO:LinuxBackend:MainThread System theme name is Breeze
DEBUG:AppletIcons:MainThread set theme=dark
INFO:Applet:MainThread Loading all modules...
DEBUG:HotkeysTool:MainThread Starting hotkey tool...
DEBUG:HotkeysTool:MainThread Started hotkey tool.
INFO:AppletModule:Thread-2 (_thread) Starting module update_check
DEBUG:UpdateChecker:Thread-2 (_thread) 0.13.1
INFO:Applet:Thread-3 (_thread) Started
INFO:Applet:Thread-3 (_thread) Attach recently used device, mac=A4:46:B4:B8:A9:9F
DEBUG:FreebudsManager:Thread-3 (_thread) Waiting for finish current manager...
INFO:FreebudsManager:Thread-3 (_thread) Don't started, nothing to close
DEBUG:FreebudsManager:Thread-3 (_thread) Running mainloop via safe wrapper
DEBUG:FreebudsManager:Thread-4 (_thread) Started
INFO:Applet:Thread-3 (_thread) Change icon: state_no_dev
INFO:FreebudsManager:Thread-4 (_thread) Trying to create device and connect...
INFO:AutoConfig:Thread-3 (_thread) Set device HUAWEI FreeBuds 5i A4:46:B4:B8:A9:9F
INFO:FreebudsManager:Thread-4 (_thread) State changed to 3
INFO:FreebudsManager:Thread-3 (_thread) Device already attached, ignoring set_device
INFO:Applet:Thread-3 (_thread) Change icon: state_wait
ERROR:GenericSPPDevice:Thread-4 (_thread)

Can't fetch service info from device, err: No module named 'bluetooth'
Looks like pybluez didn't installed or didn't work as expected.
Using fallback port number 16

DEBUG:GenericSPPDevice:Thread-4 (_thread) Starting via safe wrapper
INFO:GenericSPPDevice:Thread-6 (_thread) starting recv...
DEBUG:GenericSPPDevice:Thread-4 (_thread) Starting via safe wrapper
INFO:GenericSPPDevice:Thread-7 (_thread) starting send thread...
DEBUG:GenericSPPDevice:Thread-4 (_thread) Starting via safe wrapper
INFO:GenericSPPDevice:Thread-8 (_thread) starting handle...
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler device_info...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=0107, param_0=b'', param_1=b'', param_2=b'', param_3=b'', param_4=b'', param_5=b'', param_6=b'', param_7=b'', param_8=b'', param_9=b'', param_10=b'', param_11=b'', param_12=b'', param_13=b'', param_14=b'', param_15=b'', param_16=b'', param_17=b'', param_18=b'', param_19=b'', param_20=b'', param_21=b'', param_22=b'', param_23=b'', param_24=b'', param_25=b'', param_26=b'', param_27=b'', param_28=b'', param_29=b'', param_30=b'', param_31=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=0a0e, param_1=b'\x00'
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) Got unsupported package
command=0a0e, param_1=b'\x00'
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=0107, param_2=b'\x01E', param_3=b'HL1OTEM2_VA', param_7=b'HarmonyOS 2.1.0.202(F001H003C90)', param_9=b'5PUTQ23B17004613', param_10=b'BTFT0014-000145', param_15=b'BTFT0014', param_24=b'L-TQ908423BF010631,R-TQ908823BD013002', param_25=b'\x01'
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler tws_in_ear...
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler battery...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=0108, param_1=b'', param_2=b'', param_3=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=0108, param_1=b'\x0f', param_2=b'\x0f\x0f\x01', param_3=b'\x00\x00\x00', param_4=b'\x14\n'
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler anc_global...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b2a, param_1=b'', param_2=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=2b2a, param_1=b'\x00\x01'
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler gesture_double...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=0120, param_1=b'', param_2=b'', param_3=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=0120, param_1=b'\x01', param_2=b'\x01', param_3=b'\x01\x07\x02\x00\xff', param_4=b'\x00', param_6=b'\x00\xff'
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler gesture_long_split...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b17, param_1=b'', param_2=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=2b17, param_1=b'\n', param_2=b'\n', param_3=b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0e\x0f', param_4=b'\x00', param_6=b'\x00\xff'
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b19, param_1=b'', param_2=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=2b19, param_1=b'\x02', param_2=b'\x02', param_3=b'\x01\x02\x03\x04\x05\x06\x07\x08\t\n'
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler gesture_swipe...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b1f, param_1=b'', param_2=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=2b1f, param_1=b'\x00', param_3=b'\x00\xff'
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler tws_auto_pause...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b11, param_1=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=2b11, param_1=b'\x01'
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler config_sound_quality...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2ba3, param_1=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=2ba3, param_1=b'\x01', param_2=b'\x01'
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler config_eq...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b4a, param_2=b''
DEBUG:GenericHuaweiSppDevice:Thread-8 (_thread) recv command=2b4a, param_1=b'\x01', param_2=b'\t', param_3=b'\x01\x02\x03\t', param_4=b'\x01'
ERROR:RunSafe:Thread-8 (_thread) Action SPPDevice failed.
Traceback (most recent call last):
File "/opt/openfreebuds/openfreebuds_applet/utils.py", line 74, in _internal
func(*args, **kwargs)
File "/opt/openfreebuds/openfreebuds/device/generic/spp_device.py", line 117, in _thread_handle
self.do_data_handle(data)
File "/opt/openfreebuds/openfreebuds/device/huawei/generic/spp_device.py", line 109, in do_data_handle
self.on_package(pkg)
File "/opt/openfreebuds/openfreebuds/device/huawei/generic/spp_device.py", line 84, in on_package
self._on_package[pkg.command_id].on_package(pkg)
File "/opt/openfreebuds/openfreebuds/device/huawei/spp_handlers/config_equalizer.py", line 46, in on_package
self.w_presets[value])
~~~~~~~~~~~~~~^^^^^^^
KeyError: 9
DEBUG:TkinterTools:Thread-9 (th) Starting UI thread...
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler dual_connect_toggle...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b2f, param_1=b''
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler dual_connect_devices...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b31, param_1=b''
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=2b31, param_1=b''
INFO:GenericHuaweiSppDevice:Thread-4 (_thread) Attach handler voice_language...
DEBUG:GenericHuaweiSppDevice:Thread-4 (_thread) send command=0c02, param_1=b'', param_3=b''
INFO:AppletModule:Thread-2 (_thread) Module update_check exited.
WARNING:GenericHuaweiSppDevice:Thread-4 (_thread) Too long read wait, maybe command is ignored
INFO:FreebudsManager:Thread-4 (_thread) State changed to 4
INFO:Applet:Thread-3 (_thread) Change icon: connected_cancellation_15

image

Freebuds 5i Manjaro Xfce4

I click connect to device. It says OS cannot connect to device: My log is as follows:

DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IHDR' 16 13
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'bKGD' 41 6
DEBUG:PIL.PngImagePlugin:MainThread  b'bKGD' 41 6 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'pHYs' 59 9
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'tIME' 80 7
DEBUG:PIL.PngImagePlugin:MainThread  b'tIME' 80 7 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IDAT' 99 383
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IHDR' 16 13
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'zTXt' 41 3305
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'iCCP' 3358 388
DEBUG:PIL.PngImagePlugin:MainThread  iCCP profile name b'ICC profile'
DEBUG:PIL.PngImagePlugin:MainThread  Compression method 0
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'iTXt' 3758 3354
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'bKGD' 7124 6
DEBUG:PIL.PngImagePlugin:MainThread  b'bKGD' 7124 6 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'pHYs' 7142 9
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'tIME' 7163 7
DEBUG:PIL.PngImagePlugin:MainThread  b'tIME' 7163 7 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IDAT' 7182 1569
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IHDR' 16 13
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'zTXt' 41 5904
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'iCCP' 5957 388
DEBUG:PIL.PngImagePlugin:MainThread  iCCP profile name b'ICC profile'
DEBUG:PIL.PngImagePlugin:MainThread  Compression method 0
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'iTXt' 6357 3581
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'bKGD' 9950 6
DEBUG:PIL.PngImagePlugin:MainThread  b'bKGD' 9950 6 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'pHYs' 9968 9
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'tIME' 9989 7
DEBUG:PIL.PngImagePlugin:MainThread  b'tIME' 9989 7 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IDAT' 10008 2794
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IHDR' 16 13
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'zTXt' 41 4534
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'iCCP' 4587 388
DEBUG:PIL.PngImagePlugin:MainThread  iCCP profile name b'ICC profile'
DEBUG:PIL.PngImagePlugin:MainThread  Compression method 0
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'iTXt' 4987 3581
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'bKGD' 8580 6
DEBUG:PIL.PngImagePlugin:MainThread  b'bKGD' 8580 6 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'pHYs' 8598 9
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'tIME' 8619 7
DEBUG:PIL.PngImagePlugin:MainThread  b'tIME' 8619 7 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IDAT' 8638 2262
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IHDR' 16 13
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'bKGD' 41 6
DEBUG:PIL.PngImagePlugin:MainThread  b'bKGD' 41 6 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'pHYs' 59 9
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'tIME' 80 7
DEBUG:PIL.PngImagePlugin:MainThread  b'tIME' 80 7 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IDAT' 99 430
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IHDR' 16 13
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'bKGD' 41 6
DEBUG:PIL.PngImagePlugin:MainThread  b'bKGD' 41 6 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'pHYs' 59 9
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'tIME' 80 7
DEBUG:PIL.PngImagePlugin:MainThread  b'tIME' 80 7 (unknown)
DEBUG:PIL.PngImagePlugin:MainThread  STREAM b'IDAT' 99 529
DEBUG:root:MainThread  Using config path: /home/polyester/.config/openfreebuds/settings.json
DEBUG:FreebudsLocale:MainThread  Using language none
DEBUG:root:MainThread  Using config path: /home/polyester/.config/openfreebuds/settings.json
INFO:LinuxBackend:MainThread  System theme name is Adwaita-dark
DEBUG:AppletIcons:MainThread  set theme=dark
INFO:LinuxBackend:MainThread  System theme name is Adwaita-dark
INFO:Applet:MainThread  Loading all modules...
DEBUG:HotkeysTool:MainThread  Starting hotkey tool...
DEBUG:HotkeysTool:MainThread  Started hotkey tool.
INFO:AppletModule:Thread-2 (_thread)  Starting module update_check
DEBUG:UpdateChecker:Thread-2 (_thread)  0.13.1
DEBUG:mmk-update:Thread-2 (_thread)  fetching update info...
INFO:Applet:Thread-3 (_thread)  Started
INFO:Applet:Thread-3 (_thread)  Attach recently used device, mac=24:1A:E6:2C:50:E4
DEBUG:FreebudsManager:Thread-3 (_thread)  Waiting for finish current manager...
INFO:FreebudsManager:Thread-3 (_thread)  Don't started, nothing to close
DEBUG:FreebudsManager:Thread-3 (_thread)  Running mainloop via safe wrapper
DEBUG:FreebudsManager:Thread-4 (_thread)  Started
INFO:Applet:Thread-3 (_thread)  Change icon: state_no_dev
INFO:FreebudsManager:Thread-4 (_thread)  State changed to 1
INFO:Applet:Thread-3 (_thread)  Change icon: state_offline
DEBUG:mmk-update:Thread-2 (_thread)  latest release: 0.13.1
DEBUG:mmk-update:Thread-2 (_thread)  update ui shouldn't be shown
INFO:AppletModule:Thread-2 (_thread)  Module update_check exited.
INFO:FreebudsManager:Thread-6 (_thread)  State changed to 6
DEBUG:AppletActions:Thread-6 (_thread)  Trying to force connect device...
INFO:Applet:Thread-3 (_thread)  Change icon: state_wait
DEBUG:FreebudsManager:Thread-4 (_thread)  Manager thread paused
ERROR:AppletActions:Thread-6 (_thread)  Can't force connect device
Traceback (most recent call last):
  File "/opt/openfreebuds/openfreebuds_applet/modules/actions.py", line 63, in do_connect
    raise Exception("fail")
Exception: fail
DEBUG:TkinterTools:Thread-7 (th)  Starting UI thread...
DEBUG:AppletActions:Thread-6 (_thread)  Finish force connecting
INFO:FreebudsManager:Thread-4 (_thread)  State changed to 1
INFO:Applet:Thread-3 (_thread)  Change icon: state_offline
^CDEBUG:Applet:MainThread  Leaving, press Ctrl-C again to force exit
INFO:Applet:MainThread  Exiting this app...
INFO:FreebudsManager:Thread-3 (_thread)  Closing manager thread...
INFO:FreebudsManager:Thread-4 (_thread)  leaving manager thread...
INFO:FreebudsManager:Thread-4 (_thread)  Thread finished
INFO:FreebudsManager:Thread-3 (_thread)  Manager thread closed from close()...
INFO:Applet:Thread-3 (_thread)  Tray stopped, exiting...

Thank you in advance

Module bluetooth not found

[sermart1234@fedora ~]$ openfreebuds 
Traceback (most recent call last):
  File "/usr/bin/openfreebuds", line 5, in <module>
    import ofb_launcher
  File "/opt/openfreebuds/ofb_launcher.py", line 10, in <module>
    from openfreebuds import event_bus, manager, cli_io
  File "/opt/openfreebuds/openfreebuds/manager.py", line 6, in <module>
    import openfreebuds.device
  File "/opt/openfreebuds/openfreebuds/device/__init__.py", line 2, in <module>
    from openfreebuds.device.profile_freebuds_4i import FreeBuds4iDevice
  File "/opt/openfreebuds/openfreebuds/device/profile_freebuds_4i.py", line 2, in <module>
    from openfreebuds.device.huawei_spp_device import HuaweiSPPDevice
  File "/opt/openfreebuds/openfreebuds/device/huawei_spp_device.py", line 8, in <module>
    from openfreebuds.device.spp_protocol import SppProtocolDevice
  File "/opt/openfreebuds/openfreebuds/device/spp_protocol.py", line 8, in <module>
    import bluetooth
ModuleNotFoundError: No module named 'bluetooth'
[sermart1234@fedora]$ sudo pip3 install pybluez
Collecting pybluez
  Using cached PyBluez-0.23.tar.gz (97 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [1 lines of output]
      error in PyBluez setup command: use_2to3 is invalid.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

FreeBuds 3

dont work with FreeBuds 3.
when i tap on " FreeBuds 3" device in device list, nothing happens.

Windows: добавить проверку наличия WMIC

В Windows 11 WMIC является опциональным компонентом и может быть удалён пользователем.

https://github.com/melianmiko/OpenFreebuds/blob/546a8d25eb66d54b48e2b5ea7a2fd76296f5d58f/src/openfreebuds_backend/windows/misc_win32.py#L33C1-L33C51

Сейчас в такой ситуации приложение просто падает. Лучше реализовать проверку и выдавать сообщение пользователю об отсутствующем компоненте.

Exception on Linux Mint (Ubuntu 20)

On my Linux Mint 20.3 (based on Ubuntu 20.03) system, I install the .deb package (openfreebuds_0.12.1-1_all.deb) and run openfreebuds.
Program start fails with this error:

Traceback (most recent call last):
  File "/usr/bin/openfreebuds", line 5, in <module>
    import ofb_launcher
  File "/opt/openfreebuds/ofb_launcher.py", line 11, in <module>
    from openfreebuds import event_bus, manager, cli_io
  File "/opt/openfreebuds/openfreebuds/manager.py", line 6, in <module>
    import openfreebuds.device
  File "/opt/openfreebuds/openfreebuds/device/__init__.py", line 2, in <module>
    from openfreebuds.device import huawei
  File "/opt/openfreebuds/openfreebuds/device/huawei/__init__.py", line 1, in <module>
    from openfreebuds.device.huawei.profiles import FreeLaceProDevice, FreeBuds4iDevice
  File "/opt/openfreebuds/openfreebuds/device/huawei/profiles.py", line 1, in <module>
    from openfreebuds.device.huawei.generic.spp_device import GenericHuaweiSppDevice
  File "/opt/openfreebuds/openfreebuds/device/huawei/generic/spp_device.py", line 8, in <module>
    from openfreebuds.device.huawei.generic.spp_handler import HuaweiSppHandler
  File "/opt/openfreebuds/openfreebuds/device/huawei/generic/spp_handler.py", line 1, in <module>
    from openfreebuds.device.huawei.generic.spp_package import HuaweiSppPackage
  File "/opt/openfreebuds/openfreebuds/device/huawei/generic/spp_package.py", line 4, in <module>
    class HuaweiSppPackage:
  File "/opt/openfreebuds/openfreebuds/device/huawei/generic/spp_package.py", line 5, in HuaweiSppPackage
    def __init__(self, cmd: bytes, parameters: list[tuple[int, bytes | int]] = None):
TypeError: unsupported operand type(s) for |: 'type' and 'type'

Unwanted beeps when connecting devices

非常棒的软件!
但我在使用中还遇到了一点小问题:

  • 如果我的Freebuds 4i已经连接到电脑上,当我在OpenFreebuds选择“断开连接”时,设备正常断开
  • 如果Freebuds 4i并没有连接,我在OpenFreebuds选择“连接设备”时,设备中都会播放三次“滴”声,分别代表:连接上了、已断开,连接上了
    这不是什么大问题,但是每次连接状态切换时Freebuds 4i中都会播放一个“滴”的音乐,在蓝牙设置面板中我发现,耳机展示了三种状态:已配对 -> 已连接 -> 已连接语音,音乐

我不知道您在使用的时候有没有遇到这个问题,我想知道这是我的原因还是软件的原因 谢谢!💖


Execllent work!
But I also encountered a little problem in use:

  • If my Freebuds 4i is already connected to the computer, when I select "Disconnect" in OpenFreebuds, the device disconnects normally.
  • If the Freebuds 4i is not connected, when I select "connect device" in OpenFreebuds, the device will play three beeps, which means: connected, disconnected, connected.

This isn't a big deal, but every time the connection state switches, a "beep" will play in the Freebuds 4i, and in the bluetooth settings panel I found that the headphones show three states: paired -> connected -> connected voice, music.

I don't know if you have encountered this problem when you are using it, I want to know if this is my reason or the software's reason Thank you!💖


Windows10 x86 with Bluetooth Command Line Tools installed

Freebuds pro 2

Hi.
I have freebuds pro 2 and I want to help add support the device.
How can I do it?

Possible FreeBuddy collaboration

Hi @melianmiko 👋

I've written a mail to you, but I think something with our mail servers broken 🤔

I am also making an app for FreeBuds (and possibly more!) - it's currently mobile-centered, but i would love to also have desktop support! It's made in Dart/Flutter 🐦

If you want, we could exchange knowlage about the protocol, or making a desktop plugin for bluetooth

Cheers, happy new year 🍻

OpenFreeBuds crashes on device switch with "Switch automatically" enabled

Hi!

I have two FreeBuds 4i pairs, and OpenFreeBuds crashes when I disconnect one pair and connect other pair:

$ openfreebuds
INFO:Applet:Thread-3 (_thread)  Change icon: state_no_dev
DEBUG:Applet:Thread-3 (_thread)  Menu updated, hash=8629732df04f6498e397e174d3d3e7abaea67a2b
INFO:AutoConfig:Thread-3 (_thread)  Attempt to change device automatically
INFO:AutoConfig:Thread-3 (_thread)  Use HUAWEI FreeBuds 4i DE:AD:BE:EF:11:11
DEBUG:FreebudsManager:Thread-3 (_thread)  Running mainloop via safe wrapper
DEBUG:FreebudsManager:Thread-5 (_thread)  Started
INFO:FreebudsManager:Thread-5 (_thread)  Trying to create SPP device and connect...
INFO:FreebudsManager:Thread-5 (_thread)  State changed to 3
INFO:Applet:Thread-3 (_thread)  Change icon: state_wait
DEBUG:Applet:Thread-3 (_thread)  Menu updated, hash=e568c52631f493e51ad78addf721573a51f66b0d
INFO:SPPDevice:Thread-5 (_thread)  Found serial port DE:AD:BE:EF:11:11:16 from UUID
DEBUG:SPPDevice:Thread-5 (_thread)  Starting via safe wrapper
INFO:SPPDevice:Thread-6 (_thread)  starting recv...
DEBUG:SPPDevice:Thread-5 (_thread)  Starting via safe wrapper
INFO:SPPDevice:Thread-7 (_thread)  starting send thread...
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a001f0001070100020003000400050006000700080009000a000b000c000f00190002d9
DEBUG:SPPDevice:Thread-6 (_thread)  recv 010702020124030b484c314f54454d325f56420709312e392e302e3139380910553355424232314332383130343335360a0f42544654303030312d3030303132340f0842544654303030311810424239444b4432314255413137393634190105db
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a0007000c0201000300d9d2
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0c02030b7a682d434e2c656e2d4742040101ee
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a0009000108010002000300fbb9
DEBUG:SPPDevice:Thread-6 (_thread)  recv 01080101640203646464030300000040
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a0005002b2a0100427e
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b2a0102000015
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a0005002b110100772a
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b11010100cf
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a000500012d0101882a
DEBUG:SPPDevice:Thread-6 (_thread)  recv 012d010101f2
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a000700012001000200e897
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0120010102020101030501020700ff33
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a0007002b170100020030a7
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b1701010a02010a030b000102030405060708090aa4
DEBUG:SPPDevice:Thread-7 (_thread)  send 5a0007002b1901000200ff0f
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b19010101020101030a0102030405060708090a5a
INFO:FreebudsManager:Thread-5 (_thread)  State changed to 4
INFO:Applet:Thread-3 (_thread)  Change icon: connected_0_100
DEBUG:Applet:Thread-3 (_thread)  Menu updated, hash=10537b1182a1f2a872af61a09eb92c4012ba2721
DEBUG:mmk-update:Thread-2 (_process)  latest release: 0.11
DEBUG:mmk-update:Thread-2 (_process)  update ui shouldn't be shown
DEBUG:TkinterTools:Thread-8 (th)  Starting UI thread...
WARNING:FreebudsLocale:Thread-8 (th)  missing in base i18n: first_run_message
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000127047b7b2254797065223a2242544654303030312d3030303132347c307865627c30783638222c2254696d65223a307836336166646639312c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078362c22537562436f6465223a3078307dc5
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000127047b7b2254797065223a2242544654303030312d3030303132347c307831637c30783737222c2254696d65223a307836336166646639302c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078352c22537562436f6465223a3078307db3
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000107047b7b2254797065223a2242544654303030312d3030303132347c307865657c30783639222c2254696d65223a307836336166646661622c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078317d3b
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000127047b7b2254797065223a2242544654303030312d3030303132347c307831647c30783738222c2254696d65223a307836336166646639332c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078362c22537562436f6465223a3078307d96
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000012045f7b2254797065223a2242544654303030312d3030303132347c307866307c30783661222c2254696d65223a307836336166646661622c224944223a3078352c224f7574223a3078312c2254494d45444946464552454e4345223a307864647de4
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307832307c30783739222c2254696d65223a307836336166646662322c224944223a3078342c22436f6465223a3078362c22537562436f6465223a3078317da9
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000107047b7b2254797065223a2242544654303030312d3030303132347c307866317c30783662222c2254696d65223a307836336166646661632c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078327d95
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307832317c30783761222c2254696d65223a307836336166646662322c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078342c22537562436f6465223a3078307d5d
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000108047b7b2254797065223a2242544654303030312d3030303132347c307866337c30783663222c2254696d65223a307836336166646661632c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078367d7e
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307866367c30783664222c2254696d65223a307836336166646662312c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078342c22537562436f6465223a3078307d85
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307866377c30783665222c2254696d65223a307836336166646662312c224944223a3078352c22436f6465223a3078362c22537562436f6465223a3078317d37
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307866387c30783666222c2254696d65223a307836336166646662312c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078342c22537562436f6465223a3078307d9c
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000c0404587b2254797065223a2242544654303030312d3030303132347c307832617c30783762222c2254696d65223a307836336166646662322c224944223a3078342c22436f6465223a3078312c22537562436f6465223a3078307d86
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000c0404587b2254797065223a2242544654303030312d3030303132347c307866647c30783730222c2254696d65223a307836336166646662312c224944223a3078352c22436f6465223a3078312c22537562436f6465223a3078307dd8
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307832647c30783763222c2254696d65223a307836336166646662322c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078332c22537562436f6465223a3078317de1
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307832657c30783764222c2254696d65223a307836336166646662322c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078317d59
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204577b2254797065223a2242544654303030312d3030303132347c3078307c30783731222c2254696d65223a307836336166646662312c224944223a3078352c22436f6465223a3078352c22537562436f6465223a3078307d48
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307832667c30783765222c2254696d65223a307836336166646662322c224944223a3078342c22436f6465223a3078372c22537562436f6465223a3078317dbb
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047a7b2254797065223a2242544654303030312d3030303132347c3078317c30783732222c2254696d65223a307836336166646662322c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078332c22537562436f6465223a3078317d96
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047a7b2254797065223a2242544654303030312d3030303132347c3078327c30783733222c2254696d65223a307836336166646662322c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078317d13
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204577b2254797065223a2242544654303030312d3030303132347c3078337c30783734222c2254696d65223a307836336166646662322c224944223a3078352c22436f6465223a3078372c22537562436f6465223a3078317d2c
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307833367c30783766222c2254696d65223a307836336166646662322c224944223a3078342c22436f6465223a3078352c22537562436f6465223a3078307ded
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000123047a7b2254797065223a2242544654303030312d3030303132347c3078377c30783735222c2254696d65223a307836336166646662332c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078332c22537562436f6465223a3078307d6a
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000124047a7b2254797065223a2242544654303030312d3030303132347c3078397c30783736222c2254696d65223a307836336166646662332c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078667d5a
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000124047a7b2254797065223a2242544654303030312d3030303132347c3078617c30783737222c2254696d65223a307836336166646662332c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078322c22537562436f6465223a3078617d10
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000124047b7b2254797065223a2242544654303030312d3030303132347c307833637c30783830222c2254696d65223a307836336166646662332c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078667d18
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000123047b7b2254797065223a2242544654303030312d3030303132347c307833647c30783831222c2254696d65223a307836336166646662332c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078342c22537562436f6465223a3078307dc1
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307831307c30783738222c2254696d65223a307836336166653132632c224944223a3078352c22436f6465223a3078362c22537562436f6465223a3078317dcf
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000a0404587b2254797065223a2242544654303030312d3030303132347c307833657c30783832222c2254696d65223a307836336166646662332c224944223a3078342c22436f6465223a3078302c22537562436f6465223a3078307d25
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000a0404587b2254797065223a2242544654303030312d3030303132347c307833667c30783833222c2254696d65223a307836336166646662332c224944223a3078342c22436f6465223a3078302c22537562436f6465223a3078307ddd
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307831317c30783739222c2254696d65223a307836336166653132632c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078342c22537562436f6465223a3078307dd4
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000124047b7b2254797065223a2242544654303030312d3030303132347c307834307c30783834222c2254696d65223a307836336166646662332c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078322c22537562436f6465223a3078617d91
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000107047b7b2254797065223a2242544654303030312d3030303132347c307834357c30783835222c2254696d65223a307836336166653131312c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078317d71
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000001204617b2254797065223a2242544654303030312d3030303132347c307834377c30783836222c2254696d65223a307836336166653131312c224944223a3078342c224f7574223a3078312c2254494d45444946464552454e4345223a3078383139627d13
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000c0404587b2254797065223a2242544654303030312d3030303132347c307831627c30783761222c2254696d65223a307836336166653132632c224944223a3078352c22436f6465223a3078312c22537562436f6465223a3078307d77
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307831657c30783762222c2254696d65223a307836336166653132632c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078332c22537562436f6465223a3078317d7b
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000107047b7b2254797065223a2242544654303030312d3030303132347c307834657c30783837222c2254696d65223a307836336166653131322c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078327d1a
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307831667c30783763222c2254696d65223a307836336166653132632c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078317dfe
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307832307c30783764222c2254696d65223a307836336166653132632c224944223a3078352c22436f6465223a3078372c22537562436f6465223a3078317d8f
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000108047b7b2254797065223a2242544654303030312d3030303132347c307835307c30783838222c2254696d65223a307836336166653131322c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078357d24
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307835317c30783839222c2254696d65223a307836336166653132652c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078342c22537562436f6465223a3078307d5e
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307835327c30783861222c2254696d65223a307836336166653132652c224944223a3078342c22436f6465223a3078362c22537562436f6465223a3078317d75
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307835337c30783862222c2254696d65223a307836336166653132652c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078342c22537562436f6465223a3078307d86
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307832377c30783765222c2254696d65223a307836336166653132632c224944223a3078352c22436f6465223a3078352c22537562436f6465223a3078307dc9
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000c0404587b2254797065223a2242544654303030312d3030303132347c307835377c30783863222c2254696d65223a307836336166653132652c224944223a3078342c22436f6465223a3078312c22537562436f6465223a3078307d37
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000a0404587b2254797065223a2242544654303030312d3030303132347c307832627c30783766222c2254696d65223a307836336166653132642c224944223a3078352c22436f6465223a3078302c22537562436f6465223a3078307df2
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307835617c30783864222c2254696d65223a307836336166653132652c224944223a3078342c22436f6465223a3078352c22537562436f6465223a3078307dd1
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000a0404587b2254797065223a2242544654303030312d3030303132347c307832647c30783830222c2254696d65223a307836336166653132642c224944223a3078352c22436f6465223a3078302c22537562436f6465223a3078307dd3
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307835647c30783865222c2254696d65223a307836336166653132662c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078332c22537562436f6465223a3078317d81
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000124047b7b2254797065223a2242544654303030312d3030303132347c307832657c30783831222c2254696d65223a307836336166653132642c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078322c22537562436f6465223a3078377ddc
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000120047b7b2254797065223a2242544654303030312d3030303132347c307835657c30783866222c2254696d65223a307836336166653132662c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078317ddf
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d01010302040000012204587b2254797065223a2242544654303030312d3030303132347c307835667c30783930222c2254696d65223a307836336166653132662c224944223a3078342c22436f6465223a3078372c22537562436f6465223a3078317db3
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000124047b7b2254797065223a2242544654303030312d3030303132347c307833307c30783832222c2254696d65223a307836336166653132642c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078312c22537562436f6465223a3078667d66
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000123047b7b2254797065223a2242544654303030312d3030303132347c307833317c30783833222c2254696d65223a307836336166653132642c224944223a3078352c22564944223a307831353562646439662c22566572223a22312e392e302e313938222c22436f6465223a3078332c22537562436f6465223a3078307db6
DEBUG:SPPDevice:Thread-6 (_thread)  recv 0a0d010103020400000123047b7b2254797065223a2242544654303030312d3030303132347c307836357c30783931222c2254696d65223a307836336166653133622c224944223a3078342c22564944223a307831386461613261362c22566572223a22312e392e302e313938222c22436f6465223a3078342c22537562436f6465223a3078307d05
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b03080100a7
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b2a0102000015
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b03080101b7
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b03080101b7
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b2a0102000015
DEBUG:SPPDevice:Thread-6 (_thread)  recv 2b2a0102000015
INFO:SPPDevice:Thread-6 (_thread)  Leaving recv...
INFO:FreebudsManager:Thread-5 (_thread)  State changed to 1
INFO:Applet:Thread-3 (_thread)  Change icon: state_offline
DEBUG:Applet:Thread-3 (_thread)  Menu updated, hash=b1508a13bf4d03cbe2560e893a8c3285ef368b2b
INFO:AutoConfig:Thread-3 (_thread)  Attempt to change device automatically
INFO:SPPDevice:Thread-7 (_thread)  leaving send thread...

*** First pair was disconnected ***

INFO:AutoConfig:Thread-3 (_thread)  Attempt to change device automatically

*** Second pair was connected ***

INFO:AutoConfig:Thread-3 (_thread)  Attempt to change device automatically
INFO:AutoConfig:Thread-3 (_thread)  Use HUAWEI FreeBuds 4i BA:AD:CO:DE:22:22
INFO:FreebudsManager:Thread-3 (_thread)  State changed to 0
INFO:FreebudsManager:Thread-5 (_thread)  leaving manager thread...
DEBUG:FreebudsManager:Thread-3 (_thread)  Running mainloop via safe wrapper
DEBUG:FreebudsManager:Thread-9 (_thread)  Started
DEBUG:root:Thread-3 (_thread)  config file updated
INFO:Applet:Thread-3 (_thread)  Change icon: state_no_dev
DEBUG:Applet:Thread-3 (_thread)  Menu updated, hash=8629732df04f6498e397e174d3d3e7abaea67a2b
INFO:AutoConfig:Thread-3 (_thread)  Attempt to change device automatically
INFO:FreebudsManager:Thread-9 (_thread)  Trying to create SPP device and connect...
INFO:FreebudsManager:Thread-9 (_thread)  State changed to 3
INFO:AutoConfig:Thread-3 (_thread)  Use HUAWEI FreeBuds 4i BA:AD:CO:DE:22:22
INFO:FreebudsManager:Thread-3 (_thread)  State changed to 0
INFO:SPPDevice:Thread-9 (_thread)  Found serial port BA:AD:CO:DE:22:22:16 from UUID
DEBUG:SPPDevice:Thread-9 (_thread)  Starting via safe wrapper
INFO:SPPDevice:Thread-10 (_thread)  starting recv...
DEBUG:SPPDevice:Thread-9 (_thread)  Starting via safe wrapper
INFO:SPPDevice:Thread-11 (_thread)  starting send thread...
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a001f0001070100020003000400050006000700080009000a000b000c000f00190002d9
DEBUG:SPPDevice:Thread-10 (_thread)  recv 010702020124030b484c314f54454d325f56420709312e392e302e3139380910553355424232313432383130303935340a0f42544654303030312d3030303132340f0842544654303030311810424239444b44323134444138353039301901033b
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a0007000c0201000300d9d2
DEBUG:SPPDevice:Thread-10 (_thread)  recv 0c02030b7a682d434e2c656e2d4742040101ee
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a0009000108010002000300fbb9
DEBUG:SPPDevice:Thread-10 (_thread)  recv 010801015a02035f5a64030300000017
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a0005002b2a0100427e
DEBUG:SPPDevice:Thread-10 (_thread)  recv 2b2a0102000015
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a0005002b110100772a
DEBUG:SPPDevice:Thread-10 (_thread)  recv 2b11010100cf
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a000500012d0101882a
DEBUG:SPPDevice:Thread-10 (_thread)  recv 012d010101f2
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a000700012001000200e897
DEBUG:SPPDevice:Thread-10 (_thread)  recv 0120010107020101030501020700ffba
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a0007002b170100020030a7
DEBUG:SPPDevice:Thread-10 (_thread)  recv 2b1701010a02010a030b000102030405060708090aa4
DEBUG:SPPDevice:Thread-11 (_thread)  send 5a0007002b1901000200ff0f
DEBUG:SPPDevice:Thread-10 (_thread)  recv 2b19010101020101030a0102030405060708090a5a
INFO:FreebudsManager:Thread-9 (_thread)  State changed to 4
DEBUG:SPPDevice:Thread-10 (_thread)  recv 012701015a02035f5a64030300000101
DEBUG:SPPDevice:Thread-10 (_thread)  recv 012701015a02035f5a64030300000101
INFO:FreebudsManager:Thread-9 (_thread)  leaving manager thread...
DEBUG:SPPDevice:Thread-9 (_thread)  Closing device...
INFO:SPPDevice:Thread-10 (_thread)  Leaving recv...
DEBUG:FreebudsManager:Thread-3 (_thread)  Running mainloop via safe wrapper
DEBUG:FreebudsManager:Thread-12 (_thread)  Started
ERROR:RunSafe:Thread-3 (_thread)  Action Applet failed.
Traceback (most recent call last):
  File "/opt/openfreebuds/openfreebuds_applet/utils.py", line 96, in _internal
    func(*args, **kwargs)
  File "/opt/openfreebuds/openfreebuds_applet/applet.py", line 155, in _ui_update_loop
    self.update_icon()
  File "/opt/openfreebuds/openfreebuds_applet/applet.py", line 93, in update_icon
    battery_left = dev.find_property("battery", "left", 0)
AttributeError: 'NoneType' object has no attribute 'find_property'
INFO:FreebudsManager:Thread-12 (_thread)  Trying to create SPP device and connect...
INFO:FreebudsManager:Thread-12 (_thread)  State changed to 3
INFO:SPPDevice:Thread-12 (_thread)  Found serial port BA:AD:CO:DE:22:22:16 from UUID
DEBUG:SPPDevice:Thread-12 (_thread)  Starting via safe wrapper
INFO:SPPDevice:Thread-13 (_thread)  starting recv...
DEBUG:SPPDevice:Thread-12 (_thread)  Starting via safe wrapper
INFO:SPPDevice:Thread-14 (_thread)  starting send thread...
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a001f0001070100020003000400050006000700080009000a000b000c000f00190002d9
DEBUG:SPPDevice:Thread-13 (_thread)  recv 010702020124030b484c314f54454d325f56420709312e392e302e3139380910553355424232313432383130303935340a0f42544654303030312d3030303132340f0842544654303030311810424239444b44323134444138353039301901033b
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a0007000c0201000300d9d2
DEBUG:SPPDevice:Thread-13 (_thread)  recv 0c02030b7a682d434e2c656e2d4742040101ee
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a0009000108010002000300fbb9
DEBUG:SPPDevice:Thread-13 (_thread)  recv 010801015a02035f5a64030300000107
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a0005002b2a0100427e
DEBUG:SPPDevice:Thread-13 (_thread)  recv 2b2a0102000015
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a0005002b110100772a
DEBUG:SPPDevice:Thread-13 (_thread)  recv 2b11010100cf
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a000500012d0101882a
DEBUG:SPPDevice:Thread-13 (_thread)  recv 012d010101f2
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a000700012001000200e897
DEBUG:SPPDevice:Thread-13 (_thread)  recv 0120010107020101030501020700ffba
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a0007002b170100020030a7
DEBUG:SPPDevice:Thread-13 (_thread)  recv 2b1701010a02010a030b000102030405060708090aa4
DEBUG:SPPDevice:Thread-14 (_thread)  send 5a0007002b1901000200ff0f
DEBUG:SPPDevice:Thread-13 (_thread)  recv 2b19010101020101030a0102030405060708090a5a
INFO:FreebudsManager:Thread-12 (_thread)  State changed to 4
INFO:SPPDevice:Thread-11 (_thread)  leaving send thread...

The right-click menu cannot be clicked

In Windows 11, you can open a menu by right-clicking the icon in the notification bar. But can't click any item in the menu. In other words, the menu closes after clicking any item, but it doesn't take effect.

`openfreebuds mode_X` works, but says it doesn't

Hi again!
I'm on Arch Linux with gnome on wayland. Got the tray icon to work thanks to https://extensions.gnome.org/extension/615/appindicator-support/

I wanted to set up keeb shortcuts, but when I launch openfreebuds mode_X, it ALWAYS pops up that device is not configured/http server is broken - but it's not, and headphones do change the mode (i hear it):

image

openfreebuds mode_1
WARNING:root:Application already started, pid 23979
ERROR:OfbLauncher:Can't do command via HTTP-server

Multi-User compatibility for Linux

Hi!

I am using my PC with two user accounts (work account and home account) and using CTRL+ALT+F1 and CTRL+ALT+F2 to switch virtual terminals between work and home accounts. OpenFreebuds does not work well if it is started on both user accounts.

I think it should be a core module (a singleton that takes care of devices connectivity) and UI modules (which provide information and are connected to the core module).

Is it possible to refactor OpenFreebuds in such a way to make it compatible with multi-user systems?

Thanks!

Freebuds Pro

How can I help add support? How did you reverse engineer the protocol?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.