
At Thu, 29 Jul 2010 10:41:38 +0200, Mario 'BitKoenig' Holbe wrote:
On Thu, Jul 29, 2010 at 10:26:22AM +0200, Takashi Iwai wrote:
FYI, you can change SSID by writing /sys/class/sound/hwC*D*/subsystem_id file. Then reconfigure the codec via triggering /sys/class/sound/hwC*D*/reconfig.
Great, that's what I meant with "Or am I somehow able to tweak it? Is there a module parameter to set this SSID bit?" :)
$ for i in /sys/class/sound/hwC*D*/subsystem_id; do echo "$i: $(cat $i)"; done /sys/class/sound/hwC0D0/subsystem_id: 0x1043829f /sys/class/sound/hwC0D1/subsystem_id: 0xffffffff
So, obviously the first check in if (ass != codec->bus->pci->subsystem_device && (ass & 1)) is false. How can I tweak the subsystem_id least-invasive not to match codec->bus->pci->subsystem_device (which should be 0x829f then) anymore?
Usually the codec SSID isn't checked in other places, so passing a bogus value should be OK. Pass a value like 2:
# echo -n 2 > /sys/class/sound/hwC0D0/subsystem_id then # echo -n 1 > /sys/class/sound/hwC0D0/reconfig
The latter needs that the all sound device files are closed beforehand.
Takashi