Git Product home page Git Product logo

oppzippy / openscq30 Goto Github PK

View Code? Open in Web Editor NEW
75.0 4.0 3.0 3.88 MB

Cross platform application for controlling settings of Soundcore headphones. Supports desktop (CLI and GTK4 GUI), Android, and Web (PWA using Web Bluetooth).

Home Page: https://oppzippy.github.io/OpenSCQ30/

License: GNU General Public License v3.0

Rust 55.33% Kotlin 31.31% Shell 0.98% Inno Setup 0.10% JavaScript 0.04% HTML 0.07% TypeScript 11.84% CSS 0.01% Just 0.31%
android bluetooth bluetooth-low-energy gtk4 kotlin rust wireless-headphones soundcore desktop-application pwa web-bluetooth typescript react jetpack-compose

openscq30's Introduction

About

OpenSCQ30 is free software for controlling settings for the Soundcore Q30 headphones.

Supported Platforms

[x] Windows - Ready
[x] Linux - Ready
[x] Android - Ready
[x] Web - Ready
[ ] macOS - It compiles. It's untested beyond that. You should probably use the web client instead. I don't have a Mac, so there's not much I can do for the desktop client. If you're tring to get it working on macOS, see btleplug macOS build notes.

Supported Devices

It is intended that all devices in this list work, but since I do not own them all, I can not check. Please open an issue if you can confirm that any of the devices with "Unknown" status are working correctly.

Model Name Status
A3027 Life Q35 Working
A3028 Life Q30 Working
A3030 Life Tune Pro Unknown
A3033 Life 2 Neo Unknown
A3033EU Life 2 Neo Unknown
A3926 Life Dot 2S Unknown
A3926Z11 Life Dot 2S Unknown
A3930 Liberty 2 Pro Unknown
A3931 Life Dot 2 NC Unknown
A3931XR Life Dot 2 XR Unknown
A3935 Life A2 NC Unknown
A3935W Life A2 NC Unknown
A3951 Liberty Air 2 Pro Unknown
A3945 Life Note 3S Unknown
A3933 Life Note 3 Unknown
A3939 Life P3 Working

Installing

Flathub

See GitHub Releases. All files are signed with my GPG key.

Demo

Desktop

gui.demo.webm

Android

android-demo.webm

Building

Running Tests

just test will run all unit and integration tests. To run tests for a specific package, use just gui/ test for example.

openscq30's People

Contributors

dependabot[bot] avatar oppzippy 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  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

openscq30's Issues

Any Chance of Supporting Liberty 3 Pro?

I didn't see it on the list, but tried anyway and it times out waiting for a reply. I assume that that is because it's not supported? I have been looking for something like this. It sucks that manufacturers neglect to support PC users.

Rename Project

Now that more devices than just the Life Q30 are supported, the project should probably be renamed. I'm unsure if a name containing "Soundcore" would violate their trademark, so I'd rather avoid anything that is too direct.

Q45 - Stuck on "Loading"

I have tried the Android app with Q45. I can select the device in the first screen, but when i click it, the app is stuck on "Loading". Would be nice, if this headset can be supported to. Many thx.

Support for Motion+

Great app, loving it for my Q30s.

Are there any plans to add support for the Soundcore speakers?

The Motion+ should be widely used.

The application does not start

Hello, after the last update the application does not start for me, although before that it worked well. It crashes immediately upon startup, even without connecting headphones.

Android: 13
Miui: 14

Export / Import custom profiles

Hello,

I've been happily using this app on the web and mobile, and I'm using the custom profiles feature. It would be nice to be able to export and import them, so I could easily share them between devices and even other people. I also like to think that this would be a killer feature, since I think the official app doesn't support this.

Thank you!

Bug/Error: Appimage file fails to load

ISSUE:
When launching the openscq30_gui-1.12.0-x86_64.AppImage version fo the app it fails to load. Activating the terminal, and I see that it throws the following error:

/tmp/.mount_openscruBWUq/usr/bin/openscq30_gui: symbol lookup error: /tmp/.mount_openscruBWUq/usr/bin/openscq30_gui: undefined symbol: adw_navigation_view_get_type, version LIBADWAITA_1_0

EXPECTED BEHAVIOR:
OpenSCQ30 program opens without issue.

STEPS TO REPRODUCE:

  1. Download openscq30_gui-1.12.0-x86_64.AppImage from release page of this repository.
  2. Execute the file.

SYSTEM INFORMATION:
Irrelevant, it's an AppImage but just in case:
ArchLinux
Kernel 6.8.9-arch1-2 (64-bit)
KDE Plasma 6.0.4

COMMENTS:
As I undersetan AppImages, they should be self contained and have packaged everything needed to run the application, however when something is missing it will reach out to the host system to find what it needs. In my case, I have the libadwaita package on my system, but it's version 1:1.5.0-1. It looks like the appimage is exepcting 1.0. I'm going to open up the file and see what I can find.

Liberty Air 2

Hello Id like to add my device to the request for support. Thanks.

Test `ui::` (...) `::test_slider_changes_text` is locale-dependant.

Details

  • Platform: Linux
  • OpenSCQ30 version: 1.10.3

Description

It seems that cargo make test will always fail for my locale, since the test ui::widgets::equalizer_settings::volume_slider::tests::test_slider_changes_text reliably fails for me on locale pl_PL.UTF8. By looking at the logs produced when running all of the tests, it looks like that this is due to my locale having a comma (,) as a float number separator instead of a dot (.). I guess many other locales might have different rules for this as well, maybe there's a way to expect from the program the locale-dependant value (on the right side of the assert call) or convert the left-side value to the value at the specific locale?

I should also mention that as of the workaround to force tests to succeed, or to reliably test it in Linux, the one could use LC_ALL or/and LANG env vars to override the locale for the program. For instance, with LC_ALL=C LANG=C cargo make test a failure within this test no longer occurs.

Console / Logs

thread '<unnamed>' panicked at gui/src/ui/widgets/equalizer_settings/volume_slider.rs:155:9:
assertion `left == right` failed
  left: "1,0"
 right: "1.0"
stack backtrace:
   0:     0x55d5874c4c5c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x55d5874c4c5c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55d5874c4c5c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x55d5874c4c5c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x55d5874ef290 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
   5:     0x55d5874ef290 - core::fmt::write::h3a39390d8560d9c9
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
   6:     0x55d5874c241f - std::io::Write::write_fmt::h5fc9997dfe05f882
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
   7:     0x55d5874c4a44 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x55d5874c4a44 - std::sys_common::backtrace::print::h23a2d212c6fff936
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x55d5874c6707 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
  10:     0x55d5874c646f - std::panicking::default_hook::h6038f2eba384e475
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:292:9
  11:     0x55d5873d4467 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
  12:     0x55d5873d4467 - test::test_main::{{closure}}::h7500b54257359db6
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
  13:     0x55d5874c6d18 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
  14:     0x55d5874c6d18 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
  15:     0x55d5874c6a6e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
  16:     0x55d5874c5126 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
  17:     0x55d5874c67d2 - rust_begin_unwind
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
  18:     0x55d5871e76e5 - core::panicking::panic_fmt::hbf0e066aabfa482c
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
  19:     0x55d5871e7b3b - core::panicking::assert_failed_inner::h0bba8b7c26ee4492
  20:     0x55d587290982 - core::panicking::assert_failed::h03d840153c686499
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:279:5
  21:     0x55d5872d377a - openscq30_gui::ui::widgets::equalizer_settings::volume_slider::tests::test_slider_changes_text::{{closure}}::h6cf2a4a739f50228
                               at (...)/OpenSCQ30-1.10.3/gui/src/ui/widgets/equalizer_settings/volume_slider.rs:155:9
  22:     0x55d58734b73c - std::panicking::try::do_call::h783c9db7fa6d1287
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
  23:     0x55d58734f75b - __rust_try
  24:     0x55d58734a066 - std::panicking::try::he585de35cfaee3b7
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
  25:     0x55d58720bf86 - std::panic::catch_unwind::he354dc0965830b1e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
  26:     0x55d587285353 - gtk4::test_synced::{{closure}}::h6d13068205cb0cb8
                               at /home/spacingbat3/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/lib.rs:72:21
  27:     0x55d5872bc833 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h441237a08cbd3d79
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
  28:     0x55d58734c3f0 - std::panicking::try::do_call::hff86f5ac6e8ca783
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
  29:     0x55d58734f75b - __rust_try
  30:     0x55d58734a35e - std::panicking::try::hea9409384cdfeb38
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
  31:     0x55d58720bcf3 - std::panic::catch_unwind::hc2a57ed698afbba0
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
  32:     0x55d587304cea - glib::thread_pool::ThreadPool::push::{{closure}}::he241ecf36240f97b
                               at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.18.5/src/thread_pool.rs:87:33
  33:     0x55d587290f0e - core::ops::function::FnOnce::call_once{{vtable.shim}}::h20f013c7d25599ba
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
  34:     0x55d58747a1b8 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2ab91f7d0c173fdf
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
  35:     0x55d58747a243 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha0ee50bc2e38ec30
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
  36:     0x55d58748a1e1 - glib::thread_pool::spawn_func::hb6486a11f61b46b9
                               at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.18.5/src/thread_pool.rs:219:5
  37:     0x7f92c6e304e3 - <unknown>
  38:     0x7f92c6e2da05 - <unknown>
  39:     0x7f92c6b5f9eb - <unknown>
  40:     0x7f92c6be37cc - <unknown>
  41:                0x0 - <unknown>

rust panic

Running arch linux with rustc 1.74.0 stable. The gui version is not showing devices and the cli version panics:
`openscq30_cli -V
openscq30_cli 1.8.0

openscq30_cli list-devices

thread 'main' panicked at /home/max/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/blocking/shutdown.rs:51:21:
Cannot drop a runtime in a context where blocking is not allowed. This happens when a runtime is dropped from within an asynchronous context.
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace`

Custom settings exposed through Presets but not under General on Q30

When using 1.6.0 with the Soundcore Q30, the switch for Transparency and ANC tunable are exposed through the Presets UI, but Live settings only allow selecting stock options.

Since the additional controls are missing, activating a Preset that uses Custom ANC also causes all the options in the radio switch under General to become deselected.

Either Q30 supports those modes and General should display the relevant settings, or the extra options should be hidden under Presets.

Desktop app listing non-Anker devices

I've just upgraded the Desktop app from 1.3.0 to 1.5.1, and now I can see other, non-Anker BT devices.

As I recall you mentioning a switch from filtering BT MACs to device names, I am wondering whether this is intended or a bug?

PS: this does not happen on Android with 1.5.0.

"No devices found"

First! \o/

I'm trying to try OpenSCQ30 but it's not picking up my Q30 at all. The device is paired, appears to be working correctly, the OEM app works, but OpenSCQ30 keeps not finding anything.

Looking at my logcat I have multiple:

E CarrierPrivilegesTracker Unable to find uid for package com.oppzippy.openscq30 and user 10
E AppInfoDashboard com.oppzippy.openscaq30 not found for user: 10
W PackageConfigPersister App-specific configuration not found for packageName: com.oppzippy.openscq30 and UserId: 0

LOS 20 (Android 13). Shelter is installed, work profile stays mostly off.

[Suggestion] Silent Notification with status and controls

One of the features I like the most in the Jabra Sound+ app is this silent notification that offers information at a glance, and a quick way to switch device modes.

For the Q30 it would be super nice to have a quick switch for EQ modes, as I'm alternating between the default signature eq and custom.

The reason is, when used with the PC, I select signature eq so that EQ APO can apply oratory1990's full set of corrections, whereas on mobile I'm most often using custom mode which, while being worse sounding, is good enough for podcasts without the extra power cost that comes with JamesDSP.

The Jabra app also implements "moments" which are essentially presets. E.g. you could define "PC preset" which equates to Transparency + Sig EQ, and a "Mobile Preset", say Custom Profile 1 + ANC.

As a sidenote, it would also be nice, regardless of this feature, to be able to select a specific custom EQ profile directly, without having to select custom first and then the profile.

Here's a couple screenshots of the notification:

Soundllus_expanded
Soundplus_collapsed

Life P3 error

Hullo. I'm not technically inclined, first time posting on Github, be nice pls

I got a block of code in command prompt that the specified file tried to run was not found; after a few seconds, it opened. Me installing it somewhere other than the default folder, maybe. In any case, upon finding my device, connected via Bluetooth, it returned "Device BLE characteristic not found". Is there any way this can be fixed? I'd love to learn too

 ←[2m2024-01-20T18:13:44.796044Z←[0m ←[33m WARN←[0m  ←[33minitial load of settings file failed: Failed to load config

Caused by:
    0: get config file
    1: open file C:\Users\User\AppData\Roaming\OpenSCQ30\config.toml for Read
    2: The system cannot find the file specified. (os error 2)←[0m
    ←[2;3mat←[0m gui\src\main.rs:195

  ←[2m2024-01-20T18:13:53.527482Z←[0m ←[31mERROR←[0m  ←[31mselect device

Caused by:
    characteristic `00008888-0000-1000-8000-00805f9b34fb` not found: None←[0m
    ←[2;3mat←[0m gui\src\main.rs:273

  ←[2m2024-01-20T18:14:26.366412Z←[0m ←[31mERROR←[0m  ←[31mselect device

Caused by:
    characteristic `00008888-0000-1000-8000-00805f9b34fb` not found: None←[0m
    ←[2;3mat←[0m gui\src\main.rs:273

Auto start on device connect / Auto stop on disconnect?

Most manufacturer apps detect whenever their device connects/disconnect, thus display/hide the relevant notification, saving the user the hassle to run/terminate the app manually.

This would also more or less require the app to acquire the ability to connect automatically, instead of relying on the user selecting the device manually on every start-up.

Not sure how much work this might entail, but I see there is already a DeviceService so perhaps not an outlandish idea, and it would address the major 'workflow' hiccup in the app.

Q35 verified working

Tested whether Soundcore Life Q35 headphones functioned properly with OpenSCQ30 app. A few issues noted under "Actual behaviour."
Just performed a quick connectivity and music quality test, hope to have additional updates later on.

Your environment

  • Samsung Galaxy S20 5G
  • Samsung OneUI 5.1 / Android 13
  • Android security patch level: Oct. 1, 2023
  • OpenSCQ30 1.8.0 downloaded from IzzyOnDroid via Droid-ify / F-Droid

Steps to reproduce

Turn on paired Soundcore Q35 Bluetooth headphones, open app.
Select "Soundcore Life Q35" device, listed by name and Bluetooth address

Expected behaviour

Expected app to function without issue on the pre-paired Q35 headphones.

Actual behaviour

App functioned more or less as expected:

  • Occasional latency making the Bluetooth connection is the most obvious thing I noticed.
  • Sometimes it's quicker just to hit "back" and select the device again, after which it will often open settings immediately.
  • Quick profiles don't seem to be working, but needs further testing before I can say for sure.
  • Noticed some audio distortion during phone call (could easily have been the signal), as well as when switching between recent apps. I haven't been able to reproduce this last issue, will keep testing.

~ SunDevil311

Screenshot_20231022_145612_OpenSCQ30.png

Screenshot_20231022_141334_OpenSCQ30.png

Life P3 working

Hi there,

Thanks for your amazing work! As the README says that P3 status is unknown, I can confirm that is working at least on Android app and webversion.

The only thing is that if some time has passed since the connection, OpenSCQ30 won't connect to the device. I don't know if this a known issue; anyway, just with opening the app just after the Bluetooth connection with the phone everything works.

I'll try this weekend to test on Windows and Linux, and if it is possible, with Mac.

Thanks again

Multipoint issues?

I've noticed that it's not possible to connect two instances of OpenSCQ30 at the same time while using multipoint. Is this an app or device limitation?

BTW I am also experiencing multipoint connection troubles that can currently only be solved by closing the Bluetooth connection on the secondary device (and possibly restarting the whole primary connection).

This seems to only happen when OpenSCQ30 is connected from the secondary device but streaming on primary. On my buds from another manufacturer managing the device from the secondary BT master has never been a problem.

Not sure if this might be a Q30 issue, rather than the app's, yet, though.

How to get in touch?

Hello!
Nice work! Good job using Rust where it's best suited. How can I get in touch with you(email, discord, etc)?

Btw, I am working on a very similar project 😄

P20i

Any chance of getting support for the P20i??

Improving disconnection handling on Desktop?

Whenever the Q30 is disconnected and reconnected, even without disabling BT on the host, it seems like there is no way around closing and re-launching the program.

The settings window remains open but any changes to the controls simply result in an error message, whereas if I recall correctly, at least the mobile version drops back to the device selection screen, or perhaps the app is stopped and restarted by the OS ?

Increasing downward slider extension

To tame the exuberant bass on the Q30, I'm currently using JamesDSP which is great but uses significant amounts of power.

This AutoEQ profile reins in most of the excesses however it applies almost -20 dB of attenuation.

Would it be possible to have an option for extending the slider strength that much down?

Mind, it's not generally regarded as a good idea to boost bands all that much (going too far introduces distortion), so the upwards extension could probably be limited to +6 as in the official app.

The total extension would then be about the same you'd have with a +12/-12 range, at the same time making the most of it by offering actual usable range.

What says you?

Imagepipe_12

Life Q30 failing to parse packets

Hi! im pretty new here so mabe this is an easy fix i just dont understand.
I am trying to connect to my Life Q30 headset but it keeps failing when i press the connect button.
this is the log i get:

2024-01-22T18:49:05.935418Z  INFO  Services already resolved.
   at /run/build/openscq30_gui/cargo/vendor/bluez-async-0.7.2/src/lib.rs:696

 2024-01-22T18:49:06.175122Z  WARN  failed to parse packet: Error(VerboseError { errors: [([69, 56], Nom(MapOpt)), ([67, 67, 69, 69, 69, 56], Context("custom button model")), ([4, 0, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 255, 255, 255, 48, 51, 46, 53, 48, 51, 48, 50, 56, 65, 50, 51, 67, 52, 52, 67, 67, 69, 69, 69, 56], Context("a3945 state update packet")), ([4, 0, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 255, 255, 255, 48, 51, 46, 53, 48, 51, 48, 50, 56, 65, 50, 51, 67, 52, 52, 67, 67, 69, 69, 69, 56], Nom(Alt))] })
   at lib/src/soundcore_device/device/soundcore_device.rs:144

 2024-01-22T18:49:07.117029Z  WARN  fetch_initial_state: didn't receive response after 1 second on try #0
   at lib/src/soundcore_device/device/soundcore_device.rs:157

 2024-01-22T18:49:07.175102Z  WARN  failed to parse packet: Error(VerboseError { errors: [([69, 56], Nom(MapOpt)), ([67, 67, 69, 69, 69, 56], Context("custom button model")), ([4, 0, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 255, 255, 255, 48, 51, 46, 53, 48, 51, 48, 50, 56, 65, 50, 51, 67, 52, 52, 67, 67, 69, 69, 69, 56], Context("a3945 state update packet")), ([4, 0, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 255, 255, 255, 48, 51, 46, 53, 48, 51, 48, 50, 56, 65, 50, 51, 67, 52, 52, 67, 67, 69, 69, 69, 56], Nom(Alt))] })
   at lib/src/soundcore_device/device/soundcore_device.rs:144

it logs the same thing 2 more times (3 trys of connecting) and then gives:

 2024-01-22T18:49:09.124713Z ERROR  select device

Caused by:
    device didn't respond to request
    at gui/src/main.rs:273

i am using the newest flatpack version of the app on debian.
any help would be appreciated! thanks.

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.