Post Reply

[Q] Audio driver failure - Fix ?

10th March 2014, 04:20 AM   |  #1  
OP Member
Flag QC
Thanks Meter: 0
 
38 posts
Join Date:Joined: Jun 2011
Hi,


I experience an audio driver failure on one of my Android devices. Me and a more advanced Android user, by installing the boot animation "Live Logcat Live" (https://play.google.com/store/apps/d...ivelogcat.lite), we determined that this would also caused 19 times out of 20 a bootloop, before the audio driver couldn't initialize.

Here's one logcat I have, from after boot:

Too long to paste, here's a Dropbox TXT : https://dl.dropboxusercontent.com/u/...ogcat_boot.txt

We've determined that it might be an incompatibility with the kernel and the audio driver.

Later on, I rebooted in recovery mode (Android Recovery 3e, which does not allow to flash unsigned update.zip. I've applied a patch here to bypass the limitation, nothing broke, but I did not tested the flashing), and wipe /Cache. Surprisingly, the device booted, and that happened 1 times out of 20, while messing with the Reset button. And it's definitely not the first time I wipe /Cache and /Data... Well, the device rebooted, and this time, I DID had a sound effect for unlocking the screen (Which I didn't heard since months). But that's all, no sound after that. I have another Logcat saved right after that moment, if that can help:

Another TXT from Dropbox: https://dl.dropboxusercontent.com/u/...secondboot.txt

But now, what could I do ? I keep the device ON, but I don't know what to do to fix this. The Android device, on 2.2.1, is unknow, and there's no official/easy way to install a custom recovery or custom ROM. All I could do is flash zip files from Android Recovery 3e, that is if the patched worked as it should have.
The device is unlisted with ROM Manager of course, so CWM is not installable the easy way. A flashable image is nowhere to be found. Although yes, my device is rooted since 2011, with Z4Root.

Assuming I did had an Nandroid backup (No way to actually do the backup without a custom recovery), I'm not even sure restoring would fix such an issue... If it's a problem with a driver/kernel.

Here are the device SPECs :

Code:
ARMv7 Processor rev 5 )v7l) 800MHz (200 MHz-800 MHz)
Android ID : 65d3e923b8b46272
Model: Creative Earlgrey 2.2.1
Kernel: SDK 8 Linux Version 2.6.31
Could the kernel be reinstallable at all? It sounds really risky to do. Also dumped my current ROM, and got these files. Apparently worked:
checksum.md5
config.gz
system.info.gz
system.tar (108 MB)

If that can help, here's my init.rc file:

Code:
on init

sysclktz 0

loglevel 3

# setup the global environment
    export PATH /sbin:/system/sbin:/system/bin:/system/xbin
    export LD_LIBRARY_PATH /system/lib
    export ANDROID_BOOTLOGO 1
    export ANDROID_ROOT /system
    export ANDROID_ASSETS /system/app
    export ANDROID_DATA /data
    export EXTERNAL_STORAGE /mnt/sdcard
    export EXTERNAL_STORAGE_SD /mnt/sdcard
    export EXTERNAL_STORAGE_UDISK /mnt/udisk
    export EXTERNAL_STORAGE_EXTSD /mnt/extsd
    export ASEC_MOUNTPOINT /mnt/asec
    export SHM_MOUNTPOINT /mnt/shm
    export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar

    export BACKLIGHT_PATH /sys/class/backlight/tps60250/brightness
    export MAX_BACKLIGHT_PATH /sys/class/backlight/tps60250/max_brightness
    export VPU_FW_PATH /system/lib/firmware/vpu
    export CODEC_SHM_PATH /mnt/shm
    export GST_PLUGIN_PATH /system/lib/gst_plugins
    export CORE_REGISTER_FILE /system/etc/core_register
    export COMPONENT_REGISTER_FILE /system/etc/component_register
    export CONTENTPIPE_REGISTER_FILE /system/etc/contentpipe_register

    export BUILD_TARGET earlgrey

    export LOG_LEVEL 0
   
# Backward compatibility
    symlink /system/etc /etc
    symlink /sys/kernel/debug /d

# create mountpoints
#    mkdir /mnt 0775 root system
#    mkdir /mnt/sdcard 0000 system system
#    mkdir /mnt/udisk 0000 system system
#    mkdir /mnt/extsd 0000 system system

# Create cgroup mount point for cpu accounting
    mkdir /acct
    mount cgroup none /acct cpuacct
    mkdir /acct/uid

# Backwards Compat - XXX: Going away in G*
    symlink /mnt/sdcard /sdcard
    symlink /mnt/extsd /extsd
    symlink /mnt/udisk /udisk


#    mkdir /system
#    mkdir /data 0771 system system
    mkdir /cache 0770 system cache
    mkdir /config 0500 root root

    # Directory for putting things only root should see.
    mkdir /mnt/secure 0700 root root

    # Directory for staging bindmounts
    mkdir /mnt/secure/staging 0700 root root

    # Directory-target for where the secure container
    # imagefile directory will be bind-mounted
    mkdir /mnt/secure/asec  0700 root root

    # Secure container public mount points.
    mkdir /mnt/asec  0700 root system
    mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000

    # shared memory used by middleware
    mkdir /mnt/shm  0777 system graphics
    mount tmpfs tmpfs /mnt/shm mode=0777,uid=1000,gid=1003,size=1m

    #mount rootfs rootfs / ro remount

    #mkdir /factory 0751 system system
    mount tmpfs tmpfs /factory size=131072

    write /proc/sys/kernel/panic_on_oops 1
    write /proc/sys/kernel/hung_task_timeout_secs 0
    write /proc/cpu/alignment 4
    write /proc/sys/kernel/sched_latency_ns 10000000
    write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
    write /proc/sys/kernel/sched_compat_yield 1
    write /proc/sys/kernel/sched_child_runs_first 0

# Create cgroup mount points for process groups
    mkdir /dev/cpuctl
    mount cgroup none /dev/cpuctl cpu
    chown system system /dev/cpuctl
    chown system system /dev/cpuctl/tasks
    chmod 0777 /dev/cpuctl/tasks
    write /dev/cpuctl/cpu.shares 1024

    mkdir /dev/cpuctl/fg_boost
    chown system system /dev/cpuctl/fg_boost/tasks
    chmod 0777 /dev/cpuctl/fg_boost/tasks
    write /dev/cpuctl/fg_boost/cpu.shares 1024

    mkdir /dev/cpuctl/bg_non_interactive
    chown system system /dev/cpuctl/bg_non_interactive/tasks
    chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
    # 5.0 %
    write /dev/cpuctl/bg_non_interactive/cpu.shares 52

# Set permission for FSL device node
    chmod 0777 /dev/mxc_vpu
# allow access to uart port for gps module
    chmod 0777 /dev/ttymxc0
    chmod 0777 /dev/ttymxc1
    chmod 0777 /dev/ttymxc2

# for lcd driver work mode control
    chown system system /dev/ili9481
    chmod 0771 /dev/ili9481

# mount ext4 partitions
    # Mount /system rw first to give the filesystem a chance to save a checkpoint
    mount ext4 /dev/block/mmcblk0p2 /system
    mount ext4 /dev/block/mmcblk0p2 /system rw remount

    chmod 0555 /system/etc/install-recovery.sh

    mount ext4 /dev/block/mmcblk0p5 /data nosuid nodev
    chown system system /data
    chmod 0771 /data

    exec /system/etc/init.first_time.sh

    mount ext4 /dev/block/mmcblk0p2 /system ro remount

    # We chown/chmod /data again so because mount is run as root + defaults
    mount ext4 /dev/block/mmcblk0p5 /data nosuid nodev
    chown system system /data
    chmod 0771 /data

    # Create dump dir and collect dumps.
    # Do this before we mount cache so eventually we can use cache for
    # storing dumps on platforms which do not have a dedicated dump partition.
  
    mkdir /data/dontpanic
    chown root log /data/dontpanic
    chmod 0750 /data/dontpanic

    mkdir /data/synergy
    chown root log /data/synergy
    chmod 0777 /data/synergy

    # Collect apanic data, free resources and re-arm trigger
    copy /proc/apanic_console /data/dontpanic/apanic_console
    chown root log /data/dontpanic/apanic_console
    chmod 0640 /data/dontpanic/apanic_console

    copy /proc/apanic_threads /data/dontpanic/apanic_threads
    chown root log /data/dontpanic/apanic_threads
    chmod 0640 /data/dontpanic/apanic_threads

    write /proc/apanic_console 1

    # Same reason as /data above
    mount ext4 /dev/block/mmcblk0p6 /cache nosuid nodev
    chown system cache /cache
    chmod 0770 /cache

    # This may have been created by the recovery system with odd permissions
    chown system cache /cache/recovery
    chmod 0770 /cache/recovery

    #change permissions on vmallocinfo so we can grab it from bugreports
    chown root log /proc/vmallocinfo
    chmod 0440 /proc/vmallocinfo

    #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
    chown root system /proc/kmsg
    chmod 0400 /proc/kmsg
    chown root system /proc/sysrq-trigger
    chmod 0220 /proc/sysrq-trigger

# create basic filesystem structure
    mkdir /data/misc 01771 system misc
    mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
    mkdir /data/misc/bluetooth 0770 system system
    mkdir /data/misc/keystore 0700 keystore keystore
    mkdir /data/misc/vpn 0770 system system
    mkdir /data/misc/systemkeys 0700 system system
    mkdir /data/misc/vpn/profiles 0770 system system
    # give system access to wpa_supplicant.conf for backup and restore
    mkdir /data/misc/wifi 0770 wifi wifi
    chmod 0770 /data/misc/wifi
    chmod 0660 /data/misc/wifi/wpa_supplicant.conf
    mkdir /data/local 0771 shell shell
    mkdir /data/local/tmp 0771 shell shell
    mkdir /data/data 0771 system system
    mkdir /data/app-private 0771 system system
    mkdir /data/app 0771 system system
    mkdir /data/property 0700 root root
    mkdir /data/version 0770 root root

    # create dalvik-cache and double-check the perms
    mkdir /data/dalvik-cache 0771 system system
    chown system system /data/dalvik-cache
    chmod 0771 /data/dalvik-cache

    # create the lost+found directories, so as to enforce our permissions
    mkdir /data/lost+found 0770
    mkdir /cache/lost+found 0770

    # double check the perms, in case lost+found already exists, and set owner
    chown root root /data/lost+found
    chmod 0770 /data/lost+found
    chown root root /cache/lost+found
    chmod 0770 /cache/lost+found

    # change permission for keymap file temporarily
    # should be removed when working out keymap later
    chmod 0777 /system/usr/keychars/qwerty.kcm.bin
    chmod 0777 /system/usr/keychars/Dell_Dell_USB_Keyboard.kcm.bin
    chmod 0777 /system/usr/keychars/mxckpd.kcm.bin
    chmod 0777 /system/usr/keychars/gpio-keys.kcm.bin
    chmod 0777 /system/usr/keychars/mxc_ts-keypad.kcm.bin
    chmod 0777 /system/usr/keychars/mxc_power_key.kcm.bin
    chmod 0777 /system/usr/keychars/AVRCP.kcm.bin

    chmod 0777 /sys/class/graphics/fb0/fsl_disp_property
    chmod 0777 /sys/class/graphics/fb1/fsl_disp_property

on boot
# basic network init
    ifup lo
    hostname localhost
    domainname localdomain

    mkdir /data/system 0775 system system
    #exec /sbin/ts_calibrator
    exec system/xbin/flash.dump.sh
   
# set RLIMIT_NICE to allow priorities from 19 to -20
    setrlimit 13 40 40

# Define the oom_adj values for the classes of processes that can be
# killed by the kernel.  These are used in ActivityManagerService.
    setprop ro.FOREGROUND_APP_ADJ 0
    setprop ro.VISIBLE_APP_ADJ 1
    setprop ro.SECONDARY_SERVER_ADJ 2
    setprop ro.BACKUP_APP_ADJ 2
    setprop ro.HOME_APP_ADJ 4
    setprop ro.HIDDEN_APP_MIN_ADJ 7
    setprop ro.CONTENT_PROVIDER_ADJ 14
    setprop ro.EMPTY_APP_ADJ 15

# Define the memory thresholds at which the above process classes will
# be killed.  These numbers are in pages (4k).
    setprop ro.FOREGROUND_APP_MEM 1536
    setprop ro.VISIBLE_APP_MEM 2048
    setprop ro.SECONDARY_SERVER_MEM 4096
    setprop ro.BACKUP_APP_MEM 4096
    setprop ro.HOME_APP_MEM 4096
    setprop ro.HIDDEN_APP_MEM 5120
    setprop ro.CONTENT_PROVIDER_MEM 5632
    setprop ro.EMPTY_APP_MEM 6144

# Write value must be consistent with the above properties.
# Note that the driver only supports 6 slots, so we have HOME_APP at the
# same memory level as services.
    write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15

    write /proc/sys/vm/lowmem_reserve_ratio 1
    write /proc/sys/vm/overcommit_memory 1
    write /proc/sys/vm/min_free_order_shift 4
    write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144

    # Set init its forked children's oom_adj.
    write /proc/1/oom_adj -16

    # Tweak background writeout
    write /proc/sys/vm/dirty_expire_centisecs 200
    write /proc/sys/vm/dirty_background_ratio  5

    # Permissions for System Server and daemons.
    chown radio system /sys/android_power/state
    chown radio system /sys/android_power/request_state
    chown radio system /sys/android_power/acquire_full_wake_lock
    chown radio system /sys/android_power/acquire_partial_wake_lock
    chown radio system /sys/android_power/release_wake_lock
    chown radio system /sys/power/state
    chown radio system /sys/power/wake_lock
    chown radio system /sys/power/wake_unlock
    chmod 0660 /sys/power/state
    chmod 0660 /sys/power/wake_lock
    chmod 0660 /sys/power/wake_unlock
    #chown system system /sys/class/timed_output/vibrator/enable
    chown system system /sys/class/leds/keyboard-backlight/brightness
    chown system system /sys/class/leds/lcd-backlight/brightness
    chown system system /sys/class/leds/button-backlight/brightness
    chown system system /sys/class/leds/jogball-backlight/brightness
    chown system system /sys/class/leds/red/brightness
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/blue/brightness
    chown system system /sys/class/leds/red/device/grpfreq
    chown system system /sys/class/leds/red/device/grppwm
    chown system system /sys/class/leds/red/device/blink
    chown system system /sys/class/leds/red/brightness
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/blue/brightness
    chown system system /sys/class/leds/red/device/grpfreq
    chown system system /sys/class/leds/red/device/grppwm
    chown system system /sys/class/leds/red/device/blink
    #chown system system /sys/class/timed_output/vibrator/enable
    chown system system /sys/class/haptic/oneshot
    chown system system /sys/module/sco/parameters/disable_esco
    chown system system /sys/kernel/ipv4/tcp_wmem_min
    chown system system /sys/kernel/ipv4/tcp_wmem_def
    chown system system /sys/kernel/ipv4/tcp_wmem_max
    chown system system /sys/kernel/ipv4/tcp_rmem_min
    chown system system /sys/kernel/ipv4/tcp_rmem_def
    chown system system /sys/kernel/ipv4/tcp_rmem_max
    chown root radio /proc/cmdline
# Chmod/chown FSL specific sys entry
    chown radio system /sys/devices/platform/mxc_dvfs_core.0/enable
    chown radio system /sys/devices/platform/busfreq.0/enable
    chown system system /sys/class/backlight/tps60250/brightness
    chmod 0660 /sys/devices/platform/mxc_dvfs_core.0/enable
    chmod 0660 /sys/devices/platform/busfreq.0/enable
    chmod 0660 /sys/class/backlight/tps60250/brightness

    write /sys/devices/platform/busfreq.0/enable 1
    write /sys/devices/platform/mxc_dvfs_core.0/enable 1   

# allow control power for ecompass and gsensor
    chown system system /sys/class/i2c-adapter/i2c-0/0-001c/akm8973_ctl
    chmod 0777 /sys/class/i2c-adapter/i2c-0/0-001c/akm8973_ctl
    #chown system system /sys/class/i2c-adapter/i2c-0/0-001d/power_ctl
    #chmod 0777 /sys/class/i2c-adapter/i2c-0/0-001d/power_ctl

# for GPS gpio driver for gps power and bootmode control
    chown system system    /dev/gps_gpio
    chown system system /sys/devices/virtual/gps/gps_gpio/gps_power
    chown system system /sys/devices/virtual/gps/gps_gpio/gps_bootmode
    chmod 0771 /dev/gps_gpio
    chmod 0660 /sys/devices/virtual/gps/gps_gpio/gps_power
    chmod 0771 /sys/devices/virtual/gps/gps_gpio/gps_bootmode

# for Sensor HAL
    chown system system /dev/accel
    chown system system /dev/akm8973_dev
    chown system system /dev/akm8973_aot
    chmod 0777 /dev/accel
    chmod 0777 /dev/akm8973_dev
    chmod 0777 /dev/akm8973_aot

# Define TCP buffer sizes for various networks
#   ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
    setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.wifi    4095,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.umts    4094,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.edge    4093,26280,35040,4096,16384,35040
    setprop net.tcp.buffersize.gprs    4092,8760,11680,4096,8760,11680

# Set property for FSL specific feature
# Init second display connection state
    setprop rw.SECOND_DISPLAY_CONNECTED 0
     
# Define gst player property
   setprop media.gstreamer.enable-player 0

# Comment the usage of stageflight media framework
   setprop  media.stagefright.enable-scan 0
   setprop  media.stagefright.enable-player 0
   setprop  media.stagefright.enable-record 0
   setprop  media.stagefright.enable-http 0
   setprop  media.stagefright.enable-meta 0

# Define fsl avi/aac/asf/mkv/flv/flac format support
    setprop ro.FSL_AVI_PARSER 1
    setprop ro.FSL_AAC_PARSER 1
    setprop ro.FSL_ASF_PARSER 1
    setprop ro.FSL_FLV_PARSER 1
    setprop ro.FSL_MKV_PARSER 1
    setprop ro.FSL_FLAC_PARSER 1


# Define fsl display init mode
    setprop ro.FSL_LANDSCAPE_MODE 1

# Define fsl xec mode
    setprop xec.dls.enabled 1
    setprop xec.aa.enabled 1
    setprop xec.dls.rate 0
    setprop xec.aa.rate 100

# Define fsl dvfs property
    setprop ro.dvfs.enabled 1

# Define UI to TVOUT,change this setting to 1 and uncomment below write commands
    setprop ro.UI_TVOUT_DISPLAY 0
    #write /sys/class/graphics/fb0/blank 1
    #write /sys/class/graphics/fb1/blank 1
    #write /sys/class/graphics/fb2/blank 1
    #write /sys/class/graphics/fb0/fsl_disp_property 1-layer-fb
    #write /sys/class/graphics/fb1/mode U:720x480i-60\n
    #write /sys/class/graphics/fb1/blank 0
    chown system system /sys/class/graphics/fb1/blank
    chmod 0644 /sys/class/graphics/fb1/blank
    chown system system /sys/class/graphics/fb1/mode
    chmod 0644 /sys/class/graphics/fb1/mode
    #chown system system /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0/blank
    #chmod 0644 /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0/blank

# Define default notification_sound
    setprop ro.config.notification_sound OnTheHunt.ogg

# for switch on/off framebuffer
    chown system system /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0/blank
    chown system system /sys/devices/platform/mxc_sdc_fb.1/graphics/fb1/blank
    chown system system /sys/devices/platform/mxc_sdc_fb.2/graphics/fb2/blank
    chmod 0644 /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0/blank
    chmod 0644 /sys/devices/platform/mxc_sdc_fb.1/graphics/fb1/blank
    chmod 0644 /sys/devices/platform/mxc_sdc_fb.2/graphics/fb2/blank

# ALSA mixer naming define
    setprop alsa.mixer.playback.master Playback
    setprop alsa.mixer.capture.master Capture
    setprop alsa.mixer.playback.speaker Playback
    setprop alsa.mixer.playback.headset Headphone
    setprop alsa.mixer.capture.headset Capture

# Prepare for wifi
    setprop wifi.interface wlan0
    mkdir /data/misc/wifi/sockets 0770 wifi wifi
    mkdir /data/misc/dhcp 0770 dhcp dhcp
    chown dhcp dhcp /data/misc/dhcp

# DD partitions for diversity and ECD key region for access
    chmod 0751 /factory
    chown system system /factory
    chmod 0777 /dev/block/mmcblk0
    chmod 6777 /system/bin/dd
    chown system system /system/bin/toolbox
    exec /system/xbin/init.diversity.ecd.sh

# mount calibration data region
    chown system system /dev/block/mmcblk0
    chmod 0777 /dev/block/mmcblk0
    chmod 0777 /sys/module/pd_ts13892/parameters/calibration
    exec /system/xbin/init.calibration.sh
    exec /system/bin/ts13892_calibrator

    chmod 751 /system/xbin/flash_sync

# Prepare for bluetooth
#    chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
#    chmod 666 /sys/class/rfkill/rfkill0/state
#    chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
#    write /sys/class/rfkill/rfkill0/state 0

# Enable USB host1'remote wakeup event wakeup android system
#    write /sys/bus/platform/drivers/fsl-ehci/fsl-ehci.1/power/wakeup enabled

# Prepare for RIL
    setprop gsm.ril.delay 15

#change file permission for synergy
    chown root shell /system/etc/synergy_fts.sh
    chmod 0550 /system/etc/synergy_fts.sh

    class_start default

## Daemon processes to be run by init.
##
service console /system/bin/sh
    console

# adbd is controlled by the persist.service.adb.enable system property
service adbd /sbin/adbd
    user root
    group root
    disabled

# adbd on at boot in emulator
#on property:ro.kernel.qemu=1
#    start adbd

on property:persist.service.adb.enable=1
    start adbd

on property:persist.service.adb.enable=0
    stop adbd

service servicemanager /system/bin/servicemanager
    user system
    critical
    onrestart restart zygote
    onrestart restart media

service vold /system/bin/vold
    socket vold stream 0660 root mount
    ioprio be 2

service netd /system/bin/netd
    socket netd stream 0660 root system

service dispd /system/bin/dispd
    socket dispd stream 0660 root system

service debuggerd /system/bin/debuggerd

service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so -- -d /dev/ttyUSB3 -u /dev/ttyUSB0
    socket rild stream 660 root radio
    socket rild-debug stream 660 radio system
    user root
    group radio cache inet misc audio

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
    socket zygote stream 666
    onrestart write /sys/android_power/request_state wake
    onrestart write /sys/power/state on
    onrestart restart media

service media /system/bin/mediaserver
    user media
    group system audio camera graphics inet net_bt net_bt_admin net_raw
    ioprio rt 4

service bootanim /system/bin/bootanimation
    user graphics
    group graphics
    disabled
    oneshot

service dbus /system/bin/dbus-daemon --system --nofork
    socket dbus stream 666 bluetooth bluetooth
    user bluetooth
    group bluetooth net_bt_admin

service bluetoothd /system/bin/bluetoothd -n
    socket bluetooth stream 660 bluetooth bluetooth
    socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let bluetoothd drop uid to bluetooth with the right linux capabilities
    group bluetooth net_bt_admin misc
    disabled

service hcid /system/bin/hcid -s -n -f /etc/bluez/hcid.conf
    socket bluetooth stream 660 bluetooth bluetooth
    socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let hcid drop uid to bluetooth with the right linux capabilities
    group bluetooth net_bt_admin misc
    disabled
service hciattach /system/bin/logwrapper /system/bin/sh /system/etc/mxc_bt.sh
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot
service hfag /system/bin/sdptool add --channel=10 HFAG
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service hsag /system/bin/sdptool add --channel=11 HSAG
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service opush /system/bin/sdptool add --channel=12 OPUSH
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service pbap /system/bin/sdptool add --channel=19 PBAP
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service synergy_fts_init /system/etc/synergy_fts.sh
    user root
    group sdcard_rw
    oneshot

service synergysdpops /system/etc/synergy_sdptool.sh 12 0x1105 ReservedOPPS
    user root
    disabled
    oneshot

#service hidloopback /system/etc/insert-hiddrv.sh
#    user root
#    oneshot

service installd /system/bin/installd
    socket installd stream 600 system system

service flash_recovery /system/etc/install-recovery.sh
    oneshot

service racoon /system/bin/racoon
    socket racoon stream 600 system system
    # racoon will setuid to vpn after getting necessary resources.
    group net_admin
    disabled
    oneshot

service mtpd /system/bin/mtpd
    socket mtpd stream 600 system system
    user vpn
    group vpn net_admin net_raw
    disabled
    oneshot

service keystore /system/bin/keystore /data/misc/keystore
    user keystore
    group keystore
    socket keystore stream 666

service dumpstate /system/bin/dumpstate -s
    socket dumpstate stream 0660 shell log
    disabled
    oneshot


#service dhcpcd /system/bin/logwrapper /system/bin/dhcpcd -d -B wlan0
service dhcpcd /system/bin/dhcpcd -d -B wlan0
    disabled
    oneshot

service wpa_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant \
    -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
    user root
    group wifi inet
    socket wpa_wlan0 dgram 660 wifi wifi
    oneshot

#service pppd_gprs /etc/init.gprs-pppd
    #user root
    #group radio cache inet misc
    #disabled
    #oneshot

service akmd2 /system/bin/akmd2
    user system
    group system
    oneshot

# save diversity.bin from memory to emmc
service div_restore_m /system/bin/dd if=/factory/diversity.bin of=/dev/block/mmcblk0 obs=512 seek=14337 count=1
    user root
    group system
    disabled
    oneshot

# restore diversity.bin from diversity data
service div_restore_w /system/bin/dd if=/factory/diversity.master of=/dev/block/mmcblk0 obs=512 seek=14336 count=1
    user root
    group system
    disabled
    oneshot

# flash sync
service flash_sync /system/xbin/flash_sync
    user root
    group system

service synergy_exe /system/xbin/synergy_exe
    user root

service a2dp_adapter /system/bin/csr_liba2dp_process
    user root
    group system audio camera graphics inet net_bt net_bt_admin

service flash_wifi /system/xbin/flash_wifi
    disabled
    oneshot

service wlan0_check /system/xbin/wlan0_check
    disabled
    oneshot
init.zen_touch_2.rc :

Code:
on boot

    # Set permission for IIM node
    chmod 0777 /dev/mxc_iim
    symlink /dev/mxc_iim /dev/mxc_mem

    chmod 0777 /sys/class/graphics/fb0/fsl_disp_property
    chmod 0777 /sys/class/graphics/fb1/fsl_disp_property

    # 3D acceleration property
    setprop debug.sf.showfps    0
    setprop debug.sf.enable_hgl 1

    # fsl omx graphic manager media framework property
    setprop media.omxgm.enable-player 1

    # Set OpenGLES version
    setprop ro.opengles.version 131072
init.goldfish.rc :

Code:
on boot
    setprop ARGH ARGH
    setprop net.eth0.dns1 10.0.2.3
    setprop net.gprs.local-ip 10.0.2.15
    setprop ro.radio.use-ppp no
    setprop ro.build.product generic
    setprop ro.product.device generic

# fake some battery state
    setprop status.battery.state Slow
    setprop status.battery.level 5
    setprop status.battery.level_raw  50
    setprop status.battery.level_scale 9

# disable some daemons the emulator doesn't want
    stop dund
    stop akmd

    setprop ro.setupwizard.mode EMULATOR

# enable Google-specific location features,
# like NetworkLocationProvider and LocationCollector
    setprop ro.com.google.locationfeatures 1

# For the emulator, which bypasses Setup Wizard, you can specify
# account info for the device via these two properties.  Google
# Login Service will insert these accounts into the database when
# it is created (ie, after a data wipe).
#
#   setprop ro.config.hosted_account username@hosteddomain.org:password
#   setprop ro.config.google_account username@gmail.com:password
#
# You MUST have a Google account on the device, and you MAY
# additionally have a hosted account.  No other configuration is
# supported, and arbitrary breakage may result if you specify
# something else.

service goldfish-setup /system/etc/init.goldfish.sh
    oneshot

service qemud /system/bin/qemud
    socket qemud    stream 666
    oneshot

# -Q is a special logcat option that forces the
# program to check wether it runs on the emulator
# if it does, it redirects its output to the device
# named by the androidboot.console kernel option
# if not, is simply exit immediately

service goldfish-logcat /system/bin/logcat -Q
    oneshot

I really don't know what to try next. The device is a Creative ZEN Touch 2, but that won't be of any help. :/
At that point, I am willing to take the risk to definitely brick my device to attempt the fix. It's barely usable at all, anyway.

How hard would it be to port ClockworkMod Recovery to this device?


Thanks, I appreciate it.
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Questions and Answers by ThreadRank