• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. 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!

Topping E30 Polarity discussion

kobazik

Member
Joined
May 28, 2020
Messages
6
Likes
2
Aoshida-HIFI Audio Store has confirmed their stock of E30 has serial number starting from 2004 which has polarity issue fixed. Just ordered one.
 
OP
N

NgxHS7

Member
Joined
May 6, 2020
Messages
82
Likes
48
Aoshida-HIFI Audio Store has confirmed their stock of E30 has serial number starting from 2004 which has polarity issue fixed. Just ordered one.

I can vouch for them. I got mine from them. I haven't even updated mine to v1.08. It sounds great as is. I am super happy with it, and I am sure you will be too!
 

samsa

Addicted to Fun and Learning
Joined
Mar 31, 2020
Messages
506
Likes
589
Hi samsa! I’m on Linux, so is there a prerequisite driver/firmware installation needed for this or can I just jump straight to this?

There are no drivers to install. If the device is supported by your Linux kernel, then it works. If you can't play music to it, then you need a newer kernel.

Do I need to run the following commands sequentially, or do I only need to run a specific one?

The available command are listed in order of least-destructive to most-destructive. You can execute them in order, or you can skip ahead to #3, which is the one you want.

(Btw, what do the --upload and --download options mean, are they upload firmware and download firmware, respectively?)

Code:
Now you can run any of the following commands:

  ./E30_dfu_tool --listdevices
  sudo ./E30_dfu_tool --upload currentfirmware.bin
  sudo ./E30_dfu_tool --download newfirmware.bin

  • The first command lists all of the devices on your USB bus, so that you can check that the E30 is being recognized.
  • The second command uploads a copy of the current firmware on the device and saves it in a file on your Linux machine (here called "currentfirmware.bin").
  • The third command downloads and installs the firmware, from a file on your Linux machine (here called "newfirmware.bin"), onto your E30. This is the "dangerous" one, but it's the one you want.
Hope that clarifies things for you.
 

zhaqenl

Member
Joined
Jun 5, 2020
Messages
19
Likes
2
Location
Philippines
  • The third command downloads and installs the firmware, from a file on your Linux machine (here called "newfirmware.bin"), onto your E30. This is the "dangerous" one, but it's the one you want.

Okay, got it! Just got a bit confused with the terms, since I personally would use upload to mean to put TO the device, while download would mean getting FROM it.

Anyway, thanks samsa! :)
 

solderdude

Grand Contributor
Joined
Jul 21, 2018
Messages
15,891
Likes
35,912
Location
The Neitherlands
Okay, got it! Just got a bit confused with the terms, since I personally would use upload to mean to put TO the device, while download would mean getting FROM it.

That would depend whether or not one is looking from the DAC or the connected PC.
Seen from the DAC the firmware is downloaded into it, seen from the PC the firmware is uploaded to the DAC. ;)
 

samsa

Addicted to Fun and Learning
Joined
Mar 31, 2020
Messages
506
Likes
589
Btw, whereʼd you source the Linux firmware update?

The Khadas ToneBoard updater is on Github. It is lightly adapted (apparently) from the software toolkit provided by XMOS. I adapted things further for the Topping E30, and fixed some compiler warnings.

Would it be in any way dangerous applying this fix for devices with 2004 serial numbers already?

The 2004 serial number devices already have the 1.08 firmware installed. Installing it again won't do anything.

You will, however, be able to use the same installer when the 1.09 firmware comes out.
 

zhaqenl

Member
Joined
Jun 5, 2020
Messages
19
Likes
2
Location
Philippines
You will, however, be able to use the same installer when the 1.09 firmware comes out.

By same installer, you mean same method right? If and when 1.09 drops, would you be creating its respective Linux counterpart again?
 

samsa

Addicted to Fun and Learning
Joined
Mar 31, 2020
Messages
506
Likes
589
By same installer, you mean same method right? If and when 1.09 drops, would you be creating its respective Linux counterpart again?

No. The firmware file that you download to the DAC will be different, but the Installer is the same.
 
Joined
May 11, 2018
Messages
13
Likes
5
I only found out about the polarity issue today. I updated the firmware which is supposed to fix the issue on the USB input, and then spent some time flipping back and forth between the optical and USB inputs into the same pair of speakers. I couldn't hear any difference between the two.
 

solderdude

Grand Contributor
Joined
Jul 21, 2018
Messages
15,891
Likes
35,912
Location
The Neitherlands
I only found out about the polarity issue today. I updated the firmware which is supposed to fix the issue on the USB input, and then spent some time flipping back and forth between the optical and USB inputs into the same pair of speakers. I couldn't hear any difference between the two.

That is to be expected. You can only hear it with some specific test signals and some specific instruments. Not with everyday music. It's a non-issue in practice.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,680
Likes
2,958
The Khadas ToneBoard updater is on Github. It is lightly adapted (apparently) from the software toolkit provided by XMOS. I adapted things further for the Topping E30, and fixed some compiler warnings.
You can get the original XMOS software source code if you sign up for a free account. The updater is for MacOS, but after a change to 1 line it compiles for linux, and probably other unix with libusb. It looks like the source from khadas is based on an older version, but the changes since then are mostly to add the product IDs of some more XMOS chips. The trigger for entering DFU mode and the upload/download process haven't changed. XMOS have a lot of their code on github, but I don't think the dfu tool is there.
Okay, got it! Just got a bit confused with the terms, since I personally would use upload to mean to put TO the device, while download would mean getting FROM it.
The DFU process views it from the point of view of the device, not the host computer, so it can seem a little odd.
 

samsa

Addicted to Fun and Learning
Joined
Mar 31, 2020
Messages
506
Likes
589
You can get the original XMOS software source code if you sign up for a free account. The updater is for MacOS, but after a change to 1 line it compiles for linux, and probably other unix with libusb. It looks like the source from khadas is based on an older version, but the changes since then are mostly to add the product IDs of some more XMOS chips. The trigger for entering DFU mode and the upload/download process haven't changed. XMOS have a lot of their code on github, but I don't think the dfu tool is there.

I can post a diff file of my changes, if that's desirable. I did implement some minor improvements to the Macos version (which appeared to be the unmodified XMOS dfu tool). But, really, pretty trivial stuff...
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,680
Likes
2,958
I can post a diff file of my changes, if that's desirable. I did implement some minor improvements to the Macos version (which appeared to be the unmodified XMOS dfu tool). But, really, pretty trivial stuff...
I guess it depends on whether Topping release an 'official' version or whether it remains a community supplied option for the brave. you and I already know how trivial it is, but it might help others. Thanks for trying it out. For linux the dfu-tool provided by fwupd may also be an option - it detects my Forte (earlier xmos chip) as dfu-capable, but I haven't found out yet if it can switch it to dfu mode or if it'll need an extra quirk adding.
 

samsa

Addicted to Fun and Learning
Joined
Mar 31, 2020
Messages
506
Likes
589
You can get the original XMOS software source code if you sign up for a free account.

Thanks! I did that, and compared the latest XMOS source with the one I distributed. The differences are:
  1. I added the Vendor and Product IDs for the E30.
  2. I fixed all the compiler warnings.
  3. I know how to use install_name_tool, unlike — apparently — the folks at XMOS. So the Macos version runs without the ridiculous workaround theirs requires. (N.B.: this makes no difference under Linux, where the shared library is in the expected location.)
I guess it depends on whether Topping release an 'official' version or whether it remains a community supplied option for the brave. you and I already know how trivial it is, but it might help others.

That, I expect, comes down to the support costs.

Anyway, the versions I posted correspond to the latest XMOS code (with the differences noted above) and have been verified to work both on Macos and Linux.
 

Attachments

  • xmos_dfu.cpp.diff.txt
    2.4 KB · Views: 216
Last edited:

conuss

Active Member
Joined
May 2, 2020
Messages
167
Likes
16
If you connect a CD player via optics, will you hear a problem with the polarity in version 1911?..
 
Top Bottom