Merge ~kzapalowicz/snappy-hwe-snaps/+git/bluez:feature/use-uhid into ~snappy-hwe-team/snappy-hwe-snaps/+git/bluez:master
- Git
- lp:~kzapalowicz/snappy-hwe-snaps/+git/bluez
- feature/use-uhid
- Merge into master
Status: | Merged |
---|---|
Approved by: | Simon Fels |
Approved revision: | d1aea280899be3961db74b1f4eebf91856619240 |
Merged at revision: | cf306c3dd10466d5434e8fe47f7de17d92bbc1d0 |
Proposed branch: | ~kzapalowicz/snappy-hwe-snaps/+git/bluez:feature/use-uhid |
Merge into: | ~snappy-hwe-team/snappy-hwe-snaps/+git/bluez:master |
Diff against target: |
48 lines (+6/-3) 3 files modified
snapcraft.yaml (+2/-1) tests/lib/utilities.sh (+3/-2) tests/main/installation/task.yaml (+1/-0) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
System Enablement Bot | continuous-integration | Approve | |
Simon Fels | Approve | ||
Jim Hodapp (community) | Approve | ||
Review via email: mp+315108@code.launchpad.net |
Commit message
Use uhid interface of snapd.
The HoG [HID over GATT] Bluetooth profile interacts with the HID
subsystem through the UHID driver. The HoG traffic is filtered-out
from the other LE traffic in userspace and then injected back to the
kernel. To handle this new traffic a new module called uHID has been
created.
Now, without the access to /dev/uhid it is not possible to use LE (a.k.a Smart) HID devices (keyboards, mice) with Core systems.
This commit makes sure that the bluez snap connects to the UHID slot
of snapd so that UHID can be used.
Fixes: https:/
Description of the change
Use uhid interface of snapd.
The HoG [HID over GATT] Bluetooth profile interacts with the HID
subsystem through the UHID driver. The HoG traffic is filtered-out
from the other LE traffic in userspace and then injected back to the
kernel. To handle this new traffic a new module called uHID has been
created.
Now, without the access to /dev/uhid it is not possible to use LE (a.k.a Smart) HID devices (keyboards, mice) with Core systems.
This commit makes sure that the bluez snap connects to the UHID slot
of snapd so that UHID can be used.
Fixes: https:/
Fixes: https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:3e4e8e3f393
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
Simon Fels (morphis) wrote : | # |
This also needs an update of the spread test to verify connection of the plug and an update to the snap-declaration in the store once a new revision is pushed.
Jim Hodapp (jhodapp) wrote : | # |
I'd like to see a better description of this change as to exactly why this is needed.
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:3e4e8e3f393
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:0358b739074
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:0358b739074
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:8a01ec1d46a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:8a01ec1d46a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:8a01ec1d46a
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:8a01ec1d46a
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:d1aea280899
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:d1aea280899
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:363e49ea95a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:363e49ea95a
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:363e49ea95a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:363e49ea95a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:363e49ea95a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:e596de2e681
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:e596de2e681
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:edee830d599
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:332540131ee
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:332540131ee
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:f1fcdf2fdf1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:f1fcdf2fdf1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:f1fcdf2fdf1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:f1fcdf2fdf1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:f1fcdf2fdf1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:f1fcdf2fdf1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:f1fcdf2fdf1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:f1fcdf2fdf1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:b6ee8394d8e
https:/
Executed test runs:
FAILURE: https:/
None: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:b763720fc8f
https:/
Executed test runs:
FAILURE: https:/
None: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:6c6fc5fe6a1
https:/
Executed test runs:
FAILURE: https:/
None: https:/
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
Simon Fels (morphis) wrote : | # |
The problem with the failing CI here simply is that when the bluez snap is download from the store and the snap-declaration assertion is fetched with it the uhid plug doesn't exist and therefor snapd can't auto connect it. The subsequent --dangerous install of the CI built .snap doesn't trigger the auto-connection as only signed snaps from the store will get those.
Its fine to escape for this by adding a
$ snap connect bluez:uhid
after the snap install --dangerous command in tests/lib/
System Enablement Bot (system-enablement-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:fbdeac98456
https:/
Executed test runs:
SUCCESS: https:/
None: https:/
SUCCESS: https:/
None: https:/
Click here to trigger a rebuild:
https:/
Preview Diff
1 | diff --git a/snapcraft.yaml b/snapcraft.yaml |
2 | index 68d01f7..fca7888 100644 |
3 | --- a/snapcraft.yaml |
4 | +++ b/snapcraft.yaml |
5 | @@ -14,7 +14,7 @@ grade: stable |
6 | apps: |
7 | bluetoothctl: |
8 | command: usr/bin/bluetoothctl |
9 | - plugs: [client] |
10 | + plugs: [client, uhid] |
11 | aliases: |
12 | - bluetoothctl |
13 | obexctl: |
14 | @@ -26,6 +26,7 @@ apps: |
15 | command: "usr/lib/bluetooth/bluetoothd -E" |
16 | daemon: simple |
17 | slots: [service] |
18 | + plugs: [uhid] |
19 | obex: |
20 | command: "usr/lib/bluetooth/obexd" |
21 | daemon: simple |
22 | diff --git a/tests/lib/utilities.sh b/tests/lib/utilities.sh |
23 | index ff2cef8..d2cc716 100644 |
24 | --- a/tests/lib/utilities.sh |
25 | +++ b/tests/lib/utilities.sh |
26 | @@ -22,10 +22,11 @@ install_snap_under_test() { |
27 | snap install --$SNAP_CHANNEL $SNAP_NAME |
28 | fi |
29 | else |
30 | - # Install first from store to avoid error when performing the connection |
31 | - snap install $SNAP_NAME |
32 | + # Install first from store to avoid error when performing the connection |
33 | + snap install $SNAP_NAME |
34 | # Install prebuilt snap |
35 | snap install --dangerous ${PROJECT_PATH}/${SNAP_NAME}_*_${SNAP_ARCH}.snap |
36 | + snap connect bluez:uhid :uhid |
37 | if [ -n "$SNAP_AUTO_ALIASES" ]; then |
38 | for alias in $SNAP_AUTO_ALIASES ; do |
39 | snap alias $SNAP_NAME $alias |
40 | diff --git a/tests/main/installation/task.yaml b/tests/main/installation/task.yaml |
41 | index 0fb2fb6..8b0fb36 100644 |
42 | --- a/tests/main/installation/task.yaml |
43 | +++ b/tests/main/installation/task.yaml |
44 | @@ -6,3 +6,4 @@ execute: | |
45 | |
46 | # Ensure all necessary plugs/slots are connected |
47 | snap interfaces | grep -Pzq "bluez:service +bluez:client" |
48 | + snap interfaces | grep -Pzq ":uhid +bluez" |
FAILED: Continuous integration, rev:3e4e8e3f393 34101759bdd8efd a83bde1ac825b0 /jenkins. canonical. com/system- enablement/ job/generic- build-snap/ 678/ /jenkins. canonical. com/system- enablement/ job/generic- run-snap- spread- tests/394/ console /jenkins. canonical. com/system- enablement/ job/generic- update- snap-mp/ 586/console
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild: /jenkins. canonical. com/system- enablement/ job/generic- build-snap/ 678/rebuild
https:/