Ubuntu – Banshee and Rhythmbox crash when trying to connect Android device

androidbansheemusicrhythmbox

This happens with both Rythmbox and Banshee, but I'd prefer to solve the problem with Banshee, as that is the player that suits me better.

When I run Banshee, and connect my Android device using PTP, it crashes, and I can see this error at the command prompt:

(Banshee:13206): GLib-CRITICAL **: Source ID 882 was not found when attempting to remove it

(Banshee:13206): GLib-ERROR **: Creating pipes for GWakeup: Too many open files

Trace/breakpoint trap (core dumped)

If I try to connect Banshee by MTP, the interface freezes consistently, which is why I am using PTP.

I would like to be able to sync my music and playlists with my Android device. Is that not possible anymore? I have tried Clementine (no syncing option), Amarok (won't connect), Rhythmbox, and Banshee.


Requested output from mtp-detect:

$ mtp-detect

Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6

Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
   Found 1 device(s):
   Samsung: Galaxy models (MTP) (04e8:6860) @ bus 2, dev 7
Attempting to connect device(s)
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device

Best Answer

Install the required mtp tools -

sudo apt-get install mtp-tools mtpfs

Edit the following file -

gksu gedit /etc/udev/rules.d/51-android.rules

Add the following at the end and save the file -

SUBSYSTEM=="usb", ATTR{idVendor}=="VENDORID", ATTR{idProduct}=="PRODUCTID", MODE="0666"

In your case - VENDORID=04e8 and PRODUCTID=6860.

Now, disconnect your phone and run -

sudo service udev restart

sudo mkdir /media/Galaxy

sudo chmod a+rwx /media/Galaxy

sudo adduser YOURUSERNAME fuse

Edit the following file -

gksu gedit /etc/fuse.conf

Add the following at the end and save the file -

user_allow_other

Now, restart your computer and run -

echo “alias android-connect=\”mtpfs -o allow_other /media/Galaxy\”” >> ~/.bashrc

echo “alias android-disconnect=\”fusermount -u /media/Galaxy\”” >> ~/.bashrc

source ~/.bashrc

Now connect your phone and run -android-connect

Similarly, to disconnect, run - android-disconnect

These steps have been taken from here.

If this does not work, you could try go-mtpfs. A tutorial is available here.

Finally, if nothing seems to work, you could probably have a look at AirDroid. You can download it for your phone from Google Play Store.

Edit -

Try enabling USB Debugging on the phone from Developer Settings. It has solved the problem for some users.