/ 雑記帳

中華DDC(3)DSD_native再生が可能になった

Kernelソースの変更部分をデジファイ管理人さんに教えていただいたm(__)m
      
$(LINUX_SRC)/sound/usb/quirks.c
      
u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
      
という関数がありここを変更すると Format: SPECIAL の時に Format: SPECIAL DSD_U32_BE
に読み替えて動作するようになるとのことで
      
case USB_ID(0x16d0, 0x06b4): /* NuPrime Audio HD-AVP/AVA */
case USB_ID(0x20b1, 0x000a): /* Gustard DAC-X20U */
case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
case USB_ID(0x20b1, 0x2023): /* JLsounds I2SoverUSB */
case USB_ID(0x20b1, 0x3023): /* Aune X1S 32BIT/384 DSD DAC */
case USB_ID(0x20b1, 0x302d): /* Unison Research Unico CD Due */
case USB_ID(0x20b1, 0x305d): /* Cyberdrive Clarity Feather Dac */
case USB_ID(0x22d9, 0x0426): /* OPPO HA-2 */
case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */
case USB_ID(0x20b1, 0x3086): /* SPECIAL */ <----- 追加
if (fp->altsetting == 3)
return SNDRV_PCM_FMTBIT_DSD_U32_BE;
break;
      
としてKernelの再構築を行った。
結果はDSD_native再生が可能になった。(^o^)
      
$ cat /proc/asound/card0/stream0
Singxer USB Audio 2.0(Q1) at usb-0000:00:1a.0-1.6.3, high speed : USB Audio
      
Playback:
----省略-----
Interface 1
Altset 3
Format: SPECIAL DSD_U32_BE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us
      
Format: SPECIAL から Format: SPECIAL DSD_U32_BE に変わっている。
      
DSD音源を再生して確認
$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072

— posted by くま at 06:14 pm  

中華DDC(2)残念無念

結論は...
        
Format: SPECIAL この部分が
Format: S32_LE DSD_U32_LE or S32_LE DSD_U32_BEでなければ
      
DSDが再生出来ない。
         


$ uname -a
Linux arch 4.12.8-2-ARCH #1 SMP PREEMPT Fri Aug 18 14:08:02 UTC 2017 x86_64 GNU/Linux
------------------------------------------------------------------
$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: U20Q1 [USB Audio 2.0(Q1)], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
------------------------------------------------------------------
$ cat /proc/asound/card0/usbid
20b1:3086
------------------------------------------------------------------
$ cat /proc/asound/card0/stream0
Singxer USB Audio 2.0(Q1) at usb-0000:00:1a.0-1.6.3, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 272
Momentary freq = 176402 Hz (0x16.0ce0)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us
Interface 1
Altset 3
Format: SPECIAL
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us

— posted by くま at 02:58 pm  

中華DDC(1)

$ uname -a
Linux arch 4.12.8-2-ARCH #1 SMP PREEMPT Fri Aug 18 14:08:02 UTC 2017 x86_64 GNU/Linux
$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: U20Q1 [USB Audio 2.0(Q1)], デバイス 0: USB Audio [USB Audio]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
$ lsusb
Bus 001 Device 007: ID 20b1:3086 XMOS Ltd
このカーネルだと問題なく動作するがlightmpd/upnpgwだとDSDが再生出来ないのが残念
(※中華DDC(3)で後述するが出来るようになった。)
ebayの売り場の写真には入力信号の種類で4bit分変化するLED表示が無いタイプだが
送られて来たDDCにはLEDが実装されている。
         

DCIM0032


— posted by くま at 02:44 pm  

<< 2017.9 >>
SMTWTFS
     1 2
3456 789
1011 12 13141516
17 18 1920212223
24252627 28 2930
 
























T: Y: ALL: Online:
ThemePanel
Created in 0.1123 sec.