qca6234-service.sh 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #! /vendor/bin/sh
  2. # Copyright (c) 2010-2014, The Linux Foundation. All rights reserved.
  3. #
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions are
  6. # met:
  7. # * Redistributions of source code must retain the above copyright
  8. # notice, this list of conditions and the following disclaimer.
  9. # * Redistributions in binary form must reproduce the above
  10. # copyright notice, this list of conditions and the following
  11. # disclaimer in the documentation and/or other materials provided
  12. # with the distribution.
  13. # * Neither the name of The Linux Foundation nor the names of its
  14. # contributors may be used to endorse or promote products derived
  15. # from this software without specific prior written permission.
  16. #
  17. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
  18. # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  19. # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
  20. # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
  21. # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  22. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  23. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  24. # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  25. # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  26. # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  27. # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28. # Check whether device is plugged on the HSIC bus
  29. # Currently HSIC bus will be the first index
  30. PATH=/sbin:/system/sbin:/system/bin:/system/xbin
  31. export PATH
  32. deviceprop=`getprop ro.baseband`
  33. boardprop=`getprop ro.board.platform`
  34. if [ -e /sys/bus/platform/drivers/msm_hsic_host ]; then
  35. if [ ! -L /sys/bus/usb/devices/1-1 ]; then
  36. echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind
  37. fi
  38. chown -h system.system /sys/bus/platform/drivers/msm_hsic_host/bind
  39. chown -h system.system /sys/bus/platform/drivers/msm_hsic_host/unbind
  40. chmod -h 0200 /sys/bus/platform/drivers/msm_hsic_host/bind
  41. chmod -h 0200 /sys/bus/platform/drivers/msm_hsic_host/unbind
  42. fi
  43. wlanchip=""
  44. if [ "$deviceprop" == "apq" ] && [ "$boardprop" == "msm8974" ]; then
  45. wlanchip="AR6004-USB"
  46. fi
  47. # force ar6004 is ar6004_wlan.conf existed.
  48. if [ -f /system/etc/firmware/ath6k/AR6004/ar6004_wlan.conf ]; then
  49. wlanchip=`cat /system/etc/firmware/ath6k/AR6004/ar6004_wlan.conf`
  50. fi
  51. echo "The WLAN Chip ID is $wlanchip"
  52. if [ "$wlanchip" == "AR6004-USB" ]; then
  53. echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind
  54. setprop wlan.driver.ath 2
  55. setprop vendor.bluetooth.soc ath3k
  56. setprop wlan.driver.name /system/lib/modules/ath6kl-3.5/ath6kl_usb.ko
  57. setprop wlan.supp.template /system/etc/wifi/wpa_supplicant_ath6kl.conf
  58. btsoc="ath3k"
  59. elif [ "$wlanchip" == "AR6004-SDIO" ]; then
  60. setprop wlan.driver.ath 2
  61. setprop vendor.bluetooth.soc ath3k
  62. setprop wlan.driver.name /system/lib/modules/ath6kl-3.5/ath6kl_sdio.ko
  63. setprop wlan.supp.template /system/etc/wifi/wpa_supplicant_ath6kl.conf
  64. btsoc="ath3k"
  65. # Chown polling nodes as needed from UI running on system server
  66. chmod -h 0200 /sys/devices/msm_sdcc.1/polling
  67. chmod -h 0200 /sys/devices/msm_sdcc.2/polling
  68. chmod -h 0200 /sys/devices/msm_sdcc.3/polling
  69. chmod -h 0200 /sys/devices/msm_sdcc.4/polling
  70. chown -h system.system /sys/devices/msm_sdcc.1/polling
  71. chown -h system.system /sys/devices/msm_sdcc.2/polling
  72. chown -h system.system /sys/devices/msm_sdcc.3/polling
  73. chown -h system.system /sys/devices/msm_sdcc.4/polling
  74. fi