Linuxiarze.pl Forum

Dystrybucje Linux => Ubuntu, Kubuntu, Xubuntu, Lubuntu => Wątek zaczęty przez: TowarzyszWolf w Styczeń 15, 2021, 12:18:47 PM

Tytuł: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 15, 2021, 12:18:47 PM
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
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: gosc w Styczeń 15, 2021, 12:50:56 PM
A jakiego konkretnie Debiana zainstalowałeś na tym zabytku?
Jakiś zestaw informacji na początek też by się przydał, czyli wyniki dmesg, lspci, lsusb.
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 15, 2021, 01:43:17 PM

dmseg
https://pastebin.ubuntu.com/p/GZktc6TWMX/
lspci
https://pastebin.ubuntu.com/p/74wBSQKczC/
lsusb
https://pastebin.ubuntu.com/p/HWvkZHYh4t/
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: lami07 w Styczeń 15, 2021, 04:01:44 PM
Wątek przeniesiony do działu Ubuntu
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: gosc w Styczeń 15, 2021, 04:06:28 PM
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.
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 15, 2021, 05:05:33 PM
alsa info
https://pastebin.ubuntu.com/p/FsDhNbfWqM/
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: gosc w Styczeń 15, 2021, 06:44:24 PM
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.
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 16, 2021, 09:21:34 AM
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/
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: pavbaranov w Styczeń 16, 2021, 10:36:54 AM
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ź.
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: gosc w Styczeń 16, 2021, 10:52:37 AM
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.
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 16, 2021, 11:58:14 AM
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
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: gosc w Styczeń 16, 2021, 01:40:10 PM
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
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 16, 2021, 02:58:23 PM
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.
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: gosc w Styczeń 16, 2021, 03:10:49 PM
Pokaż wynik aplay -l oraz aplay /usr/share/sounds/alsa/*
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 16, 2021, 09:51:08 PM
aplay
https://pastebin.ubuntu.com/p/SpZPs6mYqD/
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: gosc w Styczeń 16, 2021, 10:14:36 PM
aplay: device_list:270: nie znaleziono żadnych kart dźwiękowych...
jest wystarczającym komentarzem.
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 17, 2021, 12:11:08 PM
jest postęp wykrywa go jako
**** Lista PLAYBACK urządzeń ****
karta 0: CS4235 [CS4235], urządzenie 0: WSS [CS4235]
  Urządzenia podrzędne: 1/1
  Urządzenie podrzędne #0: subdevice #0
ale dźwięku dalej nie ma
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: TowarzyszWolf w Styczeń 17, 2021, 12:30:48 PM
zmieniłem z alsa na pulsaudio jest nowy 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
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Naruszenie ochrony pamięci (zrzut pamięci)
Tytuł: Odp: problem kartą dzwiekową 4237b
Wiadomość wysłana przez: pavbaranov w Styczeń 17, 2021, 01:24:10 PM
Może to głupi pomysł, ale spróbowałbym ściągnąć ISO Ubu 16.04 (obojętnie które) i odpalić komputer z niego. Tam jest jeszcze kernel, który powinien obsługiwać tę kartę i sprawdzić w trybie Live, czy karta działa.
Naruszenie ochrony pamięci, to można byłoby zdiagnozować przez gdb. Inna sprawa, że chyba nawet nie w tym problem. Wygląda bowiem tak, jakbyś nie miał jakiejś paczki w systemie. Rozumiem, że linux-modules-extra dla swojego (bo to chyba z niego są te wyniki) masz w systemie, bądź też wkompilowałeś moduł na stałe w kernel. Sprawdź sobie zgrepem na configu za wyrażeniem "cs4236".