| 7cf75e0c |
client: Fix format of arguments of set-service and set-manufacturer
Optional arguments should contain only one set of '[' ']' otherwise
wordexp won't be able to parse it. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +3, -3 |
| 6962f889 |
client: Remove argument checks
This is now done automatically by bt_shell with the use of the
arguments entered in the command table. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +0, -93 |
| 72a69a08 |
shared/shell: Detect if the arguments are properly set
Parse arguments to detect if user has passed a valid number of
arguments. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +92, -6 |
| 7be84fe3 |
mesh: onoff-model: Fix msec to sec conversion
There is an error in meshctl while displaying transition time. 1000 ms
is being presented as 16 sec, 40 ms. The reason is incorrect
conversion of milliseconds to seconds. The fix is pretty trivial. |
Michal Hobot |
8 years ago |
1 file, +2, -2 |
| 42ffa662 |
avrcp: Fix change-path
AVRCP spec does allow duplicates folder names which would be exposed as
different D-Bus path as their UID is different, the code however would
attempt to set the folder by its name alone which resolve to the first
item on the list rather then the exact UID. |
Luiz Augusto von Dentz |
8 years ago |
3 files, +71, -42 |
| fbd0aa83 |
service: Remove unnecessary btd_assert
btd_service_set_user_data shall be allowed to be called when the state is
unavailable since device_probe is called with that state the callback
attempt to set its user_data. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +0, -1 |
| 0f6a6031 |
avrcp: Fix not parsing all items
When using GetFolderItems to list media items it is valid to send
duplicated as they can be repeated in the list. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +1, -4 |
| 71351833 |
control: Fix invalid access
When both controller and target roles are supported by a device they
would share the same btd_service user_data pointer which would lead to
use after free once either service is removed. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +6, -2 |
| c4f77eb5 |
adapter: Cleanup non-connectable temporary devices
These devices cannot be used after the discovery has been terminated so
there is no point in keep them on cache like other temporary devices. |
Luiz Augusto von Dentz |
8 years ago |
3 files, +25, -0 |
| 11a57b5c |
audio/control: Fix invalid read on exit
Make control_disconnect() a no-op if control was already
disconnected and freed.
bluetoothd[8436]: profiles/audio/avrcp.c:avrcp_disconnect() path /org/bluez/hci0/dev_38_71_DE_C0_FC_26
==8436== Invalid read of size 8
==8436== at 0x41FFB9: control_disconnect (control.c:130)
==8436== by 0x469E0A: service_remove (service.c:177)
==8436== by 0x475869: device_remove (device.c:4071)
==8436== by 0x45DEF9: adapter_remove (adapter.c:5485)
==8436== by 0x466B2A: adapter_cleanup (adapter.c:8679)
==8436== by 0x40BE16: main (main.c:782)
==8436== Address 0x84b8ac8 is 8 bytes inside a block of size 48 free'd
==8436== at 0x4C30D18: free (vg_replace_malloc.c:530)
==8436== by 0x50D44AD: g_free (in /usr/lib64/libglib-2.0.so.0.5400.2)
==8436== by 0x488AED: remove_interface (object.c:667)
==8436== by 0x488FE9: g_dbus_unregister_interface (object.c:1391)
==8436== by 0x469E20: service_remove (service.c:179)
==8436== by 0x475869: device_remove (device.c:4071)
==8436== by 0x45DEF9: adapter_remove (adapter.c:5485)
==8436== by 0x466B2A: adapter_cleanup (adapter.c:8679)
==8436== by 0x40BE16: main (main.c:782)
==8436== Block was alloc'd at
==8436== at 0x4C31A1E: calloc (vg_replace_malloc.c:711)
==8436== by 0x50D43F0: g_malloc0 (in /usr/lib64/libglib-2.0.so.0.5400.2)
==8436== by 0x41FC09: control_init (control.c:320)
==8436== by 0x42006D: control_init_remote (control.c:361)
==8436== by 0x469D59: service_probe (service.c:160)
==8436== by 0x46E464: probe_service (device.c:4207)
==8436== by 0x46E4C2: dev_probe (device.c:4226)
==8436== by 0x46989B: btd_profile_foreach (profile.c:708)
==8436== by 0x47239D: device_probe_profiles (device.c:4285)
==8436== by 0x50ED51C: g_slist_foreach (in /usr/lib64/libglib-2.0.so.0.5400.2)
==8436== by 0x50ED54A: g_slist_free_full (in /usr/lib64/libglib-2.0.so.0.5400.2)
==8436== by 0x45F1EE: load_devices (adapter.c:3864)
==8436== by 0x465E59: adapter_register (adapter.c:7741)
==8436== by 0x465E59: read_info_complete (adapter.c:8284)
==8436== by 0x48D277: request_complete (mgmt.c:261)
==8436== by 0x48DD44: can_read_data (mgmt.c:353)
==8436== by 0x4999A2: watch_callback (io-glib.c:170)
==8436== by 0x50CEBB6: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5400.2)
==8436== by 0x50CEF5F: ??? (in /usr/lib64/libglib-2.0.so.0.5400.2)
==8436== by 0x50CF271: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5400.2)
==8436== by 0x40BDE8: main (main.c:770) |
Bastien Nocera |
8 years ago |
1 file, +1, -1 |
| 4d58eb52 |
mesh: validate configuration target
Require obtaining node composition prior to sending configuration
commands that assume knowledge about the node's element/model layout. |
Inga Stotland |
8 years ago |
1 file, +25, -6 |
| 7a177a8f |
adapter: Fix not replying to StopDiscovery
This fixes missing reply to StopDiscovery when a MGMT command needs to
be sent. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +1, -0 |
| c70ebf7c |
avctp: Use different queues for passthrough and vendor PDUs
passthrough commands comes from a different specification which can
have more specific rules regarding timeout, etc, so this moves button
presses to their own queue which should enable them to be send in
parallel to other command on the control channel. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +139, -63 |
| 60e7ff60 |
gdbus: Fix not emiting PropertiesChanged
If and interface is removed while properties are pending it would cause
process_properties_from_interface to clear data->pending_prop when it
should only clear the iface->pending_prop. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +2, -2 |
| 5c166035 |
shared/gatt-client: Check if ATT is connected before creating requests
If ATT is not connected there is no point in creating a request since
that will likely fail at bt_att_send. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +3, -0 |
| a554a39d |
client: Move set-alias back to main menu
set-alias is not GATT related command. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +1, -1 |
| fa6db23f |
shared/shell: Fix command completion without character
If the command completion without any character is run, then only returns
the commands of default menu since readline increases the variable state
during each matching and tools specific menu is not compared. |
ERAMOTO Masaya |
8 years ago |
1 file, +29, -15 |
| 251a2b3c |
obexd: Fix fd which is left even after closing session
A fd is duplicated if dbus type is unix fd, and then it is not closed
even after the file is finished transporting. In the end obexd can not
transport due to the limitation of open-able fd as below.
Warning: invalid file descriptor 1031 in syscall fcntl(DUPFD_CLOEXEC)()
FILE DESCRIPTORS: 1021 open at exit.
Open pf-31 socket 1023:
at 0x5061F1F: fcntl_common (fcntl.c:46)
by 0x5061F1F: fcntl (fcntl.c:79)
by 0x52A1C3D: _dbus_dup (in /lib/x86_64-linux-gnu/libdbus-1.so.3.14.13)
by 0x528C7B8: dbus_message_iter_get_basic (in /lib/x86_64-linux-gnu/libdbus-1.so.3.14.13)
by 0x149E04: profile_new_connection (bluetooth.c:136)
by 0x18AAF2: process_message.isra.3 (object.c:259)
by 0x18B364: generic_message (object.c:1079)
by 0x5290FD2: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.14.13)
by 0x5282623: dbus_connection_dispatch (in /lib/x86_64-linux-gnu/libdbus-1.so.3.14.13)
by 0x1852FF: message_dispatch (mainloop.c:72)
by 0x5505E24: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
by 0x55061EF: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
by 0x5506501: g_main_loop_run (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1) |
ERAMOTO Masaya |
8 years ago |
2 files, +7, -2 |
| b04bec27 |
device: Fix typo |
Luiz Augusto von Dentz |
8 years ago |
1 file, +1, -1 |
| 83e34eda |
client: Fix crashing on disconnect command
disconnect callback was writing on the argv pointer causing word
wordfree to access invalid memory:
Invalid free() / delete / delete[] / realloc()
at 0x4C2FD18: free (vg_replace_malloc.c:530)
by 0x56E8588: wordfree (in /usr/lib64/libc-2.25.so)
by 0x41D0EB: rl_handler (shell.c:388)
by 0x53CDB6D: rl_callback_read_char (in /usr/lib64/libreadline.so.7.0)
by 0x41CA20: input_read (shell.c:661)
by 0x41D88A: watch_callback (io-glib.c:170)
by 0x4E85246: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x4E855E7: ??? (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x4E85901: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x41D77D: bt_shell_run (shell.c:609)
by 0x4055E4: main (main.c:2502)
Address 0x76afcb4 is 4 bytes inside a block of size 30 alloc'd
at 0x4C2EB6B: malloc (vg_replace_malloc.c:299)
by 0x517F803: ??? (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x516D32A: dbus_message_copy (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x4195F4: prop_entry_update.isra.1 (client.c:186)
by 0x4197C4: prop_entry_new (client.c:202)
by 0x4197C4: add_property (client.c:237)
by 0x4199A5: update_properties (client.c:277)
by 0x419E74: parse_properties (client.c:974)
by 0x419E74: parse_interfaces (client.c:1001)
by 0x41B412: parse_managed_objects (client.c:1093)
by 0x41B412: get_managed_objects_reply (client.c:1114)
by 0x51607A1: ??? (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x516411E: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x41261F: message_dispatch (mainloop.c:72)
by 0x4E81C26: ??? (in /usr/lib64/libglib-2.0.so.0.5200.3) |
Luiz Augusto von Dentz |
8 years ago |
1 file, +7, -3 |
| 728d50c2 |
device: Don't disable auto-connect for trusted devices
Trusted shall indicate if the device is allowed connect in any
circumstance, even if the user has called device.Disconnect. |
Luiz Augusto von Dentz |
8 years ago |
2 files, +6, -6 |
| f2ec4f54 |
doc/device-api: Document behavior of Disconnect method with LE
If and LE device is disconnected using device.Device method it won't
be able to reconnect by itself. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +4, -0 |
| bee37961 |
build: Move shell.{c,h} to libshared
bt_shell instance should be available to any code linked with
libshared. |
Luiz Augusto von Dentz |
8 years ago |
2 files, +2, -3 |
| 65aaf36f |
mesh: Correct length test in agent.c:request_ascii |
Steve Brown |
8 years ago |
1 file, +1, -1 |
| ce57fdeb |
device: Fix possible runtime warning
This g_source_remove() doesn't have its argument check for validity
which can lead to a runtime warning.
bluetoothd[14785]: GLib: g_source_remove: assertion 'tag > 0' failed
bluetoothd[14785]: ++++++++ backtrace ++++++++
bluetoothd[14785]: #1 g_logv+0x25d (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50d5a7d]
bluetoothd[14785]: #2 g_log+0x8f (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50d5bef]
bluetoothd[14785]: #3 g_source_remove+0x24 (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50cd884]
bluetoothd[14785]: #4 device_remove+0xfb (src/device.c:4054) [0x4756cb]
bluetoothd[14785]: #5 adapter_remove+0x4a (src/adapter.c:5485) [0x45e0ea]
bluetoothd[14785]: #6 adapter_cleanup+0x2b (src/adapter.c:8681) [0x466abb]
bluetoothd[14785]: #7 main+0x867 (src/main.c:784) [0x40bdc7]
bluetoothd[14785]: #8 __libc_start_main+0xe7 (../csu/libc-start.c:340) [0x5d12187]
bluetoothd[14785]: #9 _start+0x2a (/home/hadess/Projects/jhbuild/bluez/src/bluetoothd) [0x40c5ca]
bluetoothd[14785]: +++++++++++++++++++++++++++ |
Bastien Nocera |
8 years ago |
1 file, +2, -1 |
| bc1b1717 |
device: Fix possible run-time warning
When a reconnect timeout has previously run for a device, setting a new
one will throw a warning as the timeout id is not reset when the timeout
is cancelled from within its callback.
bluetoothd[7731]: GLib: Source ID 526 was not found when attempting to remove it
bluetoothd[7731]: ++++++++ backtrace ++++++++
bluetoothd[7731]: #1 g_logv+0x25d (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50d5a7d]
bluetoothd[7731]: #2 g_log+0x8f (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50d5bef]
bluetoothd[7731]: #3 g_source_remove+0x7c (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50cd8dc]
bluetoothd[7731]: #4 intr_watch_cb+0x1b5 (profiles/input/device.c:1217) [0x42f465]
bluetoothd[7731]: #5 g_main_context_dispatch+0x157 (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50cebb7]
bluetoothd[7731]: #6 g_main_context_iterate.isra.25+0x200 (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50cef60]
bluetoothd[7731]: #7 g_main_loop_run+0xc2 (/usr/lib64/libglib-2.0.so.0.5400.1) [0x50cf272]
bluetoothd[7731]: #8 main+0x839 (src/main.c:772) [0x40bd69]
bluetoothd[7731]: #9 __libc_start_main+0xe7 (../csu/libc-start.c:340) [0x5d12187]
bluetoothd[7731]: #10 _start+0x2a (/home/hadess/Projects/jhbuild/bluez/src/bluetoothd) [0x40c59a]
bluetoothd[7731]: +++++++++++++++++++++++++++ |
Bastien Nocera |
8 years ago |
1 file, +8, -4 |
| 5202ff40 |
tools/btmgmt: Use set_index() for --index
The command select can also set the specified index even if prefix hci
includes uppercase characters. |
ERAMOTO Masaya |
8 years ago |
1 file, +5, -12 |
| f444a1bd |
tools/btmgmt: Introduce set_index() |
ERAMOTO Masaya |
8 years ago |
1 file, +12, -7 |
| 0fb2aff3 |
shared/shell: Use wordexp to parse arguments
This ensures the arguments are parsed properly. |
Luiz Augusto von Dentz |
8 years ago |
7 files, +256, -336 |
| 7319353d |
client: Move gatt related commands to a submenu
All commands related to gatt settings are now under gatt
submenu:
[bluetooth]# menu gatt
Menu gatt:
Available commands:
-------------------
list-attributes [dev] List attributes
set-alias <alias> Set device alias
select-attribute <attribute/UUID> Select attribute
attribute-info [attribute/UUID] Select attribute
read Read attribute value
write <data=[xx xx ...]> Write attribute value
acquire-write Acquire Write file descriptor
release-write Release Write file descriptor
acquire-notify Acquire Notify file descriptor
release-notify Release Notify file descriptor
notify <on/off> Notify attribute value
register-application [UUID ...] Register profile to connect
unregister-application Unregister profile
register-service <UUID> Register application service.
unregister-service <UUID/object> Unregister application service
register-characteristic <UUID> <Flags=read,write,notify...> Register application characteristic
unregister-characteristic <UUID/object> Unregister application characteristic
register-descriptor <UUID> <Flags=read,write...> Register application descriptor
unregister-descriptor <UUID/object> Unregister application descriptor
back Return to main menu
version Display version
quit Quit program
exit Quit program
help Display help about this program |
Luiz Augusto von Dentz |
8 years ago |
1 file, +47, -40 |
| 3e55926d |
client: Move scan related commands to a submenu
All commands related to scan settings are now under scan
submenu:
[bluetooth]# menu scan
Menu scan:
Available commands:
-------------------
set-filter-uuids [uuid1 uuid2 ...] Set scan filter uuids
set-filter-rssi [rssi] Set scan filter rssi, and clears pathloss
set-filter-pathloss [pathloss] Set scan filter pathloss, and clears rssi
set-filter-transport [transport] Set scan filter transport
set-filter-duplicate-data [on/off] Set scan filter duplicate data
set-filter-clear Clears discovery filter.
back Return to main menu
version Display version
quit Quit program
exit Quit program
help Display help about this program |
Luiz Augusto von Dentz |
8 years ago |
1 file, +21, -15 |
| ae3da8a2 |
client: Move advertise related commands to a submenu
All commands related to advertise settings are now under advertise
submenu:
> menu advertise
Menu advertise:
Available commands:
-------------------
set-uuids [uuid1 uuid2 ...] Set advertise uuids
set-service [uuid][data=[xx xx ...] Set advertise service data
set-manufacturer [id][data=[xx xx ...] Set advertise manufacturer data
set-tx-power <on/off> Enable/disable TX power to be advertised
set-name <on/off/name> Enable/disable local name to be advertised
set-appearance <value> Set custom appearance to be advertised
set-duration <seconds> Set advertise duration
set-timeout <seconds> Set advertise timeout
back Return to main menu
version Display version
quit Quit program
exit Quit program
help |
Luiz Augusto von Dentz |
8 years ago |
1 file, +25, -20 |
| 09391c58 |
shared/shell: Add submenu support
This adds submenu support so application can have one extra level of
menus to better organize the interface.
Submenus will be show in the output of help command, to select a
submenu:
> menu <name>
To move back to main menu:
> back |
Luiz Augusto von Dentz |
8 years ago |
3 files, +159, -28 |
| 70b8b754 |
client: Make use of bt_shell
Use bt_shell instead of readline directly. |
Luiz Augusto von Dentz |
8 years ago |
4 files, +252, -557 |
| 01bdd83d |
shared/shell: Add initial implementation
This add initial bt_shell helper which can be used to create shell-like
command line tools. |
Luiz Augusto von Dentz |
8 years ago |
3 files, +639, -1 |
| 215ecf40 |
adapter: Fix crash while reseting discovery filter
The client watch should be removed when freeing the discovery client
otherwise the disconnect callback my still be called:
Invalid read of size 8
at 0x490495: discovery_disconnect (adapter.c:2129)
by 0x4CA909: service_filter (watch.c:481)
by 0x4CA4F8: message_filter (watch.c:557)
by 0x53AC32C: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x4C933F: message_dispatch (mainloop.c:72)
by 0x50C9C26: ??? (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x50CD246: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x50CD5E7: ??? (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x50CD901: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x40CD60: main (main.c:770)
Address 0x931a4f0 is 16 bytes inside a block of size 40 free'd
at 0x4C2FD18: free (vg_replace_malloc.c:530)
by 0x50D2B4D: g_free (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x48FF00: set_discovery_filter (adapter.c:2462)
by 0x4CE6E2: process_message.isra.3 (object.c:259)
by 0x4CEF14: generic_message (object.c:1079)
by 0x53BB57F: ??? (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x53AC3A9: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x4C933F: message_dispatch (mainloop.c:72)
by 0x50C9C26: ??? (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x50CD246: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x50CD5E7: ??? (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x50CD901: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5200.3) |
Luiz Augusto von Dentz |
8 years ago |
1 file, +1, -2 |
| b0ceb605 |
build: Fix make distcheck
sixaxis.h was missing in release tarball. |
Szymon Janc |
8 years ago |
1 file, +1, -1 |
| de3fa6e5 |
monitor: Fix decoding of Mesh Network PDU header |
Johan Hedberg |
8 years ago |
1 file, +2, -2 |
| 9bb331f2 |
avdtp: Fix disconnecting before stream setup completes
This is a regression introduced by
7ece89b0b6f1ef8b4d4ca132a5163c08a14c41e2 which cause the disconnection
to happen immediatelly when the last reference is droppped but since the
stream setup may have been started by the remove end there is a chance
a stream is currently ongoing in which case the previous behavior of
not disconnecting immediatelly is required in order to give time for the
end to complete any pending request. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +3, -5 |
| 4cf79541 |
a2dp: Fix crash when connectin
server->seps contains avdtp_local_sep not a2dp_sep causing the
following crash:
Invalid read of size 4
at 0x426EF8: avdtp_sep_get_state (avdtp.c:3655)
by 0x41D474: a2dp_avdtp_get (a2dp.c:1413)
by 0x42BE80: resume_a2dp (transport.c:340)
by 0x42C0D3: acquire (transport.c:466)
by 0x4CE702: process_message.isra.3 (object.c:259)
by 0x4CEF34: generic_message (object.c:1079)
by 0x53BB57F: ??? (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x53AC3A9: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.19.0)
by 0x4C935F: message_dispatch (mainloop.c:72)
by 0x50C9C26: ??? (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x50CD246: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5200.3)
by 0x50CD5E7: ??? (in /usr/lib64/libglib-2.0.so.0.5200.3)
Address 0x0 is not stack'd, malloc'd or (recently) free'd |
Luiz Augusto von Dentz |
8 years ago |
1 file, +12, -12 |
| 7ece89b0 |
avdtp: Fix not disconnecting
avdtp_unref would actually wait 1 second before disconnecting which may
be enough for the remote device to start a new stream when it should
not be able to that anymore. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +6, -3 |
| 009bdf90 |
a2dp: Do not attempt to connect if there are no available SEPs
If all SEPs are taken do not even attempt to connect AVDTP since
no stream can be created. |
Luiz Augusto von Dentz |
8 years ago |
1 file, +15, -0 |
| c6f976ce |
monitor: Fix mesh advertisement types
Mesh data and provisioning type were swapped:
0x29 «PB-ADV»
Mesh Profile Specification Section 5.2.1
0x2A «Mesh Message»
Mesh Profile Specification Section 3.3.1 |
Luiz Augusto von Dentz |
8 years ago |
1 file, +2, -2 |
| 1629c39e |
plugins/sixaxis: Provide DualShock 3 SDP record while adding new device
This allows to skip SDP search for DualShock 3 devices, since some
DS3 clones do not provide any SDP record. This allows them to operate
nonetheless.
The HID SDP record is lifted straight off an original DualShock 3
controller. The PNPID SDP record is not set as not required to provide
a working device.
Tested with a "SHANWAN" clone controller. |
Bastien Nocera |
8 years ago |
1 file, +18, -0 |
| 6da6a836 |
core/device: Add support for setting SDP record
This allows to set SDP record for device without resolving services
over SDP. After SDP is provided profiles are probed. |
Szymon Janc |
8 years ago |
2 files, +36, -0 |
| f986462d |
profiles/battery: Fix btd_device unref misbalance on disconnect
References for btd_device is taken on probe and is dropped on remove.
Having extra unref on disconnect was causing crash. |
Szymon Janc |
8 years ago |
1 file, +0, -1 |
| 9cd93529 |
profiles/battery: Fix crash on disconnect
Cancelling all the pending requests on the device is not needed as
bt_gatt_client_free() already does this for us.
There's also no need to explicitly unregister our notification, as this
will be done once the device has been disconnected, or not setup for
notifications yet.
==14797== Invalid read of size 1
==14797== at 0x1825E7: ba2str (bluetooth.c:79)
==14797== by 0x173DF4: change_state (service.c:101)
==14797== by 0x148ECA: batt_disconnect (battery.c:348)
==14797== by 0x174564: btd_service_disconnect (service.c:293)
==14797== by 0x4EA551C: g_slist_foreach (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x17AC71: att_disconnected_cb (device.c:4661)
==14797== by 0x1972D7: queue_foreach (queue.c:220)
==14797== by 0x19B831: disconnect_cb (att.c:590)
==14797== by 0x1A4482: watch_callback (io-glib.c:170)
==14797== by 0x4E86BB6: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x4E86F5F: ??? (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x4E87271: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x121604: main (main.c:770)
==14797== Address 0x74ad69b is 11 bytes inside a block of size 624 free'd
==14797== at 0x4C30D18: free (vg_replace_malloc.c:530)
==14797== by 0x4E8C4AD: g_free (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x1935CD: remove_interface (object.c:667)
==14797== by 0x193AC9: g_dbus_unregister_interface (object.c:1391)
==14797== by 0x148EC0: batt_disconnect (battery.c:346)
==14797== by 0x174564: btd_service_disconnect (service.c:293)
==14797== by 0x4EA551C: g_slist_foreach (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x17AC71: att_disconnected_cb (device.c:4661)
==14797== by 0x1972D7: queue_foreach (queue.c:220)
==14797== by 0x19B831: disconnect_cb (att.c:590)
==14797== by 0x1A4482: watch_callback (io-glib.c:170)
==14797== by 0x4E86BB6: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x4E86F5F: ??? (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x4E87271: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x121604: main (main.c:770)
==14797== Block was alloc'd at
==14797== at 0x4C31A1E: calloc (vg_replace_malloc.c:711)
==14797== by 0x17FF6C: device_new (device.c:3648)
==14797== by 0x180FDE: device_create_from_storage (device.c:3712)
==14797== by 0x169495: load_devices (adapter.c:3826)
==14797== by 0x16FF6B: adapter_register (adapter.c:7742)
==14797== by 0x16FF6B: read_info_complete (adapter.c:8285)
==14797== by 0x197D57: request_complete (mgmt.c:261)
==14797== by 0x198824: can_read_data (mgmt.c:353)
==14797== by 0x1A4482: watch_callback (io-glib.c:170)
==14797== by 0x4E86BB6: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x4E86F5F: ??? (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x4E87271: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5400.1)
==14797== by 0x121604: main (main.c:770) |
Bastien Nocera |
8 years ago |
1 file, +0, -2 |
| aba8f1fb |
android: Enable multiadvertising
This is required for custom advertising data.
The HAL entry points related to multiadvertising are now implemented
and map to the mgmnt "add advertising" operation. |
Martin Fuzzey |
8 years ago |
4 files, +454, -10 |
| a98f8114 |
android: Get max advertising instances from kernel
Use the mgmnt "advinfo" operation to obtain the number of advertising
instances supported by the kernel. |
Martin Fuzzey |
8 years ago |
1 file, +43, -1 |
| b51effb9 |
android: Skip key loading for LE only devices.
Key loading is not supported for LE only devices. |
Martin Fuzzey |
8 years ago |
1 file, +5, -1 |