diff options
Diffstat (limited to 'dynamic-layers/selinux/android-tools/android-tools-conf-configfs')
4 files changed, 70 insertions, 0 deletions
diff --git a/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf b/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf new file mode 100644 index 0000000..ddf155a --- /dev/null +++ b/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf | |||
@@ -0,0 +1,4 @@ | |||
1 | [Service] | ||
2 | ExecStartPre=/usr/bin/android-gadget-setup | ||
3 | ExecStartPost=/usr/bin/android-gadget-start | ||
4 | ExecStopPost=/usr/bin/android-gadget-cleanup | ||
diff --git a/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-cleanup b/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-cleanup new file mode 100644 index 0000000..517227d --- /dev/null +++ b/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-cleanup | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | [ -d /sys/kernel/config/usb_gadget ] || exit 0 | ||
4 | |||
5 | cd /sys/kernel/config/usb_gadget | ||
6 | |||
7 | cd adb | ||
8 | |||
9 | echo "" > UDC || true | ||
10 | |||
11 | killall adbd || true | ||
12 | |||
13 | umount /dev/usb-ffs/adb | ||
14 | |||
15 | rm configs/c.1/ffs.usb0 | ||
16 | |||
17 | rmdir configs/c.1/strings/0x409 | ||
18 | rmdir configs/c.1 | ||
19 | |||
20 | rmdir functions/ffs.usb0 | ||
21 | rmdir strings/0x409 | ||
22 | |||
23 | cd .. | ||
24 | rmdir adb | ||
diff --git a/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-setup b/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-setup new file mode 100644 index 0000000..e44d1ba --- /dev/null +++ b/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-setup | |||
@@ -0,0 +1,35 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | set -e | ||
4 | |||
5 | manufacturer=RPB | ||
6 | model="Android device" | ||
7 | serial=0123456789ABCDEF | ||
8 | |||
9 | if [ -r /etc/android-gadget-setup.machine ] ; then | ||
10 | . /etc/android-gadget-setup.machine | ||
11 | fi | ||
12 | |||
13 | [ -d /sys/kernel/config/usb_gadget ] || modprobe libcomposite | ||
14 | |||
15 | cd /sys/kernel/config/usb_gadget | ||
16 | |||
17 | [ -d adb ] && /usr/bin/android-gadget-cleanup || true | ||
18 | |||
19 | mkdir adb | ||
20 | cd adb | ||
21 | |||
22 | mkdir configs/c.1 | ||
23 | mkdir functions/ffs.usb0 | ||
24 | mkdir strings/0x409 | ||
25 | mkdir configs/c.1/strings/0x409 | ||
26 | echo 0x18d1 > idVendor | ||
27 | echo 0xd002 > idProduct | ||
28 | echo "$serial" > strings/0x409/serialnumber | ||
29 | echo "$manufacturer" > strings/0x409/manufacturer | ||
30 | echo "$model" > strings/0x409/product | ||
31 | echo "Conf 1" > configs/c.1/strings/0x409/configuration | ||
32 | ln -s functions/ffs.usb0 configs/c.1 | ||
33 | |||
34 | mkdir -p /dev/usb-ffs/adb | ||
35 | mount -t functionfs usb0 /dev/usb-ffs/adb | ||
diff --git a/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-start b/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-start new file mode 100644 index 0000000..ca6c3df --- /dev/null +++ b/dynamic-layers/selinux/android-tools/android-tools-conf-configfs/android-gadget-start | |||
@@ -0,0 +1,7 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | set -e | ||
4 | |||
5 | sleep 3 | ||
6 | |||
7 | ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/adb/UDC | ||