LINUX.ORG.RU

BOSS GT-1

 , ,


0

2

Здравствуйте! Являюсь обладателем гитарного процессора boss gt-1, и пытаюсь перейти на linux (новичок, но сам разработчик на С\С++). В винде процессор определяется как звуковая карта и дает с него записывать звук в том же Audacity. В линуксе запустить не удалось.

В списке lsusb процессор виден, ALSA тоже его обнаруживает как устройство, но попытки его запустить оказываются неудачными.

dmesg выводит [ 3581.737600] usb 2-2: Unable to change format on ep #8e: already in use

Попробовал пересобрать ядро, внеся правки, руководствуясь этим топиком: https://www.linuxmusicians.com/viewtopic.php?f=6&t=17180&start=30#p88954 , но безуспешно. Теперь при обращении к устройству (например, запуске Audacity), система просто виснет, вываливая в dmsg какую то длинную портянку отладки (запощу, если это необходимо).

Утром с помощью гугла нашел вот такой вариант для gt-100, но не пробовал:

https://delta-xi.net/blog/#038

Эксперименты проводились на xubuntu 19, kernel 5.3.0 (последняя с оффсайта, в 18-й нет еще и звука из динамиков на ноуте)

В общем, помогите разобраться. Может, есть у кого из здесь присутствующих такой процессор эффектов и проблема решена? Или может подскажет кто, куда хотя бы копать?

Хочется поставить на ноут линукс, и сейчас останавливает только невозможность записи звука.



Последнее исправление: c0da (всего исправлений: 2)

Надо загрузить систему, проверить dmesg и journalctl, воткнуть проц в усб, просмотреть опять логи и выложить последние сообщения сюда. Также подробный вывод «lsusb -v», «aplay -l» и «pactl list». А также дистр и ядро. Тогда можно чем-то что-то жевать.

ChekPuk ★★★
()

Не надо было прыгать сразу перекомпилировать всё, надо локализовать проблему.

Если на немодифицированном ядре усб устройство определяется - хорошо, подгружается соотв. модуль? Хорошо. Определяется альсой? Великолепно. Дальше проблемы - как оно позиционируется? Входы? Выходы? какие частоты/режимы включаются? алсамиксер какие регуляторы находит?

Вторая проблема - а как ты используешь аудасити? В линуксе есть альса, пульс, джек, и аудасити ещё использует портаудио, так что у неопытного проблема может возникнуть где угодно даже если всё работает по отдельности. Опиши, что куда подключено?

ChekPuk ★★★
()
Последнее исправление: ChekPuk (всего исправлений: 1)
Ответ на: комментарий от ChekPuk

Хорошо, сегодня попробую вечером поставить заново и все это выведу сюда, спасибо!

c0da
() автор топика
Ответ на: комментарий от ChekPuk

По моему, из коробки была только ALSA.. что нужно предоставить ? Скриншоты альсы?

Я попробовал ещё ubintustudio, якобы максимально подходящую для всяких там записей, там был ещё jack, но ни он, на альса не смогли работать с процессором.. гугл сказал что проблема в ядре, я и пошел накатывать по неопытности )

c0da
() автор топика
Ответ на: комментарий от c0da

Аудасити использовалась для тестов, в итоге хочу конечно какой то аналог Audition/Reaper , скорее всего подойдёт линуксовый Ardour..

c0da
() автор топика
Ответ на: комментарий от c0da

Ни один дистрибутив не сделает твои волосы шелковистыми, если ты не знаешь основ. В линуксе так просто, с наскока, звук не освоишь (в смысле, ежели ты лезешь в нестандартные железки и звукозапись). Надо понять разницу между джеком, пульсом, альсой и способов их использовать. Не надо прыгать с дистра на дистр. Надо просто выбрать Манджару :)

Перед копанием во всём этом почитай как пользоваться джеком и как пользоваться пульсой. Переписывать всё в стотысячный раз не буду. Скажу только, что альса - это звуковая подсистема (дрова, там, обработка режимов и пр), пульсаудио - пользовательский звуковой сервер, без реального времени и неподходящий для гитаропатии, и джек - звуковой сервер реального времени, для звукозаписи и пр.

Если (ЕСЛИ) звуковуха обнаружилась и подхватилось альсой, то, скорее всего, ей займётся пульсаудио. Но тебе нужен звук в реальном времени, поэтому тебе нужно чтобы пульса «отпустила» звуковуху и запустить джек, чтобы он подхватил её. для неконсольного управления этими серверами используй pavucontrol и qjackctl. Но читать, читать и читать.

Если всё-таки нужно использовать тот патч, то, скорее всего, в том обсуждении тебе и помогут лучше всего.

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

С манджары и начал)) на ней не вышло, полез копать в другие дистрибы,думая что в более популярных проблемы решены)

Спасибо, стало понятнее!

Сегодня накачу манджару тогда и попробую все это ещё раз!

Если нетрудно, поглядывай этот пост, или может лучше в личке с тобой списаться где - либо ?

c0da
() автор топика
Ответ на: комментарий от c0da

Не, лички тут нет и вообще, сильно я не помогу. Если проблема действительно в ядре, то тут я ноль с палочкой. А если проблемы с аудиосерверами, то всё стотыщраз говорено. Я так, наметил контуры, тесезеть.

ChekPuk ★★★
()

Утром с помощью гугла нашел вот такой вариант для gt-100, но не пробовал:

Не пробуй, там же написано что все уже внесли в код, а пост 2012 года. То, что там уже в альсе есть.

The code has finally made its way to the official ALSA kernel sources.

curufinwe ★★★★★
()
Ответ на: комментарий от ChekPuk

Насколько я понял, тут проблема что драйвер его как бы видит, но в GT-1 устройство «звуковуха» сделано не стандартно (ну как всегда у в-зя-ов) и драйвер с ним корректно не работает. Люди пробовали грязно хакнуть драйвер, у них заработало, но у ТС-а это не проходит. Не удивительно, ведь это не исправление проблемы, а хак. Что тут делать - не понятно пока. Наверное надо человеку, у которого есть такой процессор, брать и патчить драйвер нормально (не хаком) самому.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

Это всё сможет сделать человек понимающий как дальше этим пользоваться. А тут может сказаться элементарное непонимание того, что происходит, что обнаружилось и что как определилось. Вот с этим подразберётся и можно приступать к копанию в ядре.

Вот, кстати, в копилку размышлений http://blog.nostatic.org/2020/01/getting-boss-gt-1-effects-processor-to.html

И во ещё https://includeguitar.home.blog/2019/06/18/boss-katana-linux-❤️/

ChekPuk ★★★
()
Последнее исправление: ChekPuk (всего исправлений: 1)
Ответ на: комментарий от ChekPuk

Вот, кстати, в копилку размышлений http://blog.nostatic.org/2020/01/getting-boss-gt-1-effects-processor-to.html

Прочитал тред, на который он ссылается - там ведь то же самое, наложили на драйвер тот самый хак.

И во ещё https://includeguitar.home.blog/2019/06/18/boss-katana-linux-❤️/

То же и с Катаной - опля накладывают ровно тот же хак.

Да это блин BOSS обкуренный. В USB спецификации есть стандартное устройство «звуковуха», нет чтобы сделать стандартно и оно бы работало вообще без дополнительных дурацких драйверов. Но нет.

Чуво? :)

Разработчики под одну ОС, созвучные с сантех инструментом.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

В Винде без дополнительных работает, из коробки. Может конечно оно автоматом что то накатывает, но я н чего не ставил, просто воткнул.

Дак.. с чего начать копать ? Manjaro и выводы всего что выше, верно ?

Я хак, который выше по ссылке «из копилки» добавил чуть выше по коду, сейчас под рукой нет, но я перепроверю , что это одно и тоже,мало ли.

c0da
() автор топика
Ответ на: комментарий от c0da

В Винде без дополнительных работает, из коробки.

А вот это интересно, почему так. А что за драйверы под винду на сайте Босса тогда? Получается не обязательны?

А, я кажется понял - там еще чуть сложнее. В линуксе подхватывается не стандартный драйвер (который бы работал), а спец для Roland. И хак не дает ему загрузится, вынуждает использовать стандартный.

Дак.. с чего начать копать ? Manjaro и выводы всего что выше, верно ?

Да, потому что объективно Manjaro хороший выбор, безотносительно этих проблем даже, и вывод не помешает. Но есть большие подозрения лично у меня, что без патчей на ядро тут не получится.

Попробуй в Manjaro вот этот хак делать, все-таки люди пишут что им помогает.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

Я к тому, что две совершенно разных железы и один хак решает (пусть и обходит) проблему. Если у ТСа не сработало, то не сработало что? Сначала научиться читать логи, понять структуру аудиосерверов и только потом ты сможешь понять, что не работает.

А насчёт производителей - Да, грустно. Ну, они никогда и не заявляли поддержку линукса, им удобно на винде, где каждый производитель производит свои сугубые стандарты.

ChekPuk ★★★
()
Ответ на: комментарий от curufinwe

В винде теперь поставляется множество «базовых» драйверов, договоры просто с производителем позаключали. И окучивают кучи :)

ChekPuk ★★★
()
Ответ на: комментарий от Nervous

Гитарные процессоры на малинах вдоль и поперек пробовали.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

А не надо целый драйвер на каждую железку. Список правил определения и всё. Это же не «драйверпак» от васянов. Тем более когда что-то пишется по обоюдному согласию, всё продумано, а железки пишутся согласно не общего стандарта, а своих, внутренних правил.

Доказать не могу, ссылку лень искать, просто читал про новую политику с дровами в винде. Ну и наблюдения - действительно, гораздо меньше дров стало нужно. Даже автоматическое скачивание не нужно иногда, «всё включено».

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

Доказать не могу, ссылку лень искать, просто читал про новую политику с дровами в винде. Ну и наблюдения - действительно, гораздо меньше дров стало нужно. Даже автоматическое скачивание не нужно иногда, «всё включено».

Так и есть, не спорю. А вот с семеркой у меня вензеля - нету даже драйвера на USB-COM порт для stm32. А на сайте ST чтобы скачать драйвер надо в секту вступать. И притом еще туда не хотят принимать - код дают, а потом пишут что он нерабочий и по нему вы не можете скачать. Из-за этого вчера занятия лабораторные были сорваны. А в линукс у меня на ноуте втыкаешь и все просто работает. Сорян за оффтоп.

curufinwe ★★★★★
()
Ответ на: комментарий от ChekPuk

проверить dmesg

Можно не просматривать весь вывод, а только часть отфильтровав лишнее с помощью grep

dmesg|grep error
или
dmesg|grep ERROR

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от torvn77

дмесг | греп гланды

Вырежет тебе всё на чём непосредственно не написано «гланды». А чтобы понять что да как нужно читать всё, что появилось после включения устройства.

ChekPuk ★★★
()

Являюсь обладателем гитарного процессора boss gt-1,

Вообще выше тебе немного дурят голову, потому что гитарный процессор малораспространённое устройство и ещё менее вероятно что им будет пользоваться программист, потому что он предпочтёт для обработки и эфектов нативный линуксовый софт и профессиональные карты.
Пример можешь посмотреть тут:
Tux guitar и Guitarrix под qjackctl Общую картину можешь оценить через поиск:
https://www.linux.org.ru/search.jsp?q=+guitar&range=TOPICS&interval=ALL&user=&_usertopic=on&sort=DATE&section=

https://www.linux.org.ru/search.jsp?q=%D0%B3%D0%B8%D1%82%D0%B0%D1%80%D0%B0&range=TOPICS&interval=ALL&user=&_usertopic=on&sort=DATE&section=

В общем то что под твой гитарный процессор что либо написано крайне мало вероятно.
Но есть два момента:

  1. Устройство у тебя очень древнее, а значит таки кто-то таки мог хоть что-то написать.
  2. alsa как то на твоё устройство реагирует.

Значит помимо посоветованного в треде я тебе посоветую вот что, узнай какой модуль ядра использует это устройство и узнай кто автор этого модуля и спишись с ним, адрес для связи должен быть в исходниках модуля.

А так вот тебе для более лёгкого освоения пример раскопок
Помогите настроить аудиоинтерфейс TASCAM US-144mkII
Как образец не предлагаю, но для справочника и перевого знакомства сойдёт.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от curufinwe

Да, про винду отдельный разговор. Но всё же, что-то там поменялось. Ведь раньше ролландовские и боссовские железки заводились в линуксе максимум с полпинка. Я когда-то магазинный боссовский гитарный проц пробовал с линуксом подружить - всё работало. Не помню что за модель была. Но вроде ещё до гт-100. А теперь даже на ноут не на любой линукс вообще поставишь. «майкрософт любит опенсорс»? :) Ладно. Кончаю офтопить.

Ждём, что ТС принесёт вечером.

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

Меня вот тут больше поражает, почему у них выложены дрова под винду и мак и никакого намека на линукс. Видимо производители пока вообще не рассматривают линукс как платформу для работы со звуком.

curufinwe ★★★★★
()
Ответ на: комментарий от torvn77

Пример можешь посмотреть тут: Tux guitar и Guitarrix под qjackctl

Я правильно понял, что суть примера в том, что ни одного ответа в этой теме нет? Тогда пример довольно характерный для этого форума. Хотя в данном случае даже стыдно, вопрос не сложный и я например мог бы на него исчерпывающе ответить, как и @ChekPuk.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

Если я правильно помню, ролландовцы когда-то присылали патчи непосредственно в альсу. Но дебьян, зюзя и прочие тормоза прогресса убивали идею поставки дров потребителю. А предлагать покупателю канпелять дрова это... Ну ты понел :) Но это было начало двухтысячных, а что дальше не помню, я же не слежу :)

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

Но дебьян, зюзя и прочие тормоза прогресса убивали идею поставки дров потребителю. А предлагать покупателю канпелять дрова это… Ну ты понел :)

Ну не знаю. Покупателю они предлагают подключить к винде. А если покупатель весьма упорный - то на, конпеляй, это твой выбор ОС. Лично я тут не вижу каких-то минусов для производителя устройства. К тому же почти все производители компьютерных компонентов выкладывают исходники драйверов.

curufinwe ★★★★★
()
Ответ на: комментарий от ChekPuk

А что там Debian’овцам не нравилось?
Драйвера были блобом с прослойкой библиотекой?

torvn77 ★★★★★
()
Ответ на: комментарий от curufinwe

Суть примера в том, что по ссылке довольный гитарист и можно посмотреть как и чем он доволен.

torvn77 ★★★★★
()
Ответ на: комментарий от ChekPuk

Я анти-выходной :(( Так что не буду телать тему.

curufinwe ★★★★★
()
Ответ на: комментарий от ChekPuk

Портянки

Не знаю, как тут правильно оформлять код, поэтому пастебин:

dmesg после бута сразу: https://pastebin.com/raw/yPJEAquD

dmesg после подключения GT-1: https://pastebin.com/raw/6q0ZWt6v

journalctl после подключения GT-1: https://pastebin.com/raw/meVREFiw

aplay -l: https://pastebin.com/raw/w5xbiYjx

lsusv -v: https://pastebin.com/raw/4jBzpixx

pactl list: https://pastebin.com/raw/SnFwxERa

Ядро: $ uname -a Linux c0da-pc 5.5.0-1-MANJARO #1 SMP PREEMPT Mon Jan 27 09:39:12 UTC 2020 x86_64 GNU/Linux

Manjaro сразу после установки, накатил только все апдейты которые есть и он предложил мне новое ядро 5.5.0-1, тоже обновил. На старом было то де самое в dmesg, я думаю на полет не влияет в данном случае.

При создании проекта в Ardour что бы я там не тыкал - всегда ошибка «Failed to open audio device», когда я выбираю GT-1. Протыкал все режимы и все кнопки.

c0da
() автор топика
Ответ на: комментарий от torvn77

нет, я никогда не скрещивала примочки с компом. у меня почти и нет примочек, мне они не нужны. а на комп для записи я всё с микшера заводила, если нужно.

Iron_Bug ★★★★★
()

вообще, можешь посмотреть этот тред. там, насколько я понимаю, они добавили обработку нужного USB id'а куда-то в дрова pcm, чтобы драйвер сам определял тип устройства:

https://linuxmusicians.com/viewtopic.php?f=6&t=17180&start=45#p107509

у тебя в функцию set_sync_ep_implicit_fb_quirk в sound/usb/pcm.c надо в хвост добавить (после аналогичного кейса для катаны):

case USB_ID(0x0582, 0x01d6):
      return 0;
пересобрать этот драйвер и попробовать запустить твой девайс.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от meliafaro

Да, пробовал, и на убунте ещё, я писал же..

c0da
() автор топика
Ответ на: комментарий от Iron_Bug

Скорее всего есть, а как посмотреть ? CheckPuk говорил об этом, что двуковуха может быть захвачена пульсой

c0da
() автор топика
Ответ на: комментарий от Iron_Bug

А можно как то пересобрать только драйвер, без сборки всего ядра? Уж очень долго собирается..

c0da
() автор топика
Ответ на: комментарий от c0da

Я с этого топика и начал, мое первое сообщение в теме, правда добавлял в начало кейса

c0da
() автор топика
Ответ на: Портянки от c0da

Отлично! Устройство даже подхватилось пульсой!

Так. Я забыл, надо было ещё lsusb -t сделать, оно показало бы драйвер, который используется, это самое интересное - какой конкретно модуль ядро использует? Как только увидишь его название, ищи опции модуля в modinfo tvojmodul. Чтобы увидеть какие параметры предоставляет этот модуль? Может там достаточно рычагов давления?

Попробуй запустить любой плеер, открыть pavucontrol и перенаправь плеер на босс. Что произойдёт? Пойдёт звук с проца? А если нет, то как себя система ведёт? Какие новые ошибки в dmesg?

Ещё вопрос - в том патче, что ты применял, там был указан правильный busID? Твоего устройства?

Странно, что патчат именно модуль, прописывая там конкретные модели. Что скажут достопочтенная публика? Через udev нельзя было какихнить опций накрутить?

ChekPuk ★★★
()
Ответ на: комментарий от c0da

В тех ссылках, что я давал, парень именно собирал отдельно этот «кусок». Собираешь модуль, подменяешь тот что в ядре, перезагружаешься. И так при каждом обновлении ядра :(

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

Еще портянки

lsusb -t: https://pastebin.com/raw/05aFhJF5

modinfo snd-usb-audio: https://pastebin.com/raw/32SErviV

Попробовал перенаправить (в pavucontrol в вкладке configuration выбрал у GT-1 Analog Stereo Output, и еще попробовал выбрать Dogotal Stereo Output EC958 ), после этого на вкладке Playback появился у (плеера?) Audacious on [GT-1 … ], при переключении звука нет, при втыкании там [Build-In audio speakers + Headphones] звук ожидаемо через колонки, в dmesg чисто, вроде, вот лог с момента подключения:

https://pastebin.com/raw/HJZerVZ2

BusID? э… там же USB Vendor / Device вбивается в USB_ID(..): Конечно я ставил верный, тот который в lsusb виден, а именно case USB_ID(0x0582, 0x01d6): return 0;

c0da
() автор топика
Ответ на: Еще портянки от c0da

Хорошо. Теперь два варианта:

1) пропатчить модуль как ты уже пробовал и смотреть что дальше. Но тогда придётся каждый раз пересобирать, или даже написать скрипт для пересборки, но никакого dkms, не получится использовать, потому что подменяются существующие файлы.

2) смотреть - что можно сделать с параметрами модуля snd-usb-audio. Там их достаточно много и сильно влияющих на всё, вот только на что? Читать маны этого модуля, искать. После обнаружения удачной комбинации опций можно создать udev правило, чтобы когда ты подключаешь конкретно этот девайс модуль загружался с правильными опциями. Или просто добавить соотв. строку в /etc/modprobe.d В этом способе тебе не придётся ничего перекомпилировать, а только подобрать правильные опции.

Я не особо помогу в этом деле, я не больше указателя на дороге :) А вот curufinwe - монстр (в хорошем смысле). Как и некоторые тут. Вот только торвина-два-топора не особо слушай.

И ещё - как бы ни советовали местные мазохисты, не удаляй и не отключай пульсаудио полностью. У тебя встроенная звуковуха может продолжать работать в пульсаудио, а, например, usb-наушники и босс могут работать на джеке, мирно сосуществуя. И даже временно подключить все устройства в джек и пустить поверх этого пульсаудио можно. Система гибкая и мощная. В знающих руках. Это монстрически-эпическая система, если знаешь что делать. А если оставить голую альсу - ну и будешь ручками тыкать всё и везде. каждый раз. и радоваться, что сэкономил 20 мегов памяти :)

ChekPuk ★★★
()
Последнее исправление: ChekPuk (всего исправлений: 1)
Ответ на: Еще портянки от c0da

Ещё одна заметочка - вопросик понимающим: я не вижу описываемого устройства в алиасах модуля ядра. Это как? Как модуль тогда выбирается и загружается для данного устройства?

ChekPuk ★★★
()
Последнее исправление: ChekPuk (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.