Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
GitHub fields:
assignee = None closed_at = None created_at = <Date 2020-06-26.19:00:41.062> labels = ['3.8', 'type-feature', '3.7', '3.9', '3.10'] title = 'Improve/fix FreeBSD Bluetooth socket support' updated_at = <Date 2020-06-26.19:00:41.062> user = 'https://github.com/myfreeweb'
bugs.python.org fields:
activity = <Date 2020-06-26.19:00:41.062> actor = 'myfreeweb' assignee = 'none' closed = False closed_date = None closer = None components = ['FreeBSD'] creation = <Date 2020-06-26.19:00:41.062> creator = 'myfreeweb' dependencies = [] files = [] hgrepos = [] issue_num = 41130 keywords = [] message_count = 1.0 messages = ['372439'] nosy_count = 2.0 nosy_names = ['koobs', 'myfreeweb'] pr_nums = [] priority = 'normal' resolution = None stage = None status = 'open' superseder = None type = 'enhancement' url = 'https://bugs.python.org/issue41130' versions = ['Python 3.5', 'Python 3.6', 'Python 3.7', 'Python 3.8', 'Python 3.9', 'Python 3.10']
cpython/Modules/socketmodule.c
Line 1931 in 2e0a920
But of course this is true on FreeBSD too. (DragonFly inherited the BT stack from FreeBSD!) For example this is how hccontrol creates an address: https://github.com/freebsd/freebsd/blob/6bb9221a9b865ee432269099f341e4230a6cbcd4/usr.sbin/bluetooth/hccontrol/hccontrol.c#L115-L129
So currently it is not possible to bind an HCI socket (without using FFI to directly use the libc bind function) :(
Line 1953 in 2e0a920
But SCO has been supported since 2008: freebsd/freebsd-src@bb4c6de
(1) was fixed by #131668.
pythongh-85302: Add support for BTPROTO_SCO on FreeBSD
gh-85302: Add support for BTPROTO_SCO on FreeBSD (GH-131981)
😍
Actually, we did not test this on live FreeBSD machine, and were unable to test it on a VM, so the support is rather theoretical. I will be grateful if someone can test it on machine where the Bluetooth socket tests are not skipped.
Activity
myfreeweb commented on Jun 26, 2020
cpython/Modules/socketmodule.c
Line 1931 in 2e0a920
But of course this is true on FreeBSD too. (DragonFly inherited the BT stack from FreeBSD!)
For example this is how hccontrol creates an address:
https://github.com/freebsd/freebsd/blob/6bb9221a9b865ee432269099f341e4230a6cbcd4/usr.sbin/bluetooth/hccontrol/hccontrol.c#L115-L129
So currently it is not possible to bind an HCI socket (without using FFI to directly use the libc bind function) :(
cpython/Modules/socketmodule.c
Line 1953 in 2e0a920
But SCO has been supported since 2008: freebsd/freebsd-src@bb4c6de
serhiy-storchaka commented on Apr 1, 2025
(1) was fixed by #131668.
pythongh-85302: Add support for BTPROTO_SCO on FreeBSD
gh-85302: Add support for BTPROTO_SCO on FreeBSD (GH-131981)
koobs commented on Apr 13, 2025
😍
serhiy-storchaka commented on Apr 13, 2025
Actually, we did not test this on live FreeBSD machine, and were unable to test it on a VM, so the support is rather theoretical. I will be grateful if someone can test it on machine where the Bluetooth socket tests are not skipped.