ios - Communication issues between Arch Linux and iPad -
i'm running arch linux , bluez libraries on computer, , i'm trying connect ipad [w/ retina] on ble. can see ipad in bluetoothctl, pair it, trust it, , connect it. question in 2 parts:
1) want able select attributes, more map service. however, running
list-attributes
either during or outside of connection returns no information.
2) ipad cannot see computer can see ipad, either through settings --> bluetooth menu or cbcentralmanager in app i'm developing. computer set discoverable , pairable forever, doesn't find it.
how able connect ipad appropriately, if there way?
disclaimer using bluez user space tools:
op mentioned in comments utilized
hcitool
. it's best not usehciconfig
norhcitool
these in process of being phased out of bluez , have been unmaintained long time. prone errors , raw calls these programs make blocking , cause interference other bluetooth applications.
bluez publishes methods in order users use bluetooth (le) functionality applications or tasks: dbus , lower-level approach. programs included in bluez user space package include bluetoothctl
, uses dbus bluetooth related tasks, such scanning, advertising , gatt. tools btmgmt
, can considered maintained version of hcitool
, use lower level libraries. bluez recommends using dbus api applications. sure have compiled source code , have followed recommended instructions use mentioned tools. check licensing on mentioned tools , source files can not included in proprietary software.
dbus-less solution:
if using bluetoothctl
or dbus
doesn't work out you, suggest use btmgmt
. can found in /tools
folder of user space source code.
if you're looking or wanting include gatt-related tasks, can use btgatt-client
act gatt client or btgatt-server
act gatt server same /tools
folder. these not use dbus, nor corresponding bluetooth daemon (bluetoothd
) bluetoothctl
does
dbus solution:
what cause of not seeing services using bluetoothctl
, however, not running aforementioned bluetooth daemon -e
flag (experimental). currently, gatt-related functionality usable when running in experimental mode. (they're working out of experimental-only mode) think because it's still being developed. if recall correctly bluez can configured/installed in experimental mode, no manual actions required.
to restart bluez daemon (bluetoothd
) gatt enabled run:
sudo service bluetooth stop && bluetoothd -e
in cases, when stopping bluetooth service, bluetooth controller power down , bluetoothctl
won't respond user input/freezes on startup. if indeed case, use btmgmt
, issue power on
power bluetooth controller again.
Comments
Post a Comment