From 83a4667ec537da8ac5ffac8eb17f26f8fd327127 Mon Sep 17 00:00:00 2001 From: Thierry Strudel Date: Mon, 7 Nov 2016 15:28:24 -0800 Subject: [PATCH] muskie: enable BT Change-Id: I633a7b050941a34e1dc131cdd9f18f6444b2644e Signed-off-by: Thierry Strudel --- init.hardware.rc | 19 +++++++++++++++++++ sepolicy/bluetooth.te | 6 ++++++ sepolicy/file_contexts | 1 + sepolicy/property.te | 1 + sepolicy/property_contexts | 1 + sepolicy/wcnss_filter.te | 6 ++++++ system.prop | 9 +++++++++ ueventd.hardware.rc | 5 ++++- 8 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 sepolicy/bluetooth.te create mode 100644 sepolicy/property.te create mode 100644 sepolicy/property_contexts create mode 100644 sepolicy/wcnss_filter.te diff --git a/init.hardware.rc b/init.hardware.rc index 71c8538..a98d9e7 100644 --- a/init.hardware.rc +++ b/init.hardware.rc @@ -207,6 +207,13 @@ on boot # Increased technology maximums should be reflected here. write /proc/sys/net/core/rmem_max 8388608 + # Bluetooth + chown bluetooth net_bt /sys/class/rfkill/rfkill0/type + chown bluetooth net_bt /sys/class/rfkill/rfkill0/state + chmod 0660 /sys/class/rfkill/rfkill0/state + chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo + chmod 0660 /sys/class/rfkill/rfkill0/device/extldo + service init-radio-sh /system/bin/init.radio.sh class late_start user radio @@ -378,3 +385,15 @@ service port-bridge /vendor/bin/port-bridge user radio group radio system inet oneshot + +on property:wc_transport.start_hci=true + start hci_filter + +on property:wc_transport.start_hci=false + stop hci_filter + +service hci_filter /vendor/bin/wcnss_filter + class late_start + user bluetooth + group bluetooth diag + disabled diff --git a/sepolicy/bluetooth.te b/sepolicy/bluetooth.te new file mode 100644 index 0000000..851b715 --- /dev/null +++ b/sepolicy/bluetooth.te @@ -0,0 +1,6 @@ +allow bluetooth wcnss_filter:unix_stream_socket connectto; + +set_prop(bluetooth, wc_prop) + +# Allow access to net_admin ioctls +allowxperm bluetooth self:udp_socket ioctl priv_sock_ioctls; diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index c1f7174..a3e7240 100644 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -60,6 +60,7 @@ /system/vendor/bin/cnss_diag u:object_r:wcnss_service_exec:s0 /system/vendor/bin/netmgrd u:object_r:netmgrd_exec:s0 /system/vendor/bin/port-bridge u:object_r:port-bridge_exec:s0 +/system/vendor/bin/wcnss_filter u:object_r:wcnss_filter_exec:s0 # data files /data/time(/.*)? u:object_r:time_data_file:s0 diff --git a/sepolicy/property.te b/sepolicy/property.te new file mode 100644 index 0000000..d97724c --- /dev/null +++ b/sepolicy/property.te @@ -0,0 +1 @@ +type wc_prop, property_type; diff --git a/sepolicy/property_contexts b/sepolicy/property_contexts new file mode 100644 index 0000000..5811b9a --- /dev/null +++ b/sepolicy/property_contexts @@ -0,0 +1 @@ +wc_transport. u:object_r:wc_prop:s0 diff --git a/sepolicy/wcnss_filter.te b/sepolicy/wcnss_filter.te new file mode 100644 index 0000000..dc89927 --- /dev/null +++ b/sepolicy/wcnss_filter.te @@ -0,0 +1,6 @@ +type wcnss_filter, domain; +type wcnss_filter_exec, exec_type, file_type; + +init_daemon_domain(wcnss_filter) + +set_prop(wcnss_filter, wc_prop) diff --git a/system.prop b/system.prop index 3169e9d..1e1a531 100644 --- a/system.prop +++ b/system.prop @@ -82,3 +82,12 @@ persist.data.df.dev_name=rmnet_usb0 persist.data.netmgrd.qos.enable=true persist.data.mode=concurrent +#system prop for Bluetooth SOC type +qcom.bluetooth.soc=cherokee + +#system prop for A4WP profile support +ro.bluetooth.a4wp=false + +#system prop for wipower support +ro.bluetooth.emb_wp_mode=true +ro.bluetooth.wipower=true diff --git a/ueventd.hardware.rc b/ueventd.hardware.rc index 7ebdb39..fe2258a 100644 --- a/ueventd.hardware.rc +++ b/ueventd.hardware.rc @@ -81,8 +81,11 @@ /dev/subsys_* 0640 system system # Ramdump devices -/dev/ramdump_* 0640 system system +/dev/ramdump_* 0640 system system #ImproveTouch device /dev/hbtp_input 0660 system system /dev/hbtp_vm 0660 system system + +# BT +/dev/ttyHS0 0660 bluetooth net_bt