Skip to content

Add Jabra Link 380 (paired headset) support - #596

Merged
Sapd merged 1 commit into
Sapd:masterfrom
lenucksi:feature/jabra-link-380
Oct 18, 2026
Merged

Sapd merged 1 commit into
Sapd:masterfrom
lenucksi:feature/jabra-link-380

Conversation

@lenucksi

Copy link
Copy Markdown
Contributor

Changes made

Adds support for the Jabra Link 380 dongle (PID 0x24c7), which speaks the same GN Protocol as the Link 390 but on vendor usage 0xFF00/0x01. New device class JabraLink380 : JabraGNPDevice<0x04, 0x01>.

hid_utility.cpp: usage_page/usage matching is now attempted on all platforms (previously Windows-only). On Linux/macOS the Link 380's three collections (Telephony, Vendor, Consumer) share interface 3, so the interface_number-only fallback could open the wrong collection.

Checklist

Verification

Tested on hardware (Jabra Link 380 + Evolve2 65):

  • Battery: 76% (BATTERY_AVAILABLE)
  • Sidetone: set + readback (0 dB, +3 dB, +6 dB, muted)
  • Lights, voice prompts, inactive time, volume limiter: all working
  • Metadata reports paired headset name (Jabra Evolve2 65)

Unit tests: all passed (testLookupJabraLink380). clang-format 18 (WebKit): no changes needed.

--dev -- --list output

Device Found
  VendorID: 0x0b0e
  ProductID: 0x24c7
  path: /dev/hidraw2
  serial_number: 50C2EDC273E7
  Product:      Jabra Link 380
  Interface:    3
  Usage-Page: 0xff00  Usage-ID: 0x0001

The Link 380 dongle (PID 0x24c7) speaks the same GN Protocol (GNP) as the
Link 390, but exposes the GNP vendor collection (0xFF00) on usage 0x01 instead
of 0x05. getMetadata() reports the paired headset's name/serial.

hid_utility.cpp: try usage_page/usage matching on all platforms, not just
Windows. On Linux/macOS the Link 380's three collections all share interface 3,
so the previous interface_number-only fallback opened the wrong (Telephony)
collection and hid_open_path failed.

Verified on hardware: battery (76%), sidetone read-back, lights, voice prompts,
inactive time, volume limiter, and metadata (Jabra Evolve2 65).
@Sapd
Sapd merged commit b816f5d into Sapd:master Oct 18, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants