# Particle CLI on Raspberry pi

**URL:** <https://community.particle.io/t/particle-cli-on-raspberry-pi/64414>\
**Category:** CLI\
**Tags:** particle-cli\
**Created:** [April 20, 2023, 4:23pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414 "2023-04-20T16:23:02Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![reyesel](https://avatars.discourse-cdn.com/v4/letter/r/e8c25b/32.png) [@reyesel](https://community.particle.io/u/reyesel)\
**Post date:** [April 20, 2023, 4:23pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/1 "2023-04-20T16:23:02Z")

</div>

I’ve got a Raspberry pi that had previously worked with the CLI but it seems that upgrading to 3.9.0 it is no longer working. When no device is connected I get the expected “No devices found.” But if I connect a particle device I get a node issue that goes into "Assertion ‘(func) != nullptr’ failed. And then it aborts

---

<div class="post-metadata">

**Author:** ![rickkas7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rickkas7/32/8681_2.png) [@rickkas7](https://community.particle.io/u/rickkas7)\
**Post date:** [April 20, 2023, 4:33pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/2 "2023-04-20T16:33:17Z")

</div>

It’s a dependency issue in node-usb. The best option is to roll back to 3.7.0 on the Raspberry Pi. The instructions [are here](https://docs.particle.io/troubleshooting/guides/build-tools-troubleshooting/specific-cli-version/).

---

<div class="post-metadata">

**Author:** ![reyesel](https://avatars.discourse-cdn.com/v4/letter/r/e8c25b/32.png) [@reyesel](https://community.particle.io/u/reyesel)\
**Post date:** [April 21, 2023, 2:25pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/3 "2023-04-21T14:25:23Z")

</div>

I tried that but I am still getting the same issue. I am running node version 18.16.0 in case that makes a difference.

---

<div class="post-metadata">

**Author:** ![rickkas7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rickkas7/32/8681_2.png) [@rickkas7](https://community.particle.io/u/rickkas7)\
**Post date:** [April 21, 2023, 2:28pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/4 "2023-04-21T14:28:06Z")

</div>

Node v18 doesn’t work because of a dependency with serialport. It looks like particle-cli 3.7.0 with node v16 is unfortunately the best choice at the moment.

---

<div class="post-metadata">

**Author:** ![reyesel](https://avatars.discourse-cdn.com/v4/letter/r/e8c25b/32.png) [@reyesel](https://community.particle.io/u/reyesel)\
**Post date:** [April 21, 2023, 4:25pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/5 "2023-04-21T16:25:06Z")

</div>

I am guessing I still need to follow the build-essential libudev-dev and dfu-util install instruction for it to get the node-usb and node-serialport?

---

<div class="post-metadata">

**Author:** ![rickkas7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rickkas7/32/8681_2.png) [@rickkas7](https://community.particle.io/u/rickkas7)\
**Post date:** [April 21, 2023, 6:29pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/6 "2023-04-21T18:29:31Z")

</div>

The easiest way is to use the Particle CLI installer to get the external dependencies, like dfu-util and the udev rule, installed. They an executable and a file, not node packages, so using nvm or a similar tool to manage your node version doesn’t require that you reinstall those parts again.

You can just do the `npm install -g particle-cli@3.7.0` with the downgraded node if you’ve already installed the Particle CLI once.

---

<div class="post-metadata">

**Author:** ![reyesel](https://avatars.discourse-cdn.com/v4/letter/r/e8c25b/32.png) [@reyesel](https://community.particle.io/u/reyesel)\
**Post date:** [April 21, 2023, 8:32pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/7 "2023-04-21T20:32:53Z")

</div>

Odd it half works. If I try just “particle usb list” I get a particle-usb missing and a “version GLIBC\_2.34 not found” error but if I do “sudo particle usb list” it works.

---

<div class="post-metadata">

**Author:** ![rickkas7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rickkas7/32/8681_2.png) [@rickkas7](https://community.particle.io/u/rickkas7)\
**Post date:** [April 21, 2023, 11:14pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/8 "2023-04-21T23:14:22Z")

</div>

That’s weird. Try:

```auto
particle usb configure

```

That should reinstall the udev rule.

---

<div class="post-metadata">

**Author:** ![reyesel](https://avatars.discourse-cdn.com/v4/letter/r/e8c25b/32.png) [@reyesel](https://community.particle.io/u/reyesel)\
**Post date:** [April 26, 2023, 1:37pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/9 "2023-04-26T13:37:56Z")

</div>

Still same issue. My use for it works fine including the sudo in the command so I am not too worried about it.

---

<div class="post-metadata">

**Author:** ![jvanier](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/jvanier/32/5542_2.png) [@jvanier](https://community.particle.io/u/jvanier)\
**Post date:** [May 9, 2023, 9:16pm UTC](https://community.particle.io/t/particle-cli-on-raspberry-pi/64414/10 "2023-05-09T21:16:00Z")

</div>

Here’s a workaround for the GLIBC not found error on Raspberry Pi.

It requires recompiling the usb npm module with the version of GLIBC that is available on the Rapberry Pi so it will require development tools installed on the Pi.

```auto
sudo apt-get install build-essential libudev-dev

```

Next you’ll need yarn. If the following command gives a permission error, run it with `sudo`

```auto
npm install --global yarn

```

Finally, go to the directory where the node usb module included with the particle-cli is installed and rebuild it. If you used the CLI install script, this will be

```auto
cd ~/.particle/node_modules/particle-cli/node_modules/usb/ && yarn rebuild

```

Let me know if that works for you.
