[Решено] Проблемы с загрузкой em28xx-alsa/em28xx-audio.c

Автор Aalexeey, 28 января 2014, 16:12:24

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Aalexeey

Устройство - USB тюнер гибрид Analog/DVB-T, при инициализации в pulseaudio видно как 15ть одинаковых устройств, в Gnome Alsa Mixer тоже.
G. Alsa Mixer при наличии этого устройства выдаёт ошибку:"Bad key or directory name: "/apps/gnome-alsamixer/display_mixers/": Key/directory may not end with a slash '/'" аналогично здесь: http://ubuntuforums.org/showthread.php?t=1017000
В процессах висит modeprobe с модулем em28xx-alsa грузящим процессор на 100%.
При перезагрузке по экрану идут бесконечные текстовые строки, приходится перезагружаться в горячую.
Вот здесь: https://patchwork.linuxtv.org/patch/21595/ есть патч, подскажите что с ним делать как его применить? Что как и куда вводить или создать и запустить.
Другие решения тоже приветствуются.
https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

ferum

#1
Сумбурно всё у вас, давайте по полочкам: система, разрядность, используемое ядро, точное название вашего устройства.
Хотя думаю если вы в теме то делается всё примерно так
Открыть содержимое (спойлер)
Get build-deps
apt-get install linux-headers-`uname -r` build-essential patch patchutils git-core libproc-processtable-perl libdigest-sha-perl
Get the source

cd /usr/src

git clone git://linuxtv.org/media_build.git

cd media_build

Comment out make in the build script

sed -i 's/system ("make") == 0 or die "build failed";/#system ("make") == 0 or die "build failed";/' build

sed -i "s/Compilation finished. Use 'make install' to install them/Preparation finished. You can now patch the source/" build

Prepare the source for compilation

./build


Patch the source

nano ../v4l.patch

копипастите патч что нашли

diff --git a/drivers/media/usb/em28xx/em28xx-audio.c b/drivers/media/usb/em28xx/em28xx-audio.c
index 1563f71a5ea2..45bea1adc11c 100644
--- a/drivers/media/usb/em28xx/em28xx-audio.c
+++ b/drivers/media/usb/em28xx/em28xx-audio.c
@@ -948,6 +948,7 @@  urb_free:

card_free:
   snd_card_free(card);
+   adev->sndcard = NULL;

   return err;
}
@@ -966,12 +967,12 @@  static int em28xx_audio_fini(struct em28xx *dev)

   em28xx_info("Closing audio extension");

-   snd_card_disconnect(dev->adev.sndcard);
-   flush_work(&dev->wq_trigger);
+   if (dev->adev.sndcard) {
+      snd_card_disconnect(dev->adev.sndcard);
+      flush_work(&dev->wq_trigger);

-   em28xx_audio_free_urb(dev);
+      em28xx_audio_free_urb(dev);

-   if (dev->adev.sndcard) {
      snd_card_free(dev->adev.sndcard);
      dev->adev.sndcard = NULL;
   }

накладываете патч

patch -p1 < ../v4l.patch

rm -f ../v4l.patch

собираете, устанавливаете, перезагружаетесь

make distclean

make

make install

shutdown -r now
[свернуть]
Делайте только если понимаете что делаете! Действие осуществляет пересборку проблемного для вас модуля ядра но затрагивает все dvb модули, то есть спутниковые dvb карты и веб камеры.
Русские дебианщики против цифрового слабоумия !

Aalexeey

ferum, Система Debian Wheezy MATE Desktop 32 и 64 бит (история везде на всех компах что нашёл одна и та же, и на Mint тоже, в винде работает нормально), ядра как stable так и backports все, устройство Konig DVB-T-USB30 http://shops.mercatos.net/harakteristiki/Konig-DVB-T-USB30_9623134.html , чипы тюнеров внутри empia EM2880 и XCEIVE XC3028A.
Буду пробовать с блокировкой модуля em28xx (audio), какой будет эффект. По тырнету есть много обсуждений такого же неадекватного поведения alsa и gnome-alsamixer, попадались предположения что это можно решить через правку /user/share/alsa/alsa.conf (проблема я так понял в символах в имени устройства которые alsa почему-то не понимает) и этот патч.
Тюнер планируется использовать на ноутбуке см. внизу.
https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

ferum

Чтож, конечно надо пробовать, дело вроде житейское.
Русские дебианщики против цифрового слабоумия !

Aalexeey

#4
Кривизна исправлена начиная с ядра 3.14.15.bpo.2  ;D, "набор" ядра можно взять здесь http://snapshot.debian.org/ . Очень годное ядро к тому же Long Term Support, жаль оно не взято за основное в Jessie.
https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"