Failed to get info off device timeout

Hi!

I following the steps in this doc: https://docs.edgeimpulse.com/docs/silabs-thunderboard-sense-2
I’m getting stuck at step 3, with the following output:

Edge Impulse serial daemon v1.12.5
Endpoints:
    Websocket: wss://remote-mgmt.edgeimpulse.com
    API:       https://studio.edgeimpulse.com/v1
    Ingestion: https://ingestion.edgeimpulse.com

[SER] Connecting to /dev/tty.usbmodem0004401635311
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device Timeout when waiting for >  (timeout: 5000) onConnected
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device Timeout when waiting for >  (timeout: 5000) onConnected
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device Timeout when waiting for >  (timeout: 5000)

I’m running on MacOS Big Sur v11.2.1 (20D74).

How can I troubleshoot the issue?

@ahosny Have you updated the firmware in step 2? After you drag the file onto the TB004 drive do you see a FAIL.txt file appearing by any chance?

Then, can you run:

$ edge-impulse-run-impulse --raw 

And press the RESET button on the device, and share what you see?

2 Likes

@janjongboom thanks for replying.
I haven’t seen a FAIL.txt file, but I reconnected the device another usb port and it worked.

Thanks for your help!

1 Like

I got the following errors:

[SER] Connecting to COM3
[SER] Serial is connected, trying to read config…
[SER] Retrieved configuration
[SER] Device is running AT command version 1.3.0

[SER] Failed to get info off device Error: Failed to load development keys: HTTP request failed
at Object.setupCliApp (C:\Users\vlady\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\cli\init-cli-app.js:125:19)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async SerialConnector.connectLogic (C:\Users\vlady\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\cli\daemon.js:482:44)

Hi @Kabron,

It looks like the CLI cannot connect to your Edge Impulse project to retrieve the API Key (HTTP request failed). Do you have a proxy configured on your PC/web browser?

Aurelien

Thanks for answer, Aurelien.
It worked fine, but suddenly stopped.
At the moment I switched to WebUSB connection.

1 Like

Hi, I have the same error message. I tried running edge-impulse-run-impulse --raw and it shows
(base) hazelwat@Hazels-MBP-106 ~ % edge-impulse-run-impulse --raw
Edge Impulse impulse runner v1.14.0
[SER] Connecting to /dev/tty.usbmodem101
[SER] Connected to /dev/tty.usbmodem101

Hi @hahahazel,

Which board are you using and is it running the default Edge Impulse firmware?

Aurelien

I need help! I have the same problem.
The funny thing is that it happens with both the SONY Spresense board and the Arduino NANO 33 BLE Sense board.
Capture_1

The installed versions on windows 10 are:
PS C:\Users\Jupiter> node -v
v16.14.2
PS C:\Users\Jupiter> npm -v
8.6.0

I remember that when I started using Edge Impulse I didn’t have this problem. Now I use it again, I update everything and it doesn’t work! Any idea, Whats going on?

Hi @guillengap,

Have you flashed the Edge Impulse firmware to your board?
You can also try edge-impulse-run-impulse and check that it works.

Aurelien

Hi @aurel … Thanks for your quick response and your support!

Burn bootloader no problem, following step 4 of this guide: https://developer.sony.com/develop/spresense/docs/arduino_set_up_en.html

But when I flash by double clicking “flash_windows.bat”, I got below error:

Reference: https://youtu.be/OI9AymVUU_4

I am stuck with this error: AttributeError: module ‘collections’ has no attribute ‘callable’

I am using pyserial 3.5 and inquirer 2.9.2 versions, and running on python 3.9.7

Kind regards…
Guillermo

Hi @aurel … finally , I was able to flash my board when I uninstalled python version 3.10.4 and used version 3.9.7 … now this works fine.
kind regards

2 Likes

Hello @janjongboom

I am having a similar problem… Everything was working and suddenly I get the following error(s):

Edge Impulse serial daemon v1.14.10
Endpoints:
"Websocket: wss *
API: https *
Ingestion: https *

[SER] Connecting to /dev/ttyACM0
[SER] Serial is connected, trying to read config…
[SER] Retrieved configuration
[SER] Device is running AT command version 1.7.0

[SER] Failed to get info off device Error: Failed to load development keys: HTTP request failed
at Object.setupCliApp (/home/eku/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/init-cli-app.js:141:19)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async SerialConnector.connectLogic (/home/eku/.npm-global/lib/node_modules/edge-impulse-cli/build/cli/daemon.js:484:44)

I am running in a Fedora environment, using the Arduino Nano 33 BLE Sense. I have also flashed the firmware from the Edge Impulse site into the board.

Running edge-impulse run-impulse works, and if I hit reset at that point this is what I get:

[SER] Serial closed - retrying in 5 seconds
[SER] Serial is connected, trying to read config…
b
Not a valid AT command (b)

AT+CONFIG?
===== Device info =====
ID: 89:FB:6C:64:D8:EB
Type: ARDUINO_NANO33BLE
AT Version: 1.7.0

===== Sensors ======
Name: Built-in accelerometer, Max sample length: 502s, Frequencies: [62.50Hz, 100.00Hz]
Name: Built-in microphone, Max sample length: 23s, Frequencies: [16000.00Hz, 8000.00Hz, 4000.00Hz]
Name: Inertial, Max sample length: 104s, Frequencies: [20.00Hz, 62.50Hz, 100.00Hz]
Name: Environmental, Max sample length: 2512s, Frequencies: [1.00Hz, 12.50Hz]
Name: Interactional, Max sample length: 314s, Frequencies: [1.00Hz, 10.00Hz, 50.00Hz]
Name: Inertial + Environmental, Max sample length: 628s, Frequencies: [12.50Hz]
Name: Inertial + Interactional, Max sample length: 502s, Frequencies: [12.50Hz]
Name: Environmental + Interactional, Max sample length: 837s, Frequencies: [12.50Hz]
Name: Inertial + Environmental + Interactional, Max sample length: 418s, Frequencies: [12.50Hz]

===== WIFI =====
SSID:
Password:
Security: 0
MAC: 89:FB:6C:64:D8:EB
Connected: 0
Present: 0

===== Sampling parameters =====
Label: test
Interval: 10.00 ms.
Length: 10000 ms.
HMAC key: 19a27971594b9182f11ef1f17b2e3c99

===== Upload settings =====
Api Key: ei_e1a4a5a932ed3caa45f70d49e530765d7093f57b9b81db70c13351bd40f6f789
Host: http://ingestion.edgeimpulse.com
Path: /api/training/data

===== Remote management =====
URL: ws://remote-mgmt.edgeimpulse.com
Connected: 0
Last error:

[SER] Retrieved configuration
[SER] Device is running AT command version 1.7.0
AT+RUNIMPU[SER] Started inferencing, press CTRL+C to stop…

As I have mentioned, it was working but then it stopped. To try to fix the issue I have reflashed the arduino several times and have also re-installed arduino cli and edge impulse cli a couple of times each. No luck so far…

Any suggestions would be very much appreciated!

Thank you in advance for your help!!

Regards,
Ed

Hi,

Never mind… I did a “edge-impulse-daemon --clean”, entered my info all over again and it connected properly.

Thank you!
Ed

2 Likes

I’m having the same problem… after running edge-impulse-run-impulse --raw, it says [SER] Connected to /dev/ttyACM0
What to do next?

Hello @rida,

When you use the --raw you need to type AT commands. You can use AT+HELP to show the available commands.

AT+HELP
AT Server
Command set version: 1.7.0
Arguments in square brackets are optional, eg.:
AT+CMD=arg1,[arg2]

AT+HELP
	Lists all commands

AT+CONFIG?
	Lists complete config

AT+SAMPLESTART=SENSOR_NAME
	Start sampling

AT+READBUFFER=START,LENGTH,[USEMAXRATE]
	Read from the temporary buffer (as base64)

AT+MGMTSETTINGS?
AT+MGMTSETTINGS=URL
	Lists or sets current management settings

AT+CLEARCONFIG
	Clears complete config and resets system

AT+DEVICEID?
AT+DEVICEID=DEVICEID
	Sets the device ID

AT+SAMPLESETTINGS?
AT+SAMPLESETTINGS=LABEL,INTERVAL_MS,LENGTH_MS,[HMAC_KEY]
	Lists or sets current sampling settings

AT+UPLOADSETTINGS?
AT+UPLOADSETTINGS=APIKEY,PATH
	Lists or sets current upload settings

AT+UPLOADHOST?
AT+UPLOADHOST=HOST
	Sets upload host

AT+UNLINKFILE=FILE
	Unlink a specific file

AT+RUNIMPULSE
	Run the impulse

AT+RUNIMPULSEDEBUG=USEMAXRATE
	Run the impulse with additional debug output or live preview

AT+RUNIMPULSECONT
	Run the impulse continuously

AT+SNAPSHOT?
AT+SNAPSHOT=WIDTH,HEIGHT,[USEMAXRATE]
	Take a snapshot

AT+SNAPSHOTSTREAM=WIDTH,HEIGHT,[USEMAXRATE]
	Take a stream of snapshot stream

AT+STOPIMPULSE

If you just want to run the inference just use edge-impulse-run-impulse without the --raw argument.

Regards,

Louis

I think the question is what is the next step to running the --raw modifier. I’m having the same problem as everyone else on this page. The daemon doesn’t run and running an impulse doesn’t work, similar no connection error:

sony-spresense % edge-impulse-run-impulse      
Edge Impulse impulse runner v1.15.1
? Which device do you want to connect to? /dev/tty.usbserial-21130 (Silicon Labs)
[SER] Connecting to /dev/tty.usbserial-21130
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device:undefined. Is this device running a binary built through Edge Impulse? Reconnecting in 5 seconds...
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device:undefined. Is this device running a binary built through Edge Impulse? Reconnecting in 5 seconds...

Running in --raw mode seems like it connects.

sony-spresense % edge-impulse-run-impulse --raw 
Edge Impulse impulse runner v1.15.1
? Which device do you want to connect to? /dev/tty.usbserial-21130 (Silicon Labs)
[SER] Connecting to /dev/tty.usbserial-21130
[SER] Connected to /dev/tty.usbserial-21130


Welcome to nash (build 7bf64de)
updater# 


What do we do? How can we debug the issue? It seems like it connects, but all the steps outlined in tutorials and above fail.

EDIT: it also fails to connect via WEBUSB:
Screen Shot 2022-07-01 at 11.42.32 AM
I’m guessing that the firmware did not load? When I rerun it, I get:

>>> Install files ...
install -b 115200
Install /Users/mazerruckus/Downloads/sony-spresense/edge_impulse_firmware.spk
|0%-----------------------------50%------------------------------100%|
######################################################################

410880 bytes loaded.
Package validation is OK.
Saving package to "nuttx"
updater# sync
updater# Restarting the board ...
reboot

Flashed your Sony Spresense development board.
To set up your development with Edge Impulse, run 'edge-impulse-daemon'
To run your impulse on your development board, run 'edge-impulse-run-impulse'

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

Hi @karlbot,

Based on your logs, you probably need to upgrade the bootloader of the Spresense. You can read more about the procedure here: Sony's Spresense - Edge Impulse Documentation

Aurelien

Hmm did that, which I didn’t do before so was hopeful it would help, but still no go. I can connect to the board with the Arduino IDE, but not edge impulse. I am getting a new error from the daemon-

[SER] Failed to connect to /dev/tty.SLAB_USBtoUART retrying in 5 seconds Error: Resource busy, cannot open /dev/tty.SLAB_USBtoUART
[SER] You might need `sudo` or set up the right udev rules

Is there some dev setup I’m missing for Mac? I tried sudo and it didn’t help.

It should be quite straight forward on mac but the resource busy message usually happens if you have another process connected to the UART. Can you make sure you don’t have another process (like Arduino serial monitor or other terminal) that is connected to the same port while you run the edge-impulse command?

Aurelien