Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specific Lovense LUSH3 causing exception (and Hush and Lapis) #601

Open
DavidNorman opened this issue Jan 3, 2024 · 9 comments
Open

Specific Lovense LUSH3 causing exception (and Hush and Lapis) #601

DavidNorman opened this issue Jan 3, 2024 · 9 comments
Assignees
Labels

Comments

@DavidNorman
Copy link

Describe the bug
I have 2 Lovense Lush 3 devices. One works well with buttplug.io, but the other one causes an exception when it is scanned.
Sadly I cannot remember which I bought recently. One has the device string LVS-Lush, and the other LVS-Lush352.

The one with 352 works with your system, the other one does not.

the 352 one has one service, starting 53300001
the non working one has two services, one as above, and one starting 984227f3. this one still only advertises the 53300001 service, but that service is the second in the enumerated list of services if that makes any difference.

Expected behavior
Both should function identically.

Actual behavior
When scanning one, an exception occurs in some worker thread and the system stops.

Additional context
Add any other context about the problem here.
Screenshot 2024-01-03 at 20 45 00

@DavidNorman
Copy link
Author

the one which doesn't work also has a couple of extra generic type characteristics, like the manufacturer name

@DavidNorman
Copy link
Author

the same issue happens with my relatively new Lapis toy. It has the same extra services and the same extra characteristics, although the error is very slightly different.

Screenshot 2024-01-03 at 21 05 23

@DavidNorman
Copy link
Author

Maybe the "questionable assumptions" are not valid, although i don't know enough about Bluetooth to know:

    fn check_discovered(&mut self) {
        // It's time for QUESTIONABLE ASSUMPTIONS.
        //
        // For sake of being lazy, we don't want to fire device connection until
        // we have all of our services and characteristics. We assume that
        // set_characteristics should be called once for every entry in the
        // service map. Once that's done, we're filled out enough and can send
        // back a Connected reply to the waiting future with all of the
        // characteristic info in it.
        if !self.services.values().any(|service| !service.discovered) {
            if self.connected_future_state.is_none() {
                panic!("We should still have a future at this point!");
            }

@DavidNorman
Copy link
Author

DavidNorman commented Jan 3, 2024

This is the log from before the error. This is actually the log from a relatively new Lovense Lapis.

Screenshot 2024-01-03 at 21 35 50

@DavidNorman
Copy link
Author

I note that the required service is the right one (starting 553000001) and the characteristics that it finds are also the right ones.

@DavidNorman
Copy link
Author

DavidNorman commented Jan 4, 2024

Now i've seen a similar thing happen with the one that works. I am on a MacBook Air 7.2, running MacOS 10.15.7

It seems unlikely but could the machine be failing to service something in time?

nevertheless, the newer toys (including my Hush as well) all cause the problem during connection, while the older one does not.

@DavidNorman DavidNorman changed the title Lovense LUSH3 not supported Specific Lovense LUSH3 causing exception (and Hush and Lapis) Jan 4, 2024
@garryrot
Copy link

I noticed the same issue for the Hush 2 on MacOS (11.7.10) on an old Macbook Air from (2013).

Intiface App Version 2.5.5.
Device Config Version 2.25

1a51c3a70763375050be47797553487d06e267ee5654692ae35b71afafb77ebc

Seems to be MacOS specific, as it works on Windows.

@qdot
Copy link
Member

qdot commented Mar 14, 2024

Ok hmm. I guess we've got some sort of race issue down in btleplug. I'll try to check it out soon.

@qdot
Copy link
Member

qdot commented Apr 4, 2024

Not sure why this got closed? It's not fixed yet. I've at least made a followup on btleplug.

@qdot qdot reopened this Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants