Skip to content

Conversation

@lafka
Copy link

@lafka lafka commented Oct 13, 2025

Description

Allow installing modules into kernel build. This simplifies adding esp-hosted to existing build systems like yocto. Without this the install recipe, or its arguments, must be set by user.

Related

None

Testing

Built with the following Yocto recipe

SUMMARY = "ESP-Hosted solution provides a way to use ESP board as a communication processor i.e. host for Wi-Fi and Bluetooth/BLE connectivity"
HOMEPAGE = "https://github.com/espressif/esp-hosted/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM ?= "file://LICENSE;md5=e6a75371ba4d16749254a51215d13f97"

SRC_URI = "git://github.com/lafka/esp-hosted.git;protocol=https;branch=lafka-modules-install"

SRCREV = "${AUTOREV}"

S = "${WORKDIR}/git/esp_hosted_ng/host"

inherit module

EXTRA_OEMAKE += "KERNEL=${STAGING_KERNEL_DIR}"
EXTRA_OEMAKE += "target=spi "

RPROVIDES_${PN} += "kernel-module-esp-hosted"

mantriyogesh and others added 30 commits May 19, 2025 08:42
2. delayed network status notification from slave to host in case of deep sleep
- Refactor LWIP port macros
- Add UDP port configuration
- Fix host power save handling
- Improve SPI buffer management with DMA alignment checks
- Update packet filtering during host sleep mode
- Implement optional workqueue for SPI handling
- Replace semaphore-based approach
- Optimize transaction queuing timing
- Fix checksum calculation
- Improve network queue management
- Add transaction timing measurements
- Optimize SPI handler with CS deassertion semaphore
- Implement better error handling in SPI write/read paths
- Configure high-priority workqueue for improved
	  Fix the memory leak in async path
Fix the unwanted repeatative logs in hosted shell
Fix: Simplify connect_ap handling (removed event group)
…acked' structures in between host and slave

2. Fixed double free for RPC request memory
3. Host SPI: Add Flexibility at host to use Workqueue instead of semaphore solution
4. Slave SPI: Extra Debug logs for SPI
5. Added back esp_reset from host to slave
1. Fix SPI throughput issue when MCU is set in UDP
2. C5 5G header change
3. Clean up of code
- added `print_capabilities()` function to spi
- added extra check for BT over UART in `process_capabilities()`
- Simplified CLI Kconfig options
- Prevent auto-connect with SSID in flash when a new SSID is requested
- Reuse feature_enable_disable sync call to get network split availabilty as response
- User-facing debugs updated depending upon network split
- modified logic used to connect to AP when device is not yet
  provisioned
- modified printout to indicate that we connected with static IP
1. Auto Network Setup - Auto configure network on host bootup
2. Network Split - Allow ESP ans host to run network, with same IP

Also updated main README to let user know scenarios and how to choose
NG/ FG/ MCU solutions
1. Auto Network Setup - Auto configure network on host bootup
2. Network Split - Allow ESP ans host to run network, with same IP

Also updated main README to let user know scenarios and how to choose
NG/ FG/ MCU solutions
feat(auto_ip_restore): 1. redefine hosted task priorities

See merge request app-frameworks/esp_hosted!571
- on ESP-IDF v5.5 and above, use `uhci_ll_rx_set_eof_mode()` instead
  of `uhci_ll_set_eof_mode()`.
bugfix(c3_s3_uart_hci) Fix build error due to change in fn name

See merge request app-frameworks/esp_hosted!574
Shreyas0-7 and others added 27 commits July 31, 2025 15:24
Feat/c5 support idf v5.5

See merge request app-frameworks/esp_hosted!603
fix(esp_hosted_ng): Fix compile errors for ng

See merge request app-frameworks/esp_hosted!606
docs(esp_hosted_ng): Update setup docs for esp_hosted ng

See merge request app-frameworks/esp_hosted!609
fix(docs): Update sdio support for c5

See merge request app-frameworks/esp_hosted!610
fix(esp_hosted_ng): Fix De-assert HS signal on CS

See merge request app-frameworks/esp_hosted!611
Docs/deassert cs spi

See merge request app-frameworks/esp_hosted!612
With commit b544b01 something has been
left behind:
* Documentation of ESP_SLAVE_CHIPSET
* ESP_SLAVE variable
both don't exist anymore. So drop comments and script usage

Signed-off-by: Giulio Benetti <[email protected]>
fix(esp_hosted_ng): Remove specific compilation SDIO left-overs

See merge request app-frameworks/esp_hosted!617
Allow installing modules into kernel build. This simplifies
adding esp-hosted to existing build systems like yocto.
@CLAassistant
Copy link

CLAassistant commented Oct 13, 2025

CLA assistant check
All committers have signed the CLA.

Copy link

@v-bertin v-bertin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would really like to see this PR merged. Will test on my side as well.

Comment on lines +62 to +63
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(M) modules_install

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be KERNEL (as defined at the top of this Makefile) and not KERNEL_SRC. Also, let's just use PWD directly instead of defining yet another alias.

Suggested change
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(M) modules_install
modules_install:
$(MAKE) -C $(KERNEL) M=$(PWD) modules_install

I think the build worked in Yocto because KERNEL_SRC is set within EXTRA_OEMAKE (see module.bbclass).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.