# Device will not connect on NixOS

**URL:** <https://discuss.saleae.com/t/device-will-not-connect-on-nixos/1942>\
**Category:** Logic 2 Software\
**Created:** [November 22, 2022, 4:22pm UTC](https://discuss.saleae.com/t/device-will-not-connect-on-nixos/1942 "2022-11-22T16:22:57Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![seanybaggins1](https://avatars.discourse-cdn.com/v4/letter/s/e0b2c6/32.png) [@seanybaggins1](https://discuss.saleae.com/u/seanybaggins1)\
**Post date:** [November 22, 2022, 4:22pm UTC](https://discuss.saleae.com/t/device-will-not-connect-on-nixos/1942/1 "2022-11-22T16:22:57Z")

</div>

When starting the application, I get an error. See following screenshot.  
 ![image](https://canada1.discourse-cdn.com/flex030/uploads/saleae/original/2X/3/3616df5b4399166a0259ae4df4804de08b652bc7.png)

This directory does exist. It is however a symbolic link. See following screenshot.  
 ![image](https://canada1.discourse-cdn.com/flex030/uploads/saleae/original/2X/3/36fa6d1c5598a60bb3fc6f0a96f120c0e6b06c15.png)

Here is my udev rule

```auto
$ cat /etc/udev/rules.d/99-local.rules
...
# Saleae Logic analyzer (USB Based)
# Bus 006 Device 006: ID 0925:3881 Lakeview Research
# Bus 001 Device 009: ID 21a9:1004 Product: Logic S/16, Manufacturer: Saleae LLC

ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="0666", GROUP="plugdev"
ATTR{idVendor}=="21a9", ATTR{idProduct}=="1004", MODE="0666", GROUP="plugdev"
...

```

---

<div class="post-metadata">

**Author:** ![seanybaggins1](https://avatars.discourse-cdn.com/v4/letter/s/e0b2c6/32.png) [@seanybaggins1](https://discuss.saleae.com/u/seanybaggins1)\
**Post date:** [November 22, 2022, 7:36pm UTC](https://discuss.saleae.com/t/device-will-not-connect-on-nixos/1942/2 "2022-11-22T19:36:11Z")

</div>

I removed GROUP = “plugdev” since that group does not exist on NixOS

---

<div class="post-metadata">

**Author:** ![timreyes](https://yyz2.discourse-cdn.com/flex030/user_avatar/discuss.saleae.com/timreyes/32/108_2.png) [@timreyes](https://discuss.saleae.com/u/timreyes)\
**Post date:** [November 24, 2022, 12:34am UTC](https://discuss.saleae.com/t/device-will-not-connect-on-nixos/1942/3 "2022-11-24T00:34:16Z")

</div>

@seanybaggins1 Thanks for writing this in. With regards to Linux support, we officially test and validate our software on Ubuntu only. Having said that, I’d be happy to see if we can get you up and running.

The first thing I notice is that the .rules files looks like it’s named incorrectly.

We provide some instructions at the bottom of the support article below (under the section “Linux Ubuntu Instructions”). Could you try downloading the provided rules file and copy it to the mentioned directory?

> **[Driver Install](https://support.saleae.com/logic-software/driver-install)**

---

<div class="post-metadata">

**Author:** ![Daaboulex](https://avatars.discourse-cdn.com/v4/letter/d/2acd7d/32.png) [@Daaboulex](https://discuss.saleae.com/u/Daaboulex)\
**Post date:** [February 25, 2025, 12:18pm UTC](https://discuss.saleae.com/t/device-will-not-connect-on-nixos/1942/4 "2025-02-25T12:18:01Z")

</div>

Hello Seany, How did you get Logic 2 to work in NixOS? I am stuck with the Error Connecting Socket on the start screen. Using Appimage-run and put all the rules into the configuration.nix udev. I know this is a old post but I cant find anything about this. Thank you!

---

<div class="post-metadata">

**Author:** ![blush-chill](https://avatars.discourse-cdn.com/v4/letter/b/e9c0ed/32.png) [@blush-chill](https://discuss.saleae.com/u/blush-chill)\
**Post date:** [January 31, 2026, 6:12am UTC](https://discuss.saleae.com/t/device-will-not-connect-on-nixos/1942/5 "2026-01-31T06:12:39Z")

</div>

@Daaboulex That problem does not relate to the original, but because it’s not really documented I’ll explain what I found anyway (I needed to write this down _somewhere_)  
There are the packages `saleae-logic` and `saleae-logic-2` in nixos that both work, but updating to the latest version not only requires a change of url but also does not work (same as the latest appimage. Maybe older appimages would still work? Who knows)  
I think in the latest version they added new requirements that were not there before and when they can’t be loaded the app gets stuck on that screen ‘Error Connecting Socket’.

Attached is a replacement config that works for those who want it. It also uses the udev rules from the app itself without needing to manually define it.

> **Config**
>
> ```auto
> { lib, fetchurl, appimageTools }:
> let
> pname = "saleae-logic-2";
> version = "2.4.40";
> src = fetchurl {
> url = "https://downloads2.saleae.com/logic2/Logic-${version}-linux-x64.AppImage";
> sha256 = "sha256-TG7fH8b0L/O8RjlMB3QJM3/8my49uBX2RwufrVWDgpI=";
> };
> in
> appimageTools.wrapType2 {
> inherit pname version src;
> 
> extraPkgs = pkgs: with pkgs; [
> stdenv.cc.cc.lib
> libxcrypt-legacy
> libusb1
> ];
> 
> meta = with lib; {
> homepage = "https://www.saleae.com/";
> description = "Software for Saleae logic analyzers";
> license = licenses.unfree;
> platforms = ["x86_64-linux"];
> maintainers = [];
> };
> }
> 
> ```

> **Usage**
>
> In any packages list (home or system): `(pkgs.callPackage ./path/to/logic2.nix {})`
> 
> To use the udev rules: (put in a system config)
> 
> ```auto
> services.udev.packages = [
> (pkgs.callPackage ./users/grapefru14/extraPkgs/logic2.nix {})
> ];
> 
> ```

Although funly enough this config gives a popup the same as the original post, but it still works.

---

<div class="post-metadata">

**Author:** ![blush-chill](https://avatars.discourse-cdn.com/v4/letter/b/e9c0ed/32.png) [@blush-chill](https://discuss.saleae.com/u/blush-chill)\
**Post date:** [January 31, 2026, 9:59pm UTC](https://discuss.saleae.com/t/device-will-not-connect-on-nixos/1942/6 "2026-01-31T21:59:43Z")

</div>

After a bit more searching I found out that although `saleae-logic-2` on nixos 25.11 is a past version, the package on `master` is not. (And it uses fixes similar to what I did in the config above)

I don’t know whether this is good design but you can add another input to your flake.nix `nixpkgs-master.url = "github:NixOS/nixpkgs/master";` and use it with

```auto
master-pkgs = import nixpkgs-master {
  system = system;
  config.allowUnfree = true;
};

```

and in a package list just include `master-pkgs.saleae-logic-2` and that should work too.

You can also put

```auto
services.udev.packages = [
  master-pkgs.saleae-logic-2
];

```

In some config to get the udev package from the app!
