• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!
Ok... this is the reply:

Let's wait...
It has been a month. No new firmware as far as I can tell. Did you hear anymore from them since then?

@SMSL-Mandy, anything new? This seems rather trivial to take a month.
 
No, I didn't have any other messages. I hope they are doing something...
 
That would be nice, really.
Hope dies last.
But unfortunately SMSL, Sabaj, Loxjie have shown in the past that they have neither the manpower nor the know-how for high-quality software/firmware. I suspect that there are neither useful logging tools nor requirements specifications, which makes such changes extremely difficult and then creates new errors.

This also means that the potential of the devices is not exploited, keyword usability and functionality.
This company is not aware of the marketing potential of taking care of the firmware and adding usability and functionality.

@SMSL-Mandy Fixing errors in the firmware should actually be a matter of course and have the highest priority. SMSL does not seem to be aware that these very customers have already supported the company financially through their purchases.
Instead, the priority is placed on the next device in development/production that has not been fully developed and tested, of which SMSL already has dozens on the market.


My question would also be why they don't use the potential of the open source community. There are enough examples where this has led to much better devices and sales/revenues for these devices have gone through the roof.
 
Hope dies last.
But unfortunately SMSL, Sabaj, Loxjie have shown in the past that they have neither the manpower nor the know-how for high-quality software/firmware. I suspect that there are neither useful logging tools nor requirements specifications, which makes such changes extremely difficult and then creates new errors.

This also means that the potential of the devices is not exploited, keyword usability and functionality.
This company is not aware of the marketing potential of taking care of the firmware and adding usability and functionality.

@SMSL-Mandy Fixing errors in the firmware should actually be a matter of course and have the highest priority. SMSL does not seem to be aware that these very customers have already supported the company financially through their purchases.
Instead, the priority is placed on the next device in development/production that has not been fully developed and tested, of which SMSL already has dozens on the market.


My question would also be why they don't use the potential of the open source community. There are enough examples where this has led to much better devices and sales/revenues for these devices have gone through the roof.
This is a really easy fix. It is just assignment errors. For instance, for the DL200 and D6-S, the UI controller input - FLnumin - is not correctly assigned to its output in the DAC chip's code - 3'dnumout - register 88 bits [2:0]. ESS starts their numbers with 0 and goes up to 7 while SMSL starts at 1 and goes up to 7 as well. SMSL's stated list of filters is
FL1: Minimum phase (ESS#1, code: 3'd0)
FL2: Linear phase apodizing fast roll-off (ESS#2, code: 3'd1)
FL3: Linear phase fast roll-off (ESS#3, code: 3'd2)
FL4: Linear phase fast roll-off low ripple (ESS#4, code: 3'd3)
FL5: Linear phase slow roll-off (ESS#5, code: 3'd4)
FL6: Minimum phase fast roll-off (ESS#6, code: 3'd5)
FL7: Minimum phase slow roll-off low dispersion (ESS#8, code: 3'd7)

The actual assignment is
FL1 - Minimum phase slow roll-off low dispersion (ESS #8)
FL2 - Linear phase apodizing fast roll-off (ESS #2)
FL3 - Linear phase fast roll-off (ESS #3)
FL4 - Linear phase fast roll-off low-ripple (ESS #4)
FL5 - Linear phase slow roll-off (ESS #5)
FL6 - Minimum phase fast roll-off (ESS #6)
FL7 - Minimum phase slow roll-off (ESS #7, code: 3'd6)
Thus, FL2-FL6 are correct but FL1 and FL7 are incorrect.

In terms of programming it correctly, this is straightforward depending on the language used. Suppose, the controller input for the filter is just num assigned to variable filter such that filter = num corresponds to FLnum being selected by the user. Then, the translation to the DAC chip's code can be as simple as
if filter != 7
FILTER_SHAPE = 3'd(filter - 1)
else
FILTER_SHAPE = 3'dfilter
end
There might some intermediary steps in the assignment such as translating an interger to a string and concatenating afterwards but SMSL seem to know them since they different filters are selected by the UI control.

Similarly, on the DL200 and D6-S, there is also a step missing in the volume contol between 88 and 89 which should be 0.5 dB apart. The relevant assignment section for the DAC chip is registers 74 and 75 bits [7:0] for the channels 1 and 2, respectively. Since there is no balance settings, they are always the same and thus if the input for the controller is volume = num, the assignment is again straight forward. From volume 99 down to 27 are in steps of 0.5 dB, from 26 to 19 are in speps of 1 dB and from 18 to 01 are in steps of 1.5 dB with 00 being mute. The volume control for the DAC chip is in 255 0.5 dB steps, i.e. 0 dB and 255 levels each 0.5 lower than the preceding with the assignment code 8'dnum with num going from 0 at 0 dB to 255 at 127.5 dB. Mute is controlled via register 86 bits [1:0] where 1'b1 is mute and 1'b0 is normal operation. Muting can be done through the remote control denoted by mute = 1 for mute and mute = 0 otherwise or by turning down the volume all the way to 00.

Thus, it can be programmed straightforwardly as
if mute == 1 or volume == 0
DAC_MUTE_CH1 = 1'b1
else
DAC_MUTE_CH1 = 1'b0
if volume > 25
VOLUME_CH1 = 8'd(99 - volume)
elseif volume > 18
VOLUME_CH1 = 8'd(99 - 27 + 2*(27 - volume))
else
VOLUME_CH1 = 8'd(99 - 27 + 2*(27 - 19) + 3*(19 - volume))
end
VOLUME_CH2 = VOLUME_CH1
end
DAC_MUTE_CH2 = DAC_MUTE_CH1
The fact that they skip a step between 88 and 89 suggest some really longwinded coding with individual level assignments for every volume settings, i.e. 100 or so conditionals instead of 3.
 
Last edited:
Just read through this thread, thanks for all your work on this. Crazy to think such a seemingly simple issue is being misunderstood by them.

I have a DO100 PRO and now I'm afraid to update the firmware because I'm not sure how I could identify the filters if I do that lol. Just staying on the old firmware, and using your guide at the beginning of this thread and hoping FL4 is actually Linear Phase Fast Rolloff.

Truthfully, I'm not even sure I can hear a difference in any of these, but I'd like the peace of mind of knowing what I'm using.
 
Try contacting the AliExpress SMSL seller or SMSL support team directly by email. I am using a DL400 that I purchased from the official AliExpress SMSL store, and I kept asking the seller for a firmware update via message, and I was able to receive the fixed firmware by email.
1000016846.jpg
 
Try contacting the AliExpress SMSL seller or SMSL support team directly by email. I am using a DL400 that I purchased from the official AliExpress SMSL store, and I kept asking the seller for a firmware update via message, and I was able to receive the fixed firmware by email.View attachment 447796
I would have to make another e-mail to contact the support since they have problems with gmail. I might try AliExpress.
 
I would have to make another e-mail to contact the support since they have problems with gmail. I might try AliExpress.
There are "new" firmwares out on the SMSL website. I downloaded V6 for my DO400. Are the filters now fixed do you know?

I would like to use Minimum slow or minimum slow low dispersion in order to minimum treble fatigue as I have 2.8 to 3.8khz hyperacuisis and thought these might help. Now I'm confused about which either of these woudl have been on the old vs new firmwares - if they have changed at all.
Thanks.


Edit looking at a previous post from you I should probably pick "low dispersion" then? as you said "low dispersion" is either minimum phase slow or minimum phase slow low dispersion?

Thanks
 
There are "new" firmwares out on the SMSL website. I downloaded V6 for my DO400. Are the filters now fixed do you know?

I would like to use Minimum slow or minimum slow low dispersion in order to minimum treble fatigue as I have 2.8 to 3.8khz hyperacuisis and thought these might help. Now I'm confused about which either of these woudl have been on the old vs new firmwares - if they have changed at all.
Thanks.


Edit looking at a previous post from you I should probably pick "low dispersion" then? as you said "low dispersion" is either minimum phase slow or minimum phase slow low dispersion?

Thanks
This is the list I currently see on their website. It seems to be much the same as it was before.
Screenshot 2025-06-18 at 14.39.35.png


I doubt the filter choice will help with fatigue at those frequencies as the slow filters attenuate much later around 15 kHz or so. EQ will work much better.
 
I doubt the filter choice will help with fatigue at those frequencies as the slow filters attenuate much later around 15 kHz or so. EQ will work much better.
@Longfellow78: I totally agree with JIW, that EQ-ing ist the way to go.

I'm using the Android app "PowerAmp" with a JCally JM20 dongle and played with my headphones to get the sound I like (AKG K361, a very nice and fairly neutral HP, but a bit shy in some of the high end - I missed the spit on the lip of close mic'd voices).
This music player app allows you to include different EQ presets for a huge number of HPs from different brands, most of which are based on professional measurements with an artificial head - a good starting point to experiment with.
The effect is impressive, and you can always modify the preset to your liking.

You are aware, that the ESS Filters essentially scale with fs (not sure if this holds true for the highest fs settings at ESS and e.g. AKM follows a different philosophy), such that the -3dB @ 0.44fs given in the specification of the ES9039 Pro result in
-3dB @ 19.4 kHz at 44.1 kS/s
-3dB @ 21.1 kHz at 48 kS/s
-3dB @ 42.2 kHz at 96 kS/s
...
Thus this effect you are looking for is basically "gone" when you play HiRes Material or you do upsampling.

1750595375889.png
 

Attachments

  • 1750595560668.png
    1750595560668.png
    26.7 KB · Views: 0
I have a Mac and can't update the firmware, but I think linear fast roll off (setting 4 for me) is the best anyway.
 
Back
Top Bottom