So, because of some hardware issues I'm having, I need to disable Android's HDMI Digital Audio Output and let only the analog sound card of my A10 chipset work. Just for info - the issue is that there's no cable plugged into the HDMI output of my tablet, but the Android is recognising that there's something plugged into the port and as soon as I wake up the tablet, it redirects the audio output through HDMI Digital Audio out.

Now for my actual problem.. I'm trying to change /proc/asound/cards or /proc/asound/pcm The filesystem (/system) is mounted as rw, I do have root access, ES File Explorer is with "Root Explorer" turned on and as soon as I click Save, it backs up the old contents of the file. Also, the folders and the files that I'm trying to modify are with 777 permissions and owned by root.

Of course, I tried through ADB push and the same shi* happens. What it can be?


/proc does not contain actual files, and it's not part of the /system directory. It is, as described by the Linux manual:

The proc filesystem is a pseudo-filesystem which provides an interface to kernel data structures. It is commonly mounted at /proc. Most of it is read-only, but some files allow kernel variables to be changed.

In other words, it is a "virtual" filesystem that allows for file like access to certain kernel data. You cannot modify these handles by editing them the way you are hoping to.

If the data you need to change allows for modifications through /proc, it generally needs to be done using something like cat or echo to write a new value to the handle. However, according to the ALSA documentation, both /proc/asound/cards and /proc/asound/pcm are read-only structures.

You'll need to find another way to accomplish your goal, perhaps by changing some underlying configuration file that controls ALSLA on your device. On traditional Linux desktops, it's typically/etc/asound.conf, but your device's ROM may not expose these configuration settings in the same manner, or it may be hard-coded to populate the /proc entries without actually using a config file. Based on what I've seen, if your device does support the config file, it's generally in /system/etc/asound.conf.

  • Ok' I don't know that. So do you have some ideas where I can change the config. The android version is 4.0.4 – ricky Feb 6 '15 at 8:38
  • Well, like I said, typically you'd look for /system/etc/asound.conf. If that file does not exist, then your device may be doing something nonstandard, in which case it will be hard to know without getting a hold of someone with expertise regarding your specific device. – eldarerathis Feb 6 '15 at 14:51
  • Hm, there's no asound.conf... My device is cheneese, so there is no chance someone to know something more(even when I deep search the net for this model, it doesn't appear anywhere). Thanks, I'll try with CyanogenMod 10. – ricky Feb 6 '15 at 15:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.