Page 1 of 1

A service discovery is already pending

Posted: Thu Jan 08, 2009 5:30 am
by stipus
Dear Franson support staff,

I have an end-user using Rocketfish Micro Bluetooth 2.1 EDR USB Adapter with Widcomm stack reporting "A service discovery is already pending" errors long after previous discovery should have ended.

I understand this error is reported by the lib if the application asks for a new service discovery when the previous discovery has not finished yet.

However, the timed detail log shows that the previous service discovery is stuck or something. Long after the first "already pending" errors, the lib still reports the same error when a service discovery is initiated. I have a log that shows the application is trying to discover new services every few minutes for several hours, and the result is always the same "already pending" error.

It looks like the lib or stack is stuck on the previous discovery.

The only solution he found is to restart the application... then it works fine until the first service discovery already pending error happens again.

Is there a way I could reset the library when I detect this error is happening several times when it shouldn't ?

Any other suggestion ?



RE: A service discovery is already pending

Posted: Thu Jan 08, 2009 10:21 am
by Jonas
Thanks for the report.
If it gets stuck in service discovery it's nothing you can do except restart the application.
Especially with Widcomm this is hard to work around as a stuck service discovery means that the bluetooth stack has problems. Even if this "lock" would be released, it's very uncertain if you would be able to run another service discovery anyway.


RE: A service discovery is already pending

Posted: Thu Jan 08, 2009 3:25 pm
by stipus
Thanks for your quick support.

I advised the end user to check if a Widcomm stack update was available for his hardware.

RE: A service discovery is already pending

Posted: Sat Jan 10, 2009 6:40 am
by SCKoman
Unless I am mistaken, this implementation does in fact utilize the extended inquiry response (EIR) in the discovery process. How does that affect things if at all?