On Thursday, June 8, 2017 10:40 AM Takashi Iwai wrote:

> On Thu, 08 Jun 2017 10:15:34 +0200,
> Axel Holzinger wrote:
> >
> > On Tuesday, June 6, 2017 8:27 PM Takashi Iwai wrote:
> > > On Mon, 05 Jun 2017 11:49:53 +0200,
> > > Axel Holzinger wrote:
> > > >
> > > > Hi,
> > > >
> > > > I'm trying to get a RME HDSPe MADI card to run in an ARM box with
> Linux
> > > > 4.1.6. I configured the (vendor specific TI) kernel to support the
card
> > (via
> > > > hdspm) compiled into the kernel (not as loadable module).
> > > >
> > > > The MADI card is detected as a PCI device and the ALSA driver is
loaded.
> > > > Unfortunately playout does NOT work: aplay is reporting an error:
> > > > ALSA lib pcm_mmap.c:374:(snd_pcm_mmap) mmap failed: No such
> device
> > > or
> > > > address
> > >
> > > Hm, this sounds odd.  But the line doesn't really correspond to the
> > > latest version of alsa-lib.  Could you try to upgrade to the latest
> > > version?  Otherwise it's hard to debug.
> >
> > I installed ALSA with Debian apt-get. How would I update to a newer
> version?
> 
> Compiling by yourself?
> alsa-lib has very few dependency, so it should be easy.
> 
> > > > strace:
> > > > open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK|O_CLOEXEC) =
> 4
> > > > fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
> > > > ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY or
> > > SNDRV_PCM_IOCTL_INFO,
> > > > 0xbecdfb64) = 0
> > > > fcntl64(4, F_GETFL)                     = 0x802 (flags
> > O_RDWR|O_NONBLOCK)
> > > > ioctl(4, AGPIOC_INFO or SNDRV_PCM_IOCTL_PVERSION, 0xbecdfacc) =
> 0
> > > > ioctl(4, AGPIOC_SETUP or SNDRV_PCM_IOCTL_TTSTAMP, 0xbecdfad4)
> = 0
> > > > mmap2(NULL, 4096, PROT_READ, MAP_SHARED, 4, 0x80000000) = -1
> ENXIO
> > > (No such
> > > > device or address)
> > >
> > > This error is expected and should be OK.  It's an mmap of
> > > status/control page, and this isn't supported on ARM, thus the kernel
> > > returns -ENXIO.  alsa-lib then falls back to the normal ioctl instead
> > > of status/control mmap.
> >
> > Okay, got it. So is the mmap emulation plugin via asound.conf suggested
by
> > Anders needed then anyhow?
> 
> It's irrelevant with the mmap emulation.
> 
> > > But the ring-buffer mmap is supported as normal on ARM for MADI
> > > driver, at least.  MADI provides the SG-buffer that is mappable via
> > > DMA coherent pages, and it should work on most of archs as is.
> >
> > Well I found out something more: If I don't give a "--device" parameter
to
> > aplay and the RME card is default, then audio is playing. But I give the
"
> > --device=default:CARD=HDSPMx5c74" then the error is occuring. That
> doesn't
> > make sense to me at all. The tests made were with the asound.conf Anders
> > suggested. Isn't that strange?
> 
> Are you using dmix or such?  It appears more like a configuration
> issue.  With the unmodified configuration, the "default" PCM for HDSPM
> should be equivalent with "plughw".
> 
> Could you check whether aplay -M works without device option?
> 
> > > You should have another error from mmap, with a different offset
> > > value.  That's the real error we need to track down.
> >
> > I attached the complete strace.
> 
> OK, the strace shows the mmap failure of the second channel.
> 
> > > (And, 4.1.x is pretty old, rather too old for debugging, too...)
> >
> > Well, I know, but the kernel is a TI based manufacturer kernel for a SoC
> > (AM5728). I'm not such an expert to update that to current kernel
version
> > unfortunately.
> >
> > If you don't mind I have another question: If specifying a device
> > "--device", how would I "send" audio to the "upper" channels/tracks of
the
> > MADI card? If I ommit the "--device" parameter audio is playing on
> > channels/tracks 1+2. How would I play audio to channels/tracks 33+34 for
> > example?
> 
> Well, you likely need to fiddle with the asoundrc in such a case.
> Maybe a better option is to use JACK or such, I suppose.
> 
> 
> Takashi

Hello Takashi, hello list,

I did some further testing with a Sound Blaster Live Audigy Rx (Emu10k1
driver based) and this card works without any change in asound.conf, etc.

debian@arm:~/48kHz$ aplay -vv audio.wav
Playing WAVE 'audio.wav' : Signed 16 bit Little Endian, Rate 48000 Hz,
Stereo
Plug PCM: Hardware PCM card 0 'SB Audigy 5/Rx [SB1550]' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 4096
  period_time  : 85333
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 4096
  period_event : 0
  start_threshold  : 16384
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 1073741824
  appl_ptr     : 0
  hw_ptr       : 0
##### +                                            | 10%

While with the RME MADI card:

debian@arm:~/48kHz$ aplay -vv audio.wav
Playing WAVE 'audio.wav' : Signed 16 bit Little Endian, Rate 48000 Hz,
Stereo
ALSA lib pcm_mmap.c:374:(snd_pcm_mmap) mmap failed: No such device or
address
aplay: set_params:1297: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: 48000
PERIOD_TIME: (21333 21334)
PERIOD_SIZE: 1024
PERIOD_BYTES: 4096
PERIODS: 2
BUFFER_TIME: (42666 42667)
BUFFER_SIZE: 2048
BUFFER_BYTES: 8192
TICK_TIME: 0

I'm currently trying to get the TI Linux kernel 4.9 on this hardware.

Best regards
Axel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to