How to compile image with ath10k instead of ath10k-ct

General discussion about Gargoyle, OpenWrt or anything else even remotely related to the project

Moderator: Moderators

Post Reply
asammar
Posts: 6
Joined: Thu Dec 17, 2020 11:19 pm

How to compile image with ath10k instead of ath10k-ct

Post by asammar »

Happy Holidays everyone.

I am trying to build a custom 1.14 image (ipq806x) for a couple of routers (r7800 & C2600) with the standard ath10k driver & firmware. I started with the default config file and changed all references to ath10k-ct driver and firmware to ath10k. Somehow, ath10k-ct is still being pulled in during the compile which causes the build to fail due to conflicting files (which is expected). It seems ath10k-ct is set as default somewhere else which is overriding my changes during the "make defconfig" step (or somewhere else maybe?).

My approach above of modifying the config file worked fine in 1.13 but looks like something changed in 1.14.

What files do I need to change to make ath10k the default in 1.14 please?

Thank you very much for your help.

Lantis
Moderator
Posts: 6753
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: How to compile image with ath10k instead of ath10k-ct

Post by Lantis »

You need to use the CONFIG_TARGET_DEVICE_PACKAGES_x feature.
https://github.com/ericpaulbishop/gargo ... onfig#L102
(and the equivalent line for c2600)

You would extend this line as follows
FROM:

Code: Select all

CONFIG_TARGET_DEVICE_PACKAGES_ipq806x_generic_DEVICE_netgear_r7800="gargoyle-large"
TO:

Code: Select all

CONFIG_TARGET_DEVICE_PACKAGES_ipq806x_generic_DEVICE_netgear_r7800="gargoyle-large -ath10k-firmware-qca9984-ct ath10k-firmware-qca9984"
The minus sign will remove the CT variant of the ath10k firmware and then afterwards you ask the regular version to be included. No other config changes should be necessary.

It is being pulled in automatically by this definition:
https://git.openwrt.org/?p=openwrt/open ... 22.03#l319
http://lantisproject.com/downloads/gargoyle_ispyisail.php for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

asammar
Posts: 6
Joined: Thu Dec 17, 2020 11:19 pm

Re: How to compile image with ath10k instead of ath10k-ct

Post by asammar »

Thank you very much, Lantis!

I actually used that line but I did not add the minus sign part which is probably why it was still getting pulled in.

I will give that a try over the weekend.

Thanks again.

Lantis
Moderator
Posts: 6753
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: How to compile image with ath10k instead of ath10k-ct

Post by Lantis »

Please report back on your success or not, as I have not personally tested this method. This is the theoretical way it is supposed to work however :)
http://lantisproject.com/downloads/gargoyle_ispyisail.php for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

asammar
Posts: 6
Joined: Thu Dec 17, 2020 11:19 pm

Re: How to compile image with ath10k instead of ath10k-ct

Post by asammar »

Will certainly do.
Thank you!

asammar
Posts: 6
Joined: Thu Dec 17, 2020 11:19 pm

Re: How to compile image with ath10k instead of ath10k-ct

Post by asammar »

Hi Lantis,

As promised, here is an update on how things went. Please note that all testing was done on the C2600 as the R7800 is at another location.

Your suggested approach works great with a couple of small modifications:
1. I had to include the driver package in the string not just the firmware. For some reason, the firmware is not pulling in the driver as it should

Code: Select all

CONFIG_TARGET_DEVICE_PACKAGES_ipq806x_generic_DEVICE_tplink_c2600="gargoyle-large -ath10k-firmware-qca99x0-ct kmod-ath10k ath10k-firmware-qca99x0"
2. Line 3686 in the config file needs to be changed from y to m:

Code: Select all

CONFIG_PACKAGE_kmod-ath10k-ct=m
The manifest file did not reflect the packages correctly so for every combination I tried, I had to compile an image and upload the firmware to the router and check installed packages using opkg list-installed. Is there a way to check packages in a final image file without actually flashing it to the router?

Thanks again for your help and everything you do for all of us!

Happy New Year :)

Post Reply