Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Failed to open Alsa device "hw:1,0" no such file or directory
#11
Post output from the cmds below and I'll have a look.

Code:
aplay -l

alsa-capabilities (run this cmd when playback is stopped)
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#12
(10-22-2019, 09:53 PM)Tim Curtis Wrote: Post output from the cmds below and I'll have a look.

Code:
aplay -l

also-capabilities (run this cmd when playback is stopped)

Umm. That second command is alsa-capabilities


@Deenoo

So the kernel detected your USB DAC and registered the interface driver.  Good.

Now let's see what happens with Tim's suggested commands.

Regards,
Kent
Reply
#13
(10-22-2019, 09:53 PM)Tim Curtis Wrote: Post output from the cmds below and I'll have a look.

Code:
aplay -l

also-capabilities (run this cmd when playback is stopped)

Code:
pi@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
 Subdevices: 7/7
 Subdevice #0: subdevice #0
 Subdevice #1: subdevice #1
 Subdevice #2: subdevice #2
 Subdevice #3: subdevice #3
 Subdevice #4: subdevice #4
 Subdevice #5: subdevice #5
 Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 2: B20 [BursonAudio USB Audio 2.0], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0


Code:
pi@moode:~ $ alsa-capabilities
1) Analog output interface hw:0,0 (or hw:ALSA,0)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 ALSA                                            
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D0p                                        
- encoding formats  = U8, S16_LE                                              
- monitor file      = /proc/asound/card0/pcm0p/sub0/hw_params                  
- stream file       = (n/a)                                                    

2) Digital output interface hw:0,1 (or hw:ALSA,1)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 IEC958/HDMI                                      
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D1p                                        
- encoding formats  = S16_LE                                                  
- monitor file      = /proc/asound/card0/pcm1p/sub0/hw_params                  
- stream file       = (n/a)                                                    

3) Digital output interface hw:0,2 (or hw:ALSA,2)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 IEC958/HDMI1                                    
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D2p                                        
- encoding formats  = S16_LE                                                  
- monitor file      = /proc/asound/card0/pcm2p/sub0/hw_params                  
- stream file       = (n/a)                                                    

4) Digital USB Audio Class output interface hw:2,0 (or hw:B20,0)
- card name         = B20                                                      
- card label        = BursonAudio USB Audio 2.0                                
- interface name    = USB Audio                                                
- usb audio class   = 2 - isochronous asynchronous                            
- character device  = /dev/snd/pcmC2D0p                                        
- encoding formats  = S32_LE, SPECIAL DSD_U32_BE                              
- monitor file      = /proc/asound/card2/pcm0p/sub0/hw_params                  
- stream file       = /proc/asound/card2/stream0

Thank you Tim & Kent! Smile
Reply
#14
@Deenoo

So the card is alive and well and enumerated by ALSA as interface hw:2,0. Try it.

Maybe that other USB device which showed up in the dmesg output caused ALSA to skip card 1. 

Code:
[    4.121906] usb 1-1.1.1: new high-speed USB device number 8 using dwc_otg
[    4.252389] usb 1-1.1.1: New USB device found, idVendor=0424, idProduct=7800, bcdDevice= 3.00
[    4.265258] usb 1-1.1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    6.629683] usbcore: registered new interface driver uas

"UAS" stands for USB Attached SCSI, about which I know nothing I didn't just learn from a Google search. I don't know if or why it would confuse the ALSA enumeration process.

Regards,
Kent
Reply
#15
(10-23-2019, 08:19 AM)Deenoo Wrote:
(10-22-2019, 09:53 PM)Tim Curtis Wrote: Post output from the cmds below and I'll have a look.

Code:
aplay -l

also-capabilities (run this cmd when playback is stopped)

Code:
pi@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
 Subdevices: 7/7
 Subdevice #0: subdevice #0
 Subdevice #1: subdevice #1
 Subdevice #2: subdevice #2
 Subdevice #3: subdevice #3
 Subdevice #4: subdevice #4
 Subdevice #5: subdevice #5
 Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 2: B20 [BursonAudio USB Audio 2.0], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0


Code:
pi@moode:~ $ alsa-capabilities
1) Analog output interface hw:0,0 (or hw:ALSA,0)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 ALSA                                            
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D0p                                        
- encoding formats  = U8, S16_LE                                              
- monitor file      = /proc/asound/card0/pcm0p/sub0/hw_params                  
- stream file       = (n/a)                                                    

2) Digital output interface hw:0,1 (or hw:ALSA,1)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 IEC958/HDMI                                      
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D1p                                        
- encoding formats  = S16_LE                                                  
- monitor file      = /proc/asound/card0/pcm1p/sub0/hw_params                  
- stream file       = (n/a)                                                    

3) Digital output interface hw:0,2 (or hw:ALSA,2)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 IEC958/HDMI1                                    
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D2p                                        
- encoding formats  = S16_LE                                                  
- monitor file      = /proc/asound/card0/pcm2p/sub0/hw_params                  
- stream file       = (n/a)                                                    

4) Digital USB Audio Class output interface hw:2,0 (or hw:B20,0)
- card name         = B20                                                      
- card label        = BursonAudio USB Audio 2.0                                
- interface name    = USB Audio                                                
- usb audio class   = 2 - isochronous asynchronous                            
- character device  = /dev/snd/pcmC2D0p                                        
- encoding formats  = S32_LE, SPECIAL DSD_U32_BE                              
- monitor file      = /proc/asound/card2/pcm0p/sub0/hw_params                  
- stream file       = /proc/asound/card2/stream0

Thank you Tim & Kent! Smile

Hi,

I put your log output in code boxes for readability. Its the 5th button from the right on the toolbar when composing a post.

The log output shows 2 HDMI ports which indicates a Pi-4B but earlier you reported using a a Pi-3B+
http://moodeaudio.org/forum/showthread.p...1#pid13891

Code:
Audio Information
Audio Device
Device: USB audio device
Chip:
Interface: USB
Formats: U8, S16_LE
Platform: Pi-3B+ 1GB v1.3

The log output also shows that your USB DAC has been assigned hw:2,0 by Linux/ALSA. It should be assigned to hw:1,0 by Linux/ALSA but for some reason not obvious to me it is not.
Here is what I see on a Pi-4B with stock moOde and a USB DAC connected. The USB DAC is assigned to hw:1,0 (card1) by Linux/ALSA.

Code:
pi@rp2:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
 Subdevices: 7/7
 Subdevice #0: subdevice #0
 Subdevice #1: subdevice #1
 Subdevice #2: subdevice #2
 Subdevice #3: subdevice #3
 Subdevice #4: subdevice #4
 Subdevice #5: subdevice #5
 Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 1: DAC [UAC1 DAC], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0

Code:
pi@rp2:~ $ alsa-capabilities
1: `bcm2835 ALSA' Analog audio output on device bcm2835 ALSA
   -hardware address:               hw:0,0  (or hw:ALSA,0)
   -device label:                   bcm2835 ALSA
   -formats:                        U8, S16_LE
   -usb audio class:                (n/a)
   -streamfile:                     (n/a)
   -character device:               /dev/snd/pcmC0D0p
   -monitor file:                   /proc/asound/card0/pcm0p/sub0/hw_params
2: `bcm2835 IEC958/HDMI' Digital non-UAC audio output on device bcm2835 ALSA
   -hardware address:               hw:0,1  (or hw:ALSA,1)
   -device label:                   bcm2835 ALSA
   -formats:                        S16_LE
   -usb audio class:                (n/a)
   -streamfile:                     (n/a)
   -character device:               /dev/snd/pcmC0D1p
   -monitor file:                   /proc/asound/card0/pcm1p/sub0/hw_params
3: `bcm2835 IEC958/HDMI1' Digital non-UAC audio output on device bcm2835 ALSA
   -hardware address:               hw:0,2  (or hw:ALSA,2)
   -device label:                   bcm2835 ALSA
   -formats:                        S16_LE
   -usb audio class:                (n/a)
   -streamfile:                     (n/a)
   -character device:               /dev/snd/pcmC0D2p
   -monitor file:                   /proc/asound/card0/pcm2p/sub0/hw_params
4: `USB Audio' Digital USB Audio Class audio output on device UAC1 DAC
   -hardware address:               hw:1,0  (or hw:DAC,0)
   -device label:                   UAC1 DAC
   -formats:                        (n/a)
   -usb audio class:                UAC1 (isochronous adaptive)
   -streamfile:                     /proc/asound/card1/stream0
   -character device:               /dev/snd/pcmC1D0p
   -monitor file:                   /proc/asound/card1/pcm0p/sub0/hw_params
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#16
(10-23-2019, 12:58 PM)Tim Curtis Wrote:
(10-23-2019, 08:19 AM)Deenoo Wrote:
(10-22-2019, 09:53 PM)Tim Curtis Wrote: Post output from the cmds below and I'll have a look.

Code:
aplay -l

also-capabilities (run this cmd when playback is stopped)

Code:
pi@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
 Subdevices: 7/7
 Subdevice #0: subdevice #0
 Subdevice #1: subdevice #1
 Subdevice #2: subdevice #2
 Subdevice #3: subdevice #3
 Subdevice #4: subdevice #4
 Subdevice #5: subdevice #5
 Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 2: B20 [BursonAudio USB Audio 2.0], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0


Code:
pi@moode:~ $ alsa-capabilities
1) Analog output interface hw:0,0 (or hw:ALSA,0)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 ALSA                                            
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D0p                                        
- encoding formats  = U8, S16_LE                                              
- monitor file      = /proc/asound/card0/pcm0p/sub0/hw_params                  
- stream file       = (n/a)                                                    

2) Digital output interface hw:0,1 (or hw:ALSA,1)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 IEC958/HDMI                                      
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D1p                                        
- encoding formats  = S16_LE                                                  
- monitor file      = /proc/asound/card0/pcm1p/sub0/hw_params                  
- stream file       = (n/a)                                                    

3) Digital output interface hw:0,2 (or hw:ALSA,2)
- card name         = ALSA                                                    
- card label        = bcm2835 ALSA                                            
- interface name    = bcm2835 IEC958/HDMI1                                    
- usb audio class   = (n/a)                                                    
- character device  = /dev/snd/pcmC0D2p                                        
- encoding formats  = S16_LE                                                  
- monitor file      = /proc/asound/card0/pcm2p/sub0/hw_params                  
- stream file       = (n/a)                                                    

4) Digital USB Audio Class output interface hw:2,0 (or hw:B20,0)
- card name         = B20                                                      
- card label        = BursonAudio USB Audio 2.0                                
- interface name    = USB Audio                                                
- usb audio class   = 2 - isochronous asynchronous                            
- character device  = /dev/snd/pcmC2D0p                                        
- encoding formats  = S32_LE, SPECIAL DSD_U32_BE                              
- monitor file      = /proc/asound/card2/pcm0p/sub0/hw_params                  
- stream file       = /proc/asound/card2/stream0

Thank you Tim & Kent! Smile

Hi,

I put your log output in code boxes for readability. Its the 5th button from the right on the toolbar when composing a post.

The log output shows 2 HDMI ports which indicates a Pi-4B but earlier you reported using a a Pi-3B+
http://moodeaudio.org/forum/showthread.p...1#pid13891

Code:
Audio Information
Audio Device
Device: USB audio device
Chip:
Interface: USB
Formats: U8, S16_LE
Platform: Pi-3B+ 1GB v1.3

The log output also shows that your USB DAC has been assigned hw:2,0 by Linux/ALSA. It should be assigned to hw:1,0 by Linux/ALSA but for some reason not obvious to me it is not.
Here is what I see on a Pi-4B with stock moOde and a USB DAC connected. The USB DAC is assigned to hw:1,0 (card1) by Linux/ALSA.

Code:
pi@rp2:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
 Subdevices: 7/7
 Subdevice #0: subdevice #0
 Subdevice #1: subdevice #1
 Subdevice #2: subdevice #2
 Subdevice #3: subdevice #3
 Subdevice #4: subdevice #4
 Subdevice #5: subdevice #5
 Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 1: DAC [UAC1 DAC], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0

Code:
pi@rp2:~ $ alsa-capabilities
1: `bcm2835 ALSA' Analog audio output on device bcm2835 ALSA
   -hardware address:               hw:0,0  (or hw:ALSA,0)
   -device label:                   bcm2835 ALSA
   -formats:                        U8, S16_LE
   -usb audio class:                (n/a)
   -streamfile:                     (n/a)
   -character device:               /dev/snd/pcmC0D0p
   -monitor file:                   /proc/asound/card0/pcm0p/sub0/hw_params
2: `bcm2835 IEC958/HDMI' Digital non-UAC audio output on device bcm2835 ALSA
   -hardware address:               hw:0,1  (or hw:ALSA,1)
   -device label:                   bcm2835 ALSA
   -formats:                        S16_LE
   -usb audio class:                (n/a)
   -streamfile:                     (n/a)
   -character device:               /dev/snd/pcmC0D1p
   -monitor file:                   /proc/asound/card0/pcm1p/sub0/hw_params
3: `bcm2835 IEC958/HDMI1' Digital non-UAC audio output on device bcm2835 ALSA
   -hardware address:               hw:0,2  (or hw:ALSA,2)
   -device label:                   bcm2835 ALSA
   -formats:                        S16_LE
   -usb audio class:                (n/a)
   -streamfile:                     (n/a)
   -character device:               /dev/snd/pcmC0D2p
   -monitor file:                   /proc/asound/card0/pcm2p/sub0/hw_params
4: `USB Audio' Digital USB Audio Class audio output on device UAC1 DAC
   -hardware address:               hw:1,0  (or hw:DAC,0)
   -device label:                   UAC1 DAC
   -formats:                        (n/a)
   -usb audio class:                UAC1 (isochronous adaptive)
   -streamfile:                     /proc/asound/card1/stream0
   -character device:               /dev/snd/pcmC1D0p
   -monitor file:                   /proc/asound/card1/pcm0p/sub0/hw_params
Thank you Tim!
How can I reassigned to hw:1,0 my USB DAC?
Regards, D'
Reply
#17
its not a manual assignment, the card number is assigned automatically by Linux/ALSA.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#18
So then I wrote

Quote:Maybe that other USB device which showed up in the dmesg output caused ALSA to skip card 1. 

...dmesg output...
[    6.629683] usbcore: registered new interface driver uas

"UAS" stands for USB Attached SCSI, about which I know nothing I didn't just learn from a Google search. I don't know if or why it would confuse the ALSA enumeration process.

As Tim noted in a later post, at this point you were working with an RPi4B. I've since found that the uas driver shows up in all my RPi4B systems, but not, for example, in my RPi3A+ system. Apparently it supports the new hardware in the 4. [ed: Ah, but I didn't have an SSD hanging on my RPi3A+ when I did the test. The following is still true.]

In any case it's not causing the knock-on effect I alluded to. 

I have a USB-interfaced Khadas Tone Board connected to an RPi4B and it's enumerated as card 1, so hw: 1,0.

At this point, I'm out of ideas.

Regards,
Kent
Reply
#19
(10-24-2019, 02:20 AM)TheOldPresbyope Wrote: So then I wrote

Quote:Maybe that other USB device which showed up in the dmesg output caused ALSA to skip card 1. 

...dmesg output...
[    6.629683] usbcore: registered new interface driver uas

"UAS" stands for USB Attached SCSI, about which I know nothing I didn't just learn from a Google search. I don't know if or why it would confuse the ALSA enumeration process.

As Tim noted in a later post, at this point you were working with an RPi4B. I've since found that the uas driver shows up in all my RPi4B systems, but not, for example, in my RPi3A+ system. Apparently it supports the new hardware in the 4. [ed: Ah, but I didn't have an SSD hanging on my RPi3A+ when I did the test. The following is still true.]

In any case it's not causing the knock-on effect I alluded to. 

I have a USB-interfaced Khadas Tone Board connected to an RPi4B and it's enumerated as card 1, so hw: 1,0.

At this point, I'm out of ideas.

Regards,
Kent

I think i'm waiting for the next moode to come out and try again. And again Smile

Is there a SQ difference between Rpi3+ system and Rpi4B system?
Reply
#20
@Deenoo


Quote:Is there a SQ difference between Rpi3+ system and Rpi4B system?

Not to me. I think the RPi3 models are perfectly fine for audio reproduction. What the RPi4B brings to the table is a superior I/O interface for ethernet/WiFi/storage.

Regards,
Kent
Reply


Forum Jump: