Do you think it is manageable to get spdif coax otput from this card?
As far as I know, the signal is spdif coax - with some small opto-electronics and resistors, just before the toslink ouput.
I think of soldering some shielded cable, dril the bracket and mount a bnc connector, isolated from the bracket.
BNC in order to get the standard output impedance, if possible.
As far as I know, the signal is spdif coax - with some small opto-electronics and resistors, just before the toslink ouput.
I think of soldering some shielded cable, dril the bracket and mount a bnc connector, isolated from the bracket.
BNC in order to get the standard output impedance, if possible.
I'm using usb to spdif and have no issue at all, very cheap $3 converter. but if you want to go the harder way modding the soundcard, someone else might give some insight
Cannot find such a converter (so cheap).
Might be ok for testing purposes at least - I plan to put up some spdif dac later on 😀.
Might be ok for testing purposes at least - I plan to put up some spdif dac later on 😀.
i bought this converter on local online shop so no need to hassle with long delivery and customs. there are many variations which you can try, i have another converter which provide spdif trasnformer but no difference since my dac already have spdif input transformer
Pcm2704 Usb Dac To Spdif
i wanted to buy below more sophisticated kit, but still lazy to order expensive item when my $3 converter just works flawlessly
XMOS XU208 Asynchronous USB coaxial fiber output IIS+0.1pm Warming crystal | eBay
ARMATURE HECATE LT USB Interface SPDIF XMOS Xcore 208 Asynchronous TCXO (DIY Version) - Audiophonics
Pcm2704 Usb Dac To Spdif

i wanted to buy below more sophisticated kit, but still lazy to order expensive item when my $3 converter just works flawlessly
XMOS XU208 Asynchronous USB coaxial fiber output IIS+0.1pm Warming crystal | eBay

ARMATURE HECATE LT USB Interface SPDIF XMOS Xcore 208 Asynchronous TCXO (DIY Version) - Audiophonics

the signal is spdif coax
Yes, but probably TTL 5V.
You would need some sort of down-conversion, but measure the level at the Toslink input.
Take a look at fig 6
S/PDIF Digital to Analogue Converter
There might be an easierway eventually...
The motherboard has realtek ALC 887 codec chip, supporting spdif.
Haven't read the full specs yet, but I might try to get spdif ot of leg 42 (going through resistor divider and decoupling cap).
The output level for spdif coax is 0.5v, +-0.1v.
I just wonder where to get the ground from and try it:
1. The PC enclosure? (easier, but probably it has different potential, directly connected to mains earth)
2. The nearest to the chip header with a ground line? (I guess the front panel audio header or smth else)
3. Some other option?
Regards
Not sure if there is a need to enable spdif (chip select/ embedded soft/ different driver)
The motherboard has realtek ALC 887 codec chip, supporting spdif.
Haven't read the full specs yet, but I might try to get spdif ot of leg 42 (going through resistor divider and decoupling cap).
The output level for spdif coax is 0.5v, +-0.1v.
I just wonder where to get the ground from and try it:
1. The PC enclosure? (easier, but probably it has different potential, directly connected to mains earth)
2. The nearest to the chip header with a ground line? (I guess the front panel audio header or smth else)
3. Some other option?
Regards
Not sure if there is a need to enable spdif (chip select/ embedded soft/ different driver)
Code:
SPDIFO, pin 48, First SPDIF Output
Output has 12mA@75Ω driving capability
VOH=DVDD, VOL=DVSS
Attachments
Last edited:
Found some PC bracket, to make the connector.
I will fit a bnc connector, insulated from chassis.
The output circuitry from the specs, attached.
There is a note about chip gnd/ dgnd layout. I gues it applies for the spdif out gnd as well....
Anyone done this hack? Getting spdif out of capable (by specs) codec chip and deliberately crippled motherboard?
P.s. I see no point to use usb -> spdif converter, then going spdif -> dac. The converter costs half the motherboard or more 😀. If this ALC887 mobo hack is not working, better change motherboard or find some roper pci-e card.
Using usb should be: usb(xmos/whatever) -> DAC.
No redundant conversions whatsoever.
The benefit from usb -> spdif over mobo codec ->spdif might be if it transports the digital audio unaltered.
Realtek ALC seems to use 48kHz internal clock, still supporting 44.1, 48, 96, 196kHz 16/24 bit.
Not sure if audio resampling is going on, since spdif is isochronous - start and end bits.
I will fit a bnc connector, insulated from chassis.
The output circuitry from the specs, attached.
There is a note about chip gnd/ dgnd layout. I gues it applies for the spdif out gnd as well....
Anyone done this hack? Getting spdif out of capable (by specs) codec chip and deliberately crippled motherboard?
P.s. I see no point to use usb -> spdif converter, then going spdif -> dac. The converter costs half the motherboard or more 😀. If this ALC887 mobo hack is not working, better change motherboard or find some roper pci-e card.
Using usb should be: usb(xmos/whatever) -> DAC.
No redundant conversions whatsoever.
The benefit from usb -> spdif over mobo codec ->spdif might be if it transports the digital audio unaltered.
Realtek ALC seems to use 48kHz internal clock, still supporting 44.1, 48, 96, 196kHz 16/24 bit.
Not sure if audio resampling is going on, since spdif is isochronous - start and end bits.
Attachments
Last edited:
Does your OS audio driver for the Intel HDA codec offer the SPDIF option to you? If not, I doubt your SPDIF path in the HDA codec will be activated out of the box by the existing driver.
Even worse - If the realtek codec has preloaded firmware with the options enabled/ disabled.
Can't tell if these alc*** chips have firmware. Just read in the specs the getter/ setter 'verbs' (methods/ functions) and parameters - there is a spdif-out enable param.
I guess these parameters are used by the driver software.
Another issue might be if my motherboard does not allow proper installation of other driver version.
There are for sure spdif capable drivers for these codecs.
Can't tell if these alc*** chips have firmware. Just read in the specs the getter/ setter 'verbs' (methods/ functions) and parameters - there is a spdif-out enable param.
I guess these parameters are used by the driver software.
Another issue might be if my motherboard does not allow proper installation of other driver version.
There are for sure spdif capable drivers for these codecs.
Last edited:
Intel HDA is a complex specification. Regular codecs do not have firmware inside, the driver configures them at initialization. Typically the initial configuration is burnt in bios where the generic Intel HDA driver reads it from.
I use linux because it gives me full access to my hardware. My board BIOS reported:
which the linux Intel HDA driver converted to:
Now I can reconfigure parameters/routes of the codec with utility hdajackretask [How To] Turn Headphone Jack to a Microphone Jack in Ubuntu - OMG! Ubuntu!
I have to enable "show unconnected pins" because my board does not output SPDIF by default. My Intel HDA codec is https://www.analog.com/media/en/technical-documentation/obsolete-data-sheets/AD1984.pdf . The SPDIF-OUT pin 48 is controlled by node ID 1b (page 16). So I retask the codec to enable this pin.
The log detects the change:
SPDIF output device hw:Intel,1 appears:
And corresponding SPDIF control elements for adjusting SPDIF stream preamble become available:
I see the SPDIF playback switch is off, I would enable it (e.g. in graphical alsamixer). Now the pin 48 of my codec would very likely output SPDIF signal if I played something to the linux alsa device hw:Intel,1. I will not solder a wire to that pin on my motherboard to hook an oscilloscope though 🙂
Windows may have a similar utility to hdajackretask but I very much doubt it.
I use linux because it gives me full access to my hardware. My board BIOS reported:
Code:
root@precision:/sys/class/sound/hwC1D0# cat init_pin_configs
0x11 0x02214040
0x12 0x01014010
0x13 0x991301f0
0x14 0x02a19020
0x15 0x01813030
0x16 0x413301f0
0x17 0x41a601f0
0x1a 0x41f301f0
0x1b 0x414501f0
0x1c 0x413301f0
which the linux Intel HDA driver converted to:
Code:
[ 132.209080] snd_hda_codec_analog hdaudioC1D0: autoconfig for AD1984A: line_outs=1 (0x12/0x0/0x0/0x0/0x0) type:line
[ 132.209083] snd_hda_codec_analog hdaudioC1D0: speaker_outs=1 (0x13/0x0/0x0/0x0/0x0)
[ 132.209084] snd_hda_codec_analog hdaudioC1D0: hp_outs=1 (0x11/0x0/0x0/0x0/0x0)
[ 132.209086] snd_hda_codec_analog hdaudioC1D0: mono: mono_out=0x0
[ 132.209087] snd_hda_codec_analog hdaudioC1D0: inputs:
[ 132.209089] snd_hda_codec_analog hdaudioC1D0: Mic=0x14
[ 132.209090] snd_hda_codec_analog hdaudioC1D0: Line=0x15
Now I can reconfigure parameters/routes of the codec with utility hdajackretask [How To] Turn Headphone Jack to a Microphone Jack in Ubuntu - OMG! Ubuntu!
I have to enable "show unconnected pins" because my board does not output SPDIF by default. My Intel HDA codec is https://www.analog.com/media/en/technical-documentation/obsolete-data-sheets/AD1984.pdf . The SPDIF-OUT pin 48 is controlled by node ID 1b (page 16). So I retask the codec to enable this pin.
The log detects the change:
Code:
[ 1814.233002] snd_hda_codec_analog hdaudioC1D0: autoconfig for AD1984A: line_outs=1 (0x13/0x0/0x0/0x0/0x0) type:speaker
[ 1814.233004] snd_hda_codec_analog hdaudioC1D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 1814.233006] snd_hda_codec_analog hdaudioC1D0: hp_outs=2 (0x12/0x11/0x0/0x0/0x0)
[ 1814.233007] snd_hda_codec_analog hdaudioC1D0: mono: mono_out=0x0
[ 1814.233009] snd_hda_codec_analog hdaudioC1D0: dig-out=0x1b/0x0
[ 1814.233010] snd_hda_codec_analog hdaudioC1D0: inputs:
[ 1814.233012] snd_hda_codec_analog hdaudioC1D0: Mic=0x14
[ 1814.233013] snd_hda_codec_analog hdaudioC1D0: Line=0x15
SPDIF output device hw:Intel,1 appears:
Code:
card 1: Intel [HDA Intel], device 0: AD1984A Analog [AD1984A Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 1: AD1984A Digital [AD1984A Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 2: AD1984A Alt Analog [AD1984A Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
And corresponding SPDIF control elements for adjusting SPDIF stream preamble become available:
Code:
numid=61,iface=MIXER,name='IEC958 Default PCM Playback Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=57,iface=MIXER,name='IEC958 Playback Con Mask'
; type=IEC958,access=r-------,values=1
: values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=58,iface=MIXER,name='IEC958 Playback Pro Mask'
; type=IEC958,access=r-------,values=1
: values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=59,iface=MIXER,name='IEC958 Playback Default'
; type=IEC958,access=rw------,values=1
: values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=60,iface=MIXER,name='IEC958 Playback Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
I see the SPDIF playback switch is off, I would enable it (e.g. in graphical alsamixer). Now the pin 48 of my codec would very likely output SPDIF signal if I played something to the linux alsa device hw:Intel,1. I will not solder a wire to that pin on my motherboard to hook an oscilloscope though 🙂
Windows may have a similar utility to hdajackretask but I very much doubt it.
Attachments
Wow..
So probably the spdif pin does not output by the current motherboard defaults
After doing all that retask/ remap, u still have all factory settings hardcoded in bios?
And hda jack retask overrides settings at
/after the OS starts?
In general I dont want to switch OS. If the factory settings are hardcoded in bios and overriden via the linux os in runtime, have to look for windows hacks.
I think there are similar tools that might do.
Thank you for the insight 🙂
So probably the spdif pin does not output by the current motherboard defaults
After doing all that retask/ remap, u still have all factory settings hardcoded in bios?
And hda jack retask overrides settings at
/after the OS starts?
In general I dont want to switch OS. If the factory settings are hardcoded in bios and overriden via the linux os in runtime, have to look for windows hacks.
I think there are similar tools that might do.
Thank you for the insight 🙂
So probably the spdif pin does not output by the current motherboard defaults
If your MB has no physical SPDIF output, your windows driver (also reading the defaults configured by the MB vendor into its bios tables) should not offer it. It would be confusing for users if it did. BTW bios HDA configs contain LOTS of bugs (that's why the linux driver (and thus likely the windows driver too) contains LOTS of hard-coded quirks for individual MB models) but that is a different story...
After doing all that retask/ remap, u still have all factory settings hardcoded in bios?
Yes, hdajackretask stores the changes into its linux filesystem and the snd-hda-intel driver loads these overriding values at linux boot. I doubt it is possible to overwrite the hardcoded values in bios so that your windows driver could load the changed config.
Well, good luck finding one 🙂 The generic Intel HDA driver written by MS would have to support re-configuration from a third-party software.I think there are similar tools that might do.
Last edited:
- Home
- Source & Line
- PC Based
- ASUS XONAR SE - spdif coax mod