I have bought a Xperia Neo which runs Android 2.3 and I'm running Kubuntu Linux on my Laptop.

I just connected the Phone using a USB Cable and set it to Mass Storage Mode. I expected to have the phone SD card in my devices list, so I can mount it and use it as a file storage. But there were no device added.

A few Googling led me to some Microsft Applications, (Activesync, etc.). Does it mean I cannot connect to my phone's SD Card in Linux?

Should I really use Windows for such a simple task, Tranfering files using a USB Cable?!


With the help of @onik I tried to mount the SD card manually and here is the result: in Mass Storage Mode

takpar@skyspace:/media$ sudo mount -t vfat /dev/sdb /media/android/
mount: no medium found on /dev/sdb

takpar@skyspace:/media$ sudo mount /dev/sdb /media/android/
mount: /dev/sdb: unknown device

takpar@skyspace:/media$ sudo mount -t ntfs /dev/sdb /media/android/
Error opening '/dev/sdb': No medium found
Failed to mount '/dev/sdb': No medium found

and in Media Mode there would be no /dev/dsb anymore. But a window opens with url: camera:/MTP Device@usb:001,021/ and empty content.


5 Answers 5


In my case (KDE4 on a Debian Squeeze) it worked easily after setting the device as MSC. It was directly automounted by KDE.

To do this just go to: Settings -> Xperia -> Connectivity -> USB connection mode

As I have Spanish language in my Android I suppose the translation will be something like that.

It also worked in the same computer on a WindowsXP inside VirtualBox.


Did you mount the drives from the phone? Once you're connected, you have to open the notification bar, tap on the "USB Connected" notification and press the button to mount the drives. This should make them visible on your desktop.

After you're done, unmount them from the desktop first, then unmount them from the phone, and then disconnect the cable.

  • I have tried all different conditions. You mean it needs no additional application on PC and should work in Linux too?
    – Alexar
    Commented Oct 18, 2011 at 12:17
  • 1
    Yes, assuming SonyEricsson didn't implement it's own software for the mass storage mode. Try running dmesg after you plug it in to see if any /dev/sd* devices are recognized, and try mounting them manually with mount -t vfat /dev/sd* /media/android (or similar) Commented Oct 18, 2011 at 12:33
  • I tried, but it couldn't be mounted. I have added the detail in Question, may you check it?
    – Alexar
    Commented Oct 21, 2011 at 22:22
  • 1
    Try mounting the partitions instead of the device, for example, /dev/sdb1 and /dev/sdb2 Commented Oct 23, 2011 at 10:35
  • there is no /dev/sdb1, it's just a single /dev/sdb. what does it mean? Is it a proprietary, as @Broam said?
    – Alexar
    Commented Oct 23, 2011 at 18:01

You could always unmount your SD card (if it's removable, like my HTC Magic allows for) and plug it into an SD card reader.

or you could root & run CyanogenMod - CM's Mass Storage mode works great in my Gnome2 install of Ubuntu, don't see why KDE would make it any different.

  • Thanks. I don't want to open the back lid just for moving some photos into my laptop. so as you say rooting is inevitable. right?!
    – Alexar
    Commented Oct 18, 2011 at 14:38
  • I'd explore the other answers & check your host computer's dmesg before you go rooting your phone, but I wanted to provide an alternate way of working around the problem.
    – Broam
    Commented Oct 18, 2011 at 17:27
  • I'd got the point, thanks. What would dmseg tell me?
    – Alexar
    Commented Oct 21, 2011 at 21:32
  • 1
    Your host computer's dmesg and lsusb would tell you what sorts of devices have connected and what your computer is able to discern about them. That would tell you pretty quickly if Sony is doing a standard mass storage device (and it's failing mount because of some error) or it's something proprietary. OPINION: it's Sony, so it's probably the latter. I don't trust Sony to implement standards except when they have to.
    – Broam
    Commented Oct 22, 2011 at 16:39
  • it seems you're right. the /dev/sdb can't be mounted.
    – Alexar
    Commented Oct 23, 2011 at 17:55

For Ubuntu you may need to edit the USB subsystem config files in order to recognize your device's SD card. Luckily this is super easy :) I've also answered this question before, if you want to check that thread.

Your Ubuntu system's udev config should be edited as so:

  • doublecheck that the vendor ID for your Neo is 054c using sudo lsusb; you should see a line something like Bus 002 Device 010: ID 054c:0c02 SonyEricson
  • using your favourite editor as root edit (or create) "/etc/udev/rules.d/51-android.rules” and add this line: SUBSYSTEM=="usb", SYSFS{idVendor}=="054c", MODE="0666"
  • make sure the perms are right for the file you just edited: sudo chmod a+rx /etc/udev/rules.d/51-android.rules
  • restart the USB subsystem: sudo restart udev
  • connect your phone and see if your SD card shows up now

First of all you don't need any USB cable. You can transfer files from/to your android device with the Wi-Fi network of your device. Just install airdroid on your android device. Then activate wi-fi hotspot on your android and open the airdroid app. Next connect your pc to that hotspot, open any browser in your pc and enter the url provided by the airdroid app there. It will ask for your permission, click to connect. Done. The good news is that this technique works in any Linux distro as well, I tested it on Ubuntu 14.04.1. It just uses your android wi-fi device and there is no issue related to mobile data plan i.e. you can use it without the mobile data.

You must log in to answer this question.

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