I wish to mount my Sony Xperia ST21i (Android 4.0.4) under Linux (Debian) via USB. However, I get this error:

# mount /dev/sdb /mnt
mount: no medium found on /dev/sdb

What I did so far:

On the phone side: Settings > Xperia > Connectivity > USB connection mode: set to Mass storage mode (MSC), instead of the default Media transfer mode (MTP).

On the PC side: dmesg yields

[...] usb 2-1.3: USB disconnect, device number 12
[...] usb 2-1.3: new high-speed USB device number 13 using ehci-pci
[...] usb 2-1.3: New USB device found, idVendor=0fce, idProduct=e170
[...] usb 2-1.3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[...] usb 2-1.3: Product: Android
[...] usb 2-1.3: Manufacturer: Android
[...] usb 2-1.3: SerialNumber: **********
[...] scsi14 : usb-storage 2-1.3:1.0
[...] scsi 14:0:0:0: Direct-Access     SONY     Mass storage     0000 PQ: 0 ANSI: 2
[...] sd 14:0:0:0: Attached scsi generic sg2 type 0
[...] sd 14:0:0:0: [sdb] Attached SCSI removable disk

For comparison, when mounting a cheap memory stick, dmesg yields

[...] usb 2-1.3: USB disconnect, device number 13
[...] usb 2-1.6: new high-speed USB device number 14 using ehci-pci
[...] usb 2-1.6: New USB device found, idVendor=1307, idProduct=0165
[...] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[...] usb 2-1.6: Product: USB Mass Storage Device
[...] usb 2-1.6: Manufacturer: P Technology
[...] usb 2-1.6: SerialNumber: 00000000000280
[...] scsi15 : usb-storage 2-1.6:1.0
[...] scsi 15:0:0:0: Direct-Access     UT165    USB Flash Disk   0.00 PQ: 0 ANSI: 2
[...] sd 15:0:0:0: Attached scsi generic sg2 type 0
[...] sd 15:0:0:0: [sdb] 3948544 512-byte logical blocks: (2.02 GB/1.88 GiB)
[...] sd 15:0:0:0: [sdb] Write Protect is off
[...] sd 15:0:0:0: [sdb] Mode Sense: 00 00 00 00
[...] sd 15:0:0:0: [sdb] Asking for cache data failed
[...] sd 15:0:0:0: [sdb] Assuming drive cache: write through
[...] sd 15:0:0:0: [sdb] Asking for cache data failed
[...] sd 15:0:0:0: [sdb] Assuming drive cache: write through
[...]  sdb:
[...] sd 15:0:0:0: [sdb] Asking for cache data failed
[...] sd 15:0:0:0: [sdb] Assuming drive cache: write through
[...] sd 15:0:0:0: [sdb] Attached SCSI removable disk

Several lines more - is this significant? Does this mean, I need to configure my phone differently before I can hope to mount it?

Following advice in some related threads, I created an udev rule,

# cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"

but this had no effect.

  • 1
    That rather looks like a Linux issue. Have you checked on Unix & Linux or Super User? – Izzy Sep 9 '13 at 15:38
  • Mounting a USB memory stick is not a problem. When plugging the Android device, some pertinent lines are missing in the dmesg output. Therefore I tend to think of this as an Android issue. – Joachim W Sep 10 '13 at 14:06

This commonly happens when you're trying to mount a disk when you should be mounting a partition on that disk. Use ls /dev/sdb* to see if any partitions (such as /dev/sdb1) exists on the disk, and then mount that instead of trying to mount the whole disk.

| improve this answer | |
  • ls /dev/sdb* yields just /dev/sdb, so unfortunately this is not the solution – Joachim W Sep 10 '13 at 14:01
  • I agree with this answer. I had same problem. 'lsusb' showed phone. 'ls /dev/sdb*' showed sdb and sdb1. Phone is set to USB mass storage - also android debugging enabled. But it didn't mount automatically. Creating mount point 'sudo mkdir /media/sonyxperia' and mount 'sudo mount /dev/sdb1 /media/sonyxperia' worked. – gaoithe May 13 '15 at 21:58

All I could think of on the Android side (enabling UMS) you've already done. But Android devices might not expose their full storage via UMS. Usually, you only can access the external and internal SD-Cards this way.

For everything else, you might want to take a look at adbfs (see also on XDA) and mc-exfs-adb (which I slightly modified to work better on my Linux system; that version you can find here). Both variants require you to have at least a minimal ADB installation on your computer (see: Is there a minimal installation of ADB?).

I have tried both, and favor adbfs-rootless. Works like a charm. If your device is rooted, you could combine this with adbd insecure from Chainfire to get full access to the entire filesystem.

| improve this answer | |

This question has been answered by @derobert at https://unix.stackexchange.com/q/90069/46841: MSC mode only works for accessing a memory card, which I do not have; for accessing the phone's own file system, I need another access mode.

| improve this answer | |

Agreeing with Joachim ...

To access the phone's internal storage you need to install libmtp and mtpfs for your linux distro. Something like :

sudo mtpfs -o allow_other /mnt

... should help.

Good discussion here : http://forum.xda-developers.com/showthread.php?t=1720464

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.