Perl Detect ISAPNP Cards


Forum: Programming and Scripting
Topic: Perl Detect ISAPNP Cards
started by: spark-o-matic

Posted by spark-o-matic on Feb. 20 2008,05:15
Its an aztech 2320 isapnp sound card w/ Awesome sound quality and many extra inputs such as tv and cd #2 and a voice modem.  The modem detects fine according to the jumpers.  The sound chip is a Crystal CS4231A-KL Which looks like its supported by ad1848.o.  Also is claimed supported by ALSA, but Google search finds no success stories.
I also have an Ensoniq card that might be a similar fight.
I found a post here on the boards about my chip set.  Last post was to try all possable combinations and rmmod between.  No further replies.

Automate the processes:
Code Sample

#!/usr/bin/perl
&style2;
sub style1 {
open (songs, ">azt2320.sh");
print songs <<"eohtml";
date
echo ***********************************azt2320****************************

eohtml
for ($irq=2;$irq<=13;$irq++) {
for ($dma=0;$dma<=7;$dma++) {
for ($dma2=0;$dma2<=7;$dma2++) {
print songs <<"eohtml";
sleep 3
sudo modprobe -v ad1848 io=0x220 irq=$irq dma=$dma dma2=$dma2 isapnp=0
sleep 5
rmmod ad1848
date

eohtml
}
}
}
close (songs);
exit;
}
sub style2 {
$errstring="fail";
$sst="/opt/findisapnp.sh >/mnt/hda4/findisapnp.txt";
for ($irq=2;$irq<=13;$irq++) {
for ($dma=0;$dma<=7;$dma++) {
for ($dma2=0;$dma2<=7;$dma2++) {
open (songs, ">/opt/findisapnp.sh");
print songs <<"eohtml";
echo ==========================================================================
echo modprobe -v ad1848 io=0x220 irq=$irq dma=$dma dma2=$dma2 isapnp=0
echo
echo
date
echo ***********************************azt2320****************************

sudo modprobe -v ad1848 io=0x220 irq=$irq dma=$dma dma2=$dma2 isapnp=0
sleep 2
rmmod ad1848
date

eohtml

close (songs);

system ($sst);
open (songs, "/mnt/hda4/findisapnp.txt");
@tmp=<songs>;
close (songs);
$error="false";
$errstring="failed";
for ($j=0;$j<=$#tmp;$j++) {
$null=chomp($tmp[$j]);
print "$tmp[$j]\n";
if (@null = ($tmp[$j] = ~ m/$errstring/i)) {
$error="true";
}
print "$error";
}
if ($error ne "true") {
print "$tmp[0]\n\n might have worked\n\nexiting....\n";
exit;
}
}
}
}
}
exit;

The first subroutine that is abandoned just generated a file that would try all possabilities.  
The one that is used now checks a pattern match to see if it might have worked.  hda4 is a partition to store files sepperate from /opt /home backup etc... and should be recoverable if an OS fails bad.

This actualy didn't get the card working, but eliminated a lot of 'Plug & Chug' to say it doesnt work.  I might set it to run overnight w/ all possable io's.

Other thread said sb.o compatable, but no resolution.  I noted no errors from sb and mods installed, but locks up on instantly playback.  Also noted /proc/interrupts and /proc/dma do not show the card after modprobe sb ......

This could easily analize those then remove all modules and try again.

also could easily pick up from where it left off after a crash by extracting from the written file.

Ya, brute force cracking, but these 2 cards are worth it.

:D

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.