Linux fails to mount Android device in USB MSC mode 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.
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.