By Joachim W

2013-09-09 15:05:18 8 Comments

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.


@user45955 2013-11-11 11:56:53

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 :

@Izzy 2013-09-15 10:40:49

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.

@Joachim W 2013-09-11 06:04:18

This question has been answered by @derobert at 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.

@Dan Hulme 2013-09-09 23:15:23

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.

@Joachim W 2013-09-10 14:01:31

ls /dev/sdb* yields just /dev/sdb, so unfortunately this is not the solution

@gaoithe 2015-05-13 21:58:53

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.

Related Questions

Sponsored Content

6 Answered Questions

[SOLVED] How to get USB file transfer working on Oreo 8.1?

1 Answered Questions

[SOLVED] USB tethering to connect Linux to Android

1 Answered Questions

Nexus 4 fails to mount with mtp mode

1 Answered Questions

[SOLVED] Can't mount Android device in recovery mode using MTP

  • 2015-06-25 11:19:27
  • Questioner
  • 5411 View
  • 0 Score
  • 1 Answer
  • Tags:   usb recovery-mode

4 Answered Questions

[SOLVED] ADB on Ubuntu does not recognize Nexus 4

  • 2013-09-19 10:44:00
  • Lespaul86
  • 14125 View
  • 8 Score
  • 4 Answer
  • Tags:   adb nexus-4 linux

4 Answered Questions

3 Answered Questions

[SOLVED] Linux program to transfer file from/to an android device?

2 Answered Questions

[SOLVED] Browse or mount SD card over WiFi on Linux?

0 Answered Questions

Access to android usb port from chroot linux?

  • 2012-01-20 22:05:56
  • Allomorphy
  • 85 View
  • 4 Score
  • 0 Answer
  • Tags:   usb linux

Sponsored Content