mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
b0f79a6ae3
Extends the example by adding option to sniff traffic on Ethernet interface. User have interactive option to use either WiFi or Ethernet interface to sniff on.
263 lines
9.4 KiB
Plaintext
263 lines
9.4 KiB
Plaintext
menu "Example Configuration"
|
|
|
|
config SNIFFER_STORE_HISTORY
|
|
bool "Store command history into flash"
|
|
default y
|
|
help
|
|
Linenoise line editing library provides functions to save and load command history.
|
|
If this option is enabled, initalizes a FAT filesystem and uses it to store command history.
|
|
|
|
choice SNIFFER_PCAP_DESTINATION
|
|
prompt "Select destination to store pcap file"
|
|
default SNIFFER_PCAP_DESTINATION_SD
|
|
help
|
|
Select where to store the pcap file.
|
|
Currently support storing files to SD card or to host via JTAG interface with 'Trace memory' enabled.
|
|
config SNIFFER_PCAP_DESTINATION_SD
|
|
bool "SD Card"
|
|
help
|
|
Store pcap file to SD card.
|
|
config SNIFFER_PCAP_DESTINATION_JTAG
|
|
bool "JTAG (App Trace)"
|
|
depends on APPTRACE_DEST_TRAX
|
|
help
|
|
Store pcap file to host via JTAG interface.
|
|
endchoice
|
|
|
|
if SNIFFER_PCAP_DESTINATION_SD
|
|
choice SNIFFER_SD_MODE
|
|
prompt "Select SD card work mode"
|
|
default SNIFFER_SD_SDMMC_MODE
|
|
help
|
|
Select whitch peripheral SD card should use.
|
|
config SNIFFER_SD_SDMMC_MODE
|
|
bool "SDMMC"
|
|
depends on IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3
|
|
help
|
|
Use SDMMC mode (Not support on esp32c3).
|
|
config SNIFFER_SD_SPI_MODE
|
|
bool "SPI"
|
|
help
|
|
Use SPI mode.
|
|
endchoice
|
|
config SNIFFER_MOUNT_POINT
|
|
string "SD card mount point in the filesystem"
|
|
default "/sdcard"
|
|
help
|
|
Specify the mount point in the VFS (Virtual File System) for SD card.
|
|
|
|
config SNIFFER_PCAP_FILE_NAME_MAX_LEN
|
|
int "Max name length of pcap file"
|
|
default 32
|
|
help
|
|
Specify maximum name length of pcap file.
|
|
endif
|
|
|
|
config SNIFFER_WORK_QUEUE_LEN
|
|
int "Length of sniffer work queue"
|
|
default 128
|
|
help
|
|
The sniffer callback function should not do heavy work, so we put all heavy IO operation to another task.
|
|
The task gets some basic info of sniffer packet via queue.
|
|
Here you should specify the length of queue.
|
|
|
|
config SNIFFER_TASK_STACK_SIZE
|
|
int "Stack size of sniffer task"
|
|
default 4096
|
|
help
|
|
Stack size of sniffer task.
|
|
|
|
config SNIFFER_TASK_PRIORITY
|
|
int "Priority of sniffer task"
|
|
default 2
|
|
help
|
|
Priority of sniffer task.
|
|
|
|
config SNIFFER_USE_SPI_ETHERNET
|
|
bool
|
|
|
|
choice SNIFFER_ETHERNET_TYPE
|
|
prompt "Ethernet Type"
|
|
default SNIFFER_NO_ETHERNET
|
|
help
|
|
Select which kind of Ethernet will be used in the example.
|
|
|
|
config SNIFFER_NO_ETHERNET
|
|
bool "No Ethernet"
|
|
help
|
|
No Ethernet.
|
|
|
|
config SNIFFER_USE_INTERNAL_ETHERNET
|
|
depends on IDF_TARGET_ESP32
|
|
select ETH_USE_ESP32_EMAC
|
|
bool "Internal EMAC"
|
|
help
|
|
Select internal Ethernet MAC controller.
|
|
|
|
config SNIFFER_USE_DM9051
|
|
bool "DM9051 Module"
|
|
select SNIFFER_USE_SPI_ETHERNET
|
|
select ETH_USE_SPI_ETHERNET
|
|
select ETH_SPI_ETHERNET_DM9051
|
|
help
|
|
Select external SPI-Ethernet module (DM9051).
|
|
|
|
config SNIFFER_USE_W5500
|
|
bool "W5500 Module"
|
|
select SNIFFER_USE_SPI_ETHERNET
|
|
select ETH_USE_SPI_ETHERNET
|
|
select ETH_SPI_ETHERNET_W5500
|
|
help
|
|
Select external SPI-Ethernet module (W5500).
|
|
|
|
config SNIFFER_USE_KSZ8851SNL
|
|
bool "KSZ8851SNL Module"
|
|
select SNIFFER_USE_SPI_ETHERNET
|
|
select ETH_USE_SPI_ETHERNET
|
|
select ETH_SPI_ETHERNET_KSZ8851SNL
|
|
help
|
|
Select external SPI-Ethernet module (KSZ8851SNL).
|
|
endchoice # SNIFFER_ETHERNET_TYPE
|
|
|
|
if SNIFFER_USE_INTERNAL_ETHERNET
|
|
choice SNIFFER_ETH_PHY_MODEL
|
|
prompt "Ethernet PHY Device"
|
|
default SNIFFER_ETH_PHY_IP101
|
|
help
|
|
Select the Ethernet PHY device to use in the example.
|
|
|
|
config SNIFFER_ETH_PHY_IP101
|
|
bool "IP101"
|
|
help
|
|
IP101 is a single port 10/100 MII/RMII/TP/Fiber Fast Ethernet Transceiver.
|
|
Goto http://www.icplus.com.tw/pp-IP101G.html for more information about it.
|
|
|
|
config SNIFFER_ETH_PHY_RTL8201
|
|
bool "RTL8201/SR8201"
|
|
help
|
|
RTL8201F/SR8201F is a single port 10/100Mb Ethernet Transceiver with auto MDIX.
|
|
Goto http://www.corechip-sz.com/productsview.asp?id=22 for more information about it.
|
|
|
|
config SNIFFER_ETH_PHY_LAN8720
|
|
bool "LAN8720"
|
|
help
|
|
LAN8720A is a small footprint RMII 10/100 Ethernet Transceiver with HP Auto-MDIX Support.
|
|
Goto https://www.microchip.com/LAN8720A for more information about it.
|
|
|
|
config SNIFFER_ETH_PHY_DP83848
|
|
bool "DP83848"
|
|
help
|
|
DP83848 is a single port 10/100Mb/s Ethernet Physical Layer Transceiver.
|
|
Goto http://www.ti.com/product/DP83848J for more information about it.
|
|
|
|
config SNIFFER_ETH_PHY_KSZ8041
|
|
bool "KSZ8041"
|
|
help
|
|
The KSZ8041 is a single supply 10Base-T/100Base-TX Physical Layer Transceiver.
|
|
Goto https://www.microchip.com/wwwproducts/en/KSZ8041 for more information about it.
|
|
|
|
config SNIFFER_ETH_PHY_KSZ8081
|
|
bool "KSZ8081"
|
|
help
|
|
The KSZ8081 is a single supply 10Base-T/100Base-TX Physical Layer Transceiver.
|
|
Goto https://www.microchip.com/wwwproducts/en/KSZ8081 for more information about it.
|
|
endchoice # SNIFFER_ETH_PHY_MODEL
|
|
|
|
config SNIFFER_ETH_MDC_GPIO
|
|
int "SMI MDC GPIO number"
|
|
default 23
|
|
help
|
|
Set the GPIO number used by SMI MDC.
|
|
|
|
config SNIFFER_ETH_MDIO_GPIO
|
|
int "SMI MDIO GPIO number"
|
|
default 18
|
|
help
|
|
Set the GPIO number used by SMI MDIO.
|
|
endif # SNIFFER_USE_INTERNAL_ETHERNET
|
|
|
|
if SNIFFER_USE_SPI_ETHERNET
|
|
config SNIFFER_ETH_SPI_HOST
|
|
int "SPI Host Number"
|
|
range 0 2
|
|
default 1
|
|
help
|
|
Set the SPI host used to communicate with the SPI Ethernet Controller.
|
|
|
|
config SNIFFER_ETH_SPI_SCLK_GPIO
|
|
int "SPI SCLK GPIO number"
|
|
range 0 34 if IDF_TARGET_ESP32
|
|
range 0 46 if IDF_TARGET_ESP32S2
|
|
range 0 19 if IDF_TARGET_ESP32C3
|
|
default 18 if IDF_TARGET_ESP32
|
|
default 20 if IDF_TARGET_ESP32S2
|
|
default 6 if IDF_TARGET_ESP32C3
|
|
help
|
|
Set the GPIO number used by SPI SCLK.
|
|
|
|
config SNIFFER_ETH_SPI_MOSI_GPIO
|
|
int "SPI MOSI GPIO number"
|
|
range 0 34 if IDF_TARGET_ESP32
|
|
range 0 46 if IDF_TARGET_ESP32S2
|
|
range 0 19 if IDF_TARGET_ESP32C3
|
|
default 23 if IDF_TARGET_ESP32
|
|
default 19 if IDF_TARGET_ESP32S2
|
|
default 7 if IDF_TARGET_ESP32C3
|
|
help
|
|
Set the GPIO number used by SPI MOSI.
|
|
|
|
config SNIFFER_ETH_SPI_MISO_GPIO
|
|
int "SPI MISO GPIO number"
|
|
range 0 34 if IDF_TARGET_ESP32
|
|
range 0 46 if IDF_TARGET_ESP32S2
|
|
range 0 19 if IDF_TARGET_ESP32C3
|
|
default 19 if IDF_TARGET_ESP32
|
|
default 18 if IDF_TARGET_ESP32S2
|
|
default 2 if IDF_TARGET_ESP32C3
|
|
help
|
|
Set the GPIO number used by SPI MISO.
|
|
|
|
config SNIFFER_ETH_SPI_CS_GPIO
|
|
int "SPI CS GPIO number"
|
|
range 0 34 if IDF_TARGET_ESP32
|
|
range 0 46 if IDF_TARGET_ESP32S2
|
|
range 0 19 if IDF_TARGET_ESP32C3
|
|
default 16 if IDF_TARGET_ESP32
|
|
default 21 if IDF_TARGET_ESP32S2
|
|
default 10 if IDF_TARGET_ESP32C3
|
|
help
|
|
Set the GPIO number used by SPI CS.
|
|
|
|
config SNIFFER_ETH_SPI_CLOCK_MHZ
|
|
int "SPI clock speed (MHz)"
|
|
range 5 80
|
|
default 12 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C3
|
|
default 36 if IDF_TARGET_ESP32S2
|
|
help
|
|
Set the clock speed (MHz) of SPI interface.
|
|
|
|
config SNIFFER_ETH_SPI_INT_GPIO
|
|
int "Interrupt GPIO number"
|
|
default 17 if IDF_TARGET_ESP32
|
|
default 4 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3
|
|
help
|
|
Set the GPIO number used by the SPI Ethernet module interrupt line.
|
|
endif # SNIFFER_USE_SPI_ETHERNET
|
|
|
|
if !SNIFFER_NO_ETHERNET
|
|
config SNIFFER_ETH_PHY_RST_GPIO
|
|
int "PHY Reset GPIO number"
|
|
default 5
|
|
help
|
|
Set the GPIO number used to reset PHY chip.
|
|
Set to -1 to disable PHY chip hardware reset.
|
|
|
|
config SNIFFER_ETH_PHY_ADDR
|
|
int "PHY Address"
|
|
range 0 31
|
|
default 1
|
|
help
|
|
Set PHY address according your board schematic.
|
|
endif # !SNIFFER_NO_ETHERNET
|
|
endmenu
|