I have just purchased a new TCL (S950) Idol x phone and I'm figuring out some issue to make it visible on my system.

This phone uses Android 4.2.2 and I guess this is the cause of the issue: my previous phone with android 4.1 was correctly displayed in nautilus/dolphin ( using mtpfs )

Now I have tried to install mtp-tools but nothing has changed.

lsusb gives me that list (T & A Mobile Phones should be my phone )

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 1bbb:0168 T & A Mobile Phones 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1bcf:2b80 Sunplus Innovation Technology Inc. 
Bus 002 Device 003: ID 8086:0189 Intel Corp. 

dmesg gives me this output:

[15780.855333] usb 3-2: new high-speed USB device number 2 using xhci_hcd
[15780.874336] usb 3-2: New USB device found, idVendor=1bbb, idProduct=0168
[15780.874348] usb 3-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[15780.874354] usb 3-2: Product: TCL S950
[15780.874359] usb 3-2: Manufacturer: TCT
[15780.874364] usb 3-2: SerialNumber: FESKMRSOYLW8RKSK

Any idea what could be wrong here ?

UPDATE: I have added the following rules to udev (/etc/udev/rules.d/11-android.rules ) and now at least adb shell works fine:

## TLC
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1bbb", ATTRS{idProduct}==”0167″, MODE="0777", OWNER="fra"

( change OWNER user name with yours )

  • Your device seems to be recognized fine. I never played with MTP, but maybe you need to make the device known to the system in a similar way as for adb? Please first consult How do I mount a Kindle Fire 10.2.6 on my Linux computer? (though that's dealing with a Kindle, the MTP part should be the same ;)
    – Izzy
    Commented Aug 27, 2013 at 6:51
  • actually mtpfs gives me this output: No raw devices found.
    – Francesco
    Commented Aug 27, 2013 at 11:04
  • I have tried also github.com/hanwen/go-mtpfs but it is also complaning no MTP devices found
    – Francesco
    Commented Aug 27, 2013 at 11:26
  • This may sound obvious, but have you enabled usb debugging on your phone?
    – user42042
    Commented Sep 24, 2013 at 9:14

4 Answers 4


I've written a tutorial on how to get MTP devices recognized under Ubuntu. If you've already installed mtptools and added the udev rule, you still need to create a static mount point for your device and let mtp know that's where it lives. Make sure you've restarted either your computer or the udev service since you added the udev rule (sudo service udev restart), and then

  1. sudo mkdir /media/MTPdevice (call the directory whatever you like)
  2. sudo chmod 775 /media/MTPdevice
  3. sudo mtpfs -o allow_other /media/MTPdevice

Attach your phone (make sure it's unlocked, if you have a pin or swipe pattern). You should then be able to see both the internal and external cards. Note that you won't be able to open files directly from the cards, you'll need to copy them locally first.

  • this is working fine ... as I can see there are 2 issue : 1. the device is not int libmtfs list ( I have submitted a bug ) 2. I neet to use sudo. However I still can not see the device in natilus/dolphin and everything is quite not stable
    – Francesco
    Commented Aug 28, 2013 at 7:51
  • I'm not sure I follow your comment - why is using sudo a problem? You won't be able to do and admin work on a system without it.
    – Logos
    Commented Aug 28, 2013 at 11:34
  • mmm maybe you are right but with the other phone (sony experia j ) I just plug the phone and I can see it on nautilus/dolphin ( it is mtp too )
    – Francesco
    Commented Aug 28, 2013 at 11:46
  • So you're not really looking for an answer then, you just want to complain about the fact that it doesn't work with one of your phones out of the box???
    – Logos
    Commented Aug 28, 2013 at 17:31
  • I just want to collect as much as possible precise info so other people with same issue can start from a good point ... I'm not "complaining" I wonder why it is not working in the expected way. I suspect that that is related to the fact that the device is not in the libmtpfs list ( on windows it works out of the box, so I really want this happening also on linux )
    – Francesco
    Commented Aug 28, 2013 at 18:19

As suggested by @Logos this works (take care of using sudo):

sudo mtpfs -o allow_other /media/MTPdevice

However mtpfs is very unstable on this phone so I tried go-mtpfs and I found out it works better. You can install go-mtpfs using the info provided in their site

The command to mount the phone is very similar (change the bin path according to yours) :

sudo /usr/lib/go/bin/go-mtpfs /media/MTPdevice/

Once you are able to mount the device with the above command you can make the phone automount: You only have to add a couple of rules to udev.

You will need those info:

  • ID_MODEL (mine is TCL_S950 )
  • ID_MODEL_ID ( mine is 0167 )
  • Installation path of go-mtpfs ( mine is /usr/lib/go/bin/go-mtpfs )

You can find those info running this command in a terminaludevadm monitor --environment --udev and plug/unplug your phone.

Now you can create/edit an udev rules /etc/udev/rules.d/99-android.rules and add these lines (change ID_MODEL and ID_MODEL_ID with yours):

 # Mount  
ENV{ID_MODEL}=="TCL_S950", ENV{ID_MODEL_ID}=="0167", ACTION=="add", RUN+="/usr/bin/sudo -b  /usr/lib/go/bin/go-mtpfs -allow-other=true /media/MTPdevice"
# Umount 
ENV{ID_MODEL}=="TCL_S950", ENV{ID_MODEL_ID}=="0167", ACTION=="remove", RUN+="/bin/umount /media/MTPdevice"

At this point everything should work, check this thread for more details: source

  • Out of curiosity, what was the unstable behaviour?
    – Logos
    Commented Aug 31, 2013 at 11:40
  • Strange. My machine (Linux Mint 15, MATE) auto mounts and unmounts without these additional rules.
    – Logos
    Commented Sep 24, 2013 at 10:31

Assuming you're using a Ubuntu 12.04 or 12.10 based distro (v13 & up supports this natively) and that gvfs-mtp is already installed:

  1. Add the backport repository for MTP support in GVFS:

    sudo add-apt-repository ppa:langdalepl/gvfs-mtp
    sudo apt-get update
  2. Upgrade the system, you should see many gvfs packages in the list:

    sudo apt-get upgrade
  3. Reboot.

Source: http://blog.sukria.net/2013/03/09/support-for-nexus-4-in-ubuntu-12-10/


Actually,the easiest way is to modify /usr/lib/udev/rules.d/69-libmtp.rules adding your product ID as it is likely that it already contains your vendor ID,so create a new line for your device with your VID and PID,restart udev and it works!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .