Stock JB rooted; why can't I make -rw /system mount persist long enough to actually do anything?

Dark Penguin

Well-known member
Aug 21, 2011
414
2
18
Visit site
Recently I went through something of a struggle but successfully enabled the camera shutter sound menu. I was never able to find a way to edit or replace the /system/csc/feature.xml file, and the only way I could get this done was to flash an Odin-OC file developed specifically for the purpose of restoring user control over the camera sounds. As I did this, I lost root, but after some additional tweaks including the flashing of SuperSU.zip from my SD card, I was able to recover root access without losing the ability to silence the shutter. So far so good.

But now I need to edit or replace /system/csc/feature.xml again; this time to enable contact call reject. Apparently, when you upgrade to Jellybean you lose the ability to send certain callers directly to voice mail. The option just isn't there anymore, because it has been explicitly disabled in /system/csc/feature.xml.

I have a copy of feature.xml on my PC, in the same directory as the adb utility, and I've edited it as needed, but I haven't been able to find any way to edit or replace the original file on my Samsung device

What I've tried:

(Where applicable assume I am in the platform-tools folder of my Android sdk environment)

  • On the PC, from the cmd prompt. type adb push feature.xml /system/csc/feature.xml . Didn't really think this would work because I haven't established su privileges, and it didn't work. The error message indicates that the push is being attempted, but fails due to insufficient privileges.
  • As above, type adb shell, then su. Navigate to /system/csc, then attempt to edit the real feature.xml file using the vi editor. Not. Going. To. Happen. It's been too long since I worked in a Unix shell to attempt using a line editor.
  • As above, start adb shell and run su. Then adb push feature.xml /system/csc/feature.xml as before. In this state there is no push or pull command available. adb push and adb pull only seem to work from the CMD prompt, but I can't figure out how to establish su privileges.
  • I downloaded 920 Root Editor, but when I tried to use it. I wasn't allowed to save anything, because the system is mounted readonly. Error message is Save failed! /system/csc/feature.xml: open failed. EROFS (Read-only file system)
  • So I downloaded an app called Mount System rw. It certainly seemed like a promising approach, what with the app being named "mount system rw", and all. I fire up the app and there are two buttons--one to mount system r/w, and one to mount r/o. I tap the first one and eagerly try the 920 Text Editor again, but again I'm not allowed to save any changes I make to /system/csc/feature.xml. This time the error message, as best I can remember it for it only lasts a split second, is Save failed! /system/csc/feature.xml: open failed. EACCES. (Permission denied.)

Is there any way I can fix this? I'm afraid to use the vi editor to edit the file in situ--very properly, I think. I can go into adb and remount the system, but then there's no access to push or pull. I've tried onboard apps to do the remount and editing directly on the device, but the remount doesn't persist so as to take effect when I run another app.

I do have Terminal Emulator, is there some way I can connect phone and computer and and pull the updated file from the computer to the phone?

I'm desperate. It's gotten to the point where I am getting two or three unknown callers every night; unknown callers who will not leave messages. The only way I now have to prevent them from ringing my phone is to prevent everyone and anyone from ringing it.
 
Last edited:

Dark Penguin

Well-known member
Aug 21, 2011
414
2
18
Visit site
Re: Stock JB rooted; why can't I make -ro /system mount persist long enough to actually do anything?

In addition to the approaches I listed above, it occurred to me I might paste a copy of feature.xml to somewhere on one of the sd cards, where I would be able to use the 920 Text Editor. It all worked up to this point. Then the idea would have been to open up Terminal Editor, navigate to /system/csc/, run su, and finally use cp to overlay my modified file over the existing one. Something like this:

$ su
# cd /system/csc
# mount -o remount, rw /system
# cp /storage/sdcard/modified_feature.xml feature.xml

But it appears I have no access to mv or cp in Terminal Emulator, even in su mode and when merely attempting a trivial copy or rename operation in a single storage directory. In fact about the only about the only shell commands available at all seem to be cd and ls. I can't do much with just those.

Sent from my SPH-D710 using Tapatalk 2
 
Last edited:

meyerweb#CB

Banned
Sep 4, 2009
6,668
5
0
Visit site
Re: Stock JB rooted; why can't I make -ro /system mount persist long enough to actually do anything?

I can mount system as RW, and edit feature.xml, using either ES File Explorer or FX file explorer, directly on the phone. Give them a try.
 

Dark Penguin

Well-known member
Aug 21, 2011
414
2
18
Visit site
Sadly, ES File Explorer didn't work; after checking the mount status and editing the file, the save errs out with the same message as before.

Sent from my SPH-D710 using Tapatalk 2
 

Dark Penguin

Well-known member
Aug 21, 2011
414
2
18
Visit site
For anyone else struggling with the unwanted callers issue, this solution over here worked to implement a silent ringtone.

Given what I've already posted upthread, I was surprised to find that I was able to drop this file into my /systems/media/audio/ringtones/ folder, but I was, and it does work for me.