IanHarvey / bluepy

Python interface to Bluetooth LE on Linux
Other
1.61k stars 490 forks source link

Give the user a hint the first time they encounter a permision error. #471

Open klenze opened 2 years ago

klenze commented 2 years ago

"Permission Error", without the information precisely which system/library call failed with which arguments is not all that helpful (and figuring out what exactly fails is not straightforward [1]), so after printing the error reply, point users to #313, which is likely the cause.

(Alternatively, one could also check capabilities during startup, e.g. using capget(2) or libcap. Might by worth it if any command a user can run needs these capabilities.)

-- [1] strace shows (apparently successful) interactions with both an eventfd (glib event loop related?) and a socket (the actual bluetooth stuff).