Checklist
How often does this bug occurs?
always
Expected behavior
能够正常识别EPS32C3,并正常生成STA和AP网卡
Actual behavior (suspected bug)
不能够识别bootup事件
Error logs or terminal output
ESP32的打印
I (26) boot: ESP-IDF v5.4.3-904-gacd7b505d 2nd stage bootloader
I (26) boot: compile time Jan 29 2026 17:47:00
I (26) boot: chip revision: v0.4
I (27) boot: efuse block revision: v1.3
I (31) boot.esp32c3: SPI Speed : 80MHz
I (35) boot.esp32c3: SPI Mode : DIO
I (38) boot.esp32c3: SPI Flash Size : 4MB
I (42) boot: Enabling RNG early entropy source...
I (47) boot: Partition Table:
I (49) boot: ## Label Usage Type ST Offset Length
I (56) boot: 0 nvs WiFi data 01 02 00009000 00004000
I (62) boot: 1 otadata OTA data 01 00 0000d000 00002000
I (69) boot: 2 phy_init RF data 01 01 0000f000 00001000
I (75) boot: 3 ota_0 OTA app 00 10 00010000 00180000
I (82) boot: 4 ota_1 OTA app 00 11 00190000 00180000
I (88) boot: End of partition table
I (91) esp_image: segment 0: paddr=00010020 vaddr=3c0b0020 size=22b60h (142176) map
I (122) esp_image: segment 1: paddr=00032b88 vaddr=3fc96600 size=03bech ( 15340) load
I (125) esp_image: segment 2: paddr=0003677c vaddr=40380000 size=0989ch ( 39068) load
I (133) esp_image: segment 3: paddr=00040020 vaddr=42000020 size=a22c4h (664260) map
I (239) esp_image: segment 4: paddr=000e22ec vaddr=4038989c size=0cc50h ( 52304) load
I (248) esp_image: segment 5: paddr=000eef44 vaddr=50000000 size=0001ch ( 28) load
I (256) boot: Loaded app from partition at offset 0x10000
I (256) boot: Disabling RNG early entropy source...
I (266) cpu_start: Unicore app
I (274) cpu_start: GPIO 20 and 21 are used as console UART I/O pins
I (274) cpu_start: Pro cpu start user code
I (274) cpu_start: cpu freq: 160000000 Hz
I (276) app_init: Application information:
I (280) app_init: Project name: network_adapter
I (285) app_init: App version: FG-1.0.0.0.0
I (289) app_init: Compile time: Jan 29 2026 18:11:51
I (294) app_init: ELF file SHA256: a6ce822c0...
I (299) app_init: ESP-IDF: v5.4.3-904-gacd7b505d
I (304) efuse_init: Min chip rev: v0.3
I (307) efuse_init: Max chip rev: v1.99
I (311) efuse_init: Chip rev: v0.4
I (315) heap_init: Initializing. RAM available for dynamic allocation:
I (322) heap_init: At 3FC9F040 len 00020FC0 (131 KiB): RAM
I (327) heap_init: At 3FCC0000 len 0001C710 (113 KiB): Retention RAM
I (333) heap_init: At 3FCDC710 len 00002950 (10 KiB): Retention RAM
I (339) heap_init: At 5000001C len 00001FCC (7 KiB): RTCRAM
I (345) spi_flash: detected chip: boya
I (348) spi_flash: flash io: dio
I (351) sleep_gpio: Configure to isolate all GPIO pins in sleep state
I (357) sleep_gpio: Enable automatic switching of GPIO sleep configuration
I (364) coexist: coex firmware version: 7260f71
I (368) coexist: coexist rom version 9387209
I (372) main_task: Started on CPU0
I (394) main_task: Calling app_main()
I (400) fg_slave: *********************************************************************
I (400) fg_slave: ESP-Hosted Firmware version :: FG-1.0.0.0.0
I (404) fg_slave: Transport used :: SPI only
I (411) fg_slave: *********************************************************************
I (419) h_bt: ESP Bluetooth MAC addr: ac:a7:04:8c:23:ea
I (424) BLE_INIT: BT controller compile version [1bb2f50]
I (429) BLE_INIT: Using main XTAL as clock source
I (434) BLE_INIT: Feature Config, ADV:1, BLE_50:1, DTM:1, SCAN:1, CCA:0, SMP:1, CONNECT:1
I (442) BLE_INIT: Bluetooth MAC: ac:a7:04:8c:23:ea
I (447) phy_init: phy_version 1232,d493f299,Aug 25 2025,19:01:20
I (536) SPI_DRIVER: Using SPI interface
I (537) gpio: GPIO[3]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (537) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (546) SPI_DRIVER: SPI Ctrl:1 mode: 3, Freq:ConfigAtHost
GPIOs: MOSI: 7, MISO: 2, CS: 10, CLK: 6 HS: 3 DR: 4
I (555) SPI_DRIVER: TX Queues:10
I (558) SPI_DRIVER: RX Queues:10
I (561) gpio: GPIO[10]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (570) gpio: GPIO[10]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (580) pp: pp rom version: 9387209
I (581) net80211: net80211 rom version: 9387209
I (587) wifi:wifi driver task: 3fcbf730, prio:23, stack:6656, core=0
I (596) wifi:wifi firmware version: 562b41f
I (597) wifi:wifi certification version: v7.0
I (600) wifi:config NVS flash: enabled
I (603) wifi:config nano formatting: disabled
I (607) wifi:Init data frame dynamic rx buffer num: 32
I (612) wifi:Init static rx mgmt buffer num: 5
I (616) wifi:Init management short buffer num: 32
I (621) wifi:Init dynamic tx buffer num: 32
I (624) wifi:Init static tx FG buffer num: 2
I (629) wifi:Init static rx buffer size: 1600
I (633) wifi:Init static rx buffer num: 10
I (636) wifi:Init dynamic rx buffer num: 32
I (641) wifi_init: rx ba win: 16
I (643) wifi_init: accept mbox: 6
I (646) wifi_init: tcpip mbox: 32
I (649) wifi_init: udp mbox: 16
I (652) wifi_init: tcp mbox: 16
I (655) wifi_init: tcp tx win: 11520
I (658) wifi_init: tcp rx win: 11520
I (662) wifi_init: tcp mss: 1440
I (665) wifi_init: WiFi IRAM OP enabled
I (668) wifi_init: WiFi RX IRAM OP enabled
I (672) fg_slave: SSID: myssid
I (675) fg_slave: Wifi provisioned
I (678) wifi:Set ps type: 0, coexist: 0
I (683) wifi:mode : sta (ac:a7:04:8c:23:e8)
I (686) wifi:enable tsf
I (689) fg_slave: bus tx locked on slave boot-up
I (692) fg_slave: bus tx unlocked
I (695) fg_slave: host reset handler task started
I (699) fg_slave: Supported features are:
I (703) fg_slave: - WLAN over SPI
I (706) h_bt: - BT/BLE
I (708) h_bt: - HCI Over SPI
I (711) h_bt: - BLE only
I (714) fg_slave: capabilities: 0xe8
I (717) fg_slave: Send slave up event
I (720) SPI_DRIVER: Slave chip Id[2]
I (724) slave_ctrl: event ESPInit
I (727) slave_ctrl: Registering handler 0x4200b5aa for custom packed RPC request
--- 0x4200b5aa: handle_custom_unserialised_rpc_request at /home/chenkx/esp/esp-hosted/esp_hosted_fg/esp/esp_driver/network_adapter/main/esp_hosted_coprocessor.c:843
I (734) main_task: Returned from app_main()
I (3100) slave_ctrl: Station disconnected, reason[201]
I (3101) slave_ctrl: Sta mode disconnect, retry[0]
I (3101) slave_ctrl: use wifi params from flash
I (5515) slave_ctrl: Station disconnected, reason[201]
I (5515) slave_ctrl: Sta mode disconnect, retry[1]
I (5515) slave_ctrl: use wifi params from flash
I (7930) slave_ctrl: Station disconnected, reason[201]
I (7930) slave_ctrl: Sta mode disconnect, retry[2]
I (7930) slave_ctrl: use wifi params from flash
I (10344) slave_ctrl: Station disconnected, reason[201]
I (10344) slave_ctrl: Sta mode disconnect, retry[3]
I (10344) slave_ctrl: use wifi params from flash
I (12759) slave_ctrl: Station disconnected, reason[201]
I (12759) slave_ctrl: Sta mode disconnect, retry[4]
I (12759) slave_ctrl: use wifi params from flash
I (15174) slave_ctrl: Station disconnected, reason[201]
I (15174) slave_ctrl: Sta mode disconnect, retry[5]
I (15174) slave_ctrl: use wifi params from flash
I (17588) slave_ctrl: Station disconnected, reason[201]
I (17589) slave_ctrl: Sta mode disconnect, retry[6]
I (17589) slave_ctrl: use wifi params from flash
I (20003) slave_ctrl: Station disconnected, reason[201]
I (20003) slave_ctrl: Sta mode disconnect, retry[7]
I (20003) slave_ctrl: use wifi params from flash
I (22418) slave_ctrl: Station disconnected, reason[201]
I (22418) slave_ctrl: Sta mode disconnect, retry[8]
I (22418) slave_ctrl: use wifi params from flash
I (24832) slave_ctrl: Station disconnected, reason[201]
I (24833) slave_ctrl: Sta mode disconnect, retry[9]
I (24833) slave_ctrl: use wifi params from flash
I (27246) slave_ctrl: Station disconnected, reason[201]
I (27247) slave_ctrl: Sta mode disconnect, retry[10]
I (27247) slave_ctrl: use wifi params from flash
I (29660) slave_ctrl: Station disconnected, reason[201]
I (29661) slave_ctrl: Sta mode disconnect, retry[11]
I (29661) slave_ctrl: use wifi params from flash
I (30580) stats: STA: flw_ctrl(on[0] off[0]) H2S(in[0] out[0] fail[0]) S2H(in[0] out[0]) Ctrl: (in[0] rsp[0] evt[0])
I (32074) slave_ctrl: Station disconnected, reason[201]
I (32074) slave_ctrl: Sta mode disconnect, retry[12]
I (32074) slave_ctrl: use wifi params from flash
I (34488) slave_ctrl: Station disconnected, reason[201]
I (34488) slave_ctrl: Sta mode disconnect, retry[13]
I (34488) slave_ctrl: use wifi params from flash
linux控制台的打印
Steps to reproduce the behavior
我的SOC采用了RK3506,树莓派4B,EPS32采用的是C3,采用SPI连接,连接线如下
在上面这套硬件连接方案
我用esp-hosted-ng 1.0.0.0.4分别编译了linux驱动和固件
将固件烧录到EPS32硬件得到如下打印
`
I (26) boot: ESP-IDF v5.4-dirty 2nd stage bootloader
I (26) boot: compile time Jan 26 2026 09:51:14
I (26) boot: chip revision: v0.4
I (26) boot: efuse block revision: v1.3
I (30) boot.esp32c3: SPI Speed : 80MHz
I (34) boot.esp32c3: SPI Mode : DIO
I (37) boot.esp32c3: SPI Flash Size : 4MB
I (41) boot: Enabling RNG early entropy source...
I (46) boot: Partition Table:
I (48) boot: ## Label Usage Type ST Offset Length
I (55) boot: 0 nvs WiFi data 01 02 00009000 00004000
I (61) boot: 1 otadata OTA data 01 00 0000d000 00002000
I (68) boot: 2 phy_init RF data 01 01 0000f000 00001000
I (74) boot: 3 factory factory app 00 00 00010000 00100000
I (81) boot: 4 ota_0 OTA app 00 10 00110000 00100000
I (87) boot: 5 ota_1 OTA app 00 11 00210000 00100000
I (94) boot: End of partition table
I (97) boot: Defaulting to factory image
I (100) esp_image: segment 0: paddr=00010020 vaddr=3c0a0020 size=1a638h (108088) map
I (125) esp_image: segment 1: paddr=0002a660 vaddr=3fc99200 size=036f8h ( 14072) load
I (128) esp_image: segment 2: paddr=0002dd60 vaddr=40380000 size=022b8h ( 8888) load
I (131) esp_image: segment 3: paddr=00030020 vaddr=42000020 size=97538h (619832) map
I (235) esp_image: segment 4: paddr=000c7560 vaddr=403822b8 size=16ddch ( 93660) load
I (253) esp_image: segment 5: paddr=000de344 vaddr=50000200 size=0001ch ( 28) load
I (261) boot: Loaded app from partition at offset 0x10000
I (261) boot: Disabling RNG early entropy source...
I (271) cpu_start: Unicore app
I (279) cpu_start: Pro cpu start user code
I (279) cpu_start: cpu freq: 160000000 Hz
I (279) app_init: Application information:
I (279) app_init: Project name: network_adapter
I (284) app_init: App version: NG-1.0.4.0.0
I (288) app_init: Compile time: Jan 26 2026 09:51:04
I (293) app_init: ELF file SHA256: c9a59f24f...
I (298) app_init: ESP-IDF: v5.4-dirty
I (302) efuse_init: Min chip rev: v0.3
I (306) efuse_init: Max chip rev: v1.99
I (310) efuse_init: Chip rev: v0.4
I (314) heap_init: Initializing. RAM available for dynamic allocation:
I (320) heap_init: At 3FCA0CB0 len 0001F350 (124 KiB): RAM
I (325) heap_init: At 3FCC0000 len 0001C710 (113 KiB): Retention RAM
I (331) heap_init: At 3FCDC710 len 00002950 (10 KiB): Retention RAM
I (337) heap_init: At 5000021C len 00001DCC (7 KiB): RTCRAM
I (343) spi_flash: detected chip: boya
I (346) spi_flash: flash io: dio
I (349) sleep_gpio: Configure to isolate all GPIO pins in sleep state
I (355) sleep_gpio: Enable automatic switching of GPIO sleep configuration
I (362) coexist: coex firmware version: 49a8cdc
I (393) coexist: coexist rom version 9387209
I (393) main_task: Started on CPU0
I (393) main_task: Calling app_main()
I (393) stats: *********************************************************************
I (399) stats: ESP-Hosted Firmware version :: NG-1.0.4.0.0
I (408) stats: Transport used :: SPI only
I (415) stats: *********************************************************************
I (422) FW_MAIN: Supported features are:
I (426) FW_MAIN: - WLAN over SPI
I (429) FW_BT: - BT/BLE
I (431) FW_BT: - HCI Over SPI
I (434) FW_BT: - BLE only
I (436) FW_MAIN: Capabilities: 0xe8
pp rom version: 9387209
net80211 rom version: 9387209
I (448) wifi:wifi driver task: 3fca7b94, prio:23, stack:6656, core=0
I (451) wifi:wifi firmware version: 87d6f3c
I (454) wifi:wifi certification version: v7.0
I (459) wifi:config NVS flash: disabled
I (462) wifi:config nano formatting: disabled
I (466) wifi:Init data frame dynamic rx buffer num: 40
I (471) wifi:Init static rx mgmt buffer num: 5
I (475) wifi:Init management short buffer num: 32
I (480) wifi:Init dynamic tx buffer num: 40
I (484) wifi:Init static tx FG buffer num: 2
I (488) wifi:Init static rx buffer size: 1600
I (492) wifi:Init static rx buffer num: 20
I (495) wifi:Init dynamic rx buffer num: 40
I (500) wifi_init: rx ba win: 32
I (502) wifi_init: accept mbox: 6
I (505) wifi_init: tcpip mbox: 32
I (508) wifi_init: udp mbox: 6
I (511) wifi_init: tcp mbox: 6
I (514) wifi_init: tcp tx win: 5760
I (517) wifi_init: tcp rx win: 5760
I (520) wifi_init: tcp mss: 1440
I (523) wifi_init: WiFi IRAM OP enabled
I (527) wifi_init: WiFi RX IRAM OP enabled
I (531) BLE_INIT: BT controller compile version [d752dea]
I (537) BLE_INIT: Bluetooth MAC: ac:a7:04:8c:23:ea
I (541) phy_init: phy_version 1180,01f2a49,Jun 4 2024,16:34:25
I (638) FW_MAIN: ESP Bluetooth MAC addr: ac-a7- 4-8c-23-ea
I (638) FW_SPI: Using SPI interface
I (638) FW_SPI: Using SPI MODE 3
I (639) gpio: GPIO[3]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (647) gpio: GPIO[9]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (655) FW_SPI: SPI Ctrl:1 mode: 3, GPIOs: MOSI: 7, MISO: 2, CS: 10, CLK: 6 HS: 3 DR: 9
I (663) FW_SPI: Hosted SPI queue size: Tx:20 Rx:20
I (1669) FW_MAIN: Initial set up done
I (1669) main_task: Returned from app_main()
I (132530) FW_MAIN: INIT Interface command
I (132530) FW_CMD: Setting STA mode
I (132531) wifi:mode : sta (ac:a7:04:8c:23:e8)
I (132532) wifi:enable tsf
I (132532) FW_CMD: Unregistered event: 43
I (132536) FW_CMD: station started
I (132550) FW_MAIN: Get MAC command
I (132570) FW_MAIN: Get Tx power command
用如下命令编译RK3506的驱动
make CROSS_COMPILE=/home/chenkx/git/EdgeGateway_Buildroot/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- KERNEL=/home/chenkx/git/EdgeGateway_Buildroot/buildroot/output/dlrk3506/build/linux-headers-custom ARCH=arm MODULE_NAME=esp32_spi
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/spi/esp_spi.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_bt.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/main.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_cmd.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_utils.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_cfg80211.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_stats.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_debugfs.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_log.o
LD [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp32_spi.o
MODPOST /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/Module.symvers
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp32_spi.mod.o
LD [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp32_spi.ko
将驱动上传到RK3506的文件系统,并执行,得到如下的打印信息,可以看到网络节点
root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=10 spi_bus=0 spi_cs=0 spi_mode=3
[ 1506.528554] esp32_spi: unknown parameter 'spi_bus' ignored
[ 1506.528684] esp32_spi: unknown parameter 'spi_cs' ignored
[ 1506.528703] esp32_spi: unknown parameter 'spi_mode' ignored
[ 1506.735859] esp32_spi: spi_dev_init: Using SPI MODE 3
[ 1506.741902] esp32_spi: spi_dev_init: Config - SPI GPIOs: Handshake[37] Dataready[36]
[ 1506.741988] esp32_spi: spi_dev_init: Config - SPI clock[10MHz] bus[0] cs[0] mode[3]
[ 1639.037299] esp32_spi: process_esp_bootup_event: Received ESP bootup event
[ 1639.037407] esp32_spi: process_event_esp_bootup: Bootup Event tag: 3
[ 1639.037450] esp32_spi: esp_validate_chipset: Chipset=ESP32-C3 ID=05 detected over SPI
[ 1639.037489] esp32_spi: process_event_esp_bootup: Bootup Event tag: 2
[ 1639.037524] esp32_spi: adjust_spi_clock: ESP Reconfigure SPI CLK to 30 MHz
[ 1639.037559] esp32_spi: process_event_esp_bootup: Bootup Event tag: 0
[ 1639.037595] esp32_spi: process_event_esp_bootup: Bootup Event tag: 1
[ 1639.037630] esp32_spi: process_fw_data: ESP chipset's last reset cause:
[ 1639.037663] esp32_spi: print_reset_reason: POWERON_RESET
[ 1639.037703] esp32_spi: check_esp_version: ESP-Hosted Version: NG-1.0.4.0.0
[ 1639.038416] esp32_spi: esp_reg_notifier: Driver init is ongoing
[ 1639.308829] esp32_spi: init_bt: ESP Bluetooth init
[ 1639.309809] esp32_spi: print_capabilities: Capabilities: 0xe8. Features supported are:
[ 1639.309877] esp32_spi: print_capabilities: * WLAN on SPI
[ 1639.309913] esp32_spi: print_capabilities: * BT/BLE
[ 1639.309944] esp32_spi: print_capabilities: - HCI over SPI
[ 1639.309977] esp32_spi: print_capabilities: - BLE only
[ 1639.401854] Bluetooth: MGMT ver 1.22
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.78 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::ba16:77a9:e07:da63 prefixlen 64 scopeid 0x20
ether dc:a6:32:1b:22:d0 txqueuelen 1000 (Ethernet)
RX packets 12692 bytes 6177770 (5.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5934 bytes 803522 (784.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 121 bytes 11040 (10.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 121 bytes 11040 (10.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.21.194 netmask 255.255.255.0 broadcast 192.168.21.255
inet6 fe80::dea6:32ff:fe1b:22d1 prefixlen 64 scopeid 0x20
inet6 240a:42c6:6403:8509:dea6:32ff:fe1b:22d1 prefixlen 64 scopeid 0x0
ether dc:a6:32:1b:22:d1 txqueuelen 1000 (Ethernet)
RX packets 23284 bytes 30608929 (29.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16130 bytes 1463898 (1.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
**在上面硬件接线方式不改动的情况下,且不重新对RK3506上电的情况下** 我尝试去用esp-hosted-fg 1.0.0.0.0编译出固件和硬件,这里用到的idy是重新下载过的,为了和ng方案的idy区分 编译完成后,同样烧写到ESP32固件,同样把驱动添加到RK3506 ESP32固件的打印如下
I (26) boot: ESP-IDF v5.4.3-904-gacd7b505d 2nd stage bootloader
I (26) boot: compile time Jan 29 2026 17:47:00
I (26) boot: chip revision: v0.4
I (27) boot: efuse block revision: v1.3
I (31) boot.esp32c3: SPI Speed : 80MHz
I (35) boot.esp32c3: SPI Mode : DIO
I (38) boot.esp32c3: SPI Flash Size : 4MB
I (42) boot: Enabling RNG early entropy source...
I (47) boot: Partition Table:
I (49) boot: ## Label Usage Type ST Offset Length
I (56) boot: 0 nvs WiFi data 01 02 00009000 00004000
I (62) boot: 1 otadata OTA data 01 00 0000d000 00002000
I (69) boot: 2 phy_init RF data 01 01 0000f000 00001000
I (75) boot: 3 ota_0 OTA app 00 10 00010000 00180000
I (82) boot: 4 ota_1 OTA app 00 11 00190000 00180000
I (88) boot: End of partition table
I (91) esp_image: segment 0: paddr=00010020 vaddr=3c0b0020 size=22b60h (142176) map
I (122) esp_image: segment 1: paddr=00032b88 vaddr=3fc96600 size=03bech ( 15340) load
I (125) esp_image: segment 2: paddr=0003677c vaddr=40380000 size=0989ch ( 39068) load
I (133) esp_image: segment 3: paddr=00040020 vaddr=42000020 size=a22c4h (664260) map
I (239) esp_image: segment 4: paddr=000e22ec vaddr=4038989c size=0cc50h ( 52304) load
I (248) esp_image: segment 5: paddr=000eef44 vaddr=50000000 size=0001ch ( 28) load
I (256) boot: Loaded app from partition at offset 0x10000
I (256) boot: Disabling RNG early entropy source...
I (266) cpu_start: Unicore app
I (274) cpu_start: GPIO 20 and 21 are used as console UART I/O pins
I (274) cpu_start: Pro cpu start user code
I (274) cpu_start: cpu freq: 160000000 Hz
I (276) app_init: Application information:
I (280) app_init: Project name: network_adapter
I (285) app_init: App version: FG-1.0.0.0.0
I (289) app_init: Compile time: Jan 29 2026 18:11:51
I (294) app_init: ELF file SHA256: a6ce822c0...
I (299) app_init: ESP-IDF: v5.4.3-904-gacd7b505d
I (304) efuse_init: Min chip rev: v0.3
I (307) efuse_init: Max chip rev: v1.99
I (311) efuse_init: Chip rev: v0.4
I (315) heap_init: Initializing. RAM available for dynamic allocation:
I (322) heap_init: At 3FC9F040 len 00020FC0 (131 KiB): RAM
I (327) heap_init: At 3FCC0000 len 0001C710 (113 KiB): Retention RAM
I (333) heap_init: At 3FCDC710 len 00002950 (10 KiB): Retention RAM
I (339) heap_init: At 5000001C len 00001FCC (7 KiB): RTCRAM
I (345) spi_flash: detected chip: boya
I (348) spi_flash: flash io: dio
I (351) sleep_gpio: Configure to isolate all GPIO pins in sleep state
I (357) sleep_gpio: Enable automatic switching of GPIO sleep configuration
I (364) coexist: coex firmware version: 7260f71
I (368) coexist: coexist rom version 9387209
I (372) main_task: Started on CPU0
I (394) main_task: Calling app_main()
I (400) fg_slave: *********************************************************************
I (400) fg_slave: ESP-Hosted Firmware version :: FG-1.0.0.0.0
I (404) fg_slave: Transport used :: SPI only
I (411) fg_slave: *********************************************************************
I (419) h_bt: ESP Bluetooth MAC addr: ac:a7:04:8c:23:ea
I (424) BLE_INIT: BT controller compile version [1bb2f50]
I (429) BLE_INIT: Using main XTAL as clock source
I (434) BLE_INIT: Feature Config, ADV:1, BLE_50:1, DTM:1, SCAN:1, CCA:0, SMP:1, CONNECT:1
I (442) BLE_INIT: Bluetooth MAC: ac:a7:04:8c:23:ea
I (447) phy_init: phy_version 1232,d493f299,Aug 25 2025,19:01:20
I (536) SPI_DRIVER: Using SPI interface
I (537) gpio: GPIO[3]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (537) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (546) SPI_DRIVER: SPI Ctrl:1 mode: 3, Freq:ConfigAtHost
GPIOs: MOSI: 7, MISO: 2, CS: 10, CLK: 6 HS: 3 DR: 4
I (555) SPI_DRIVER: TX Queues:10
I (558) SPI_DRIVER: RX Queues:10
I (561) gpio: GPIO[10]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (570) gpio: GPIO[10]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (580) pp: pp rom version: 9387209
I (581) net80211: net80211 rom version: 9387209
I (587) wifi:wifi driver task: 3fcbf730, prio:23, stack:6656, core=0
I (596) wifi:wifi firmware version: 562b41f
I (597) wifi:wifi certification version: v7.0
I (600) wifi:config NVS flash: enabled
I (603) wifi:config nano formatting: disabled
I (607) wifi:Init data frame dynamic rx buffer num: 32
I (612) wifi:Init static rx mgmt buffer num: 5
I (616) wifi:Init management short buffer num: 32
I (621) wifi:Init dynamic tx buffer num: 32
I (624) wifi:Init static tx FG buffer num: 2
I (629) wifi:Init static rx buffer size: 1600
I (633) wifi:Init static rx buffer num: 10
I (636) wifi:Init dynamic rx buffer num: 32
I (641) wifi_init: rx ba win: 16
I (643) wifi_init: accept mbox: 6
I (646) wifi_init: tcpip mbox: 32
I (649) wifi_init: udp mbox: 16
I (652) wifi_init: tcp mbox: 16
I (655) wifi_init: tcp tx win: 11520
I (658) wifi_init: tcp rx win: 11520
I (662) wifi_init: tcp mss: 1440
I (665) wifi_init: WiFi IRAM OP enabled
I (668) wifi_init: WiFi RX IRAM OP enabled
I (672) fg_slave: SSID: myssid
I (675) fg_slave: Wifi provisioned
I (678) wifi:Set ps type: 0, coexist: 0
I (683) wifi:mode : sta (ac:a7:04:8c:23:e8)
I (686) wifi:enable tsf
I (689) fg_slave: bus tx locked on slave boot-up
I (692) fg_slave: bus tx unlocked
I (695) fg_slave: host reset handler task started
I (699) fg_slave: Supported features are:
I (703) fg_slave: - WLAN over SPI
I (706) h_bt: - BT/BLE
I (708) h_bt: - HCI Over SPI
I (711) h_bt: - BLE only
I (714) fg_slave: capabilities: 0xe8
I (717) fg_slave: Send slave up event
I (720) SPI_DRIVER: Slave chip Id[2]
I (724) slave_ctrl: event ESPInit
I (727) slave_ctrl: Registering handler 0x4200b5aa for custom packed RPC request
--- 0x4200b5aa: handle_custom_unserialised_rpc_request at /home/chenkx/esp/esp-hosted/esp_hosted_fg/esp/esp_driver/network_adapter/main/esp_hosted_coprocessor.c:843
I (734) main_task: Returned from app_main()
I (3100) slave_ctrl: Station disconnected, reason[201]
I (3101) slave_ctrl: Sta mode disconnect, retry[0]
I (3101) slave_ctrl: use wifi params from flash
I (5515) slave_ctrl: Station disconnected, reason[201]
I (5515) slave_ctrl: Sta mode disconnect, retry[1]
I (5515) slave_ctrl: use wifi params from flash
I (7930) slave_ctrl: Station disconnected, reason[201]
I (7930) slave_ctrl: Sta mode disconnect, retry[2]
I (7930) slave_ctrl: use wifi params from flash
I (10344) slave_ctrl: Station disconnected, reason[201]
I (10344) slave_ctrl: Sta mode disconnect, retry[3]
I (10344) slave_ctrl: use wifi params from flash
I (12759) slave_ctrl: Station disconnected, reason[201]
I (12759) slave_ctrl: Sta mode disconnect, retry[4]
I (12759) slave_ctrl: use wifi params from flash
I (15174) slave_ctrl: Station disconnected, reason[201]
I (15174) slave_ctrl: Sta mode disconnect, retry[5]
I (15174) slave_ctrl: use wifi params from flash
I (17588) slave_ctrl: Station disconnected, reason[201]
I (17589) slave_ctrl: Sta mode disconnect, retry[6]
I (17589) slave_ctrl: use wifi params from flash
I (20003) slave_ctrl: Station disconnected, reason[201]
I (20003) slave_ctrl: Sta mode disconnect, retry[7]
I (20003) slave_ctrl: use wifi params from flash
I (22418) slave_ctrl: Station disconnected, reason[201]
I (22418) slave_ctrl: Sta mode disconnect, retry[8]
I (22418) slave_ctrl: use wifi params from flash
I (24832) slave_ctrl: Station disconnected, reason[201]
I (24833) slave_ctrl: Sta mode disconnect, retry[9]
I (24833) slave_ctrl: use wifi params from flash
I (27246) slave_ctrl: Station disconnected, reason[201]
I (27247) slave_ctrl: Sta mode disconnect, retry[10]
I (27247) slave_ctrl: use wifi params from flash
I (29660) slave_ctrl: Station disconnected, reason[201]
I (29661) slave_ctrl: Sta mode disconnect, retry[11]
I (29661) slave_ctrl: use wifi params from flash
I (30580) stats: STA: flw_ctrl(on[0] off[0]) H2S(in[0] out[0] fail[0]) S2H(in[0] out[0]) Ctrl: (in[0] rsp[0] evt[0])
I (32074) slave_ctrl: Station disconnected, reason[201]
I (32074) slave_ctrl: Sta mode disconnect, retry[12]
I (32074) slave_ctrl: use wifi params from flash
I (34488) slave_ctrl: Station disconnected, reason[201]
I (34488) slave_ctrl: Sta mode disconnect, retry[13]
I (34488) slave_ctrl: use wifi params from flash
在RK3506的控制台加载驱动,当然有提前卸载原本的驱动,我怀疑是linux驱动没有接收到设备这边的bootup事件
root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=1 spi_bus=0 spi_cs=0 spi_mode=3 spi_handshake=37 spi_dataready=36
[ 3913.365703] esp32_spi: esp_reset: Resetpin of Host is 55
[ 3913.366079] esp32_spi: esp_reset: Triggering ESP reset.
[ 3913.366135] esp32_spi: spi_init: ESP: Using SPI semaphore solution
[ 3913.366334] esp32_spi: spi_init: SPI thread spawned
[ 3913.366344] esp32_spi: esp_spi_thread: esp spi thread created
[ 3913.366382] esp32_spi: spi_init: ESP: SPI host config: GPIOs: Handshake[37] DataReady[36]
[ 3913.366398] esp32_spi: spi_dev_init: Config - GPIOs: resetpin[55] Handshake[37] Dataready[36]
[ 3913.366414] esp32_spi: spi_dev_init: Config - SPI: clock[1MHz] bus[0] cs[0] mode[3]
我注意到github的fg方案的指引提到
For ESP32 peripheral, use spi_mode=2. For other ESP SOCs, use spi_mode=3
`
虽然不太确定是什么意思,我做了如下的事情
我分别给ESP32烧写了SPI_MODE为1,2,3固件
然后我在linux驱动这边分别也尝试了SPI_MODE为1,2,3的情况,总共试了9次
`
root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=1 spi_bus=0 spi_cs=0 spi_mode=1 spi_handshake=37 spi_dataready=36
root@DLRK3506:/mnt/esp# rmmod esp32_spi.ko
root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=1 spi_bus=0 spi_cs=0 spi_mode=2 spi_handshake=37 spi_dataready=36
root@DLRK3506:/mnt/esp# rmmod esp32_spi.ko
root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=1 spi_bus=0 spi_cs=0 spi_mode=3 spi_handshake=37 spi_dataready=36
root@DLRK3506:/mnt/esp# rmmod esp32_spi.ko
[ 4155.749180] esp32_spi: esp_reset: Resetpin of Host is 55
[ 4155.749542] esp32_spi: esp_reset: Triggering ESP reset.
[ 4155.749592] esp32_spi: spi_init: ESP: Using SPI semaphore solution
[ 4155.749817] esp32_spi: spi_init: SPI thread spawned
[ 4155.749827] esp32_spi: esp_spi_thread: esp spi thread created
[ 4155.749853] esp32_spi: spi_init: ESP: SPI host config: GPIOs: Handshake[37] DataReady[36]
[ 4155.749879] esp32_spi: spi_dev_init: Config - GPIOs: resetpin[55] Handshake[37] Dataready[36]
[ 4155.749896] esp32_spi: spi_dev_init: Config - SPI: clock[1MHz] bus[0] cs[0] mode[1]
[ 4165.953565] esp32_spi: esp_exit: esp module unload starting
[ 4165.957088] esp32_spi: esp_serial_cleanup: done
[ 4165.957165] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4166.591670] esp32_spi: esp_spi_thread: esp spi thread cleared
[ 4166.591848] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4167.008405] esp32_spi: esp_exit: esp module unload complete
[ 4191.965486] esp32_spi: esp_reset: Resetpin of Host is 55
[ 4191.965778] esp32_spi: esp_reset: Triggering ESP reset.
[ 4191.965829] esp32_spi: spi_init: ESP: Using SPI semaphore solution
[ 4191.966023] esp32_spi: spi_init: SPI thread spawned
[ 4191.966032] esp32_spi: esp_spi_thread: esp spi thread created
[ 4191.966062] esp32_spi: spi_init: ESP: SPI host config: GPIOs: Handshake[37] DataReady[36]
[ 4191.966078] esp32_spi: spi_dev_init: Config - GPIOs: resetpin[55] Handshake[37] Dataready[36]
[ 4191.966094] esp32_spi: spi_dev_init: Config - SPI: clock[1MHz] bus[0] cs[0] mode[2]
[ 4204.587262] esp32_spi: esp_exit: esp module unload starting
[ 4204.587645] esp32_spi: esp_serial_cleanup: done
[ 4204.587682] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4205.221666] esp32_spi: esp_spi_thread: esp spi thread cleared
[ 4205.221780] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4205.648391] esp32_spi: esp_exit: esp module unload complete
[ 4210.899079] esp32_spi: esp_reset: Resetpin of Host is 55
[ 4210.899372] esp32_spi: esp_reset: Triggering ESP reset.
[ 4210.899421] esp32_spi: spi_init: ESP: Using SPI semaphore solution
[ 4210.899590] esp32_spi: spi_init: SPI thread spawned
[ 4210.899603] esp32_spi: esp_spi_thread: esp spi thread created
[ 4210.899625] esp32_spi: spi_init: ESP: SPI host config: GPIOs: Handshake[37] DataReady[36]
[ 4210.899642] esp32_spi: spi_dev_init: Config - GPIOs: resetpin[55] Handshake[37] Dataready[36]
[ 4210.899657] esp32_spi: spi_dev_init: Config - SPI: clock[1MHz] bus[0] cs[0] mode[3]
[ 4229.822845] esp32_spi: esp_exit: esp module unload starting
[ 4229.823169] esp32_spi: esp_serial_cleanup: done
[ 4229.823200] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4230.458321] esp32_spi: esp_spi_thread: esp spi thread cleared
[ 4230.458439] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4230.875033] esp32_spi: esp_exit: esp module unload complete
`
后面我又把SOC换成树莓派4B,得到的结果是一样的
请问我还有什么地方没有注意到的吗?
Project release version
esp-hosted-fg 1.0.0.0.0
System architecture
other (details in Additional context)
Operating system
Linux
Operating system version
linux 6.1
Shell
ZSH
Additional context
No response
Checklist
How often does this bug occurs?
always
Expected behavior
能够正常识别EPS32C3,并正常生成STA和AP网卡
Actual behavior (suspected bug)
不能够识别bootup事件
Error logs or terminal output
Steps to reproduce the behavior
我的SOC采用了RK3506,树莓派4B,EPS32采用的是C3,采用SPI连接,连接线如下
在上面这套硬件连接方案
我用esp-hosted-ng 1.0.0.0.4分别编译了linux驱动和固件
将固件烧录到EPS32硬件得到如下打印
`
I (26) boot: ESP-IDF v5.4-dirty 2nd stage bootloader
I (26) boot: compile time Jan 26 2026 09:51:14
I (26) boot: chip revision: v0.4
I (26) boot: efuse block revision: v1.3
I (30) boot.esp32c3: SPI Speed : 80MHz
I (34) boot.esp32c3: SPI Mode : DIO
I (37) boot.esp32c3: SPI Flash Size : 4MB
I (41) boot: Enabling RNG early entropy source...
I (46) boot: Partition Table:
I (48) boot: ## Label Usage Type ST Offset Length
I (55) boot: 0 nvs WiFi data 01 02 00009000 00004000
I (61) boot: 1 otadata OTA data 01 00 0000d000 00002000
I (68) boot: 2 phy_init RF data 01 01 0000f000 00001000
I (74) boot: 3 factory factory app 00 00 00010000 00100000
I (81) boot: 4 ota_0 OTA app 00 10 00110000 00100000
I (87) boot: 5 ota_1 OTA app 00 11 00210000 00100000
I (94) boot: End of partition table
I (97) boot: Defaulting to factory image
I (100) esp_image: segment 0: paddr=00010020 vaddr=3c0a0020 size=1a638h (108088) map
I (125) esp_image: segment 1: paddr=0002a660 vaddr=3fc99200 size=036f8h ( 14072) load
I (128) esp_image: segment 2: paddr=0002dd60 vaddr=40380000 size=022b8h ( 8888) load
I (131) esp_image: segment 3: paddr=00030020 vaddr=42000020 size=97538h (619832) map
I (235) esp_image: segment 4: paddr=000c7560 vaddr=403822b8 size=16ddch ( 93660) load
I (253) esp_image: segment 5: paddr=000de344 vaddr=50000200 size=0001ch ( 28) load
I (261) boot: Loaded app from partition at offset 0x10000
I (261) boot: Disabling RNG early entropy source...
I (271) cpu_start: Unicore app
I (279) cpu_start: Pro cpu start user code
I (279) cpu_start: cpu freq: 160000000 Hz
I (279) app_init: Application information:
I (279) app_init: Project name: network_adapter
I (284) app_init: App version: NG-1.0.4.0.0
I (288) app_init: Compile time: Jan 26 2026 09:51:04
I (293) app_init: ELF file SHA256: c9a59f24f...
I (298) app_init: ESP-IDF: v5.4-dirty
I (302) efuse_init: Min chip rev: v0.3
I (306) efuse_init: Max chip rev: v1.99
I (310) efuse_init: Chip rev: v0.4
I (314) heap_init: Initializing. RAM available for dynamic allocation:
I (320) heap_init: At 3FCA0CB0 len 0001F350 (124 KiB): RAM
I (325) heap_init: At 3FCC0000 len 0001C710 (113 KiB): Retention RAM
I (331) heap_init: At 3FCDC710 len 00002950 (10 KiB): Retention RAM
I (337) heap_init: At 5000021C len 00001DCC (7 KiB): RTCRAM
I (343) spi_flash: detected chip: boya
I (346) spi_flash: flash io: dio
I (349) sleep_gpio: Configure to isolate all GPIO pins in sleep state
I (355) sleep_gpio: Enable automatic switching of GPIO sleep configuration
I (362) coexist: coex firmware version: 49a8cdc
I (393) coexist: coexist rom version 9387209
I (393) main_task: Started on CPU0
I (393) main_task: Calling app_main()
I (393) stats: *********************************************************************
I (399) stats: ESP-Hosted Firmware version :: NG-1.0.4.0.0
I (408) stats: Transport used :: SPI only
I (415) stats: *********************************************************************
I (422) FW_MAIN: Supported features are:
I (426) FW_MAIN: - WLAN over SPI
I (429) FW_BT: - BT/BLE
I (431) FW_BT: - HCI Over SPI
I (434) FW_BT: - BLE only
I (436) FW_MAIN: Capabilities: 0xe8
pp rom version: 9387209
net80211 rom version: 9387209
I (448) wifi:wifi driver task: 3fca7b94, prio:23, stack:6656, core=0
I (451) wifi:wifi firmware version: 87d6f3c
I (454) wifi:wifi certification version: v7.0
I (459) wifi:config NVS flash: disabled
I (462) wifi:config nano formatting: disabled
I (466) wifi:Init data frame dynamic rx buffer num: 40
I (471) wifi:Init static rx mgmt buffer num: 5
I (475) wifi:Init management short buffer num: 32
I (480) wifi:Init dynamic tx buffer num: 40
I (484) wifi:Init static tx FG buffer num: 2
I (488) wifi:Init static rx buffer size: 1600
I (492) wifi:Init static rx buffer num: 20
I (495) wifi:Init dynamic rx buffer num: 40
I (500) wifi_init: rx ba win: 32
I (502) wifi_init: accept mbox: 6
I (505) wifi_init: tcpip mbox: 32
I (508) wifi_init: udp mbox: 6
I (511) wifi_init: tcp mbox: 6
I (514) wifi_init: tcp tx win: 5760
I (517) wifi_init: tcp rx win: 5760
I (520) wifi_init: tcp mss: 1440
I (523) wifi_init: WiFi IRAM OP enabled
I (527) wifi_init: WiFi RX IRAM OP enabled
I (531) BLE_INIT: BT controller compile version [d752dea]
I (537) BLE_INIT: Bluetooth MAC: ac:a7:04:8c:23:ea
I (541) phy_init: phy_version 1180,01f2a49,Jun 4 2024,16:34:25
I (638) FW_MAIN: ESP Bluetooth MAC addr: ac-a7- 4-8c-23-ea
I (638) FW_SPI: Using SPI interface
I (638) FW_SPI: Using SPI MODE 3
I (639) gpio: GPIO[3]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (647) gpio: GPIO[9]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (655) FW_SPI: SPI Ctrl:1 mode: 3, GPIOs: MOSI: 7, MISO: 2, CS: 10, CLK: 6 HS: 3 DR: 9
I (663) FW_SPI: Hosted SPI queue size: Tx:20 Rx:20
I (1669) FW_MAIN: Initial set up done
I (1669) main_task: Returned from app_main()
I (132530) FW_MAIN: INIT Interface command
I (132530) FW_CMD: Setting STA mode
I (132531) wifi:mode : sta (ac:a7:04:8c:23:e8)
I (132532) wifi:enable tsf
I (132532) FW_CMD: Unregistered event: 43
I (132536) FW_CMD: station started
I (132550) FW_MAIN: Get MAC command
I (132570) FW_MAIN: Get Tx power command
用如下命令编译RK3506的驱动make CROSS_COMPILE=/home/chenkx/git/EdgeGateway_Buildroot/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- KERNEL=/home/chenkx/git/EdgeGateway_Buildroot/buildroot/output/dlrk3506/build/linux-headers-custom ARCH=arm MODULE_NAME=esp32_spi
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/spi/esp_spi.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_bt.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/main.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_cmd.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_utils.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_cfg80211.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_stats.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_debugfs.o
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp_log.o
LD [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp32_spi.o
MODPOST /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/Module.symvers
CC [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp32_spi.mod.o
LD [M] /home/chenkx/git/esp32/esp-hosted-release-ng-1.0.4.0.0/esp_hosted_ng/host/esp32_spi.ko
将驱动上传到RK3506的文件系统,并执行,得到如下的打印信息,可以看到网络节点root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=10 spi_bus=0 spi_cs=0 spi_mode=3
[ 1506.528554] esp32_spi: unknown parameter 'spi_bus' ignored
[ 1506.528684] esp32_spi: unknown parameter 'spi_cs' ignored
[ 1506.528703] esp32_spi: unknown parameter 'spi_mode' ignored
[ 1506.735859] esp32_spi: spi_dev_init: Using SPI MODE 3
[ 1506.741902] esp32_spi: spi_dev_init: Config - SPI GPIOs: Handshake[37] Dataready[36]
[ 1506.741988] esp32_spi: spi_dev_init: Config - SPI clock[10MHz] bus[0] cs[0] mode[3]
[ 1639.037299] esp32_spi: process_esp_bootup_event: Received ESP bootup event
[ 1639.037407] esp32_spi: process_event_esp_bootup: Bootup Event tag: 3
[ 1639.037450] esp32_spi: esp_validate_chipset: Chipset=ESP32-C3 ID=05 detected over SPI
[ 1639.037489] esp32_spi: process_event_esp_bootup: Bootup Event tag: 2
[ 1639.037524] esp32_spi: adjust_spi_clock: ESP Reconfigure SPI CLK to 30 MHz
[ 1639.037559] esp32_spi: process_event_esp_bootup: Bootup Event tag: 0
[ 1639.037595] esp32_spi: process_event_esp_bootup: Bootup Event tag: 1
[ 1639.037630] esp32_spi: process_fw_data: ESP chipset's last reset cause:
[ 1639.037663] esp32_spi: print_reset_reason: POWERON_RESET
[ 1639.037703] esp32_spi: check_esp_version: ESP-Hosted Version: NG-1.0.4.0.0
[ 1639.038416] esp32_spi: esp_reg_notifier: Driver init is ongoing
[ 1639.308829] esp32_spi: init_bt: ESP Bluetooth init
[ 1639.309809] esp32_spi: print_capabilities: Capabilities: 0xe8. Features supported are:
[ 1639.309877] esp32_spi: print_capabilities: * WLAN on SPI
[ 1639.309913] esp32_spi: print_capabilities: * BT/BLE
[ 1639.309944] esp32_spi: print_capabilities: - HCI over SPI
[ 1639.309977] esp32_spi: print_capabilities: - BLE only
[ 1639.401854] Bluetooth: MGMT ver 1.22
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.78 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::ba16:77a9:e07:da63 prefixlen 64 scopeid 0x20
ether dc:a6:32:1b:22:d0 txqueuelen 1000 (Ethernet)
RX packets 12692 bytes 6177770 (5.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5934 bytes 803522 (784.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 121 bytes 11040 (10.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 121 bytes 11040 (10.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.21.194 netmask 255.255.255.0 broadcast 192.168.21.255
inet6 fe80::dea6:32ff:fe1b:22d1 prefixlen 64 scopeid 0x20
inet6 240a:42c6:6403:8509:dea6:32ff:fe1b:22d1 prefixlen 64 scopeid 0x0
ether dc:a6:32:1b:22:d1 txqueuelen 1000 (Ethernet)
RX packets 23284 bytes 30608929 (29.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16130 bytes 1463898 (1.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
**在上面硬件接线方式不改动的情况下,且不重新对RK3506上电的情况下** 我尝试去用esp-hosted-fg 1.0.0.0.0编译出固件和硬件,这里用到的idy是重新下载过的,为了和ng方案的idy区分 编译完成后,同样烧写到ESP32固件,同样把驱动添加到RK3506 ESP32固件的打印如下I (26) boot: ESP-IDF v5.4.3-904-gacd7b505d 2nd stage bootloader
I (26) boot: compile time Jan 29 2026 17:47:00
I (26) boot: chip revision: v0.4
I (27) boot: efuse block revision: v1.3
I (31) boot.esp32c3: SPI Speed : 80MHz
I (35) boot.esp32c3: SPI Mode : DIO
I (38) boot.esp32c3: SPI Flash Size : 4MB
I (42) boot: Enabling RNG early entropy source...
I (47) boot: Partition Table:
I (49) boot: ## Label Usage Type ST Offset Length
I (56) boot: 0 nvs WiFi data 01 02 00009000 00004000
I (62) boot: 1 otadata OTA data 01 00 0000d000 00002000
I (69) boot: 2 phy_init RF data 01 01 0000f000 00001000
I (75) boot: 3 ota_0 OTA app 00 10 00010000 00180000
I (82) boot: 4 ota_1 OTA app 00 11 00190000 00180000
I (88) boot: End of partition table
I (91) esp_image: segment 0: paddr=00010020 vaddr=3c0b0020 size=22b60h (142176) map
I (122) esp_image: segment 1: paddr=00032b88 vaddr=3fc96600 size=03bech ( 15340) load
I (125) esp_image: segment 2: paddr=0003677c vaddr=40380000 size=0989ch ( 39068) load
I (133) esp_image: segment 3: paddr=00040020 vaddr=42000020 size=a22c4h (664260) map
I (239) esp_image: segment 4: paddr=000e22ec vaddr=4038989c size=0cc50h ( 52304) load
I (248) esp_image: segment 5: paddr=000eef44 vaddr=50000000 size=0001ch ( 28) load
I (256) boot: Loaded app from partition at offset 0x10000
I (256) boot: Disabling RNG early entropy source...
I (266) cpu_start: Unicore app
I (274) cpu_start: GPIO 20 and 21 are used as console UART I/O pins
I (274) cpu_start: Pro cpu start user code
I (274) cpu_start: cpu freq: 160000000 Hz
I (276) app_init: Application information:
I (280) app_init: Project name: network_adapter
I (285) app_init: App version: FG-1.0.0.0.0
I (289) app_init: Compile time: Jan 29 2026 18:11:51
I (294) app_init: ELF file SHA256: a6ce822c0...
I (299) app_init: ESP-IDF: v5.4.3-904-gacd7b505d
I (304) efuse_init: Min chip rev: v0.3
I (307) efuse_init: Max chip rev: v1.99
I (311) efuse_init: Chip rev: v0.4
I (315) heap_init: Initializing. RAM available for dynamic allocation:
I (322) heap_init: At 3FC9F040 len 00020FC0 (131 KiB): RAM
I (327) heap_init: At 3FCC0000 len 0001C710 (113 KiB): Retention RAM
I (333) heap_init: At 3FCDC710 len 00002950 (10 KiB): Retention RAM
I (339) heap_init: At 5000001C len 00001FCC (7 KiB): RTCRAM
I (345) spi_flash: detected chip: boya
I (348) spi_flash: flash io: dio
I (351) sleep_gpio: Configure to isolate all GPIO pins in sleep state
I (357) sleep_gpio: Enable automatic switching of GPIO sleep configuration
I (364) coexist: coex firmware version: 7260f71
I (368) coexist: coexist rom version 9387209
I (372) main_task: Started on CPU0
I (394) main_task: Calling app_main()
I (400) fg_slave: *********************************************************************
I (400) fg_slave: ESP-Hosted Firmware version :: FG-1.0.0.0.0
I (404) fg_slave: Transport used :: SPI only
I (411) fg_slave: *********************************************************************
I (419) h_bt: ESP Bluetooth MAC addr: ac:a7:04:8c:23:ea
I (424) BLE_INIT: BT controller compile version [1bb2f50]
I (429) BLE_INIT: Using main XTAL as clock source
I (434) BLE_INIT: Feature Config, ADV:1, BLE_50:1, DTM:1, SCAN:1, CCA:0, SMP:1, CONNECT:1
I (442) BLE_INIT: Bluetooth MAC: ac:a7:04:8c:23:ea
I (447) phy_init: phy_version 1232,d493f299,Aug 25 2025,19:01:20
I (536) SPI_DRIVER: Using SPI interface
I (537) gpio: GPIO[3]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (537) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (546) SPI_DRIVER: SPI Ctrl:1 mode: 3, Freq:ConfigAtHost
GPIOs: MOSI: 7, MISO: 2, CS: 10, CLK: 6 HS: 3 DR: 4
I (555) SPI_DRIVER: TX Queues:10
I (558) SPI_DRIVER: RX Queues:10
I (561) gpio: GPIO[10]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (570) gpio: GPIO[10]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (580) pp: pp rom version: 9387209
I (581) net80211: net80211 rom version: 9387209
I (587) wifi:wifi driver task: 3fcbf730, prio:23, stack:6656, core=0
I (596) wifi:wifi firmware version: 562b41f
I (597) wifi:wifi certification version: v7.0
I (600) wifi:config NVS flash: enabled
I (603) wifi:config nano formatting: disabled
I (607) wifi:Init data frame dynamic rx buffer num: 32
I (612) wifi:Init static rx mgmt buffer num: 5
I (616) wifi:Init management short buffer num: 32
I (621) wifi:Init dynamic tx buffer num: 32
I (624) wifi:Init static tx FG buffer num: 2
I (629) wifi:Init static rx buffer size: 1600
I (633) wifi:Init static rx buffer num: 10
I (636) wifi:Init dynamic rx buffer num: 32
I (641) wifi_init: rx ba win: 16
I (643) wifi_init: accept mbox: 6
I (646) wifi_init: tcpip mbox: 32
I (649) wifi_init: udp mbox: 16
I (652) wifi_init: tcp mbox: 16
I (655) wifi_init: tcp tx win: 11520
I (658) wifi_init: tcp rx win: 11520
I (662) wifi_init: tcp mss: 1440
I (665) wifi_init: WiFi IRAM OP enabled
I (668) wifi_init: WiFi RX IRAM OP enabled
I (672) fg_slave: SSID: myssid
I (675) fg_slave: Wifi provisioned
I (678) wifi:Set ps type: 0, coexist: 0
I (683) wifi:mode : sta (ac:a7:04:8c:23:e8)
I (686) wifi:enable tsf
I (689) fg_slave: bus tx locked on slave boot-up
I (692) fg_slave: bus tx unlocked
I (695) fg_slave: host reset handler task started
I (699) fg_slave: Supported features are:
I (703) fg_slave: - WLAN over SPI
I (706) h_bt: - BT/BLE
I (708) h_bt: - HCI Over SPI
I (711) h_bt: - BLE only
I (714) fg_slave: capabilities: 0xe8
I (717) fg_slave: Send slave up event
I (720) SPI_DRIVER: Slave chip Id[2]
I (724) slave_ctrl: event ESPInit
I (727) slave_ctrl: Registering handler 0x4200b5aa for custom packed RPC request
--- 0x4200b5aa: handle_custom_unserialised_rpc_request at /home/chenkx/esp/esp-hosted/esp_hosted_fg/esp/esp_driver/network_adapter/main/esp_hosted_coprocessor.c:843
I (734) main_task: Returned from app_main()
I (3100) slave_ctrl: Station disconnected, reason[201]
I (3101) slave_ctrl: Sta mode disconnect, retry[0]
I (3101) slave_ctrl: use wifi params from flash
I (5515) slave_ctrl: Station disconnected, reason[201]
I (5515) slave_ctrl: Sta mode disconnect, retry[1]
I (5515) slave_ctrl: use wifi params from flash
I (7930) slave_ctrl: Station disconnected, reason[201]
I (7930) slave_ctrl: Sta mode disconnect, retry[2]
I (7930) slave_ctrl: use wifi params from flash
I (10344) slave_ctrl: Station disconnected, reason[201]
I (10344) slave_ctrl: Sta mode disconnect, retry[3]
I (10344) slave_ctrl: use wifi params from flash
I (12759) slave_ctrl: Station disconnected, reason[201]
I (12759) slave_ctrl: Sta mode disconnect, retry[4]
I (12759) slave_ctrl: use wifi params from flash
I (15174) slave_ctrl: Station disconnected, reason[201]
I (15174) slave_ctrl: Sta mode disconnect, retry[5]
I (15174) slave_ctrl: use wifi params from flash
I (17588) slave_ctrl: Station disconnected, reason[201]
I (17589) slave_ctrl: Sta mode disconnect, retry[6]
I (17589) slave_ctrl: use wifi params from flash
I (20003) slave_ctrl: Station disconnected, reason[201]
I (20003) slave_ctrl: Sta mode disconnect, retry[7]
I (20003) slave_ctrl: use wifi params from flash
I (22418) slave_ctrl: Station disconnected, reason[201]
I (22418) slave_ctrl: Sta mode disconnect, retry[8]
I (22418) slave_ctrl: use wifi params from flash
I (24832) slave_ctrl: Station disconnected, reason[201]
I (24833) slave_ctrl: Sta mode disconnect, retry[9]
I (24833) slave_ctrl: use wifi params from flash
I (27246) slave_ctrl: Station disconnected, reason[201]
I (27247) slave_ctrl: Sta mode disconnect, retry[10]
I (27247) slave_ctrl: use wifi params from flash
I (29660) slave_ctrl: Station disconnected, reason[201]
I (29661) slave_ctrl: Sta mode disconnect, retry[11]
I (29661) slave_ctrl: use wifi params from flash
I (30580) stats: STA: flw_ctrl(on[0] off[0]) H2S(in[0] out[0] fail[0]) S2H(in[0] out[0]) Ctrl: (in[0] rsp[0] evt[0])
I (32074) slave_ctrl: Station disconnected, reason[201]
I (32074) slave_ctrl: Sta mode disconnect, retry[12]
I (32074) slave_ctrl: use wifi params from flash
I (34488) slave_ctrl: Station disconnected, reason[201]
I (34488) slave_ctrl: Sta mode disconnect, retry[13]
I (34488) slave_ctrl: use wifi params from flash
在RK3506的控制台加载驱动,当然有提前卸载原本的驱动,我怀疑是linux驱动没有接收到设备这边的bootup事件root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=1 spi_bus=0 spi_cs=0 spi_mode=3 spi_handshake=37 spi_dataready=36
[ 3913.365703] esp32_spi: esp_reset: Resetpin of Host is 55
[ 3913.366079] esp32_spi: esp_reset: Triggering ESP reset.
[ 3913.366135] esp32_spi: spi_init: ESP: Using SPI semaphore solution
[ 3913.366334] esp32_spi: spi_init: SPI thread spawned
[ 3913.366344] esp32_spi: esp_spi_thread: esp spi thread created
[ 3913.366382] esp32_spi: spi_init: ESP: SPI host config: GPIOs: Handshake[37] DataReady[36]
[ 3913.366398] esp32_spi: spi_dev_init: Config - GPIOs: resetpin[55] Handshake[37] Dataready[36]
[ 3913.366414] esp32_spi: spi_dev_init: Config - SPI: clock[1MHz] bus[0] cs[0] mode[3]
我注意到github的fg方案的指引提到For ESP32 peripheral, use spi_mode=2. For other ESP SOCs, use spi_mode=3
`
虽然不太确定是什么意思,我做了如下的事情
我分别给ESP32烧写了SPI_MODE为1,2,3固件
然后我在linux驱动这边分别也尝试了SPI_MODE为1,2,3的情况,总共试了9次
`
root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=1 spi_bus=0 spi_cs=0 spi_mode=1 spi_handshake=37 spi_dataready=36
root@DLRK3506:/mnt/esp# rmmod esp32_spi.ko
root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=1 spi_bus=0 spi_cs=0 spi_mode=2 spi_handshake=37 spi_dataready=36
root@DLRK3506:/mnt/esp# rmmod esp32_spi.ko
root@DLRK3506:/mnt/esp# insmod esp32_spi.ko resetpin=55 clockspeed=1 spi_bus=0 spi_cs=0 spi_mode=3 spi_handshake=37 spi_dataready=36
root@DLRK3506:/mnt/esp# rmmod esp32_spi.ko
[ 4155.749180] esp32_spi: esp_reset: Resetpin of Host is 55
[ 4155.749542] esp32_spi: esp_reset: Triggering ESP reset.
[ 4155.749592] esp32_spi: spi_init: ESP: Using SPI semaphore solution
[ 4155.749817] esp32_spi: spi_init: SPI thread spawned
[ 4155.749827] esp32_spi: esp_spi_thread: esp spi thread created
[ 4155.749853] esp32_spi: spi_init: ESP: SPI host config: GPIOs: Handshake[37] DataReady[36]
[ 4155.749879] esp32_spi: spi_dev_init: Config - GPIOs: resetpin[55] Handshake[37] Dataready[36]
[ 4155.749896] esp32_spi: spi_dev_init: Config - SPI: clock[1MHz] bus[0] cs[0] mode[1]
[ 4165.953565] esp32_spi: esp_exit: esp module unload starting
[ 4165.957088] esp32_spi: esp_serial_cleanup: done
[ 4165.957165] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4166.591670] esp32_spi: esp_spi_thread: esp spi thread cleared
[ 4166.591848] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4167.008405] esp32_spi: esp_exit: esp module unload complete
[ 4191.965486] esp32_spi: esp_reset: Resetpin of Host is 55
[ 4191.965778] esp32_spi: esp_reset: Triggering ESP reset.
[ 4191.965829] esp32_spi: spi_init: ESP: Using SPI semaphore solution
[ 4191.966023] esp32_spi: spi_init: SPI thread spawned
[ 4191.966032] esp32_spi: esp_spi_thread: esp spi thread created
[ 4191.966062] esp32_spi: spi_init: ESP: SPI host config: GPIOs: Handshake[37] DataReady[36]
[ 4191.966078] esp32_spi: spi_dev_init: Config - GPIOs: resetpin[55] Handshake[37] Dataready[36]
[ 4191.966094] esp32_spi: spi_dev_init: Config - SPI: clock[1MHz] bus[0] cs[0] mode[2]
[ 4204.587262] esp32_spi: esp_exit: esp module unload starting
[ 4204.587645] esp32_spi: esp_serial_cleanup: done
[ 4204.587682] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4205.221666] esp32_spi: esp_spi_thread: esp spi thread cleared
[ 4205.221780] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4205.648391] esp32_spi: esp_exit: esp module unload complete
[ 4210.899079] esp32_spi: esp_reset: Resetpin of Host is 55
[ 4210.899372] esp32_spi: esp_reset: Triggering ESP reset.
[ 4210.899421] esp32_spi: spi_init: ESP: Using SPI semaphore solution
[ 4210.899590] esp32_spi: spi_init: SPI thread spawned
[ 4210.899603] esp32_spi: esp_spi_thread: esp spi thread created
[ 4210.899625] esp32_spi: spi_init: ESP: SPI host config: GPIOs: Handshake[37] DataReady[36]
[ 4210.899642] esp32_spi: spi_dev_init: Config - GPIOs: resetpin[55] Handshake[37] Dataready[36]
[ 4210.899657] esp32_spi: spi_dev_init: Config - SPI: clock[1MHz] bus[0] cs[0] mode[3]
[ 4229.822845] esp32_spi: esp_exit: esp module unload starting
[ 4229.823169] esp32_spi: esp_serial_cleanup: done
[ 4229.823200] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4230.458321] esp32_spi: esp_spi_thread: esp spi thread cleared
[ 4230.458439] esp32_spi: esp_deinit_bt: No HCI device to deinit
[ 4230.875033] esp32_spi: esp_exit: esp module unload complete
`
后面我又把SOC换成树莓派4B,得到的结果是一样的
请问我还有什么地方没有注意到的吗?
Project release version
esp-hosted-fg 1.0.0.0.0
System architecture
other (details in Additional context)
Operating system
Linux
Operating system version
linux 6.1
Shell
ZSH
Additional context
No response