TLDR: The Asus Supremefx HiFi is a really good DAC that doesn't work on linux out of the box.
I made a small python script using pyusb that makes the DAC usable.
You can find the script here, it needs to be run whenever you want to use the DAC, or change the settings.
I have no experience in making drivers or configuration software, so help testing and improving this proof of concept would be very welcome.
I've been trying to find a front panel DAC that I can use on my PC case, in a 5.25'' bay, and I came across the Asus SupremeFX HiFi.
This DAC is a wierd beast, but can be found for around $40-$60 on eBay, used:
It uses a PCI-e 6 pin power cable (just like a graphics card);
Has really good audio components: Nichicon Gold and WIMA audio grade capacitors, as well as an ESS Sabre ES9018K2M, LM4562 socketed opamps, etc. (Read more here);
It was originally included in top tier (really expensive) Asus motherboards, such as the ROG Rampage V Edition 10 and the ROG MAXIMUS VIII EXTREME/ASSEMBLY;
The USB interface is an unknown chip labeled 9C1525, likely manufactured by a Chinese company called SaviAudio. There's a firmware update (v1.6) for this DAC whose user manual calls the chip SV3U326, but both chip numbers and the company can't be found anywhere;
It needs a small piece of proprietary software to work on Windows (can be found at the ROG Rampage V Edition 10 and the ROG MAXIMUS VIII EXTREME/ASSEMBLY support page). In it, you can select which headphones plug to use, test their impedance and turn on/off the microfone amplification. The software doesn't have any drivers. Instead it runs on the background and simply allows you to configure the DAC features.
I had no idea if it would work on Linux, but decided to buy it anyway, because it seems cheap taking into account the specs.
ALSA does recognise it as a generic USB audio interface. However, only audio capture works, not the sound outputs, so I decided to investigate. When I enable the DAC on a windows VM with the Asus software installed, I hear relays clicking and the headphones start working. This means the software sends some kind of trigger to the DAC to enable it.
Taking inspiration from here and here I was able to reverse engineer a way to enable it on Linux using a simple script written in python.
[link] [comments]
SOCIAL SHARE CARD GENERATOR