Thank you for your donation!


moOde 6.4.0 bug reports
#61
(12-01-2019, 08:34 PM)Tim Curtis Wrote: Yes, the issue where ALSA volume is blank with that particular USB DAC.

Post the output from the cmd below so I can see what ALSA reports about the DAC's controls and mixer name.

Code:
amixer -c 1

Thank you, here the code

Code:
pi@moode:~ $ amixer -c 1
Simple mixer control 'CA Audio 2.0 Output',0                                                                                                          
 Capabilities: pswitch                                                                                                                                
 Playback channels: Front Left - Front Right

Mono:                                                                                                                                                
 Front Left: Playback [on]                                                                                                                            
 Front Right: Playback [on]


Simple mixer control 'CA Audio 2.0 Output',1                                                                                                          
 Capabilities: pswitch pswitch-joined                                                                                                                
 Playback channels: Front Left - Front Right

Mono: Playback [on]
Reply
#62
(12-01-2019, 09:39 PM)Tim Curtis Wrote: moOde looks like it's working ok wrt setting alsavolume_max field.

IRC from years pat the HifiBerry AMP has a strange hardware volume controller thats not based on a dB scale and this causes issues but I see in the amixer output there are 2 simple mixers, Master and Channels. moOde is picking the first one in the list.

Does the Channels mixer behave like a master volume that adjust both channels simultaneously?

Something like

amixer sset Channels 70%

Indeed, the settings are okay, somehow it doesn't get setup properly in Alsa. We didn't had much trouble with it up until recent versions of Moode, also because we set the volume manually of course Smile

pi@thequeensb:~ $ amixer sset Channels 70%
Simple mixer control 'Channels',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 248
  Front Left: 174 [70%]
  Front Right: 174 [70%]

So yes, it works similarly as a master control.
Reply
#63
(12-02-2019, 07:44 AM)stefano_mbp Wrote:
(12-01-2019, 08:34 PM)Tim Curtis Wrote: Yes, the issue where ALSA volume is blank with that particular USB DAC.

Post the output from the cmd below so I can see what ALSA reports about the DAC's controls and mixer name.

Code:
amixer -c 1

Thank you, here the code

Code:
pi@moode:~ $ amixer -c 1
Simple mixer control 'CA Audio 2.0 Output',0                                                                                                          
 Capabilities: pswitch                                                                                                                                
 Playback channels: Front Left - Front Right

Mono:                                                                                                                                                
 Front Left: Playback [on]                                                                                                                            
 Front Right: Playback [on]


Simple mixer control 'CA Audio 2.0 Output',1                                                                                                          
 Capabilities: pswitch pswitch-joined                                                                                                                
 Playback channels: Front Left - Front Right

Mono: Playback [on]

That matches the mixer name that moOde is picking up. The only other possibility I can think of is that the actual mixer name has a trailing space, same as the mixer name in the Khadas Tone board. We had to code an exception for this device.

IIRC the way you determine this is to dump the USB descriptors for the device by using the command below and then sift through the output looking for the mixer name to see if it has the trailing space. Something like that.

Code:
lsusb -v
Reply
#64
(12-02-2019, 08:55 AM)sjoerdju Wrote:
(12-01-2019, 09:39 PM)Tim Curtis Wrote: moOde looks like it's working ok wrt setting alsavolume_max field.

IRC from years pat the HifiBerry AMP has a strange hardware volume controller thats not based on a dB scale and this causes issues but I see in the amixer output there are 2 simple mixers, Master and Channels. moOde is picking the first one in the list.

Does the Channels mixer behave like a master volume that adjust both channels simultaneously?

Something like

amixer sset Channels 70%

Indeed, the settings are okay, somehow it doesn't get setup properly in Alsa. We didn't had much trouble with it up until recent versions of Moode, also because we set the volume manually of course Smile

pi@thequeensb:~ $ amixer sset Channels 70%
Simple mixer control 'Channels',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 248
  Front Left: 174 [70%]
  Front Right: 174 [70%]

So yes, it works similarly as a master control.

I'll code an exception for the device and use "Channels" instead of "Master". Maybe this will fix the issue.
Reply
#65
(12-02-2019, 12:53 PM)Tim Curtis Wrote:
(12-02-2019, 08:55 AM)sjoerdju Wrote:
(12-01-2019, 09:39 PM)Tim Curtis Wrote: moOde looks like it's working ok wrt setting alsavolume_max field.

IRC from years pat the HifiBerry AMP has a strange hardware volume controller thats not based on a dB scale and this causes issues but I see in the amixer output there are 2 simple mixers, Master and Channels. moOde is picking the first one in the list.

Does the Channels mixer behave like a master volume that adjust both channels simultaneously?

Something like

amixer sset Channels 70%

Indeed, the settings are okay, somehow it doesn't get setup properly in Alsa. We didn't had much trouble with it up until recent versions of Moode, also because we set the volume manually of course Smile

pi@thequeensb:~ $ amixer sset Channels 70%
Simple mixer control 'Channels',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 248
  Front Left: 174 [70%]
  Front Right: 174 [70%]

So yes, it works similarly as a master control.

I'll code an exception for the device and use "Channels" instead of "Master". Maybe this will fix the issue.

Great thnx!
Reply
#66
Here is where we are at so far :-)

Code:
########################################################
//
// 6.4.1 2019-MM-DD
//
########################################################

Updates

- UPD: Add features availability to moodeutl
- UPD: Improve volume step limiter
- UPD: Use mixer name 'Channels' for HiFiBerry Amp(Amp+)

Bug fixes

- FIX: 64-bit kernel not listed in dropdown if USBridge SIG
- FIX: Partial fix for Autofocus not working on modal popups
- FIX: Logic to parse /etc/resolv.conf for Moode log
Reply
#67
(12-02-2019, 12:50 PM)Tim Curtis Wrote: That matches the mixer name that moOde is picking up. The only other possibility I can think of is that the actual mixer name has a trailing space, same as the mixer name in the Khadas Tone board. We had to code an exception for this device.

IIRC the way you determine this is to dump the USB descriptors for the device by using the command below and then sift through the output looking for the mixer name to see if it has the trailing space. Something like that.

Code:
lsusb -v

here the link to the txt file with the result of the command, I cannot post in the code tab as it is too long and cannot attach a txt file ...

lsusb -v
Reply
#68
I didn't see what I was looking for in the log. IIRC it was @TheOldPresbyope that debugged the Khadas mixer name so maybe he can chime in.
Reply
#69
Good morning.

You're close but 1) need to run the lsusb command as root so it can open the device to get details and 2) need to make curiosities like trailing spaces and non-printing characters visible.

So, on the command line, take sudo lsusb -v and pipe the output into cat -A. The option on the cat command tell it to show end-of-lines as '$', to show tabs as '^I', and to show non-printing characters in '^' and 'M-' notation.

Here's an example from the beginning of the output from my offending Khadas Tone Board (where I told lsusb the device ID so I could shorten the output a bit; you can get the device ID from the lsusb output). Note the space before the '$' on some lines.

Code:
pi@moodeLR:~ $ sudo lsusb -v -d 20b1:000a | cat -A
$
Bus 001 Device 004: ID 20b1:000a XMOS Ltd $
Device Descriptor:$
 bLength                18$
 bDescriptorType         1$
 bcdUSB               2.00$
 bDeviceClass          239 Miscellaneous Device$
 bDeviceSubClass         2 $
 bDeviceProtocol         1 Interface Association$
 bMaxPacketSize0        64$
 idVendor           0x20b1 XMOS Ltd$
 idProduct          0x000a $
 bcdDevice            1.04$
 iManufacturer           1 XMOS$
 iProduct                3 Khadas Tone Control$
 iSerial                 0 $
...


So try this concatenated pair of commands on your system and post your results. 

To illustrate the Khadas-descriptor inconsistency we were wrestling with, here's what I get when I pipe the previous output into grep to look for occurrences of 'Khadas'. Sometimes trailing space; sometimes not. Sigh.

Code:
pi@moodeLR:~ $ sudo lsusb -v -d 20b1:000a | cat -A | grep Khadas
 iProduct                3 Khadas Tone Control$
     iInterface              3 Khadas Tone Control$
       iTerminal               6 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              3 Khadas Tone Control$
       iTerminal               6 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
can't get debug descriptor: Resource temporarily unavailable
     iInterface              4 Khadas Tone Control $

Regards,
Kent
Reply
#70
(12-03-2019, 02:36 PM)TheOldPresbyope Wrote: Good morning.

You're close but 1) need to run the lsusb command as root so it can open the device to get details and 2) need to make curiosities like trailing spaces and non-printing characters visible.

So, on the command line, take sudo lsusb -v and pipe the output into cat -A. The option on the cat command tell it to show end-of-lines as '$', to show tabs as '^I', and to show non-printing characters in '^' and 'M-' notation.

Here's an example from the beginning of the output from my offending Khadas Tone Board (where I told lsusb the device ID so I could shorten the output a bit; you can get the device ID from the lsusb output). Note the space before the '$' on some lines.

Code:
pi@moodeLR:~ $ sudo lsusb -v -d 20b1:000a | cat -A
$
Bus 001 Device 004: ID 20b1:000a XMOS Ltd $
Device Descriptor:$
 bLength                18$
 bDescriptorType         1$
 bcdUSB               2.00$
 bDeviceClass          239 Miscellaneous Device$
 bDeviceSubClass         2 $
 bDeviceProtocol         1 Interface Association$
 bMaxPacketSize0        64$
 idVendor           0x20b1 XMOS Ltd$
 idProduct          0x000a $
 bcdDevice            1.04$
 iManufacturer           1 XMOS$
 iProduct                3 Khadas Tone Control$
 iSerial                 0 $
...


So try this concatenated pair of commands on your system and post your results. 

To illustrate the Khadas-descriptor inconsistency we were wrestling with, here's what I get when I pipe the previous output into grep to look for occurrences of 'Khadas'. Sometimes trailing space; sometimes not. Sigh.

Code:
pi@moodeLR:~ $ sudo lsusb -v -d 20b1:000a | cat -A | grep Khadas
 iProduct                3 Khadas Tone Control$
     iInterface              3 Khadas Tone Control$
       iTerminal               6 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              3 Khadas Tone Control$
       iTerminal               6 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
     iInterface              4 Khadas Tone Control $
can't get debug descriptor: Resource temporarily unavailable
     iInterface              4 Khadas Tone Control $

Regards,
Kent
thank you Kent, here the result (I hope it is correct)

sudo lsusb -v -d
Reply


Forum Jump: