Mini Shell
# List of hardware/kernel features, which cannot be detected generically.
#
# The `feature` is enabled only if all three of adapter, device, and
# kernel have it.
#
# For each of the adapter/device/kernel, the match rules are processed
# one at a time, and the first one that matches is used.
#
# Features and tags:
# msbc "standard" mSBC (60 byte tx packet)
# msbc-alt1 USB adapters with mSBC in ALT1 setting (24 byte tx packet)
# msbc-alt1-rtl Realtek USB adapters with mSBC in ALT1 setting (24 byte tx packet)
# hw-volume AVRCP and HSP/HFP hardware volume support
# hw-volume-mic Functional HSP/HFP microphone volume support
# sbc-xq "nonstandard" SBC codec setting with better sound quality
# faststream FastStream codec support
# a2dp-duplex A2DP duplex codec support
#
# Features are disabled with the key "no-features" whose value is an
# array of strings in the match rule.
bluez5.features.device = [
# properties:
# - name
# - address ("ff:ff:ff:ff:ff:ff")
# - vendor-id ("bluetooth:ffff", "usb:ffff")
# - product-id
# - version-id
{ name = "Air 1 Plus", no-features = [ hw-volume-mic ] },
{ name = "AirPods", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "AirPods Pro", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "Audio Pro_A26", address = "~^7c:96:d2:", no-features = [ hw-volume ]}, # doesn't remember volume, #pipewire-3225
{ name = "AXLOIE Goin", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "BAA 100", no-features = [ hw-volume ] }, # Buxton BAA 100, doesn't remember volume, #pipewire-1449
{ name = "D50s", address = "~^00:13:ef:", no-features = [ hw-volume ] }, # volume has no effect, #pipewire-1562
{ name = "FiiO BTR3", address = "~^40:ed:98:", no-features = [ faststream ] }, # #pipewire-1658
{ name = "JBL Endurance RUN BT", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "JBL LIVE650BTNC" },
{ name = "Motorola DC800", no-features = [ sbc-xq ] }, # #pipewire-1590
{ name = "Motorola S305", no-features = [ sbc-xq ] }, # #pipewire-1590
{ name = "PMK True Wireless Earbuds" no-features = [ sbc-xq ] }, # Primark earbud
{ name = "Soundcore Life P2-L", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "Soundcore Motion B", no-features = [ hw-volume ] },
{ name = "SoundCore mini", no-features = [ hw-volume ] }, # #pipewire-1686
{ name = "SoundCore 2", no-features = [ sbc-xq ] }, # #pipewire-2291
{ name = "Tribit MAXSound Plus", no-features = [ hw-volume ] }, # #pipewire-1592
{ name = "Urbanista Stockholm Plus", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "WorkTunes Connect", no-features = [ hw-volume ] }, # 3M WorkTunes Connect
{ address = "~^44:5e:cd:", no-features = [ faststream, a2dp-duplex ]}, # #pipewire-1756
{ address = "~^94:16:25:", no-features = [ hw-volume ]}, # AirPods 2
{ address = "~^9c:64:8b:", no-features = [ hw-volume ]}, # AirPods 2
{ address = "~^a0:e9:db:", no-features = [ hw-volume ]}, # Ausdom M05
{ address = "~^0c:a6:94:", no-features = [ hw-volume ]}, # deepblue2
{ address = "~^00:14:02:", no-features = [ hw-volume ]}, # iKross IKBT83B HS
{ address = "~^44:5e:f3:", no-features = [ hw-volume ]}, # JayBird BlueBuds X
{ address = "~^d4:9c:28:", no-features = [ hw-volume ]}, # JayBird BlueBuds X
{ address = "~^00:18:6b:", no-features = [ hw-volume ]}, # LG Tone HBS-730
{ address = "~^b8:ad:3e:", no-features = [ hw-volume ]}, # LG Tone HBS-730
{ address = "~^a0:e9:db:", no-features = [ hw-volume ]}, # LG Tone HV-800
{ address = "~^00:24:1c:", no-features = [ hw-volume ]}, # Motorola Roadster
{ address = "~^00:11:b1:", no-features = [ hw-volume ]}, # Mpow Cheetah
{ address = "~^a4:15:66:", no-features = [ hw-volume ]}, # SOL REPUBLIC Tracks Air
{ address = "~^00:14:f1:", no-features = [ hw-volume ]}, # Swage Rokitboost HS
{ address = "~^00:26:7e:", no-features = [ hw-volume ]}, # VW Car Kit
{ address = "~^90:03:b7:", no-features = [ hw-volume ]}, # VW Car Kit
# All features are enabled by default; it's simpler to block non-working devices one by one.
]
bluez5.features.adapter = [
# properties:
# - address ("ff:ff:ff:ff:ff:ff")
# - bus-type ("usb", "other")
# - vendor-id ("usb:ffff")
# - product-id ("ffff")
# Realtek Semiconductor Corp.
{ bus-type = "usb", vendor-id = "usb:0bda" },
# Generic USB adapters
{ bus-type = "usb", no-features = [ msbc-alt1-rtl ] },
# Other adapters
{ no-features = [ msbc-alt1-rtl ] },
]
bluez5.features.kernel = [
# properties (as in uname):
# - sysname
# - release
# - version
# See https://lore.kernel.org/linux-bluetooth/20201210012003.133000-1-tpiepho@gmail.com/
# https://lore.kernel.org/linux-bluetooth/b86543908684cc6cd9afaf4de10fac7af1a49665.camel@iki.fi/
{ sysname = "Linux", release = "~^[0-4]\\.", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ sysname = "Linux", release = "~^5\\.[1-7]\\.", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ sysname = "Linux", release = "~^5\\.(8|9)\\.", no-features = [ msbc-alt1 ] },
{ sysname = "Linux", release = "~^5\\.10\\.(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|51|52|53|54|55|56|57|58|59|60|61)($|[^0-9])", no-features = [ msbc-alt1 ] },
{ sysname = "Linux", release = "~^5\\.12\\.(18|19)($|[^0-9])", no-features = [ msbc-alt1 ] },
{ sysname = "Linux", release = "~^5\\.13\\.(3|4|5|6|7|8|9|10|11|12|13)($|[^0-9])", no-features = [ msbc-alt1 ] },
{ no-features = [] },
]
Zerion Mini Shell 1.0