Re: PNP configuration for Crystal 4237B sound card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



--- Vlad <vladc6@xxxxxxxxx> wrote:
> Hi,
> 
> I have a Dell Inspiron 3200 laptop with a Crystal 4237B soundcard.
> PNP
> configuratin of the card fails (please see attached dmesg), but I
> can
> get the card to work by running:
> 
> # echo activate > /sys/devices/pnp0/00:11/resources
> # modprobe snd-cs4236 isapnp=0 port=0x530 cport=0xf00 irq=5 dma1=1
> dma2=0
> 
> I think the problem stems from the fact that the sound card appears
> as
> _two_ PNP devices instead of a single device.
> 
> The first PNP device is 00:11 and contains the soundcard's port,
> mpu_port, fm_port, irq, dma1 and dma2:
> 
> # cat /sys/devices/pnp0/00:11/resources
> state = active
> io 0x530-0x537
> io 0x388-0x38b
> io 0x220-0x22f
> irq 5
> dma 1
> dma 0
> 
> The second PNP device is 00:15 and contains the soundcard's cport:
> # cat /sys/devices/pnp0/00:15/resources
> state = active
> io 0xf00-0xf07
> 
> Linux's PnPBIOS parser gets confused when encountering these
> devices,
> as can be seen from the attached dmesg:
> 
> PnPBIOS: Unknown tag '0x82', length '6'.
> PM: Adding info for pnp:00:11
> PnPBIOS: Unknown tag '0x82', length '4'.
> PM: Adding info for pnp:00:15

OK, I found out what the tags contain: The first tag was 82 6 0 57 53
53, with the last three hexadecimal numbers coding for "WSS". The
second tag was 82 4 0 43, with the last hexadecimal number coding for
"C". 

The cs4232-pnpbios driver fails at cs4236.c:snd_cs423x_pnp_init_wss()
when running:

err = pnp_manual_config_dev(pdev, cfg, 0);

The err has a value of -EINVAL. I debugged
drivers/pnp/manager.c:pnp_manual_config_dev() and saw that the
condition (!dev || !res) evaluates to TRUE.

The cs4232-pnpbios driver then fails again at
cs4236.c:snd_cs423x_pnp_init_wss() when running:

err = pnp_activate_dev(pdev);

The err has a value of -EINVAL. I debugged
drivers/pnp/manager.c:pnp_activate_dev() and saw that (!dev) evaluates
to TRUE, so apparently the device is null.

To summarize: The WSS and Control Port aren't recorded by Linux's
PnPBIOS parser, which causes the WSS initialization to fail in the
cs4232-pnpbios driver.

Any ideas how to fix this? Thanks!

Vlad


       
____________________________________________________________________________________
We won't tell. Get more on shows you hate to love 
(and love to hate): Yahoo! TV's Guilty Pleasures list.
http://tv.yahoo.com/collections/265 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux