Re: [Banshee-List] Banshee not recognizing my Android Galaxy Nexus phone



ok, almost solved !!! 

the problem was that udev rule was not firing properly, 
to be more precise, it was actually a problem with libusb 

to illustrate: 

- connect galaxy nexus to usb, enable debugging, enable mtp 
- run this 
lsusb 
we  get this:
Bus 002 Device 012: ID 04e8:6860 Samsung Electronics Co., Ltd 
Bus 002 Device 003: ID 064e:c107 Suyin Corp. HP webcam [dv6-1190en]
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 045e:0745 Microsoft Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

my phone is the first one listed here bus 002 device 012 

- next run this, to see permissions on that specific bus/device 
ls -l ls -l /dev/bus/usb/002/012
i get this 
crw-rw-r-- 1 root root 189, 139 2014-04-04 21:07 /dev/bus/usb/002/012
we see that the device is root only 

next i do this: 
mtp-detect 
i get errors permission denied ... blah blah 
basically need to run sudo mpt-detect 

libusb generally mounts all unknown device as root per udev general rules, 
if there is no override custom rule in udev, that the libusb rule persists
as root only !
now, ,libmtp depends on libusb, and if you start libmtp by mtp-detect
without root it will 
not work, likewise then any application that runs on user level won't be
able to use libmtp 
properly... 

libusb( root ) < --- libmpt ( user ) as mtp-detect <---- linux apps ( user ) 
obviously won't work 

however if I start rhythmbox or gMTP as root, them libmtp automatically runs
as root 
and those apps detect the device no problem, but we don't wanna run them as
root, do we ? :-) 

ok the solution is to trick libusb to allow controlling device as user and
not root 
for that a custom udev rule is needed to override "usb as root" rule ...
I added specific rule to udev for my device in  in /etc/udev/
99-android.rules
SUBSYSTEM==”usb”, ATTR{idVendor}==”04e8”, ATTR{idProduct}==”6860”,
GROUP="plugdev", MODE=”0666″

before that the rule was this 
SUBSYSTEM==”usb”, ATTR{idVendor}==”04e8”, ATTR{idProduct}==”6860”,
MODE=”0666″
ie no specification for any groups... and the rule was not firing for that
device... 
no group and/or no user attached to this rule... 

so I picked ( per that thread ) a group plugdev from all the groups I had on
this machine, 
i added myself to that group 
and added that group to the rule...

then did 
- unplug device !!!! 
- reload udev 
sudo udevadm control --reload-rules

and now 
ls -l /dev/bus/usb/002/013
crw-rw-r-- 1 root plugdev 189, 139 2014-04-04 21:07 /dev/bus/usb/002/013

we can see that bus/device belong to plugdev group with me in there as
user...
now me as user have control over that bus/device when it connects

now mtp-detect runs without sudo 
rhythmbox gmtp detects the phone no problem 

however here is the kicker ...
banshee still does not recognize the phone... ! 

so the problem is solved for rhythbox and gmtp but not for banshee...

what do we try next ? :-)  besides upgrading the box... ? 

let me know... 







--
View this message in context: 
http://banshee-media-player.2283330.n4.nabble.com/Banshee-not-recognizing-my-Android-Galaxy-Nexus-phone-tp4651585p4651637.html
Sent from the Banshee Media Player mailing list archive at Nabble.com.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]