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@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user