INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: [RESOLVED] JRMC28 "No such device or address" on Debian 11-64  (Read 2588 times)

ths61

  • World Citizen
  • ***
  • Posts: 162
[RESOLVED] JRMC28 "No such device or address" on Debian 11-64
« on: October 24, 2021, 02:05:53 pm »

Is there any way to increase the verbosity of the JRMC28 Logging functionality ?

JRMC28 lists the plugin in the "Audio Device" menu and it can be selected in both Debian10 and Debian11 64-bit device (using the same version of the kernel 5.10).

On Debian10, it opens and plays the plugin.
On Debian11, it states it can not open the device with "Error = No such device or address." even though it lists it and allows you to select it as an output device.

Other programs can open it and write to it.

I understand JRMC28 has been "homed" on Debian10, but would appreciate any helpful tips on how to enable more detailed debug logging or other techniques to isolate the issue.  It would be helpful to identify if it is some type of channel/rate/format/config conflict in the logs.

Log attached for both Debian 10 and 11.

Thanks much.

P.S.  One other item of note.  The plugin has a 2x8 mixer and expects 2 channel input.  Other programs can open it for 2 channel and work.  JRMCXX requires it to be opened for 8 channels, even though only 2 are used.  Configuring 2 channels in previous MC versions [26-28] has not worked on Debian 10.

Debian 11-64-bit:
Code: [Select]
0007414: 140150134892288: Playback: CALSAPlugin::Open: Start
0007414: 140150134892288: Playback: CALSAPlugin::OpenALSA: Start
0007414: 140150134892288: Playback: CALSAPlugin::OpenALSA: Opening audio device camilladsp failed, Error = No such device or address
0007414: 140150134892288: Playback: CALSAPlugin::OpenALSA: Finish (0 ms)
0007414: 140150134892288: Playback: CALSAPlugin::Open: Finish (0 ms)

Debian 10-64-bit:
Code: [Select]
0045429: 140313041540864: Playback: CALSAPlugin::Open: Start
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Start
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Opened audio device camilladsp
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: m_afOutput claims the file to play is NOT DSD
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Try to open various PCM output formats
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Using device at bitdepth S32_LE
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Set sample rate 44100
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Set desired number of channels to (8)
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: buffer range: size=1920..4096 time=43537..92880
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: period range: size=960..1024 time=21768..23220
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Buffer Time to use: 92880
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Period Time to use: 23220
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Setting Buffer Time: 92880
0045429: 140313041540864: Playback: CALSAPlugin::OpenALSA: Setting Period Time: 100000
0045430: 140313041540864: Playback: CALSAPlugin::OpenALSA: Buffer size is 4096 uFrames
0045430: 140313041540864: Playback: CALSAPlugin::OpenALSA: Period size is 1024 uFrames
0045430: 140313041540864: Playback: CALSAPlugin::OpenALSA: Hardware cannot resume
0045430: 140313041540864: Playback: CALSAPlugin::OpenALSA: Setting SleepTimingFromBufferDuration to  23
0045430: 140313041540864: Playback: CALSAPlugin::OpenALSA: Finish (1 ms)
0045430: 140313041540864: Playback: CALSAPlugin::Open: Finish (1 ms)
0045431: 140313725794048: Playback: CWaveOutBin::CreateBin: Finish (9 ms)

Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72444
  • Where did I put my teeth?
Re: JRMC28 "No such device or address" on Debian 11-64
« Reply #1 on: October 24, 2021, 05:00:08 pm »

No verbosity settings.
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13874
Re: JRMC28 "No such device or address" on Debian 11-64
« Reply #2 on: October 25, 2021, 04:00:05 pm »

On debian 11
/usr/lib/jriver/Media\ Center\ 28/alsacap
post results.

Note the the user must be in the "audio" group.
It's possible that with your setup the user may need to part of some other group as well.
Logged

ths61

  • World Citizen
  • ***
  • Posts: 162
Re: JRMC28 "No such device or address" on Debian 11-64
« Reply #3 on: October 25, 2021, 05:27:17 pm »

On debian 11
/usr/lib/jriver/Media\ Center\ 28/alsacap
post results.

Note the the user must be in the "audio" group.
It's possible that with your setup the user may need to part of some other group as well.

Thanks Bob, I will instigate the "audio" (and other) group permissions on both machines. 

aplay works fine with the plugin ([16-64]bit/[44.1 - 768]kHz sample files, including FLOAT_LE & FLOAT64_LE) on both machines.

NOTE: The outputs of both alsacap and 'aplay -v -D camilladsp /dev/zero --dump-hw-params' are the same on both Debian 10 and Debian 11.   

alsacap does not list plugins where "aplay -L" lists hardware and plugins.

The plugin is of type SND_PCM_IOPLUG_VERSION (not SND_PCM_EXTPLUG_VERSION).

I have disabled/blacklisted onboard Intel sound on both machines to minimize the amount of audio devices to just the ones I use.

Code: [Select]
alsacap
Card 0, ID `Loopback', name `Loopback'
  Device 0, ID `Loopback PCM', name `Loopback PCM', 8 subdevices (7 available)
    1..32 channels, sampling rates 8000, 11025, 16000, 22050, 32000, 44100, 48000, 88200, 96000, 176400, 192000 Hz
    Sample formats: S16_LE, S16_BE, S24_LE, S24_BE, S32_LE, S32_BE, FLOAT_LE, FLOAT_BE, S24_3LE, S24_3BE
      Subdevice 0, name `subdevice #0'
      Subdevice 1, name `subdevice #1'
      Subdevice 2, name `subdevice #2'
      Subdevice 3, name `subdevice #3'
      Subdevice 4, name `subdevice #4'
      Subdevice 5, name `subdevice #5'
      Subdevice 6, name `subdevice #6'
      Subdevice 7, name `subdevice #7'
  Device 1, ID `Loopback PCM', name `Loopback PCM', 8 subdevices (8 available)
    1..32 channels, sampling rates 8000, 11025, 16000, 22050, 32000, 44100, 48000, 88200, 96000, 176400, 192000 Hz
    Sample formats: S16_LE, S16_BE, S24_LE, S24_BE, S32_LE, S32_BE, FLOAT_LE, FLOAT_BE, S24_3LE, S24_3BE
      Subdevice 0, name `subdevice #0'
      Subdevice 1, name `subdevice #1'
      Subdevice 2, name `subdevice #2'
      Subdevice 3, name `subdevice #3'
      Subdevice 4, name `subdevice #4'
      Subdevice 5, name `subdevice #5'
      Subdevice 6, name `subdevice #6'
      Subdevice 7, name `subdevice #7'
Card 1, ID `DAC8PRO', name `DAC8PRO'
  Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)
    8 channels, sampling rates 44100, 48000, 88200, 96000, 176400, 192000 Hz
    Sample formats: S16_LE, S32_LE, SPECIAL, DSD_U32_BE
      Subdevice 0, name `subdevice #0'

Code: [Select]
aplay -v -D camilladsp /dev/zero --dump-hw-params
Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "camilladsp":
--------------------
ACCESS:  MMAP_INTERLEAVED MMAP_NONINTERLEAVED MMAP_COMPLEX RW_INTERLEAVED RW_NONINTERLEAVED
FORMAT:  S16_LE S24_LE S32_LE FLOAT_LE FLOAT64_LE S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: [16 64]
FRAME_BITS: [32 512]
CHANNELS: [2 8]
RATE: [44100 768000]
PERIOD_TIME: [625 185760)
PERIOD_SIZE: [480 8192]
PERIOD_BYTES: [30720 32768]
PERIODS: [2 4]
BUFFER_TIME: [1250 743039)
BUFFER_SIZE: [960 32768]
BUFFER_BYTES: [61440 131072]
TICK_TIME: ALL
--------------------
Available formats:
- S16_LE
- S24_LE
- S32_LE
- FLOAT_LE
- FLOAT64_LE
- S24_3LE


Code: [Select]
aplay -v -D hw:DAC8PRO /dev/zero --dump-hw-params
Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:DAC8PRO":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S16_LE S32_LE SPECIAL DSD_U32_BE
SUBFORMAT:  STD
SAMPLE_BITS: [16 32]
FRAME_BITS: [128 256]
CHANNELS: 8
RATE: [44100 192000]
PERIOD_TIME: [125 743039)
PERIOD_SIZE: [6 32768]
PERIOD_BYTES: [96 524288]
PERIODS: [2 1024]
BUFFER_TIME: (62 1486078)
BUFFER_SIZE: [12 65536]
BUFFER_BYTES: [192 1048576]
TICK_TIME: ALL
--------------------
Available formats:
- S16_LE
- S32_LE
- SPECIAL
- DSD_U32_BE

Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

ths61

  • World Citizen
  • ***
  • Posts: 162
Re: JRMC28 "No such device or address" on Debian 11-64
« Reply #4 on: October 25, 2021, 06:02:56 pm »

On debian 11
/usr/lib/jriver/Media\ Center\ 28/alsacap
post results.

Note the the user must be in the "audio" group.
It's possible that with your setup the user may need to part of some other group as well.

The user account is assigned to the same groups on both machines.

Code: [Select]
adm cdrom floppy sudo audio dip video plugdev netdev lpadmin scanner
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

ths61

  • World Citizen
  • ***
  • Posts: 162
Re: JRMC28 "No such device or address" on Debian 11-64 [Solved]
« Reply #5 on: October 26, 2021, 12:43:17 am »

I tried running other audio players until I found one that threw the following error, which might be what JRMC28 is encountering and aplay is not.

Code: [Select]
play 01_Rosa_Lee.wav
ALSA lib dlmisc.c:337:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_cdsp.so
(/libx-gnu/alsa-lib/libasound_module_pcm_cdsp.so: undefined symbol: snd_lib_error)

I searched the web and found this:

https://wiki.debian.org/ToolChain/DSOLinking#Unresolved_symbols_in_shared_libraries
Code: [Select]
...
For the --as-needed default change, a workaround/fix would be to link with "-Wl,--no-as-needed -lfoo -Wl,--as-needed".

Note that the --as-needed and --no-as-needed are positional parameters and the default behaviour should be restored after using this workaround.
...

I rebuilt the driver with the suggested "-Wl,--no-as-needed -lasound -Wl,--as-needed" linker options and JRMC28 is now able to open and write to the driver.  This must be something new between Debian 10 and 11 because the driver's Makefiles are the same.

Thanks much.
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13874
Re: JRMC28 "No such device or address" on Debian 11-64 [Solved]
« Reply #6 on: October 26, 2021, 09:08:38 am »

I tried running other audio players until I found one that threw the following error, which might be what JRMC28 is encountering and aplay is not.

Code: [Select]
play 01_Rosa_Lee.wav
ALSA lib dlmisc.c:337:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_cdsp.so
(/libx-gnu/alsa-lib/libasound_module_pcm_cdsp.so: undefined symbol: snd_lib_error)
That's interesting. I'm not sure I completely understand it though, what component is linked against libraries that have unresolved symbols??
Quote
I searched the web and found this:

https://wiki.debian.org/ToolChain/DSOLinking#Unresolved_symbols_in_shared_libraries
Code: [Select]
...
For the --as-needed default change, a workaround/fix would be to link with "-Wl,--no-as-needed -lfoo -Wl,--as-needed".

Note that the --as-needed and --no-as-needed are positional parameters and the default behaviour should be restored after using this workaround.
...

I rebuilt the driver with the suggested "-Wl,--no-as-needed -lasound -Wl,--as-needed" linker options and JRMC28 is now able to open and write to the driver.  This must be something new between Debian 10 and 11 because the driver's Makefiles are the same.

Thanks much.
Logged

ths61

  • World Citizen
  • ***
  • Posts: 162
Re: JRMC28 "No such device or address" on Debian 11-64 [Solved]
« Reply #7 on: October 27, 2021, 08:48:17 pm »

That's interesting. I'm not sure I completely understand it though, what component is linked against libraries that have unresolved symbols??

The program that gave the unresolved symbol was SoX's "play" program when trying to use the plugin (user space driver).

The JRMC28 logs did not include any specific details about unresolved symbols.  I found the snd_lib_error unresolved symbol by running another application that did dump a detailed enough error statement to point in the right direction.  The "fix/linker options" worked for that program and JRMC28 as a bonus.

I grepped the "strings" output on Debian 10 of both the resulting linker options of the driver's .so which yielded same results of [snd_lib_error@@ALSA_0.9 vs snd_lib_error@@ALSA_0.9].

I grepped the "strings" output on Debian 11 of both the resulting linker options of the driver's .so which yielded the delta of [snd_lib_error vs snd_lib_err@ALSA_0.9], with the latter one addressing the missing symbol.

Code: [Select]
strings libasound_module_pcm_cdsp.so | grep snd_lib_error

So far it works on both Debian 11's 5.10 default and 5.14 (improved lower latency USB music driver) backports kernels. Hope it doesn't mean it is regressing to an earlier version of ALSA.  Version 0.9 appears to be quite old (@ 2003).

Debian 10 alsa-utils is on 1.1.8-2
Debian 11 alsa-utils is on 1.2.4-1
Debian 12 alsa-utils is currently on 1.2.5.1-1
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid
Pages: [1]   Go Up