GNU bug report logs - #52470
[PATCH] services: bluetooth: Add missing config parameters

Previous Next

Package: guix-patches;

Reported by: Demis Balbach <db <at> minikn.xyz>

Date: Mon, 13 Dec 2021 19:21:02 UTC

Severity: normal

Tags: patch

Merged with 52489, 52575

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 52470 <at> debbugs.gnu.org (full text, mbox):

From: Demis Balbach <db <at> minikn.xyz>
To: 52470 <at> debbugs.gnu.org
Subject: Re: [PATCH] services: bluetooth: Add missing config parameters
Date: Mon, 13 Dec 2021 20:36:32 +0100
[Message part 1 (text/plain, inline)]
Hello,

this patch adds all (as far as I know) missing config parameters to the
bluetooth-service.

I added all config parameters (that were missing) that are defined in
https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/src/main.conf

If a default value was given, e.g.:

--8<---------------cut here---------------start------------->8---
# Specify the policy to the JUST-WORKS repairing initiated by peer
# Possible values: "never", "confirm", "always"
# Defaults to "never" <------------------------------------------
#JustWorksRepairing = never
--8<---------------cut here---------------end--------------->8---

I used that default value. However, there are other paramaters
(everthing under `[BR]' and almost everything under `[LE]') that don't
specify default values. They are always integers as one can see here:

https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/src/btd.h#n39

So I took a nonsensical value like `-1' and only printed the in question
with the user provided line if it did not equal -1.

This approach isn't pretty, but it worked for me, however please give
feedback regarding that.
My guile-fu is bad so I'm sure there's plenty room for improvement.

Here is the config I tested it with:

--8<---------------cut here---------------start------------->8---
(define-module (base-system)
  #:use-module (gnu)
  #:use-module (gnu services desktop)
  #:use-module (srfi srfi-1))

(define base-operating-system
  (operating-system

   ;; Machine settings
   (host-name "geekcave")
   (timezone "Europe/Berlin")
   (locale "en_US.utf8")
   (keyboard-layout (keyboard-layout "us" "altgr-intl"))

   ;; Services
   (services (append (list
                      (service bluetooth-service-type (bluetooth-configuration
                                                       (name "test")
                                                       (class "0x123")
                                                       (discoverable-timeout 60)
                                                       (always-pairable? #f)
                                                       (pairable-timeout 20)
                                                       (device-id "bluetooth:123")
                                                       (reverse-service-discovery? #f)
                                                       (name-resolving? #f)
                                                       (debug-keys? #t)
                                                       (controller-mode 'le)
                                                       (multi-profile 'multiple)
                                                       (fast-connectable? #t)
                                                       (privacy 'network/on)
                                                       (just-works-repairing 'confirm)
                                                       (temporary-timeout 10)
                                                       (refresh-discovery? #f)
                                                       (experimental 'd4992530-b9ec-469f-ab01-6c481c47da1c)
                                                       (remote-name-request-retry-delay 20)
                                                       (page-scan-type #xFFF)
                                                       (page-scan-interval #x0)
                                                       (page-scan-window #x1)
                                                       (inquiry-scan-type #xFFFF)
                                                       (inquiry-scan-interval #x123)
                                                       (inquiry-scan-window 23890)
                                                       (link-supervision-timeout 13)
                                                       (page-timeout 9)
                                                       (min-sniff-interval 0)
                                                       (max-sniff-interval 2)
                                                       (min-advertisement-interval 0)
                                                       (max-advertisement-interval 2)
                                                       (multi-advertisement-rotation-interval 3)
                                                       (scan-interval-auto-connect 0)
                                                       (scan-window-auto-connect 0)
                                                       (scan-interval-suspend 0)
                                                       (scan-window-suspend 0)
                                                       (scan-interval-discovery 0)
                                                       (scan-window-discovery 0)
                                                       (scan-interval-adv-monitor 0)
                                                       (scan-window-adv-monitor 0)
                                                       (scan-interval-connect 0)
                                                       (scan-window-connect 0)
                                                       (min-connection-interval 0)
                                                       (max-connection-interval 1)
                                                       (connection-latency 10)
                                                       (connection-supervision-timeout 34)
                                                       (autoconnect-timeout 4)
                                                       (adv-mon-allowlist-scan-duration 20)
                                                       (adv-mon-no-filter-scan-duration 30)
                                                       (enable-adv-mon-interleave-scan 0)
                                                       (cache 'yes)
                                                       (key-size 15)
                                                       (exchange-mtu 23)
                                                       (att-channels 1)
                                                       (session-mode 'ertm)
                                                       (stream-mode 'streaming)
                                                       (reconnect-uuids (list ""))
                                                       (reconnect-attempts 3)
                                                       (reconnect-intervals (list 2 4 49))
                                                       (auto-enable? #t)
                                                       (resume-delay 29)
                                                       (rssi-sampling-period "0x10"))))
                     %base-services))

   ;; Boot loader
   (bootloader (bootloader-configuration
                (bootloader grub-efi-bootloader)
                (target "/boot/efi")
                (timeout 3)))

   ;; File systems
   (file-systems (cons* (file-system ;; System partition
                         (device (file-system-label "GUIX"))
                         (mount-point "/")
                         (type "btrfs"))
                        (file-system ;; Boot partition
                         (device (file-system-label "BOOT"))
                         (mount-point "/boot/efi")
                         (type "vfat"))
                        %base-file-systems))))
base-operating-system
--8<---------------cut here---------------end--------------->8---

-- 
Best regards / Mit freundlichen Grüßen,
Demis Balbach
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 3 years and 153 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.