Skip to content

ETH.end() doesn't allow begin again if IDF SPI host is used #9685

Closed
@JAndrassy

Description

@JAndrassy

Board

ESP32 Dev Module

Device Description

Espressif Dev module

Hardware Configuration

Wiz850io wired to default SPI pins

Version

latest master (checkout manually)

IDE Name

Sloeber

Operating System

Linux Mint

Flash frequency

40

PSRAM enabled

yes

Upload speed

921600

Description

when IDF SPI host is used for ETH, new ETH.begin fails if ETH.end was invoked before.

Sketch

#define ETH_PHY_TYPE        ETH_PHY_W5500
#define ETH_PHY_ADDR        1
#define ETH_PHY_CS          5
#define ETH_PHY_IRQ         -1
#define ETH_PHY_RST         -1

#define ETH_PHY_SPI_HOST    SPI2_HOST
#define ETH_PHY_SPI_SCK     18
#define ETH_PHY_SPI_MISO    19
#define ETH_PHY_SPI_MOSI    23

#include <ETH.h>

void setup() {

  Serial.begin(115200);
  delay(500);

  ETH.begin();
  while (!ETH.hasIP()) {
    Serial.print('.');
    delay(1000);
  }

  Serial.println();
  Serial.println("end");
  ETH.end();

  ETH.begin();
  while (!ETH.hasIP()) {
    Serial.print('.');
    delay(1000);
  }
}

void loop() {
}

Debug Message

E (4670) spi: spi_bus_initialize(768): SPI bus already initialized.
[  3632][E][ETH.cpp:566] beginSPI(): SPI bus initialize failed: 259

Other Steps to Reproduce

I don't have a setup for ESP32 MAC with a PHY module yet so I can't test that

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions