on boot
# unmap left alt to avoid console switch
    setkey 0x0 0x38 0x0
# device reset SEND+MENU+END
    setkey 0x0 0xe7 0x706
    setkey 0x0 0x8b 0x707

    setkey 0x40 0xe7 0x706
    setkey 0x40 0x8b 0x707

    setkey 0x80 0xe7 0x706
    setkey 0x80 0x8b 0x707

    setkey 0xc0 0xe7 0x706
    setkey 0xc0 0x8b 0x707
    setkey 0xc0 0x6b 0x20c

    mkdir /data/misc/wifi 0770 wifi wifi
    mkdir /data/misc/wifi/sockets 0770 wifi wifi
    mkdir /data/misc/dhcp 0770 dhcp dhcp
    chown dhcp dhcp /data/misc/dhcp

    chown radio system /sys/module/gpio_event/parameters/phone_call_status
    chmod 0664 /sys/module/gpio_event/parameters/phone_call_status

    # write screen calibration
    write /sys/class/input/input1/calibration_points 837,864,166,859,507,503,844,142,167,142

    # bluetooth power up/down interface
    chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
    chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
    chmod 0660 /sys/class/rfkill/rfkill0/state

    chown radio radio /sys/class/htc_ecompass/ecompass/PhoneOnOffFlag

    # Permissions for Liblights.
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/green/blink
    chown system system /sys/class/leds/amber/brightness
    chown system system /sys/class/leds/amber/blink
    chown system system /sys/class/leds/button-backlight/brightness
    chown system system /sys/class/leds/lcd-backlight/brightness

    # CPU_Scaling Governor make permissions
    chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    # Set idle_sleep_mode permissions to radio
    chown radio radio /sys/module/pm/parameters/idle_sleep_mode

    # mount tmp cache system to speed up photo taking
    mkdir /cache/tmp 0666 system system
    mount tmpfs tmpfs /cache/tmp

    # revise fb0 permission for copybit
    chmod 0666 /dev/graphics/fb0

    # cpufreq configurations
    write /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate 50000
    write /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold 90

    # performance tweaks for flash
    write /sys/block/mtdblock3/bdi/read_ahead_kb 4
    write /sys/block/mtdblock4/bdi/read_ahead_kb 4
    write /sys/block/mtdblock5/bdi/read_ahead_kb 4

    # increase read throughput from sd card
    write /sys/block/mmcblk0/bdi/read_ahead_kb 1024

    # enable low memory killer to check file pages
    write /sys/module/lowmemorykiller/parameters/minfree 3584,4096,8192,10240,11264,12288
    write /sys/module/lowmemorykiller/parameters/minfile 0,0,0,5120,5632,6144
    write /sys/module/lowmemorykiller/parameters/check_filepages 1

    write /proc/sys/kernel/sched_latency_ns 5000000
    write /proc/sys/kernel/sched_wakeup_granularity_ns 100000
    write /proc/sys/kernel/sched_min_granularity_ns 100000

    # Assign TCP buffer thresholds to be ceiling value of technology maximums
    # Increased technology maximums should be reflected here.
    write /proc/sys/net/core/rmem_max 262144
    write /proc/sys/net/core/wmem_max 262144

    setrlimit 8 268435456 268435456

# compass/accelerometer daemon
service akmd /system/bin/akmd
    class main
    user compass
    group compass misc input

service calibrate_screen /system/bin/calibrate_screen
    class main
    user root
    group root
    oneshot

service wlan_loader /system/bin/wlan_loader \
    -f /system/etc/wifi/Fw1251r1c.bin -e /proc/calibration \
    -i /system/etc/wifi/tiwlan.ini
    class main
    disabled
    oneshot

service wpa_supplicant /system/bin/wpa_supplicant \
    -Dtiwlan0 -itiwlan0 -c/data/misc/wifi/wpa_supplicant.conf -q
#   we will start as root and wpa_supplicant will switch to user wifi
#   after setting up the capabilities required for WEXT
    class main
#   user wifi
#   group wifi inet keystore
    socket wpa_tiwlan0 dgram 660 wifi wifi
    disabled
    oneshot

service dhcpcd_tiwlan0 /system/bin/dhcpcd -ABKL
    class main
    disabled
    oneshot

service iprenew_tiwlan0 /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service hciattach /system/bin/hciattach \
    -n -s 115200 /dev/ttyHS0 texasalt 4000000 flow
    class main
    user bluetooth
    group bluetooth net_bt_admin
    disabled

# bugreport is triggered by the KEY_BACK and KEY_MENU keycodes
service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport
    class main
    disabled
    oneshot
    keycodes 158 139
