Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to load delegate from libedgetpu.so.1 M.2 Accelerator with Dual Edge TPU #611

Closed
tehniemer opened this issue Jun 14, 2022 · 21 comments
Assignees
Labels
comp:model Model related isssues Hardware:M.2 Accelerator with dual Edge TPU Coral M.2 Accelerator with Dual Edge TPU issues subtype:ubuntu/linux Ubuntu/Linux Build/installation issues type:support Support question or issue

Comments

@tehniemer
Copy link

tehniemer commented Jun 14, 2022

Description

The image classifier test from https://www.coral.ai/docs/m2/get-started/ fails. I had this coral device installed and working in Frigate for months before it quit.

Hi @techniemer! Could you follow these things and let us know.

  1. Ensure the Coral device is plugged in while inference is happening.
  2. Check the permissions on your /dev/apex_0 device.
  3. Add the user to plugdev group.

Attached issues 1 and 2 with similar error stack trace for reference.

Please post on Coral Edge Tpu support for further assistance.
Thank you!

Originally posted by @mohantym in tensorflow/tensorflow#56451 (comment)

  1. This is an M.2 TPU and it is connected.
  2. Permissions are 660, output below.
  3. Added the user to that group with the same end result.
Click to expand!

Issue Type

Support

Operating System

Linux

Coral Device

M.2 Accelerator with dual Edge TPU

Other Devices

No response

Programming Language

Python 3.9

Relevant Log Output

user@nvr:~/coral/pycoral$ python3 examples/classify_image.py --model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite --labels test_data/inat_bird_labels.txt --input test_data/parrot.jpg
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 160, in load_delegate
    delegate = Delegate(library, options)
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 119, in __init__
    raise ValueError(capture.message)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/coral/pycoral/examples/classify_image.py", line 121, in <module>
    main()
  File "/home/user/coral/pycoral/examples/classify_image.py", line 71, in main
    interpreter = make_interpreter(*args.model.split('@'))
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 87, in make_interpreter
    delegates = [load_edgetpu_delegate({'device': device} if device else {})]
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 52, in load_edgetpu_delegate
    return tflite.load_delegate(_EDGETPU_SHARED_LIB, options or {})
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 162, in load_delegate
    raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1
user@nvr:~/coral/pycoral$ ls /dev/apex_0
/dev/apex_0
user@nvr:/root$ lspci -nn | grep 089a
01:00.0 System peripheral [0880]: Global Unichip Corp. Coral Edge TPU [1ac1:089a]
root@nvr:~# dmesg | grep apex
[    3.313709] apex 0000:01:00.0: enabling device (0100 -> 0102)
[    3.314038] apex 0000:01:00.0: Couldn't initialize interrupts: -22
[    8.471106] apex 0000:01:00.0: Apex performance not throttled due to temperature
root@nvr:~# dmesg | grep 089a
[    0.315384] pci 0000:01:00.0: [1ac1:089a] type 00 class 0x0000ff
root@nvr:~# id user
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),107(render),109(netdev),1001(apex)
root@nvr:~# ls -l /dev/apex_0 
crw-rw---- 1 root apex 120, 0 Jun 13 19:28 /dev/apex_0
@google-coral-bot google-coral-bot bot added comp:model Model related isssues Hardware:M.2 Accelerator with dual Edge TPU Coral M.2 Accelerator with Dual Edge TPU issues subtype:ubuntu/linux Ubuntu/Linux Build/installation issues type:support Support question or issue labels Jun 14, 2022
@hjonnala
Copy link
Contributor

Hello @tehniemer can you please add the below lines here and share the logs.

from pycoral.pybind._pywrap_coral import SetVerbosity as set_verbosity
set_verbosity(10)

@tehniemer
Copy link
Author

root@nvr:~/coral/pycoral# python3 examples/classify_image.py --model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tf
lite --labels test_data/inat_bird_labels.txt --input test_data/parrot.jpg
I tflite/edgetpu_manager_direct.cc:453] No matching device is already opened for shared ownership.
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x1a6e, product:0x89a
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x18d1, product:0x9302
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I tflite/edgetpu_context_direct.cc:106] USB always DFU: False (default)
I tflite/edgetpu_context_direct.cc:128] USB bulk-in queue capacity: default
I tflite/edgetpu_context_direct.cc:67] Performance expectation: Max (default)
I ./driver/mmio/host_queue.h:266] Starting in normal mode
I driver/kernel/kernel_registers.cc:83] Opening /dev/apex_0. read_only=0
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000040000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7fb7ea1f0000
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000044000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7fb7ea1ef000
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000048000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7fb7e4dad000
I driver/kernel/kernel_registers.cc:211] Read: offset = 0x00000000000486f0, value: = 0x0000000000000000
I driver/kernel/kernel_registers.cc:190] Write: offset = 0x00000000000487a8, value = 0x0000000000000000
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000040000, mmap_size=4096, read_only=0
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000044000, mmap_size=4096, read_only=0
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000048000, mmap_size=4096, read_only=0
I tflite/edgetpu_context_direct.cc:401] Failed to open device [Apex (PCIe)] at [/dev/apex_0]: Failed precondition: Could not p
artition page table. : 5 (Operation not permitted)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 160, in load_delegate
    delegate = Delegate(library, options)
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 119, in __init__
    raise ValueError(capture.message)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/coral/pycoral/examples/classify_image.py", line 122, in <module>
    main()
  File "/root/coral/pycoral/examples/classify_image.py", line 72, in main
    interpreter = make_interpreter(*args.model.split('@'))
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 87, in make_interpreter
    delegates = [load_edgetpu_delegate({'device': device} if device else {})]
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 52, in load_edgetpu_delegate
    return tflite.load_delegate(_EDGETPU_SHARED_LIB, options or {})
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 162, in load_delegate
    raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1

@hjonnala
Copy link
Contributor

can you please try the demo after performing step 3 and 4 at: https://coral.ai/docs/m2/get-started/#2a-on-linux

@tehniemer
Copy link
Author

I followed that guide from start to finish, including the troubleshooting steps.

@tehniemer
Copy link
Author

Here's the results from running under the user user

user@nvr:~/coral/pycoral$ python3 examples/classify_image.py --model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite --labels test_data/inat_bird_labels.txt --input test_data/parrot.jpg
I tflite/edgetpu_manager_direct.cc:453] No matching device is already opened for shared ownership.
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x1a6e, product:0x89a
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x18d1, product:0x9302
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I tflite/edgetpu_context_direct.cc:106] USB always DFU: False (default)
I tflite/edgetpu_context_direct.cc:128] USB bulk-in queue capacity: default
I tflite/edgetpu_context_direct.cc:67] Performance expectation: Max (default)
I ./driver/mmio/host_queue.h:266] Starting in normal mode
I driver/kernel/kernel_registers.cc:83] Opening /dev/apex_0. read_only=0
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000040000, mmap_size=4096
I tflite/edgetpu_context_direct.cc:401] Failed to open device [Apex (PCIe)] at [/dev/apex_0]: Internal: Could not mmap: Operation not permitted
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 160, in load_delegate
    delegate = Delegate(library, options)
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 119, in __init__
    raise ValueError(capture.message)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/coral/pycoral/examples/classify_image.py", line 122, in <module>
    main()
  File "/home/user/coral/pycoral/examples/classify_image.py", line 72, in main
    interpreter = make_interpreter(*args.model.split('@'))
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 87, in make_interpreter
    delegates = [load_edgetpu_delegate({'device': device} if device else {})]
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 52, in load_edgetpu_delegate
    return tflite.load_delegate(_EDGETPU_SHARED_LIB, options or {})
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 162, in load_delegate
    raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1

@hjonnala
Copy link
Contributor

can you please try the below options:

  • sudo python3 examples/classify_image.py
  • adding root to apex and plugdev groups.
    sudo adduser root apex
    sudo usermod -aG plugdev root

@tehniemer
Copy link
Author

Same errors

user@nvr:~/coral/pycoral$ sudo python3 examples/classify_image.py 
usage: classify_image.py [-h] -m MODEL -i INPUT [-l LABELS] [-k TOP_K] [-t THRESHOLD] [-c COUNT] [-a INPUT_MEAN]
                         [-s INPUT_STD]
classify_image.py: error: the following arguments are required: -m/--model, -i/--input
user@nvr:~/coral/pycoral$ sudo python3 examples/classify_image.py --model test_data/mobilenet_v2_1.0_224_inat_bird_quant
_edgetpu.tflite --labels test_data/inat_bird_labels.txt --input test_data/parrot.jpg
[sudo] password for user: 
I tflite/edgetpu_manager_direct.cc:453] No matching device is already opened for shared ownership.
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x1a6e, product:0x89a
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x18d1, product:0x9302
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I tflite/edgetpu_context_direct.cc:106] USB always DFU: False (default)
I tflite/edgetpu_context_direct.cc:128] USB bulk-in queue capacity: default
I tflite/edgetpu_context_direct.cc:67] Performance expectation: Max (default)
I ./driver/mmio/host_queue.h:266] Starting in normal mode
I driver/kernel/kernel_registers.cc:83] Opening /dev/apex_0. read_only=0
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000040000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7f49d0417000
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000044000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7f49d0416000
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000048000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7f49ccfd4000
I driver/kernel/kernel_registers.cc:211] Read: offset = 0x00000000000486f0, value: = 0x0000000000000000
I driver/kernel/kernel_registers.cc:190] Write: offset = 0x00000000000487a8, value = 0x0000000000000000
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000040000, mmap_size=4096, read_only=
0
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000044000, mmap_size=4096, read_only=
0
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000048000, mmap_size=4096, read_only=
0
I tflite/edgetpu_context_direct.cc:401] Failed to open device [Apex (PCIe)] at [/dev/apex_0]: Failed precondition: Could
 not partition page table. : 5 (Operation not permitted)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 160, in load_delegate
    delegate = Delegate(library, options)
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 119, in __init__
    raise ValueError(capture.message)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/coral/pycoral/examples/classify_image.py", line 122, in <module>
    main()
  File "/home/user/coral/pycoral/examples/classify_image.py", line 72, in main
    interpreter = make_interpreter(*args.model.split('@'))
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 87, in make_interpreter
    delegates = [load_edgetpu_delegate({'device': device} if device else {})]
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 52, in load_edgetpu_delegate
    return tflite.load_delegate(_EDGETPU_SHARED_LIB, options or {})
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 162, in load_delegate
    raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1
root@nvr:~/coral/pycoral# id root
uid=0(root) gid=0(root) groups=0(root),46(plugdev),1001(apex)
root@nvr:~/coral/pycoral# python3 examples/classify_image.py --model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edge
tpu.tflite --labels test_data/inat_bird_labels.txt --input test_data/parrot.jpg
I tflite/edgetpu_manager_direct.cc:453] No matching device is already opened for shared ownership.
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x1a6e, product:0x89a
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x18d1, product:0x9302
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I tflite/edgetpu_context_direct.cc:106] USB always DFU: False (default)
I tflite/edgetpu_context_direct.cc:128] USB bulk-in queue capacity: default
I tflite/edgetpu_context_direct.cc:67] Performance expectation: Max (default)
I ./driver/mmio/host_queue.h:266] Starting in normal mode
I driver/kernel/kernel_registers.cc:83] Opening /dev/apex_0. read_only=0
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000040000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7fdc5ae78000
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000044000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7fdc5ae77000
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000048000, mmap_size=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7fdc57a35000
I driver/kernel/kernel_registers.cc:211] Read: offset = 0x00000000000486f0, value: = 0x0000000000000000
I driver/kernel/kernel_registers.cc:190] Write: offset = 0x00000000000487a8, value = 0x0000000000000000
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000040000, mmap_size=4096, read_only=
0
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000044000, mmap_size=4096, read_only=
0
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000000000048000, mmap_size=4096, read_only=
0
I tflite/edgetpu_context_direct.cc:401] Failed to open device [Apex (PCIe)] at [/dev/apex_0]: Failed precondition: Could
 not partition page table. : 5 (Operation not permitted)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 160, in load_delegate
    delegate = Delegate(library, options)
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 119, in __init__
    raise ValueError(capture.message)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/coral/pycoral/examples/classify_image.py", line 122, in <module>
    main()
  File "/root/coral/pycoral/examples/classify_image.py", line 72, in main
    interpreter = make_interpreter(*args.model.split('@'))
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 87, in make_interpreter
    delegates = [load_edgetpu_delegate({'device': device} if device else {})]
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 52, in load_edgetpu_delegate
    return tflite.load_delegate(_EDGETPU_SHARED_LIB, options or {})
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 162, in load_delegate
    raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1

@hjonnala
Copy link
Contributor

[    8.471106] apex 0000:01:00.0: Apex performance not throttled due to temperature

can you please share the EdgeTPU junction temperature here using the Command below on LInux.

cat /sys/class/apex/apex_0/temp

@tehniemer
Copy link
Author

root@nvr:~# cat /sys/class/apex/apex_0/temp
45050

@hjonnala
Copy link
Contributor

Thanks! Also please share the output of below commands..

  • cat /sys/class/apex/apex_0/hw_temp_warn2
  • cat /sys/class/apex/apex_0/hw_temp_warn2_en

@tehniemer
Copy link
Author

root@nvr:~# cat /sys/class/apex/apex_0/hw_temp_warn2
99800
root@nvr:~# cat /sys/class/apex/apex_0/hw_temp_warn2_en
1

@hjonnala
Copy link
Contributor

root@nvr:~# cat /sys/class/apex/apex_0/hw_temp_warn2_en
1

can you try the demo changing this value to 0.

@tehniemer
Copy link
Author

Sorry, how do I change that value?

@hjonnala
Copy link
Contributor

Please try the command below as super user:
echo 0 > /sys/class/apex/apex_0/hw_temp_warn2_en

@tehniemer
Copy link
Author

Looks like the same results.

root@nvr:~# cat /sys/class/apex/apex_0/hw_temp_warn2_en
0
root@nvr:~# cd coral/pycoral/
root@nvr:~/coral/pycoral# python3 examples/classify_image.py --model test_data/m                                                                           obilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite --labels test_data/inat_bird_                                                                           labels.txt --input test_data/parrot.jpg
I tflite/edgetpu_manager_direct.cc:453] No matching device is already opened for                                                                            shared ownership.
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x1a6e, product:0                                                                           x89a
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I driver/usb/local_usb_device.cc:944] EnumerateDevices: vendor:0x18d1, product:0                                                                           x9302
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[2] port[0]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[1]
I driver/usb/local_usb_device.cc:979] EnumerateDevices: checking bus[1] port[0]
I tflite/edgetpu_context_direct.cc:106] USB always DFU: False (default)
I tflite/edgetpu_context_direct.cc:128] USB bulk-in queue capacity: default
I tflite/edgetpu_context_direct.cc:67] Performance expectation: Max (default)
I ./driver/mmio/host_queue.h:266] Starting in normal mode
I driver/kernel/kernel_registers.cc:83] Opening /dev/apex_0. read_only=0
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000040000, mmap_siz                                                                           e=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7f823456c000
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000044000, mmap_siz                                                                           e=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7f823456b000
I driver/kernel/kernel_registers.cc:97] mmap_offset=0x0000000000048000, mmap_siz                                                                           e=4096
I driver/kernel/kernel_registers.cc:108] Got map addr at 0x0x7f8231129000
I driver/kernel/kernel_registers.cc:211] Read: offset = 0x00000000000486f0, valu                                                                           e: = 0x0000000000000000
I driver/kernel/kernel_registers.cc:190] Write: offset = 0x00000000000487a8, val                                                                           ue = 0x0000000000000000
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000                                                                           000000040000, mmap_size=4096, read_only=0
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000                                                                           000000044000, mmap_size=4096, read_only=0
I driver/kernel/kernel_registers.cc:122] Closing /dev/apex_0. mmap_offset=0x0000                                                                           000000048000, mmap_size=4096, read_only=0
I tflite/edgetpu_context_direct.cc:401] Failed to open device [Apex (PCIe)] at [                                                                           /dev/apex_0]: Failed precondition: Could not partition page table. : 5 (Operatio                                                                           n not permitted)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 160,                                                                            in load_delegate
    delegate = Delegate(library, options)
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 119,                                                                            in __init__
    raise ValueError(capture.message)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/coral/pycoral/examples/classify_image.py", line 122, in <module>
    main()
  File "/root/coral/pycoral/examples/classify_image.py", line 72, in main
    interpreter = make_interpreter(*args.model.split('@'))
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 87, in ma                                                                           ke_interpreter
    delegates = [load_edgetpu_delegate({'device': device} if device else {})]
  File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 52, in lo                                                                           ad_edgetpu_delegate
    return tflite.load_delegate(_EDGETPU_SHARED_LIB, options or {})
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 162,                                                                            in load_delegate
    raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1

@hjonnala
Copy link
Contributor

Okay, please revert revert the hw_temp_warn2_en value to 1.

Can you please try the demo after unplug and plugin the device back to host machine, and restarting the machine.

Also please share the output of below command:

lspci -vvv|grep -i MSI-X

@tehniemer
Copy link
Author

Same results after re-seating the device.

That command outputs nothing

user@nvr:~/coral/pycoral$ lspci -vvv|grep -i MSI-X
user@nvr:~/coral/pycoral$

@tehniemer
Copy link
Author

nevermind, forgot to sudo

user@nvr:~/coral/pycoral$ sudo lspci -vvv|grep -i MSI-X
        Capabilities: [d0] MSI-X: Enable- Count=128 Masked-
        Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
pcilib: sysfs_read_vpd: read failed: Input/output error
        Capabilities: [b0] MSI-X: Enable- Count=9 Masked-

@hjonnala
Copy link
Contributor

I am not sure how to enable MSI-X support for your host system. It seems MSI-X is disabled on your host system, which is required for M.2/PCIE-e products:
https://docs.kernel.org/PCI/msi-howto.html#how-to-tell-whether-msi-msi-x-is-enabled-on-a-device

@tehniemer
Copy link
Author

That was it. I had pci=nomsi in my grub.cfg file, removed that and all is well.

@google-coral-bot
Copy link

Are you satisfied with the resolution of your issue?
Yes
No

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:model Model related isssues Hardware:M.2 Accelerator with dual Edge TPU Coral M.2 Accelerator with Dual Edge TPU issues subtype:ubuntu/linux Ubuntu/Linux Build/installation issues type:support Support question or issue
Projects
None yet
Development

No branches or pull requests

2 participants