On Wed, Nov 09, 2016 at 09:39:44PM +0100, Michal Zimen wrote: > Hi, > > try to run this: > > systemctl --user start obex > > systemctl enable --user obex.service > > and then you should see the process /usr/lib/bluetooth/obexd running
Hi Michal, Thanks for this advice (and it would be good to put this in some README file). I now have obexd running both as root and as my user. However, while I can now transfer files to the device from my Linux machine, I still cannot receive files as a regular user. Here's the /var/log/daemon.log output when receiving a file (successfully) as root. It starts from when I ran blueman-manager as root (with only /usr/lib/bluetooth/bluetoothd and /usr/lib/bluetooth/obexd running, the former as root, the latter as both root and myself (jdg)): Nov 11 12:14:02 erdos dbus[733]: [system] Activating service name='org.blueman.Mechanism' (using servicehelper) Nov 11 12:14:02 erdos blueman-mechanism: Starting blueman-mechanism Nov 11 12:14:02 erdos dbus[733]: [system] Successfully activated service 'org.blueman.Mechanism' Nov 11 12:14:02 erdos blueman-mechanism: loading RfKill Nov 11 12:14:02 erdos blueman-mechanism: loading Ppp Nov 11 12:14:02 erdos blueman-mechanism: loading Rfcomm Nov 11 12:14:02 erdos blueman-mechanism: loading Network Nov 11 12:14:32 erdos blueman-mechanism: Exiting Nov 11 12:14:44 erdos obexd[29973]: CONNECT(0x0), (null)(0xffffffff) Nov 11 12:14:44 erdos obexd[29973]: CONNECT(0x0), (null)(0x0) Nov 11 12:14:45 erdos obexd[29973]: PUT(0x2), (null)(0xffffffff) Nov 11 12:14:54 erdos obexd[29973]: PUT(0x2), CONTINUE(0x10) Nov 11 12:15:51 erdos obexd[29973]: DISCONNECT(0x1), (null)(0xffffffff) Nov 11 12:15:51 erdos obexd[29973]: DISCONNECT(0x1), SUCCESS(0x20) Nov 11 12:15:51 erdos obexd[29973]: disconnected: Transport got disconnected Nov 11 12:15:51 erdos bluetoothd[24349]: Unable to get io data for Object Push: getpeername: Transport endpoint is not connected (107) (I tried sending a file twice, the first time unsuccessfully, the second time successfully.) In addition, here is the console output: erdos:~ # blueman-manager _________ Load (/usr/lib/python3/dist-packages/blueman/main/PluginManager.py:60) ['PulseAudioProfile', 'Services'] _________ __load_plugin (/usr/lib/python3/dist-packages/blueman/main/PluginManager.py:133) loading <class 'blueman.plugins.manager.Services.Services'> _________ __load_plugin (/usr/lib/python3/dist-packages/blueman/main/PluginManager.py:133) loading <class 'blueman.plugins.manager.PulseAudioProfile.PulseAudioProfile'> _________ pa_context_event (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:341) 1 blueman-manager version 2.0.4 starting Stale PID, overwriting _________ pa_context_event (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:341) 2 _________ on_bluez_name_owner_changed (/usr/bin/blueman-manager:96) org.bluez owner changed to :1.11707 _________ get_interface_version (/usr/lib/python3/dist-packages/blueman/bluez/BlueZInterface.py:13) Detected BlueZ 5 _________ SetAdapter (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:271) _________ on_adapter_changed (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerToolbar.py:83) toolbar adapter /org/bluez/hci0 _________ __init__ (/usr/lib/python3/dist-packages/blueman/main/Device.py:26) caching initial properties _________ add_device (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:317) adding new device _________ do_cache (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:496) Caching new device BC:79:AD:D8:35:88 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Fake False _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Trusted 0 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Paired 1 _________ __init__ (/usr/lib/python3/dist-packages/blueman/main/Device.py:26) caching initial properties _________ add_device (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:317) adding new device _________ do_cache (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:496) Caching new device 0C:14:20:99:F1:D0 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Fake False _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Trusted 0 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Paired 1 _________ __init__ (/usr/lib/python3/dist-packages/blueman/main/Device.py:26) caching initial properties _________ add_device (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:317) adding new device _________ do_cache (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:496) Caching new device 00:1E:A3:24:AD:EE _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Fake False _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Trusted 1 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Paired 1 _________ __init__ (/usr/lib/python3/dist-packages/blueman/main/Device.py:26) caching initial properties _________ add_device (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:317) adding new device _________ do_cache (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:496) Caching new device 78:F8:82:54:13:1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Fake False _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Trusted 1 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Paired 1 _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) GT-S5310 _________ pa_context_event (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:341) 3 _________ pa_context_event (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:341) 4 _________ on_pa_ready (/usr/lib/python3/dist-packages/blueman/plugins/manager/PulseAudioProfile.py:29) connected _________ <lambda> (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:353) 1 _________ on_device_property_changed (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:163) list: device_prop_ch Connected 1 /org/bluez/hci0/dev_78_F8_82_54_13_1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Connected 1 _________ monitor_power_levels (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:185) starting monitor _________ level_setup_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:325) animating up _________ on_device_property_changed (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:163) list: device_prop_ch Connected 0 /org/bluez/hci0/dev_78_F8_82_54_13_1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Connected 0 _________ level_setup_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:325) animating down _________ update (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:186) stopping monitor (not connected) _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) Nexus 5X _________ on_device_property_changed (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:163) list: device_prop_ch Connected 1 /org/bluez/hci0/dev_78_F8_82_54_13_1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Connected 1 _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) Nexus 5X _________ monitor_power_levels (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:185) starting monitor _________ level_setup_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:325) animating up _________ on_device_property_changed (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:163) list: device_prop_ch Connected 0 /org/bluez/hci0/dev_78_F8_82_54_13_1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Connected 0 _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) Nexus 5X _________ level_setup_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:325) animating down _________ update (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:186) stopping monitor (not connected) ^C erdos:~ # Here's the output when I start blueman-manager as jdg: Nov 11 12:19:09 erdos dbus-daemon[2804]: Activating service name='org.blueman.Ap plet' Nov 11 12:19:09 erdos dbus-daemon[2804]: Successfully activated service 'org.blu eman.Applet' Nov 11 12:19:09 erdos dbus[733]: [system] Activating service name='org.blueman.M echanism' (using servicehelper) Nov 11 12:19:09 erdos blueman-mechanism: Starting blueman-mechanism Nov 11 12:19:09 erdos dbus[733]: [system] Successfully activated service 'org.bl ueman.Mechanism' Nov 11 12:19:09 erdos blueman-mechanism: loading RfKill Nov 11 12:19:09 erdos blueman-mechanism: loading Ppp Nov 11 12:19:09 erdos blueman-mechanism: loading Rfcomm Nov 11 12:19:09 erdos blueman-mechanism: loading Network Nov 11 12:19:24 erdos obexd[29973]: CONNECT(0x0), (null)(0xffffffff) Nov 11 12:19:24 erdos obexd[29973]: CONNECT(0x0), (null)(0x0) Nov 11 12:19:24 erdos obexd[29973]: PUT(0x2), (null)(0xffffffff) Nov 11 12:19:24 erdos obexd[29973]: PUT(0x2), FORBIDDEN(0x43) Nov 11 12:19:24 erdos obexd[29973]: DISCONNECT(0x1), (null)(0xffffffff) Nov 11 12:19:24 erdos obexd[29973]: DISCONNECT(0x1), SUCCESS(0x20) Nov 11 12:19:24 erdos obexd[29973]: disconnected: Transport got disconnected Nov 11 12:19:24 erdos bluetoothd[24349]: Unable to get io data for Object Push: getpeername: Transport endpoint is not connected (107) Nov 11 12:19:39 erdos blueman-mechanism: Exiting Nov 11 12:19:44 erdos obexd[29973]: CONNECT(0x0), (null)(0xffffffff) Nov 11 12:19:44 erdos obexd[29973]: CONNECT(0x0), (null)(0x0) Nov 11 12:19:45 erdos obexd[29973]: PUT(0x2), (null)(0xffffffff) Nov 11 12:19:45 erdos obexd[29973]: PUT(0x2), FORBIDDEN(0x43) Nov 11 12:19:45 erdos obexd[29973]: DISCONNECT(0x1), (null)(0xffffffff) Nov 11 12:19:45 erdos obexd[29973]: DISCONNECT(0x1), SUCCESS(0x20) Nov 11 12:19:45 erdos obexd[29973]: disconnected: Transport got disconnected Nov 11 12:19:45 erdos bluetoothd[24349]: Unable to get io data for Object Push: getpeername: Transport endpoint is not connected (107) (This time I tried to send a file twice, both times unsuccessfully.) And the console output: erdos:~ $ blueman-manager ** (blueman-manager:31000): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. _________ Load (/usr/lib/python3/dist-packages/blueman/main/PluginManager.py:60) ['PulseAudioProfile', 'Services'] _________ __load_plugin (/usr/lib/python3/dist-packages/blueman/main/PluginManager.py:133) loading <class 'blueman.plugins.manager.PulseAudioProfile.PulseAudioProfile'> _________ pa_context_event (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:341) 1 _________ __load_plugin (/usr/lib/python3/dist-packages/blueman/main/PluginManager.py:133) loading <class 'blueman.plugins.manager.Services.Services'> blueman-manager version 2.0.4 starting Stale PID, overwriting _________ pa_context_event (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:341) 2 _________ on_bluez_name_owner_changed (/usr/bin/blueman-manager:96) org.bluez owner changed to :1.11707 _________ get_interface_version (/usr/lib/python3/dist-packages/blueman/bluez/BlueZInterface.py:13) Detected BlueZ 5 _________ SetAdapter (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:271) _________ on_adapter_changed (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerToolbar.py:83) toolbar adapter /org/bluez/hci0 _________ __init__ (/usr/lib/python3/dist-packages/blueman/main/Device.py:26) caching initial properties _________ add_device (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:317) adding new device _________ do_cache (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:496) Caching new device 78:F8:82:54:13:1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Fake False _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Trusted 1 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Paired 1 _________ __init__ (/usr/lib/python3/dist-packages/blueman/main/Device.py:26) caching initial properties _________ add_device (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:317) adding new device _________ do_cache (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:496) Caching new device 0C:14:20:99:F1:D0 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Fake False _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Trusted 0 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Paired 1 _________ __init__ (/usr/lib/python3/dist-packages/blueman/main/Device.py:26) caching initial properties _________ add_device (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:317) adding new device _________ do_cache (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:496) Caching new device BC:79:AD:D8:35:88 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Fake False _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Trusted 0 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Paired 1 _________ __init__ (/usr/lib/python3/dist-packages/blueman/main/Device.py:26) caching initial properties _________ add_device (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:317) adding new device _________ do_cache (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:496) Caching new device 00:1E:A3:24:AD:EE _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Fake False _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Trusted 1 _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Paired 1 _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) Nexus 5X _________ pa_context_event (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:341) 3 _________ pa_context_event (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:341) 4 _________ on_pa_ready (/usr/lib/python3/dist-packages/blueman/plugins/manager/PulseAudioProfile.py:29) connected _________ <lambda> (/usr/lib/python3/dist-packages/blueman/main/PulseAudioUtils.py:353) 1 _________ on_device_property_changed (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:163) list: device_prop_ch Connected 1 /org/bluez/hci0/dev_78_F8_82_54_13_1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Connected 1 _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) Nexus 5X _________ monitor_power_levels (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:185) starting monitor _________ level_setup_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:325) animating up _________ on_device_property_changed (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:163) list: device_prop_ch Connected 0 /org/bluez/hci0/dev_78_F8_82_54_13_1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Connected 0 _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) Nexus 5X _________ level_setup_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:325) animating down _________ update (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:186) stopping monitor (not connected) _________ on_device_property_changed (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:163) list: device_prop_ch Connected 1 /org/bluez/hci0/dev_78_F8_82_54_13_1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Connected 1 _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) Nexus 5X _________ monitor_power_levels (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:185) starting monitor _________ level_setup_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:325) animating up _________ on_device_property_changed (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:163) list: device_prop_ch Connected 0 /org/bluez/hci0/dev_78_F8_82_54_13_1A _________ row_update_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:264) row update event Connected 0 _________ Generate (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceMenu.py:173) Nexus 5X _________ level_setup_event (/usr/lib/python3/dist-packages/blueman/gui/manager/ManagerDeviceList.py:325) animating down _________ update (/usr/lib/python3/dist-packages/blueman/gui/DeviceList.py:186) stopping monitor (not connected) ^C erdos:~ $ There's clearly some permission issues remaining, as the PUT(0x2) is responded to with CONTINUE(0x10) in the root case, but with FORBIDDEN(0x43) in the non-root case. Thanks for any light you can shed on this! Julian

