Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

problem kartą dzwiekową 4237b

Zaczęty przez TowarzyszWolf, Styczeń 15, 2021, 12:18:47 PM

Poprzedni wątek - Następny wątek

TowarzyszWolf

Witam,
Zwracam się o pomoc z rozwiązaniem mojego problemu, komputer IBM 300 PL pod Linuxiem nie widzi karty dźwiękowej gdzie pod windowsem działa poprawnie. Karta nazywa się Crystal 4237b

gosc

A jakiego konkretnie Debiana zainstalowałeś na tym zabytku?
Jakiś zestaw informacji na początek też by się przydał, czyli wyniki dmesg, lspci, lsusb.


lami07

IRC - #linuxiarze.pl w sieci [url="//libera.chat"]libera.chat[/url]
Matrix - #linuxiarze.pl w sieci [url="//matrix.org"]matrix.org[/url]

gosc

Czyli nie Debian tylko Ubuntu.
Z logów wynika, że jest to karta dźwiękowa w formie karty rozszerzeń wpinana do złącza ISA.
W dmesg jest tylko jeden ślad po tej karcie.
[    1.382953]  01:01: card 'Crystal Audio'
Przyda się jeszcze wynik skryptu alsa-info
Wpisz do terminala:

cd ~/
wget http://www.alsa-project.org/alsa-info.sh -O alsa-info.sh && bash alsa-info.sh

Powinno się pojawić pytanie o upload informacji na stronę projektu lub zapis do pliku. Najprościej będzie wybrać upload na stronę alsa-project i skopiowanie uzyskanego linka, po czym wklejenie na forum.


gosc

#6
Wynik skryptu też nie jest pomocny.
Tą kartę powinien obsłużyć sterownik snd-cs4236, jednak w obecnym kernelu jaki masz (czyli 5.10.6) możesz go mieć wyłączonego.
Z tego co widzę w najnowszych kompilacjach kerneli wyłącza się wsparcie dla magistrali ISA (co mnie nie dziwi bo nie spotyka się już tej magistrali we współczesnych komputerach)
Można rekompilować obecny kernel, załączając wspomniany sterownik, ale łatwiej będzie poszukać starszego kernela z tym sterownikiem.
Przegląd repozytorii Ubuntu wskazuje, że ostatnią paczką z tym sterownikiem była linux-modules-extra-5.3.0-40-generic
Być może wystarczy dosinstalować paczkę sudo apt-get install linux-modules-extra-5.3.0-40-generic wtedy apt powinien dociągnąć kernel 5.3.
Po instalacji kernela 5.3 i uruchomieniu systemu na takim kernelu powinno wystarczyć, jeśli karta nie zostanie wykryta, ręczne załadowanie modułu z parametrem dla tej karty sudo modprobe snd-card-cs4236 snd_port=0x534

Jakby dalej coś nie działało to wklej ponownie wyniki dmesg i alsa-info, a jak będzie działać to też tak dla potomności.

TowarzyszWolf

#7
kernel jest robiony przez mnie i jest zrobiony specjalnie pod ten komputer
dodawałem driver do isa sound i do obsugi isa
dmesg
https://pastebin.ubuntu.com/p/WQGFwT9qVQ/
alsa info
https://pastebin.ubuntu.com/p/kNtb5zKXSD/

pavbaranov

Cóż... Jeśli kernel robiony przez Ciebie, to w pierwszej kolejności spróbuj doinstalować stockowy, ewentualnie jeszcze zrobić to co pisał @arecki: https://forum.linuxiarze.pl/index.php/topic,4478.msg28087.html#msg28087 i sprawdź.

gosc

#9
Teraz wykrywa kartę, czyli wcześniejszy kernel to nie był specjalnie pod ten komputer ?

Logi sugerują jakby to była inna karta:
[  295.479822] cs423x-pnpbios 01:01.00: [dma 1]
[  295.479852] cs423x-pnpbios 01:01.00: [dma 0]
[  295.479965] cs423x-pnpbios 01:01.00: [irq 5]
[  295.480005] cs423x-pnpbios 01:01.00: [io  0x0534-0x0537]
[  295.480030] cs423x-pnpbios 01:01.00: [io  0x0388-0x038b]
[  295.480054] cs423x-pnpbios 01:01.00: [io  0x0220-0x022f]
[  295.482950] cs423x-pnpbios 01:01.00: activated
[  295.482983] cs423x-pnpbios: probe of 01:01.00 failed with error -2
[  295.497991] cs4232_isapnp 01:01.00: disabled
[  295.507502] cs4232_isapnp 01:01.00: [dma 1]
[  295.507532] cs4232_isapnp 01:01.00: [dma 0]
[  295.507654] cs4232_isapnp 01:01.00: [irq 5]
[  295.507693] cs4232_isapnp 01:01.00: [io  0x0534-0x0537]
[  295.507718] cs4232_isapnp 01:01.00: [io  0x0388-0x038b]
[  295.507742] cs4232_isapnp 01:01.00: [io  0x0220-0x022f]
[  295.510637] cs4232_isapnp 01:01.00: activated
[  295.510667] cs4232_isapnp 01:01.02: [io  0x0120-0x0127]
[  295.513132] cs4232_isapnp 01:01.02: activated
[  295.525475] cs4232_isapnp 01:01.01: activated



!!Loaded ALSA modules
!!-------------------

snd_cs4236


!!Sound Servers on this system
!!----------------------------

No sound servers found.


!!Soundcards recognised by ALSA
!!-----------------------------

0 [CS4235         ]: CS4235 - CS4235
                      CS4235 at 0x534, irq 5, dma 1&0

Na podstawie powyższego można spróbować przeładować moduł z nowymi parametrami:
sudo rmmod snd-card-cs4236 &&sudo modprobe snd-card-cs4236 snd_port=0x534 snd_irq=5

Pulseaudio też nie widać w logach, jak rozumiem celowe działanie?

Spróbowałbym mimo wszystko z kernelem 5.3 może w obecnym czegoś jeszcze brakuje, chociaż sama karta jest już wykrywana.

Wycinek z https://tldp.org/HOWTO/Alsa-sound-5.html sugeruje, że trzeba podać konkretne parametry do tej karty:
CytatCS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 chips

According to the INSTALL file you need to supply the main port and control ports for this card. Note that with a CS4237B card, I ended up supplying all information (except DMA-size), otherwise the driver did not work. So you may as well use the whole command line to insert the driver, and not only supply snd_port and snd_cport. If you initialized the card with the isapnp-tools, you can probably get info from the /etc/isapnp.conf file for the following values:

    snd_port - port # for CS4232 chip (PnP setup - 0x534)
    snd_cport - control port # for CS4232 chip (PnP setup - 0x120)
    snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
    snd_fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
    snd_jport - joystick port for CS4232 chip (PnP setup - 0x200), -1 = disable
    snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
    snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
    snd_dma1 - first DMA # for CS4232 chip (0,1,3)
    snd_dma1_size - max first DMA size in kB (4-64kB)
    snd_dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
    snd_dma2_size - max second DMA size in kB (4-64kB)

You would do a "modprobe snd-card-cs4236 snd_port=0x534 snd_cport=0x120 snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" to load the driver. (Without midi-support, see the note at Yamaha OPL-3, and no joystick support). Notes:

    the "NN" values need to be supplied, only I do not know what would be reasonable values.
    my CS4237B works fine without explicit dma size option.

TowarzyszWolf

#10
takie błędy dostaje jak chce to wpisać:
sudo rmmod snd-card-cs4236 &&sudo modprobe snd-card-cs4236 snd_port=0x534 snd_irq=5
rmmod: ERROR: Module snd_card_cs4236 is not currently loaded
modprobe: FATAL: Module snd-card-cs4236 not found in directory /lib/modules/5.10.6_IBM_Personal_Computer_300PL

próbowałem na moim kernelu jak i na 5.3

gosc

#11
Do poleceń wkradł się błąd polegający na nieprawidłowej nazwie modułu snd_card-cs4236. Chyba tak ten moduł się nazywa jeśli go skompilujemy ze źródeł Alsy, bo te polecenia były brane z poradników linkowanych powyżej.
W poleceniu powinien być używany ten kernelowy czyli snd_cs4236.
Proponuję jeszcze raz zrobić testy na kernelu 5.3 jako, że ten jest najbardziej pewny co do kompletności składników.
sudo rmmod snd_cs4236 &&sudo modprobe snd_cs4236 snd_port=0x534 snd_irq=5

TowarzyszWolf

dalej nie działa
błąd
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
        version 1.25.10; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes


Terminal control enabled, press 'h' for listing of keys and functions.

Playing MPEG stream 1 of 1: mp3.mp3 ...
Note: Illegal Audio-MPEG-Header 0x00000000 at offset 4092.
Note: Trying to resync...
Note: Hit end of (available) data during resync.

[0:01] Decoding of mp3.mp3 finished.

gosc

Pokaż wynik aplay -l oraz aplay /usr/share/sounds/alsa/*


Zobacz najnowsze wiadomości na forum