ds4drv: socket.error: [Errno 107] Transport endpoint is not connected (Gentoo)

I got this error when trying to run ps4drv on Gentoo. The entire trace is :

ds4drv
[info][controller 1] Created devices /dev/input/js2 (joystick) /dev/input/event10 (evdev) 
[info][bluetooth] Scanning for devices
[info][bluetooth] Found device A4:15:66:6F:3B:A0
Traceback (most recent call last):
  File "/usr/bin/ds4drv", line 9, in <module>
    load_entry_point('ds4drv==0.3.0', 'console_scripts', 'ds4drv')()
  File "/usr/lib64/python2.7/site-packages/ds4drv/__main__.py", line 325, in main
    for device in backend.devices:
  File "/usr/lib64/python2.7/site-packages/ds4drv/backends/bluetooth.py", line 117, in devices
    device = self.find_device()
  File "/usr/lib64/python2.7/site-packages/ds4drv/backends/bluetooth.py", line 106, in find_device
    return BluetoothDS4Device.connect(bdaddr)
  File "/usr/lib64/python2.7/site-packages/ds4drv/backends/bluetooth.py", line 34, in connect
    return cls(addr, ctl_socket, int_socket)
  File "/usr/lib64/python2.7/site-packages/ds4drv/backends/bluetooth.py", line 41, in __init__
    super(BluetoothDS4Device, self).__init__(addr, "bluetooth")
  File "/usr/lib64/python2.7/site-packages/ds4drv/device.py", line 70, in __init__
    self.set_operational()
  File "/usr/lib64/python2.7/site-packages/ds4drv/backends/bluetooth.py", line 66, in set_operational
    self.set_led(255, 255, 255)
  File "/usr/lib64/python2.7/site-packages/ds4drv/device.py", line 82, in set_led
    self._control()
  File "/usr/lib64/python2.7/site-packages/ds4drv/device.py", line 75, in _control
    flash_led2=self._led_flash[1], **kwargs)
  File "/usr/lib64/python2.7/site-packages/ds4drv/device.py", line 130, in control
    self.write_report(report_id, pkt)
  File "/usr/lib64/python2.7/site-packages/ds4drv/backends/bluetooth.py", line 63, in write_report
    self.ctl_sock.sendall(hid + data)
  File "/usr/lib64/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 107] Transport endpoint is not connected

bluez version is 4.101

About this issue

  • Original URL
  • State: open
  • Created 10 years ago
  • Comments: 38 (14 by maintainers)

Most upvoted comments

I just experienced the “Transport endpoint is not connected” error. I have 2 dongles. The first one works fine and it’s a bluetooth 4.0 usb dongle. The second one gives me the transport error and it’s a bluetooth 2.0 usb dongle.

The fact is that standard pairing is also problematic because it asks for a PIN, which does not happen to be necessary with the other device.

I managed to pair it using bluetoothctl after enabling the agent:

[bluetooth]# scan on
[bluetooth]# trust MAC
[bluetooth]# agent on
[bluetooth]# pair MAC
Request PIN code
[agent] Enter PIN code: 0000

And then “ds4drv --hidraw” worked fine.

Recap:

  • Without the “agent on” command, pair fails with “Failed to pair: org.bluez.Error.AuthenticationRejected” with the bluetooth 2 dongle.
  • The agent/pin steps are not necessary with the bluetooth 4 dongle.

I’ve read a lot of docs && I suppose that it’s due to bluetooth dongle… It has bluetooth 2.1

Any updates? Having the same issue on Fedora 32 (Tranposrt endpoint is not connected)

To add, on a raspberry pi it worked fine until I added a line to rc.local to run it silently at boot. Even after removing the single line from the script, this issue is still persisting.

The pi is running a modified version of debian with all the core functions of the OS in tact.

Here’s the output

pi@raspisan ~ $ sudo ds4drv
[info][controller 1] Created devices /dev/input/js0 (joystick) /dev/input/event1 (evdev)
[info][bluetooth] Scanning for devices
[info][bluetooth] Found device AC:FD:93:01:89:03
[error][bluetooth] Unable to connect to detected device: Failed to set operational mode: [Errno 107] Transport endpoint is not connected
[info][bluetooth] Scanning for devices
[info][bluetooth] Found device AC:FD:93:01:89:03
[error][bluetooth] Unable to connect to detected device: Failed to set operational mode: [Errno 107] Transport endpoint is not connected
[info][bluetooth] Scanning for devices  

It loops at that point for as long as the controller is in pair mode. The above was on a single pairing attempt.

I also have this issue. Following the instructions here i got it work on Linux Mint 17 using the command

bluez-simple-agent hci0 <my ds4 mac> remove

it prints out Creating device failed: org.bluez.Error.ConnectionAttemptFailed: Page Timeout but it still works

And now for pairing normally how should i do?

$ bluetoothctl -a
[bluetooth]# scan on
[bluetooth]# trust MAC
[bluetooth]# pair MAC