Kernel module source

  • 3
  • Question
  • Updated 4 months ago
Hi,


I'm looking for the sources of the platform modules ( more specifically accton_as4610_54_cpld and accton_as5712_54x_platform for now ).

Doing a modinfo on those shows they're GPL licensed :

root@sw-0:~ # modinfo accton_as5712_54x_platform
filename:       /lib/modules/4.1.0-cl-4-amd64/extra/accton_as5712_54x_platform.ko
license:        GPL
version:        0.1
description:    Accton AS5712-54X Platform Support
author:         Curt Brune (curt@cumulusnetworks.com)
srcversion:     4A64F32DD31EEB56CCADBDC
depends:        i2c-mux,i2c-core,hwmon
vermagic:       4.1.0-cl-4-amd64 SMP mod_unload modversions

And there is actually no choice there because after checking what symbols they use, lots of them use GPL_ONLY kernel symbols that can only be used by GPL modules.

However I was unable to find the matching sources in the debian repo or on http://oss.cumulusnetworks.com/ or on the github ...

Could you point me to where the sources for those are hosted ?


Cheers,

   Sylvain Munaut
Photo of Sylvain Munaut

Sylvain Munaut

  • 746 Points 500 badge 2x thumb

Posted 1 year ago

  • 3
Photo of Scott Suehle

Scott Suehle, Alum

  • 3,772 Points 3k badge 2x thumb
Sylvain,

Thank you for bringing this to our attention. We have updated the page and you should see the source from our 2.5.x releases available again.
Photo of Sylvain Munaut

Sylvain Munaut

  • 746 Points 500 badge 2x thumb
Huh ?

This is not about the 2.5.x releases. The modules I'm talking about in the original question are from a Cumulus Linux 3.2 kernel
Photo of Sylvain Munaut

Sylvain Munaut

  • 746 Points 500 badge 2x thumb
Do I have to open a support ticket to get an answer to this ?

In case I wasn't clear: I am on Cumulus Linux 3.2 and I can see the accton_as4610_54_cpld kernel module located at /lib/modules/4.1.0-cl-4-iproc/extra/accton_as4610_54_cpld.ko is provided by the debian package "platform-modules-4.1.0-cl-4-iproc" :

----
cumulus@as4610-54p:~ $ dpkg -S /lib/modules/4.1.0-cl-4-iproc/extra/accton_as4610_54_cpld.ko 
platform-modules-4.1.0-cl-4-iproc: /lib/modules/4.1.0-cl-4-iproc/extra/accton_as4610_54_cpld.ko
----

But the sources for that package are not available in your debian repository :

----
cumulus@as4610-54p:~ $ apt-get source platform-modules-4.1.0-cl-4-iproc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'platform-modules' as source package instead of 'platform-modules-4.1.0-cl-4-iproc'
E: Unable to find a source package for platform-modules
----
I also checked the linux-source package (which is available in the debian repo) but the source for those modules is nowhere to be found in there.
Photo of Jason Guy

Jason Guy, Employee

  • 1,712 Points 1k badge 2x thumb
The Cumulus platform modules are a set of python files which configure the hardware during initialization, and in the process, loads the CPLD drivers. This is a pre-compiled driver file. In general there is rarely a need for an end user to worry about CPLD of I2C hardware communication. So I am curious what the use case is for this requirement.

However, the CPLD code is typically proprietary, and Cumulus does not even have access to the CPLD code. I would recommend opening a support case with EdgeCore if you require more information.
Photo of Sylvain Munaut

Sylvain Munaut

  • 746 Points 500 badge 2x thumb
I'm not interested in the bitstream that's loaded inside the CPLD, I definitely expect that to just be provided by EdgeCore and just an opaque binary blob.

What I'm interested in is the source for the kernel driver that interfaces that CPLD functions to the various kernel interfaces.

As you can see in the 'modinfo' I posted above :

 - The author field is set to "Curt Brune (curt@cumulusnetworks.com)"  So obviously Cumulus has the sources and compiles that drivers.

 - The modinfo shows the modules declares itself as GPL so sources have to be made available to people you distribute it to upon request. Hence this request.

 - The license field can't possibly be a mistake/oversight because that module uses plenty of GPL_ONLY kernel symbols, so it wouldn't work at all if it was not a GPL module.
Photo of Sylvain Munaut

Sylvain Munaut

  • 746 Points 500 badge 2x thumb
I'm still waiting ...

Oviously the author Curt Brune clearly reads this forum since there was a reply from him in another thread ...
Photo of Eric Pulvino

Eric Pulvino, Official Rep

  • 4,082 Points 4k badge 2x thumb
Going to ping Curt Brune and Dave Olsonfor a better response here. I recall having a conversation on this internally several weeks ago but do not recall the outcome.
Photo of Sylvain Munaut

Sylvain Munaut

  • 746 Points 500 badge 2x thumb
Thanks !
Photo of JR Rivers

JR Rivers, Official Rep

  • 100 Points 100 badge 2x thumb
Thanks for asking, sorry for the delay!  Sent via direct email.
Photo of Graeme Davidson

Graeme Davidson

  • 60 Points
Would it be possible to have this answer forwarded onto me?