2017/9/9
  カテゴリー »  PC-Audio
  
  
  
   — posted by くま at 08:40 pm  
   
   
  
  
 
  
  
  カテゴリー »  その他
  
  
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  
   
   
  
  
 
Comments