AprilNEA / AprilNEA/OpenLogi

[Bug]: MX Vertical disappears and reappears, shows as "Unknown device"

Open
#689 2 comments 0 reactions 0 assignees View on GitHub
needs: triage type: bug
Dominant language
Rust
Stars
21k
Forks
675
Avg merge
1d 6h
Merged PRs (30d)
180

Description

### Pre-flight checklist

- [x] I searched [existing issues](https://github.com/AprilNEA/OpenLogi/issues?q=is%3Aissue) and this is not a duplicate.
- [x] I am on the [latest release](https://github.com/AprilNEA/OpenLogi/releases/latest) or a recent `master` build.
- [x] I quit **Logi Options+** before running OpenLogi (the two apps fight over HID++ access and only one can own a receiver at a time).

### Which part of OpenLogi?

Both

### OpenLogi version

0.7.1

### Operating system

macOS

### OS version & architecture

macOS 26.5.1 (Tahoe), Apple M1 Pro

### Device model

MX Vertical, Unifying Receiver

### How is the device connected?

Other / not sure

### Affected area(s)

- [x] Device discovery / detection
- [ ] Button remapping
- [ ] DPI control
- [ ] SmartShift
- [ ] Per-application profiles
- [ ] Battery status
- [ ] Settings / configuration (TOML)
- [ ] Auto-update
- [ ] Menu bar / tray
- [ ] Other

### What happened?

My mouse shows up and disappears very frequently in the GUI and reports as "Unknown device" with no battery

I ran `openlogi list` 20 times in a row and got 3 failures. Trace logs show the same thing every time: the receiver read dev=255 feat=131 func=181 works at the start of the run (2ms), then the same read right after "drained device-arrival events" times out at 5 seconds with no reply at all.

### Steps to reproduce

None. Just observe issues immediately upon opening the app or checking output via `openlogi` cli. Logs attached

[openlogi-trace.log](https://github.com/user-attachments/files/31235719/openlogi-trace.log)

[openlogi-run.log](https://github.com/user-attachments/files/31235721/openlogi-run.log)

### Diagnostics report

```markdown
### OpenLogi Diagnostics (Mouse disappears)

**App**
- OpenLogi (GUI): v0.7.1 (release)
- Agent: v0.7.1 (connected)
- IPC protocol: GUI 17 / agent 17
- Inventory: ready
- OS: macOS 26.5.1 (arm64)
- Locale: en-US (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: yes · Menu bar: yes · Update check: on
- Running from: source build (dev)
- Config: schema 4 · 2 configured device(s) · thumbwheel 14

**Assets**
- Source: user cache · Index: loaded (210 models) · User cache: present
- Cache path: ~/.local/share/openlogi/assets · Bundle assets: absent

**Devices (1)**
- Brio 301 — camera
- Connection: unknown · Online: yes · Battery: n/a
- Capabilities: not probed
- Model: 0945
- Render: ⚠️ none (silhouette) · Slot 0
```
```markdown
### OpenLogi Diagnostics (Mouse Shown)

**App**
- OpenLogi (GUI): v0.7.1 (release)
- Agent: v0.7.1 (connected)
- IPC protocol: GUI 17 / agent 17
- Inventory: ready
- OS: macOS 26.5.1 (arm64)
- Locale: en-US (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: yes · Menu bar: yes · Update check: on
- Running from: source build (dev)
- Config: schema 4 · 2 configured device(s) · thumbwheel 14

**Assets**
- Source: user cache · Index: loaded (210 models) · User cache: present
- Cache path: ~/.local/share/openlogi/assets · Bundle assets: absent

**Devices (2)**
- MX Vertical — mouse (codename: MX Vertical)
- Connection: Logi Unifying receiver · Online: yes · Battery: 50% (discharging, good)
- Capabilities: buttons=yes, pointer=yes, lighting=no
- Model: 0b020 (wpid: 407b, model-ids: b020/407b/c08a, ext-model: 00)
- Transports: USB, eQuad, BTLE
- Render: mx_vertical · Slot 1
- Brio 301 — camera
- Connection: unknown · Online: yes · Battery: n/a
- Capabilities: not probed
- Model: 0945
- Render: ⚠️ none (silhouette) · Slot 0

**Receivers (1)**
- Unifying Receiver (VID 046d / PID c52b)
```

### `openlogi list` output

```text
See attached logs
```

### Logs

```shell
See attached logs
```

### macOS permissions (if applicable)

- [x] OpenLogi has **Accessibility** permission (needed to remap buttons via the event tap).
- [x] OpenLogi has **Input Monitoring** permission (needed for Bluetooth-direct devices and capture).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the attached openlogi-trace.log and openlogi-run.log, then compare repeated `openlogi list` runs with the receiver read before and after “drained device-arrival events.” Trace the GUI and CLI device-discovery path shown by the report. Done means the MX Vertical remains detected with its model, capabilities, and battery information instead of intermittently becoming an unknown device.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.