Boss RC-300 loopstation (no audio)

Talk about your MIDI interfaces, microphones, keyboards...

Moderators: MattKingUSA, khz

neilnardlenoo
Established Member
Posts: 20
Joined: Mon Jul 10, 2017 7:31 pm

Re: Boss RC-300 loopstation (no audio)

Post by neilnardlenoo »

argh, yes - with the br-80, if I stop pulseaudio (got out of the habit after a while of that making no difference!) the "unable to change format on ep ..." messages no longer come up (at least on this particular version of the quirks file!) and the device appears to be recognised as 'normal' - no errors and messages just like on the old kernel .... it then just still doesn't work, all the same issues as ever. With jack set to midi = seq, jack still can't connect to it, either, so unless there's a non-jack way to invoke a "midi connection" that then allows jack to connect, etc. that option is off the table, too.

Starting to look like I'll have to live with a really old kernel and software if I want to keep using this interface.
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Boss RC-300 loopstation (no audio)

Post by Drumfix »

So what is the output if you start on the commandline with

pasuspender -- jackd -v -dalsa -dhw:... -X seq

?

BTW for the BR80 if have yet to see the output of lsusb -v
dormirj
Established Member
Posts: 59
Joined: Thu Jul 20, 2017 9:13 am

Re: Boss RC-300 loopstation (no audio)

Post by dormirj »

okay, this might actually have been a part of the problem, forgive me for not thinking about this sooner, so i can confirm that disabling pulseaudio will stop the "unable to.." messages in dmesg. still it does not lead to any appearance of output/capture controls in alsamixer (i mean, maybe there aren't any?) and i am also not able to play sound.
dormir@automne:~$ aplay --device plughw:CARD=RC300,DEV=0 STE-000.wav
Playing WAVE 'STE-000.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
aplay: pcm_write:1940: write error: Input/output error
I omitted pasuspender since pulse is completely disabled for the time being, also added -rate and i believe -S is the forcing of 16-bit audio.
dormir@automne:~$ jackd -v -dalsa -dhw:1 -X seq -rate 44100 -S
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Jack: JackPosixThread::StartImp : create non RT thread
Jack: JackPosixThread::ThreadHandler : start
Jack: playback device hw:1
Jack: capture device hw:1
Jack: apparent rate = 0
Jack: JackDriver::Open capture_driver_name = hw:1
Jack: JackDriver::Open playback_driver_name = hw:1
Jack: Check protocol client = 8 server = 8
Jack: JackEngine::ClientInternalOpen: name = system
Jack: JackEngine::AllocateRefNum ref = 0
Jack: JackPosixSemaphore::Allocate name = jack_sem.1000_default_system val = 0
Jack: JackEngine::NotifyAddClient: name = system
Jack: JackGraphManager::SetBufferSize size = 1024
Jack: JackConnectionManager::DirectConnect first: ref1 = 0 ref2 = 0
Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
Jack: JackDriver::SetupDriverSync driver sem in flush mode
audio_reservation_init
Acquire audio card Audio1
creating alsa driver ... hw:1|hw:1|1024|2|0|0|0|nomon|swmeter|-|16bit
configuring for 0Hz, period = 1024 frames (inf ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
Jack: JackSocketServerChannel::Open
Jack: JackServerSocket::Bind : addr.sun_path /dev/shm/jack_default_1000_0
Jack: JackSocketServerChannel::BuildPoolTable size = 1
Jack: JackEngine::Open
Jack: JackClientSocket::Connect : addr.sun_path /dev/shm/jack_default_1000_0
Jack: JackEngine::ClientInternalOpen: name = freewheel
Jack: JackEngine::AllocateRefNum ref = 1
Jack: JackPosixSemaphore::Allocate name = jack_sem.1000_default_freewheel val = 0
Jack: JackEngine::NotifyAddClient: name = freewheel
Jack: JackDriver::ClientNotify ref = 1 driver = system name = freewheel notify = 0
Jack: JackDriver::ClientNotify ref = 0 driver = freewheel name = system notify = 0
Jack: JackConnectionManager::DirectConnect first: ref1 = 1 ref2 = 1
Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 1 ref2 = 1
Jack: JackDriver::SetupDriverSync driver sem in flush mode
Jack: JackGraphManager::SetBufferSize size = 1024
Jack: JackAlsaDriver::Attach fBufferSize 1024 fSampleRate 44100
Jack: JackEngine::PortRegister ref = 0 name = system:capture_1 type = 32 bit float mono audio flags = 22 buffer_size = 1024
Jack: JackGraphManager::AllocatePortAux port_index = 1 name = system:capture_1 type = 32 bit float mono audio
Jack: JackConnectionManager::AddOutputPort ref = 0 port = 1
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackAlsaDriver::Attach fCapturePortList 1
Jack: JackEngine::PortRegister ref = 0 name = system:capture_2 type = 32 bit float mono audio flags = 22 buffer_size = 1024
Jack: JackGraphManager::AllocatePortAux port_index = 2 name = system:capture_2 type = 32 bit float mono audio
Jack: JackConnectionManager::AddOutputPort ref = 0 port = 2
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackAlsaDriver::Attach fCapturePortList 2
Jack: JackEngine::PortRegister ref = 0 name = system:playback_1 type = 32 bit float mono audio flags = 21 buffer_size = 1024
Jack: JackGraphManager::AllocatePortAux port_index = 3 name = system:playback_1 type = 32 bit float mono audio
Jack: JackConnectionManager::AddInputPort ref = 0 port = 3
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackAlsaDriver::Attach fPlaybackPortList 3
Jack: JackEngine::PortRegister ref = 0 name = system:playback_2 type = 32 bit float mono audio flags = 21 buffer_size = 1024
Jack: JackGraphManager::AllocatePortAux port_index = 4 name = system:playback_2 type = 32 bit float mono audio
Jack: JackConnectionManager::AddInputPort ref = 0 port = 4
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackAlsaDriver::Attach fPlaybackPortList 4
Jack: Clock source : system clock via clock_gettime
Jack: JackServer::Start
Jack: JackThreadedDriver::Start
Jack: JackEngine::PortRegister ref = 0 name = system:midi_capture_1 type = 8 bit raw midi flags = 22 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 5 name = system:midi_capture_1 type = 8 bit raw midi
Jack: JackConnectionManager::AddOutputPort ref = 0 port = 5
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
port created: Midi-Through:midi/playback_1
Jack: JackEngine::PortRegister ref = 0 name = system:midi_playback_1 type = 8 bit raw midi flags = 21 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 6 name = system:midi_playback_1 type = 8 bit raw midi
Jack: JackConnectionManager::AddInputPort ref = 0 port = 6
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
port created: Midi-Through:midi/capture_1
Jack: JackEngine::PortRegister ref = 0 name = system:midi_capture_2 type = 8 bit raw midi flags = 22 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 7 name = system:midi_capture_2 type = 8 bit raw midi
Jack: JackConnectionManager::AddOutputPort ref = 0 port = 7
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
port created: RC-300:midi/playback_1
Jack: JackEngine::PortRegister ref = 0 name = system:midi_playback_2 type = 8 bit raw midi flags = 21 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 8 name = system:midi_playback_2 type = 8 bit raw midi
Jack: JackConnectionManager::AddInputPort ref = 0 port = 8
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
port created: RC-300:midi/capture_1
Jack: JackPosixThread::StartImp : create non RT thread
Jack: JackPosixThread::ThreadHandler : start
Jack: JackThreadedDriver::Init real-time
Jack: JackPosixThread::AcquireRealTimeImp priority = 10
Jack: JackPosixThread::StartImp : create non RT thread
Jack: JackPosixThread::ThreadHandler : start
Jack: JackSocketServerChannel::ClientCreate socket
Jack: JackSocketServerChannel::BuildPoolTable size = 2
Jack: JackSocketServerChannel::BuildPoolTable fSocketTable i = 1 fd = 10
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 10
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 10
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 10
ALSA: poll time out, polled for 34828071 usecs
JackAudioDriver::ProcessAsync: read error, stopping...
Jack: JackPosixThread::ThreadHandler : exit
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 10
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 10
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 10
...
....
[...]
....
......


this goes on until i strg+c. i don't really understand the jackd output, but what i find curious this time is that aplay actually fails with an i/o error, with some other quirk setups (i believe just having each presumed audio interface be an QUIRK_AUDIO_STANDARD_INTERFACE it didn't fail, but just didnt produce any sound on the rc-300) and now with, again, drumfix suggestions for the quirks table it actually fails, so maybe there's a lead?
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Boss RC-300 loopstation (no audio)

Post by Drumfix »

If the QUIRK_AUDIO_STANDARD_INTERFACE works, then use that.

then try

jackd -dalsa -dhw:1 -r 44100 -p 1024 -n 2

Are you sure you have set the USB Audio settings inside the RC-300 correctly?

SYS: USB Audio IN Level (= level of the signal that goes from PC to RC-300)
SYS: USB Audio OUT Level (= level of the signal that goes from RC-300 to the PC)
SYS: USB Audio IN Out Select (where the PC output should go)
dormirj
Established Member
Posts: 59
Joined: Thu Jul 20, 2017 9:13 am

Re: Boss RC-300 loopstation (no audio)

Post by dormirj »

well sure, i tried it with both kernels, but i just said that it didnt throw an i/o error, that does not necessarily mean that it works correctly, i've tried your change of jackd startup settings, but it didnt change much, the
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 10
changed to
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 9
and yes - the rc-300 itself should be configured correctly, there arent too many options to change anyway, set it to usb-audio, have a decent amount of in/out level and set output to main+sub, which should send it to main+sub+phones outputs as far as the manual goes.

EDIT:
concerning the settings on the rc-300 i can confirm that they work as expected, i just tested it on a friends windows machine.

greetings;
dormir--
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Boss RC-300 loopstation (no audio)

Post by Drumfix »

Did you also create a .asoundrc for controlling soft volume like the guy here ?

I am not familiar with the softvol plug, but who knows..

http://linux-audio.4202.n7.nabble.com/B ... 61196.html
dormirj
Established Member
Posts: 59
Joined: Thu Jul 20, 2017 9:13 am

Re: Boss RC-300 loopstation (no audio)

Post by dormirj »

Interesting find, this leads to at least some more ideas for debugging the issue. The solution with softvol seems to be for a situation where sound works, but cant be controlled, since I don't even have sound, I'm still at the speaker-test stage...

Currently I'm websearching around for this issue:
dormir@jeveux:~$ speaker-test -D plughw:CARD=RC300,DEV=0 -r 44100

speaker-test 1.1.0

Playback device is plughw:CARD=RC300,DEV=0
Stream parameters are 44100Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Rate set to 44100Hz (requested 44100Hz)
Buffer size range from 16 to 131072
Period size range from 8 to 65536
Using max buffer size 131072
Periods = 4
was set period_size = 32768
was set buffer_size = 131072
0 - Front Left
Time per period = 0,003859
0 - Front Left
does not produce sound;
dormir@jeveux:~$ speaker-test -D hw:CARD=RC300,DEV=0 -r 44100

speaker-test 1.1.0

Playback device is hw:CARD=RC300,DEV=0
Stream parameters are 44100Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Sample format not available for playback: Invalid argument
Setting of hwparams failed: Invalid argument
does not even try to produce sound.

So from what I understand plughw is a way of alsa to try and convert the audiodata into a format that the hardware "should" be able to work with concerning samplerate,channels etc - so if this doesnt manage to get anything out of the device it means there still must be something wrong with the driver or quirk setting?
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Boss RC-300 loopstation (no audio)

Post by Drumfix »

The sample format of the hardware is most likely S32_LE, so with speaker-test only supporting S16_LE, it won't work. Plughw converts to some format supported by the device.

Edit: Just did another test.

aplay -Dhw:1 file.wav

JD-Xi through plain alsa => aplay doesn't complain, but no sound output !!

Then i used the softvol .asoundrc from above with the card replaced by the JD-Xi

aplay -Dsoftvol file.wav

JD-Xi through plain alsa => aplay doesn't complain, sound output !!

After that again

aplay -Dhw:1 file.wav => aplay doesn't complain, sound output !!

My guess is that newer kernels initially mute the output of newly connected devices.
dormirj
Established Member
Posts: 59
Joined: Thu Jul 20, 2017 9:13 am

Re: Boss RC-300 loopstation (no audio)

Post by dormirj »

I've compiled another kernel with 32 bit sample rate, but it didnt change much. speaker-test does however support all formats if you give it the option:
dormir@automne:~$ speaker-test -D hw:CARD=RC300,DEV=0 -F S32_LE -c 2 -r 44100

speaker-test 1.1.0

Playback device is hw:CARD=RC300,DEV=0 ----- (SAME GOES FOR PLUGHW**)
Stream parameters are 44100Hz, S32_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 44100Hz (requested 44100Hz)
Buffer size range from 16 to 131072
Period size range from 8 to 65536
Using max buffer size 131072
Periods = 4
was set period_size = 32768
was set buffer_size = 131072
0 - Front Left
1 - Front Right
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output error
i've also tried the softvolume control, but here i get nonsensical errors:
dormir@automne:~$ aplay -Dsoftvol STE-000.wav
Playing WAVE 'STE-000.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
aplay: set_params:1233: Sample format non available
Available formats:
- S32_LE
dormir@automne:~$ aplay -Dsoftvol STE-000_32BIT.WAV
Playing WAVE 'STE-000_32BIT.WAV' : Float 32 bit Little Endian, Rate 44100 Hz, Stereo
aplay: set_params:1233: Sample format non available
Available formats:
- S32_LE
dormir@automne:~$
i'll attach the asoundrc for reference, not sure if i should have done something else there--

EDIT:
maybe i'm really doing something wrong with the asoundrc, in alsamixer my softvol control always gets added to the controls of my intel card and not to the rc-300 page?

greetings;;
Attachments
a_sound_rc.txt
(596 Bytes) Downloaded 86 times
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Boss RC-300 loopstation (no audio)

Post by Drumfix »

card should be RC300 in the control section, if you want it to show up the RC300 page in alsamixer

S32_LE is signed 32 bit integer, not signed 32 bit float.

I'd go back to the kernel where plughw worked and try there.

BTW which kernel are you using?

If there is no sound it would make sense to check what is actually going over the wire in the isochronous packets (using usbmon and wireshark).
dormirj
Established Member
Posts: 59
Joined: Thu Jul 20, 2017 9:13 am

Re: Boss RC-300 loopstation (no audio)

Post by dormirj »

kernel is 4.8.1

i've started monitoring with wireshark, but it might take me some time to be able to read the usb packet communication properly, if someone here is already versed in this, i have one session uploaded here:

http://www33.zippyshare.com/v/LS0inGM9/file.html


greetings;
dormir//
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Boss RC-300 loopstation (no audio)

Post by Drumfix »

There are only isochronous in packets and all the length fields in the micro frame descriptors are set to 0.
I guess this interface requires a non-standard initialization sequence to make it work.

Can you monitor the device when connected to a windows machine?
dormirj
Established Member
Posts: 59
Joined: Thu Jul 20, 2017 9:13 am

Re: Boss RC-300 loopstation (no audio)

Post by dormirj »

currently i have none, but i guess i'll try to set up a windows partition for this investigation.

---
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Boss RC-300 loopstation (no audio)

Post by Drumfix »

Can you comment out the following lines in

<kernel>/sound/usb/endpoint.c, function snd_usb_handle_sync_urb

/*
* skip empty packets. At least M-Audio's Fast Track Ultra stops
* streaming once it received a 0-byte OUT URB
*/
if (bytes == 0) <---- comment this out
return; <---- comment this out

so the 0-byte urbs are not skipped anymore and check with wireshark what happens?
dormirj
Established Member
Posts: 59
Joined: Thu Jul 20, 2017 9:13 am

Re: Boss RC-300 loopstation (no audio)

Post by dormirj »

not too much time in the coming days sadly, i've for now set up a windows partition and hopefully get some "good intel" on what the usb transaction looks like with the genuine driver. after that i will look into your suggestion as soon as possible, but i guess it'll be more towards the end of the next week.

greetings and thanks for your continued support-- more and more it feels like i'm on a quest... :)
Post Reply