#! /bin/bash ## Provided by Mkarcher at http://www.thinkwiki.org/wiki/Script_for_configuring_the_CS4239_sound_chip_in_PnP_mode ## Modified by Daniel T Chen for Debian/Ubuntu, redistributable ## under GPLv2 or later for dev in /sys/bus/pnp/devices/* do grep CSC0100 $dev/id > /dev/null && WSSDEV=$dev grep CSC0110 $dev/id > /dev/null && CTLDEV=$dev done echo activate > $WSSDEV/resources echo activate > $CTLDEV/resources { read read bla port1 read bla port2 read bla port3 read bla irq read bla dma1 read bla dma2 # Hack: with PnPBIOS: ports are: port1: WSS, port2: OPL, port3: sb (unneeded) # with ACPI-PnP:ports are: port1: OPL, port2: sb, port3: WSS # (ACPI bios seems to be wrong here, the PnP-card-code in snd-cs4236.c uses the # PnPBIOS port order) # Detect port order using the fixed OPL port as reference if [ ${port2%%-*} = 0x388 ] then # PnPBIOS: usual order port=${port1%%-*} oplport=${port2%%-*} else # ACPI: mixed-up order port=${port3%%-*} oplport=${port1%%-*} fi } < $WSSDEV/resources { read read bla port1 cport=${port1%%-*} } < $CTLDEV/resources modprobe snd-cs4236 port=$port cport=$cport fm_port=$oplport irq=$irq dma1=$dma1 dma2=$dma2 isapnp=0