Я использую Ubuntu 12.04 и у меня есть звуковая карта с 2-мя звуковыми картами.
Когда я слушаю музыку или смотрю видео, звук исчезает (видео тоже останавливается), и мне нужно подключить и подключить звуковую карту, чтобы снова звучать.
Мне удалось найти сообщение snd-usb-caiaq log: Невозможно найти выходной urb для использования
Посмотрев на источник для последней версии ядра sound / usb / caiaq / audio.c , в функции read_completed мы видим, что сообщение отправляется модулем ядра caiaq usb. В верхней части модуля мы видим, что определены 32 буфера urb.
Это сообщение отправляется, если все эти буферы помечены как используемые. Я думаю, что имеет смысл, что переподключение устройства воссоздаст эти буферы.
Это указывает на тип ошибки утечки памяти в этом коде или в связанном коде в этом модуле драйвера Linux.
Два предложения:
Сообщить об этом как об ошибке в ядре Linux. Пожалуйста, смотрите Как мне сообщить об ошибке? .
Попробуйте это с обновленным ядром mainline. См. и для получения обновленных инструкций. Вы будете хотеть последнее дерево Линуса. Я упомяну, что проприетарные драйверы могут усложнить этот процесс. Сообщите о результатах использования основного ядра обновления в приведенном выше отчете об ошибке.
URB - это блок USB-запроса, аналог IP-пакета. Буфер содержит эти пакеты для отправки и получения. Некоторая довольно техническая информация здесь . Кадры звуковых выборок являются типичной полезной нагрузкой для этих блоков запроса.