ESP32 CAM: gpio_install_isr_service failed (105)

VadimKHL
Posts: 11
Joined: Thu May 21, 2020 1:19 am

ESP32 CAM: gpio_install_isr_service failed (105)

Postby VadimKHL » Sat Mar 06, 2021 7:42 pm

Hello everyone!

There is a problem when initializing the camera:
E (1857) camera: gpio_install_isr_service failed (105)
E (1858) camera: Camera init failed with error 0x105

If you add a command before initializing the camera, this one:
gpio_install_isr_service(ESP_INTR_FLAG_IRAM);

The camera starts up, but with warnings:
E (1855) gpio: gpio_install_isr_service(438): GPIO isr service already installed
W (1856) camera: gpio_install_isr_service already installed

How to solve this problem?
Thanks to all!

Mark_Son
Posts: 4
Joined: Fri Jul 30, 2021 7:40 pm
Location: Brazil
Contact:

Re: ESP32 CAM: gpio_install_isr_service failed (105)

Postby Mark_Son » Sat Jul 31, 2021 12:23 am

It seems like have some GPIO ISR init happening in camera_init routine.
To be more specific, gpio_isr_register is the problem. One is telling that you want a per-pin gpio interrupt and another is telling that you want just one event handler happening when any gpio interrupt happen.

To avoid this you need to replace the gpio_isr_register for gpio_isr_handler_add, but I can't guide you through all steps because I'm still working on this.

SkyLight
Posts: 1
Joined: Tue Aug 03, 2021 12:40 pm

Re: ESP32 CAM: gpio_install_isr_service failed (105)

Postby SkyLight » Tue Aug 03, 2021 1:06 pm

Hi,

I also get this problem on Arduino IDE. when I creat firstly the interrupt for gpio_ISR and then init_camera() :
[E][camera.c:1327] camera_init(): gpio_install_isr_service failed (105)
[E][camera.c:1406] esp_camera_init(): Camera init failed with error 0x105

but I write these vice versa ,firsty init_camera() and then gpio_ISR(), :

WiFi connected
Starting web server on port: '80'
Starting stream server on port: '81'
Camera Ready! Use 'http://192.168.0.25' to connect
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x401606b3 PS : 0x00060530 A0 : 0x800d2e86 A1 : 0x3ffb1ea0
A2 : 0x00000000 A3 : 0x00000000 A4 : 0x4008137c A5 : 0x00000000
A6 : 0x3ffc2e68 A7 : 0x3ffb0060 A8 : 0x8013db9a A9 : 0x3ffb1e50
A10 : 0x00000105 A11 : 0x0000040e A12 : 0x00000000 A13 : 0x00000000
A14 : 0x4008137c A15 : 0x00000000 SAR : 0x00000014 EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x4008d6fd LEND : 0x4008d70d LCOUNT : 0xffffffff

ELF file SHA256: 0000000000000000

Backtrace: 0x401606b3:0x3ffb1ea0 0x400d2e83:0x3ffb1ec0 0x400d2ee1:0x3ffb1ef0 0x400d114d:0x3ffb1f10 0x400d394e:0x3ffb1fb0 0x4008ff8e:0x3ffb1fd0

Rebooting...

and then rebooting and rebooting again...

To get rid of this problem I tried to deinitialize the cam,but I can't use properly this function: esp_err_t esp_camera_deinit().

Mark_Son
Posts: 4
Joined: Fri Jul 30, 2021 7:40 pm
Location: Brazil
Contact:

Re: ESP32 CAM: gpio_install_isr_service failed (105)

Postby Mark_Son » Fri Sep 24, 2021 5:42 am

Just updating my journay with this error.

I'm using enc28j60 as ethernet connection interface. Looking a little deep on his example code available on espressif's repo on github, i found that inside esp-idf/examples/ethernet/enc28j60/main/enc28j60_example_main.c we have a ESP_ERROR_CHECK(gpio_install_isr_service(0)); where that according with the documentation is incompatible with gpio_isr_register() (that is callend on espCam logic).

So, to bypass that fact, i disabled the gpio_install_isr_service(0) on ethernet flow and inside esp-idf/examples/ethernet/enc28j60/components/eth_enc28j60/esp_eth_mac_enc28j60.c I replaced any interrupt pin initialization by a little task that constantly check if the interrupt pin is changing from high level to low level (falling edge)

When it happens is just calls enc28j60_isr_handler() passing the arg foward.

Isn't the best but it connect and use the camera at the same time.

It's a little bit instable yet, after a few minutes i get lost connection and reconnect doesn't happen. I'm still validating if it isn't my fault or if just a task checking the pin isn't good enough to get this interrupt interaction.

Who is online

Users browsing this forum: Bing [Bot] and 125 guests