@CharlieLaub thats good to know Charlie. I'm sure it is something simple on my end. Could you please help me and compare my output with yours? or paste any relevant config.
Here's a start
Note: only 2 channels show for DM7 (hw:1 device)
I have nothing special in my asound.conf
The following is the same aplay on my Pi with the x7000 suptronix board:
Here's a start
[root@archpc music]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
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
Subdevice #7: subdevice #7
card 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
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
Subdevice #7: subdevice #7
card 1: DM7 [DM7], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 0: ALC3234 Analog [ALC3234 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
Note: only 2 channels show for DM7 (hw:1 device)
[root@archpc music]# aplay -v -c 8 -r 44100 -f S32_LE -D hw:1,0 /dev/zero --dump-hw-params
Playing raw data '/dev/zero' : Signed 32 bit Little Endian, Rate 44100 Hz, Channels 8
HW Params of device "hw:1,0":
--------------------
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S32_LE SPECIAL DSD_U32_BE
SUBFORMAT: STD
SAMPLE_BITS: 32
FRAME_BITS: 64
CHANNELS: 2
RATE: [44100 192000]
PERIOD_TIME: [125 1000000]
PERIOD_SIZE: [8 192000]
PERIOD_BYTES: [64 1536000]
PERIODS: [2 1024]
BUFFER_TIME: (83 2000000]
BUFFER_SIZE: [16 384000]
BUFFER_BYTES: [128 3072000]
TICK_TIME: ALL
--------------------
aplay: set_params:1358: Channels count non available
I have nothing special in my asound.conf
The following is the same aplay on my Pi with the x7000 suptronix board:
[root@archdebug camilla-dsp]# aplay -v -c 8 -r 44100 -f S16_LE -D hw:0,1 /dev/zero --dump-hw-params
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 44100 Hz, Channels 8
HW Params of device "hw:0,1":
--------------------
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S16_LE
SUBFORMAT: STD
SAMPLE_BITS: 16
FRAME_BITS: [32 128]
CHANNELS: [2 8]
RATE: [44100 192000]
PERIOD_TIME: [10000 743039)
PERIOD_SIZE: [441 32768]
PERIOD_BYTES: [1776 524288]
PERIODS: [1 75)
BUFFER_TIME: (2296 743039)
BUFFER_SIZE: [441 32768]
BUFFER_BYTES: [1764 131072]
TICK_TIME: ALL
--------------------
Hardware PCM card 0 'bcm2835 ALSA' device 1 subdevice 0
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 8
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 8192
period_size : 2048
period_time : 46439
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 2048
period_event : 0
start_threshold : 8192
stop_threshold : 8192
silence_threshold: 0
silence_size : 0
boundary : 1073741824
appl_ptr : 0
hw_ptr : 0
Last edited:
@Dave Bullet
Here is some info for you, from the system that is connected to my DM7:
Also, I do not use an asoundrc file.
Here is some info for you, from the system that is connected to my DM7:
Code:
charlie@GN41-LRL:~$ aplay -Dhw:CARD=DM7 --dump-hw-params /dev/zero
Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:CARD=DM7":
--------------------
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S32_LE SPECIAL DSD_U32_BE
SUBFORMAT: STD
SAMPLE_BITS: 32
FRAME_BITS: 256
CHANNELS: 8
RATE: [44100 192000]
PERIOD_TIME: [125 1000000]
PERIOD_SIZE: [6 192000]
PERIOD_BYTES: [192 6144000]
PERIODS: [2 1024]
BUFFER_TIME: (62 2000000]
BUFFER_SIZE: [12 384000]
BUFFER_BYTES: [384 12288000]
TICK_TIME: ALL
--------------------
aplay: set_params:1352: Sample format non available
Available formats:
[LIST]
[*]S32_LE
[*]SPECIAL
[*]DSD_U32_BE
[/LIST]
charlie@GN41-LRL:~$ uname -r
5.15.0-56-lowlatency
charlie@GN41-LRL:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
Also, I do not use an asoundrc file.
Last edited:
@CharlieLaub would you mind please running
lsusb -t
and see what drivers the DM7 is using?
In my case one is missing and I don't know if significant (driver 7 = cheap CMEdia chip based USB 5.1 card and 8 = DM7)
lsusb -t
and see what drivers the DM7 is using?
In my case one is missing and I don't know if significant (driver 7 = cheap CMEdia chip based USB 5.1 card and 8 = DM7)
Code:
[root@archpc music]# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 8, If 0, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 8, If 1, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 8, If 2, Class=Application Specific Interface, Driver=, 480M
|__ Port 4: Dev 4, If 0, Class=Vendor Specific Class, Driver=rtl8192cu, 480M
|__ Port 5: Dev 5, If 0, Class=Mass Storage, Driver=uas, 480M
|__ Port 7: Dev 7, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 7: Dev 7, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 7: Dev 7, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 7: Dev 7, If 3, Class=Human Interface Device, Driver=usbhid, 12M
Thanks for your help. Looks grim
Code:
[root@archpc proc]# cat /proc/asound/DM7/stream0
Topping DM7 at usb-0000:00:14.0-2, high speed : USB Audio
Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 0x01 (1 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 32
Channel map: FL FR
Sync Endpoint: 0x81 (1 IN)
Sync EP Interface: 1
Sync EP Altset: 1
Implicit Feedback Mode: No
Interface 1
Altset 2
Format: S32_LE
Channels: 2
Endpoint: 0x01 (1 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Channel map: FL FR
Sync Endpoint: 0x81 (1 IN)
Sync EP Interface: 1
Sync EP Altset: 2
Implicit Feedback Mode: No
Interface 1
Altset 3
Format: SPECIAL DSD_U32_BE
Channels: 2
Endpoint: 0x01 (1 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 32
DSD raw: DOP=0, bitrev=0
Channel map: FL FR
Sync Endpoint: 0x81 (1 IN)
Sync EP Interface: 1
Sync EP Altset: 3
Implicit Feedback Mode: No
@Dave Bullet
Code:
charlie@GN41-LRL:~$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/9p, 480M
|__ Port 4: Dev 6, If 1, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 4: Dev 6, If 2, Class=Application Specific Interface, Driver=, 480M
|__ Port 4: Dev 6, If 0, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 5: Dev 3, If 0, Class=Vendor Specific Class, Driver=rtsx_usb, 480M
|__ Port 9: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 9: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
@Dave Bullet : Thanks, that's interesting. Please also post complete usb configuration of the DAC
where the ids are listed in lsusb for the device
Code:
lsusb -v -d VID:PID
where the ids are listed in lsusb for the device
Thanks - As attached (forum message limit 2000 chars)
Also - my lsusb -t output matches Charlie's above - as in there is the same missing driver suffix. I thought that was an issue, instead a red herring:
Also linux version - Archlinux:
Also - my lsusb -t output matches Charlie's above - as in there is the same missing driver suffix. I thought that was an issue, instead a red herring:
Code:
[root@archpc ~]# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 9, If 0, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 9, If 1, Class=Audio, Driver=snd-usb-audio, 480M
>> note the Driver=<null> following:
|__ Port 2: Dev 9, If 2, Class=Application Specific Interface, Driver=, 480M
>>
|__ Port 4: Dev 4, If 0, Class=Vendor Specific Class, Driver=rtl8192cu, 480M
|__ Port 5: Dev 5, If 0, Class=Mass Storage, Driver=uas, 480M
|__ Port 7: Dev 6, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 7: Dev 6, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 7: Dev 6, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 7: Dev 6, If 3, Class=Human Interface Device, Driver=usbhid, 12M
Also linux version - Archlinux:
Code:
[root@archpc ~]# uname -ar
Linux archpc 6.2.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 13 Mar 2023 17:02:08 +0000 x86_64 GNU/Linux
Attachments
Your lsusb -v device config lists only "bNrChannels 2" alternate settings, just what the stream0 file shows.
Can you check with some older ubuntu running from a live-usb flashdrive? But IIUC the USB config the device reports upon the initial request whould be the same on any OS/kernel version, unless a driver switches it to some different mode.
Maybe your DAC needs some way to switch to the multichannel version? Maybe some windows driver to do so?
Can you check with some older ubuntu running from a live-usb flashdrive? But IIUC the USB config the device reports upon the initial request whould be the same on any OS/kernel version, unless a driver switches it to some different mode.
Maybe your DAC needs some way to switch to the multichannel version? Maybe some windows driver to do so?
Thanks. Windows only shows 2 channels to, but I don't trust windows. I can't see any 2/8 channel switch / mode in the user manual or menus (as I thought the DM7 was permanent 8 channels on?)
I will try a Ubuntu dual boot / boot from USB and see how I go. I could try an older kernel incase something is broken. I'll also try windows / foobar2000 and see if I can generate 8 channels of output to test the DAC.
I will try a Ubuntu dual boot / boot from USB and see how I go. I could try an older kernel incase something is broken. I'll also try windows / foobar2000 and see if I can generate 8 channels of output to test the DAC.
ok - so I've installed Ubuntu 22.04
Server install
I just installed alsa-utils so I could run aplay. And same problem. Is my DM7 faulty? No where in the manual does it talk about enabling 8 channels via the menu / setup. I haven't checked firmware versions. I might have to reach out to Topping support
The lsusb -v output also confirms throughout only 2 channels supported:
Code:
root@ubuntu-pc:~# uname -ar
Linux ubuntu-pc 5.15.0-67-generic #74-Ubuntu SMP Wed Feb 22 14:14:39 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Server install
I just installed alsa-utils so I could run aplay. And same problem. Is my DM7 faulty? No where in the manual does it talk about enabling 8 channels via the menu / setup. I haven't checked firmware versions. I might have to reach out to Topping support
Code:
Linux ubuntu-pc 5.15.0-67-generic #74-Ubuntu SMP Wed Feb 22 14:14:39 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
root@ubuntu-pc:~# aplay -v -f S32_LE -r 44100 -c 2 -D hw:1,0 /dev/zero --dump-hw-params
Playing raw data '/dev/zero' : Signed 32 bit Little Endian, Rate 44100 Hz, Stereo
HW Params of device "hw:1,0":
--------------------
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S32_LE SPECIAL DSD_U32_BE
SUBFORMAT: STD
SAMPLE_BITS: 32
FRAME_BITS: 64
CHANNELS: 2
RATE: [44100 192000]
PERIOD_TIME: [125 1000000]
PERIOD_SIZE: [8 192000]
PERIOD_BYTES: [64 1536000]
PERIODS: [2 1024]
BUFFER_TIME: (83 2000000]
BUFFER_SIZE: [16 384000]
BUFFER_BYTES: [128 3072000]
TICK_TIME: ALL
The lsusb -v output also confirms throughout only 2 channels supported:
Code:
iInterface 4 DM7
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11 Analogue 1
I wonder if they flashed the wrong firmware to the XMOS usb chip. They probably make stereo dacs with the same xmos chip, so maybe someone made a mistake and when flashing yours (and likely a whole bunch more). Does it work at all if you try to use 2 channels?Is my DM7 faulty?
Thanks @HenrikEnquist you might be right. Windows only shows 2 channels to and only 2 channels works.
I will reach out to topping /shenzhen audio to see if there is a way I can check.
I will reach out to topping /shenzhen audio to see if there is a way I can check.
I don't know if this is the firmware version (v1.98) but I believe V1.18 is the latest for the DM7:
So maybe the wrong firmware flashed at the factory. I will email them
So maybe the wrong firmware flashed at the factory. I will email them
I'm thinking its firmware. Even windows with latest v5.57 drivers from topping fails to see more than 2 (stereo) channels in the device configuration page.
Note: windows is running from another PC to the 2 linux distros... so that should rule out some USB root/hub issue/protocol. I doubt I have a cabling problem
Note: windows is running from another PC to the 2 linux distros... so that should rule out some USB root/hub issue/protocol. I doubt I have a cabling problem
Problem solved. Bad firmware flashed at factory (v1.98 of god knows what). With v1.18 applied, Archlinux and windows now report 8 channels. I did a quick test on channel 6 and sound only on that channel came out.
It would seem as if they flashed a firmware for a different DAC. But the firmware did report the iProduct string "DM7". It looks like some testing firmware in the Topping fab for DM7.
BTW it's interesting all Topping devices seem to use the same vendor ID (Thesycon, authors of the firmware & windows driver - it costs 6k USD to have a new VID assigned) and device ID 0x8750, and differentiate themselves only by the product string.
BTW it's interesting all Topping devices seem to use the same vendor ID (Thesycon, authors of the firmware & windows driver - it costs 6k USD to have a new VID assigned) and device ID 0x8750, and differentiate themselves only by the product string.
CharlieLaub (or anyone else who's used both):
For use purely with CamillaDSP for active XO, is there any reason to choose the Motu UL Mk5 over the more living room friendly DM7? My source (music, TV and gaming) is the PC running CamillaDSP, so I don't have any need for the extra IO on the Motu.
Thanks
For use purely with CamillaDSP for active XO, is there any reason to choose the Motu UL Mk5 over the more living room friendly DM7? My source (music, TV and gaming) is the PC running CamillaDSP, so I don't have any need for the extra IO on the Motu.
Thanks
- Home
- Source & Line
- PC Based
- Discussing about 8channel DSP using Camilla DSP + Raspberry PI -- Interface options