WhitehawkTailor / I2C-sniffer

This code catches I2C communication by running on an ESP32 board that are connected to I2C BUS lines as a passive listener.
GNU General Public License v3.0
27 stars 16 forks source link

Release version unhandled exception #3

Open slyker001 opened 2 years ago

slyker001 commented 2 years ago

Hello, using release version, trying to capture data transfer between IP camera CPU and AT88SC0104CA (idk what it stores, but without it camera won't work) When camera loads up and read content of AT88, esp throws exception and reboots

` ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13132 load:0x40080400,len:3036 entry 0x400805e4 End delay SCL up: 2 SDA up: 2 SDA down: 2 false start: 2

Start delay Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.

Core 1 register dump: PC : 0x40083056 PS : 0x00060031 A0 : 0x800814b8 A1 : 0x3ffbedfc A2 : 0x3ffc37e0 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x80000000 A6 : 0x007bee88 A7 : 0x003fffff A8 : 0x800ee3c8 A9 : 0x3ffbeddc A10 : 0x00000000 A11 : 0x3ffc10d4 A12 : 0x0000000c A13 : 0x80000000 A14 : 0x00000001 A15 : 0x00000001 SAR : 0x00000014 EXCCAUSE: 0x0000001d EXCVADDR: 0x800814e8 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000

Backtrace:0x40083053:0x3ffbedfc |<-CORRUPTED

ELF file SHA256: 0000000000000000

Rebooting... `

Connecting directly to AT88, wires ~10cm long, esp-wroom-32 from aliexpress

WhitehawkTailor commented 2 years ago

Hi, it is important that the ESP should not feed any other device with power. So AT88 and camera should use its own power supply. Do not drive any other panel from the ESP power output. When the ESP power output is overloading the ESP power supply part than it gets not enough power and restarts itself (panicked). So any devices that you use should have its own connection to a powerful battery, or power device.

Second option if the I2C communication is continuous and ESP32 reads more data that the loop cycle can write out. This cause that the data buffer gets overwritten and the program can destroy itself. This also may cause panic and reboot.

The device was designed for monitoring occasional I2C communication. Continuous communication overloads the program memory. For example if a device asks for another device about the temperature in every 10 seconds. This is OK for the buffer and memory size. Continuous I2C communication provides more data that the device can handle (display, or store), since it has a memory limitation.

It is a missing feature to handle the data overload. The reason is that I needed to monitor only rare and short communication events.

slyker001 commented 2 years ago

Camera uses it's own power. As i'm observed from camera log: camera logs in to AT88, asks for it's content receives it and never asks it again (in this boot session)

I need at least key from it so i can try to read it by over methods...