ES9028Q2M driver for Raspbian based distro

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
@IanCanada

You seriously didn't build your DAC with a MCU and your own driver??
Can't believe it! :rolleyes:

You know the rules. Therefore to me such a product would simply be useless !?!?


OK. For private use it'll work. But usually you design your stuff to sell it!


Good luck with that!

It is perfectly fine to use a closed source driver.

Just like all the hardware in your PC/MAC. They are all protected by NDA, yet you can download the closed source driver binary freely.
 
Last edited:
@IanCanada

You seriously didn't build your DAC with a MCU and your own driver??
Can't believe it! :rolleyes:

You know the rules. Therefore to me such a product would simply be useless !?!?


OK. For private use it'll work. But usually you design your stuff to sell it!


Good luck with that!

The rule:
According to the NDA, 'the confidential information does not include information ... (ii) is now or hereafter becomes available to the public through no fault of the Receiving party.'
 
@IanCanada

You seriously didn't build your DAC with a MCU and your own driver??
Can't believe it! :rolleyes:

You know the rules. Therefore to me such a product would simply be useless !?!?


OK. For private use it'll work. But usually you design your stuff to sell it!


Good luck with that!

For easiness of development, Ican can sell the DAC with no MCU and require the user to download pre-compiled, closed source driver and install the driver by themselves.

For easiness of use, Ican can make second version with MCU and an open source driver.

Either way is allowed by the NDA from ESS tech.

I am very confused about the 'useless' part, maybe you can elaborate it more, with the actual rules from an actual NDA document?
 
ESS dacs don't necessarily need a driver, since they are happy with accepting a 32bit I2S signal. If one can make sure that his RPi always outputs 32bit data, he should be OK.

The driver is useful in that it allows tweaking of several parameters, but is not mandatory.
 
ESS dacs don't necessarily need a driver, since they are happy with accepting a 32bit I2S signal. If one can make sure that his RPi always outputs 32bit data, he should be OK.

The driver is useful in that it allows tweaking of several parameters, but is not mandatory.

Yeap. Put a AK4137 SRC you have mentioned in your blog in front of the ESS DAC and it will work perfectly without a driver. HW volume control is the only thing missing.
 
ESS dacs don't necessarily need a driver, since they are happy with accepting a 32bit I2S signal. If one can make sure that his RPi always outputs 32bit data, he should be OK.

The driver is useful in that it allows tweaking of several parameters, but is not mandatory.

In SW mode, to enable and access enhanced functions you need a driver.
In HW mode these chips are IMO pretty basic players.

@Gandolf
It seems you've got that verified with ESS and checked your stuff thoroughly against GPL compliance on the Linux and kernel side.
I still consider it high risk and nonsense to build a product with a closed source driver in mind.

Anyhow. Enjoy. I wouldn't buy such a product.
 
Hi soundcheck,

I think they have ALL been through this before and know to "run for the hills". :) As far as I know, there is no "approved by ESS" open source drivers available and therefore no ESS DAC drivers are included in Linux.:confused:

I hope it changes one day and some hardware manufacturer succeeds in getting their ESS driver into the Linux distros.

regards

Disclosure (we also design ess9038 dac).

Yes this has been discussed many times before. You cannot use open source drivers for ess sabre with any RPI distributions. The only work around is to use a MCU and have the open source driver control the MCU with the "real driver" of the ess sabre.

I am aware of some Ess Sabre driver that was made by Clive based on some code from Japan and it was dropped because they had the approval of Ess Japan but not the main office. (I heard this direct from source)

As of now , no RPI distri will accept Ess Sabre drivers since they are legally responsible for the code they distribute under GPL.

Soundcheck is right , Ians has to use the MCU and develop the driver and control the MCU with a second driver. Thats exactly what we have done .

Gandolf you are incorrect. If you write your driver for the Linux kernel, it means it's derived from the Linux kernel.The Linux kernel is under GPL and that means that any derivative work of a GPL-licensed code must also have a GPL-compatible license. So if you distribute its binaries you must distribute the source code to anyone that asks for it.
 
Disclosure (we also design ess9038 dac).

Yes this has been discussed many times before. You cannot use open source drivers for ess sabre with any RPI distributions. The only work around is to use a MCU and have the open source driver control the MCU with the "real driver" of the ess sabre.

I am aware of some Ess Sabre driver that was made by Clive based on some code from Japan and it was dropped because they had the approval of Ess Japan but not the main office. (I heard this direct from source)

As of now , no RPI distri will accept Ess Sabre drivers since they are legally responsible for the code they distribute under GPL.

Soundcheck is right , Ians has to use the MCU and develop the driver and control the MCU with a second driver. Thats exactly what we have done .

Gandolf you are incorrect. If you write your driver for the Linux kernel, it means it's derived from the Linux kernel.The Linux kernel is under GPL and that means that any derivative work of a GPL-licensed code must also have a GPL-compatible license. So if you distribute its binaries you must distribute the source code to anyone that asks for it.

Oh crap, forgot about the Linux kernel license. But it is another story if I say I can obtain the datasheet of ES9028 DAC through unofficial method thus I am not bounded to it.
 
Hi Gandalf ,

I have downloaded your driver. As per GPL license (your driver is in the kernel and its a derivative) I would like to have the source code. Please PM me the link.

GPL is perceived as " FREE"

Yes it is , but there is a difference between " Free Beer" and " Free expression"

GPL was made by people that are giants. They seen a different way (from closed source) and made a license to make sure it benefits humanity (not corporations) .Greg , Tim , Soundcheck , Clive and many others slaved many hours for the benefit of the community.

Respect the license and their work.
 
Hi Gandalf ,

I have downloaded your driver. As per GPL license (your driver is in the kernel and its a derivative) I would like to have the source code. Please PM me the link.

GPL is perceived as " FREE"

Yes it is , but there is a difference between " Free Beer" and " Free expression"

GPL was made by people that are giants. They seen a different way (from closed source) and made a license to make sure it benefits humanity (not corporations) .Greg , Tim , Soundcheck , Clive and many others slaved many hours for the benefit of the community.

Respect the license and their work.

The Linux kernel module does not always have to GPL licensed. Here is the discussion from Linus himself.
proprietary-kernel-modules

An example, NVIDIA provides closed source proprietary Linux kernel driver for their graphics cards.
 
By the way, I am tired of this discussion. I will pull off the attachment of the driver in favor for some other's interests. But I stand by my point that Linux kernel modules do not need to GPL licensed. Anyone who wants to try the driver please PM me and I will send the binary to you.
 
The issue is quite simply explained in The linux-kernel mailing list FAQ . The opinion of Linus is not shared by all kernel developers who are holders of the copyrights of the bulk of the kernel code.

If a module uses any of the API calls marked intentionally by its author with the EXPORT_SYMBOL_GPL, it must be GPL.

List of these APIs for the sound subsystem Search * EXPORT_SYMBOL_GPL path:sound * GitHub Honestly, I do not think it is possible to build an alsa sound driver without at least one of these calls.
 
Modified driver with the source. The source was taken from GitHub - luoyi/Rpi-ES9018K2M-DAC. I have already PMed an administrator to take down the previously uploaded binary.

Even though the original author claims it is for ES9018K2M but when I tried it on my ES9028 board it works.

All the register functions are based on the original register naming.

There is no way to mute the DAC without adding new information. A workaround is implemented -- change the volume to a very low level to simulate 'mute' to avoid pop. The minimum volume values are found by error and trial.

An issue with this workaround is that if the volume is changed during idle, the DAC is unmuted therefore you may hear a pop.

Other modifications are all related to driver setup, nothing to do the DAC itself.

The original GitHub repo was initially committed in 2016 and have already been folked by 4 other people, thus using it does not breach the NDA.

All the sources are available for downloading, thus it does not violate GPL.

This is not my repo so if you have issues please contact the original author.

I believe this will satisfy most of us until ESS pulls the original down.
 
Modified driver with the source. The source was taken from GitHub - luoyi/Rpi-ES9018K2M-DAC. I have already PMed an administrator to take down the previously uploaded binary.



All the sources are available for downloading, thus it does not violate GPL.

.

Excellent argument.
Its available for download therefore its not on violation of GPL...mmm :)

Basically if its on the internet available for download it must be perfectly legal.

Gandalph , your code is not GPL. The code you based yourself on is not GPL (and was abandoned by Clive because of GPL compliance) . Ess Sabre does not allow GPL drivers. Clear ?

You think you are doing the community a service, but you are in fact harming it . Many designers (myself a small part), are playing by the rules , respecting the licensing , working hard to incorporate drivers in MCUs when drivers in Linux will be so much easier..

Remember what I said ? GPL is not "Free beer" is free expression.

You my friend , just took a free 6 pack modified it (made it cold ) and want to share it while congratulating yourself for being a freedom fighter .

In fact the true terms will be pirate and pirated software.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.