Bluez NAP support

In a world of IOT devices, often low-powered, it seems like a good idea to allow internet using BT nap profile.
Unfortunately, I did not get very far:

  • I managed to add the mediatek bt uart kernel drivers as a new module. So far, so good.
  • I made bluez work, it pairs and trusts.
    BUT:
    Almost every tutorial using bluez as a NAP talks about a python script, due to missing python-dbus in master, I'd need pip + full-featured python + meson + gcc to install dbus simply to test.
    So, there's a dbus-send command to activate org.bluez.NetworkServer as bluetooth NAP linked to br-lan, but it doesn't seem to do anything about advertising the NAP profile to my android phone.
    So, does anyone know whether it could be done one way or another without installing python+pip?

so I found this PDF, which is a little old but still useful:
https://elinux.org/images/1/15/ELC_NA_2019_PPT_CreatingBT_PAN_RNDIS_router_using_OpenWrt_20190814r1.pdf
it looks like it's somehow working, but not really "pairing".
Somehow, the android phone doesn't get the fact that the authentication is ok (or so it seems):
https://pastebin.com/jCcqBH5Z
is there anybody who knows what actually happens? why does openwrt bluez send a connecting pending in #153, followed by connection successful in #154, but the latter one isn't picked up by the phone?

EDIT: to show where I already got:

Controller 00:C0:CA:B3:C5:3C (public)
        Manufacturer: 0x0046 (70)
        Version: 0x0b (11)
        Name: APHostBureau
        Alias: APHostBureau
        Class: 0x00020300 (131840)
        Powered: yes
        PowerState: on
        Discoverable: no
        DiscoverableTimeout: 0x000000b4 (180)
        Pairable: yes
        UUID: Broadcast Audio Scan      (0000184f-0000-1000-8000-00805f9b34fb)
        UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
        UUID: Published Audio Capabil.. (00001850-0000-1000-8000-00805f9b34fb)
        UUID: Audio Stream Control      (0000184e-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: Audio Input Control       (00001843-0000-1000-8000-00805f9b34fb)
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: Volume Control            (00001844-0000-1000-8000-00805f9b34fb)
        UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
        UUID: Microphone Control        (0000184d-0000-1000-8000-00805f9b34fb)
        UUID: Volume Offset Control     (00001845-0000-1000-8000-00805f9b34fb)
        UUID: NAP                       (00001116-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v1D6Bp0246d0548
        Discovering: no
        Roles: central
        Roles: peripheral
        Roles: central-peripheral
        ExperimentalFeatures: BlueZ Experimental Simu.. (671b10b5-42c0-4696-9227-eb28d1b049d6)
        ExperimentalFeatures: BlueZ Experimental LL p.. (15c0a148-c273-11ea-b3de-0242ac130004)
        ExperimentalFeatures: BlueZ Experimental ISO... (6fbaf188-05e0-496a-9885-d6ddfdb4e03e)
Advertising Features:
        ActiveInstances: 0x00 (0)
        SupportedInstances: 0x14 (20)
        SupportedIncludes: tx-power
        SupportedIncludes: appearance
        SupportedIncludes: local-name
        SupportedSecondaryChannels: 1M
        SupportedSecondaryChannels: 2M
        SupportedSecondaryChannels: Coded
        SupportedCapabilities.MinTxPower: 0xfffffff2 (-14)
        SupportedCapabilities.MaxTxPower: 0x000d (13)
        SupportedCapabilities.MaxAdvLen: 0x1f (31)
        SupportedCapabilities.MaxScnRspLen: 0x1f (31)
        SupportedFeatures: CanSetTxPower
        SupportedFeatures: HardwareOffload
Advertisement Monitor Features:
        SupportedMonitorTypes: or_patterns

UUID: NAP

now you need to configure dhcp server and forwarding on bnep0 device. Like adding it to br-lan bridge to go easy.