You may take a look at ./system/core/init/devices.c { "/dev/ttyS0", 0666, AID_RADIO, AID_RADIO, 0 },
[]'s Hamilton Vera On Tue, May 10, 2011 at 1:02 PM, Jacky.Seraph Mun <jackyser...@gmail.com> wrote: > Are you sure it's the permission problem that resulted in the failure > of enabling RIL daemon? What's the radio log saying? > And maybe you can try "chown radio /dev/..." instead. > > Jack > > 2011/5/10 JP <j...@avagotech.com>: >> Hi All, >> I'm new to Android and am confounded with this RIL/phone services >> issue in Gingerbread 2.3.3. >> Kernel : 2.6.32. Any help/guidance will be much appreciated. >> >> From adb shell: >> $chown system.radio /dev/ttyS0 >> enables RIL services and can make phone calls. >> >> Similar entry in init.rc : >> chown system radio /dev/ttyS0 >> does not enable RIL services: >> >> adb_shell> logcat -b radio >> D/RILJ> WAKE_LOCK_TIMEOUT mRequestList=5 >> >> I've attached the init.rc file, below. >> >> If init.rc is not the right location, please suggest which file should >> I set "chown for /dev/ttyS0" in. >> >> Thanks, >> JP >> >> on early-init >> symlink /initlogo.rle.keep /initlogo.rle >> start ueventd >> >> 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 ASEC_MOUNTPOINT /mnt/asec >> export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ >> bouncycastle.jar:/system/framework/ext.jar:/system/framework/ >> framework.jar:/system/framework/android.policy.jar:/system/framework/ >> services.jar:/system/framework/core-junit.jar >> >> # 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 >> >> # Backward compatibility >> symlink /system/etc /etc >> symlink /sys/kernel/debug /d >> >> # create mountpoints >> mkdir /mnt 0775 root system >> mkdir /mnt/sdcard 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 >> >> 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 >> >> ## mount rootfs rootfs / ro remount >> >> 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 >> >> # Power Management Patches >> chmod 0777 /sys/power/state >> chmod 0777 /sys/power/wake_lock >> chmod 0777 /sys/power/wake_unlock >> chmod 0777 /sys/power/wait_for_fb_sleep >> chmod 0777 /sys/power/wait_for_fb_wake >> chmod 0777 /sys/power/r_vdd1_autocomp >> chmod 0777 /sys/power/sr_vdd2_autocomp >> >> # Brightness Control Patches >> chmod 0777 /sys/devices/platform/omapdss/generic-bl/backlight/ >> omap3evm-bklight/brightness >> >> # mount sdcard third partition on /part-3 >> mkdir /part-3 >> mount vfat /dev/block/mmcblk0p3 /part-3/ >> >> # mount mtd partitions >> >> # We chown/chmod /data again so because mount is run as root + >> defaults >> 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 >> >> # 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 >> 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 0440 /proc/kmsg >> chown root system /proc/sysrq-trigger >> chmod 0220 /proc/sysrq-trigger >> >> # change permissions for Camera >> chmod 0777 /dev/video0 >> chmod 0777 /dev/video3 >> >> # change permissions for Overlay >> chmod 0777 /dev/video1 >> chmod 0777 /dev/video2 >> chmod 0777 /dev/omap-resizer >> >> # create basic filesystem structure >> mkdir /data/misc 0771 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 /system/etc/wifi 0771 wifi wifi >> chmod 0660 /system/etc/wifi/wpa_supplicant.conf >> chown wifi wifi /system/etc/wifi/wpa_supplicant.conf >> # need a socket >> mkdir /data/misc/wifi 0770 wifi wifi >> mkdir /data/misc/wifi/sockets 0770 wifi wifi >> >> 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/misc/dhcp 0770 dhcp dhcp >> >> # 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 >> >> #Owners, Modes for Bluetooth >> chmod 0660 /dev/ttyS1 >> chown bluetooth bluetooth /dev/ttyS1 >> chmod 0660 sys/class/rfkill/rfkill0/state >> chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state >> write sys/class/rfkill/rfkill0/state 0 >> >> >> on boot >> # basic network init >> ifup lo >> hostname localhost >> domainname localdomain >> >> # set RLIMIT_NICE to allow priorities from 19 to -20 >> setrlimit 13 40 40 >> >> # No battery information present >> setprop hw.nobattery true >> >> # if hw.nopm is true, Settings->Application->Development->Stay Awake >> is enabled >> setprop hw.nopm true >> >> # Enable gps >> setprop ro.kernel.android.gps ttyS1 >> >> # 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.PERCEPTIBLE_APP_ADJ 2 >> setprop ro.HEAVY_WEIGHT_APP_ADJ 3 >> setprop ro.SECONDARY_SERVER_ADJ 4 >> setprop ro.BACKUP_APP_ADJ 5 >> setprop ro.HOME_APP_ADJ 6 >> setprop ro.HIDDEN_APP_MIN_ADJ 7 >> 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 2048 >> setprop ro.VISIBLE_APP_MEM 3072 >> setprop ro.PERCEPTIBLE_APP_MEM 4096 >> setprop ro.HEAVY_WEIGHT_APP_MEM 4096 >> setprop ro.SECONDARY_SERVER_MEM 6144 >> setprop ro.BACKUP_APP_MEM 6144 >> setprop ro.HOME_APP_MEM 6144 >> setprop ro.HIDDEN_APP_MEM 5120 >> 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,4,7,15 >> >> write /proc/sys/vm/overcommit_memory 1 >> write /proc/sys/vm/min_free_order_shift 4 >> write /sys/module/lowmemorykiller/parameters/minfree >> 2048,3072,4096,6144,7168,8192 >> >> # 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 >> # Power Management patches >> chown radio system /sys/power/wait_for_fb_sleep >> chown radio system /sys/power/wait_for_fb_wake >> chmod 0660 /sys/power/state >> chmod 0660 /sys/power/wake_lock >> chmod 0660 /sys/power/wake_unlock >> >> >> 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 >> >> #JP - change uid gid to system radio for /dev/ttyS0 >> chown system radio /dev/ttyS0 >> chmod 0660 /dev/ttyS0 >> >> >> # 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 >> >> setprop wifi.interface "wlan0" >> setprop wlan.driver.status "ok" >> class_start default >> >> ## Daemon processes to be run by init. >> ## >> service ueventd /sbin/ueventd >> critical >> >> service console /system/bin/sh >> console >> >> # Start PowerVR SGX DDK >> service pvr /system/bin/sgx/rc.pvr start >> >> # Start WiFi >> service libertas /system/bin/libertas/rc.libertas start >> disabled >> >> # adbd is controlled by the persist.service.adb.enable system property >> service adbd /sbin/adbd >> disabled >> >> 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 debuggerd /system/bin/debuggerd >> >> service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so >> -- -d /dev/ttyS0 >> 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 sdcard_rw >> 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 660 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 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 installd /system/bin/installd >> socket installd stream 600 system system >> >> 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 hciattach /system/bin/hciattach -n /dev/ttyS1 >> user root >> disabled >> >> # changing user to root from bluetooth is a potential security issue >> group bluetooth net_bt_admin misc >> disabled >> oneshot >> >> service wpa_supplicant /system/bin/wpa_supplicant -Dwext -dd -iwlan0 - >> c/data/misc/wifi/wpa_supplicant.conf >> socket wpa_wlan0 dgram 660 wifi wifi >> disabled >> oneshot >> >> service dhcpcd /system/bin/dhcpcd -ABKL wlan0 >> disabled >> oneshot >> >> >> >> >> >> >> -- >> unsubscribe: android-porting+unsubscr...@googlegroups.com >> website: http://groups.google.com/group/android-porting >> > > -- > unsubscribe: android-porting+unsubscr...@googlegroups.com > website: http://groups.google.com/group/android-porting > -- Hamilton Vera int Administrator (char Network[],char ComputationalSystems[]) http://hvera.wordpress.com -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting