2

I am attempting a project where my Raspberry Pi Zero W (running Raspbian Stretch Lite) sends photo files to my Polaroid PoGo instant photo printer via Bluetooth, particularly the OBEX Object Push service which the PoGo uses.

I have installed the packages bluetooth and ussp-push, as bluez was already installed. Everything is up to date via apt-get upgrade.

I am able to pair with the device using the PIN code 6000 which all PoGo's share, but connections always fail. Ussp-push looks like it will establish a connection, but it hangs before doing so. I am at least somewhat confident this is not a hardware issue as when I was running with a desktop Blueman somehow managed to successfully send a file once, but my project requires CLI interaction only. I have attempted connecting to a better (2A) power supply, but this did not help.

Result of attempted connection via bluetoothctl:

pi@raspberrypi:~ $ sudo bluetoothctl
Waiting to connect to bluetoothd...
[bluetooth]# 
[NEW] Controller B8:27:EB:15:E0:4E raspberrypi [default]
[bluetooth]# power on
[bluetooth]# 
Changing power on succeeded
[bluetooth]# scan on
[bluetooth]# 
Discovery started
[bluetooth]# 
[CHG] Controller B8:27:EB:15:E0:4E Discovering: yes
[bluetooth]# 
[NEW] Device 00:04:48:15:B6:37 Polaroid 15 b6 37
[bluetooth]# agent on
[bluetooth]# 
Agent registered
[bluetooth]# pairable on
[bluetooth]# 
Changing pairable on succeeded
[bluetooth]# discoverable on
[bluetooth]# 
Changing discoverable on succeeded
[bluetooth]# 
[CHG] Controller B8:27:EB:15:E0:4E Discoverable: yes
[bluetooth]# pair 00:04:48:15:B6:37 
Attempting to pair with 00:04:48:15:B6:37
[bluetooth]# 
Request PIN code
[bluetooth]# 
[agent] Enter PIN code: 6000
[bluetooth]# 
[CHG] Device 00:04:48:15:B6:37 Connected: yes
[Polaroid 15 b6 37]# 
[CHG] Device 00:04:48:15:B6:37 UUIDs: 00001105-0000-1000-8000-00805f9b34fb
[Polaroid 15 b6 37]# 
[CHG] Device 00:04:48:15:B6:37 ServicesResolved: yes
[Polaroid 15 b6 37]# 
[CHG] Device 00:04:48:15:B6:37 Paired: yes
[Polaroid 15 b6 37]# 
Pairing successful
[Polaroid 15 b6 37]# 
[CHG] Device 00:04:48:15:B6:37 ServicesResolved: no
[Polaroid 15 b6 37]# 
[CHG] Device 00:04:48:15:B6:37 Connected: no
[bluetooth]# connect 00:04:48:15:B6:37 
Attempting to connect to 00:04:48:15:B6:37
[bluetooth]# 
[CHG] Device 00:04:48:15:B6:37 Connected: yes
[Polaroid 15 b6 37]# 
[CHG] Device 00:04:48:15:B6:37 ServicesResolved: yes
[Polaroid 15 b6 37]# 
Failed to connect: org.bluez.Error.NotAvailable
[Polaroid 15 b6 37]# 
[CHG] Device 00:04:48:15:B6:37 ServicesResolved: no
[Polaroid 15 b6 37]# 
[CHG] Device 00:04:48:15:B6:37 Connected: no
[bluetooth]# quit
[bluetooth]# 
Agent unregistered
[bluetooth]# 
[DEL] Controller B8:27:EB:15:E0:4E raspberrypi [default]
[bluetooth]#

Result of attempted push via ussp-push:

pi@raspberrypi:~ $ ussp-push --debug 00:04:48:15:B6:37@1 /home/pi/uploads/image.jpg image.jpg
pushing file /home/pi/uploads/image.jpg
name=/home/pi/uploads/image.jpg, size=67159
__obex_connect: client_context_t = 0x1438aa8
Registered transport
Set user data
Created new objext
Started a new request
^C

I broke it there with ^C because it always just hangs at "Started a new request" no matter how long it is allowed to run.

Details of PoGo printer given by sdptool browse:

pi@raspberrypi:~ $ sdptool browse
Inquiring ...
Browsing 00:04:48:15:B6:37 ...
Service Name: OBEX Object Push
Service RecHandle: 0x10000
Service Class ID List:
  "OBEX Object Push" (0x1105)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
  "OBEX" (0x0008)
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100

This problem is very troubling as I cannot seem to find a reason for why it is not working no matter how much searching I do. Any help would be appreciated. If any more data or logs are needed I would be happy to upload those.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.