FreeBSD: mount: /dev/da0 : Invalid argument

Автор: | 11/10/2012
 

При подключении телефона — система отказывается монтировать флеш-карту:

# mount /dev/da0 /media/usb/
mount: /dev/da0 : Invalid argument

В логе /var/log/messages:

Nov 10 12:34:42 setevoy-home kernel: da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Nov 10 12:34:42 setevoy-home kernel: da0: <LGE Android Platform 0100> Removable Direct Access SCSI-2 device
Nov 10 12:34:42 setevoy-home kernel: da0: 40.000MB/s transfers
Nov 10 12:34:42 setevoy-home kernel: da0: Attempt to query device size failed: NOT READY, Medium not present
Nov 10 12:34:44 setevoy-home kernel: umodem0: <LG Electronics Inc. LGE Android Phone, class 2/0, rev 2.00/2.27, addr 3> on usbus4
Nov 10 12:34:44 setevoy-home kernel: umodem0: data interface 1, has no CM over data, has no break
Nov 10 12:34:44 setevoy-home root: Unknown USB device: vendor 0x1004 product 0x618e bus uhub4

Проверяем — что за диск используется:

# fdisk /dev/da0
******* Working on device /dev/da0 *******
parameters extracted from in-core disklabel are:
cylinders=951 heads=255 sectors/track=63 (16065 blks/cyl)

parameters to be used for BIOS calculations are:
cylinders=951 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 11 (0x0b),(DOS or Windows 95 with 32 bit FAT)
start 8192, size 15269888 (7456 Meg), flag 0
beg: cyl 0/ head 130/ sector 3;
end: cyl 951/ head 4/ sector 13
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

Проверим — какие разделы есть на диске:

# ls -la /dev/da*
crw-r——  1 root  operator    0, 164 Nov 10 12:34 /dev/da0
crw-r——  1 root  operator    0, 151 Nov 10 13:01 /dev/da0s1

Теперь, когда появился раздел da0s1 — можно его примонтировать:

# mount_msdosfs -L ru_RU.UTF-8 /dev/da0s1 /media/usb/

Если кодировка установлена не UTF-8 — то во время монтирования можно указать свою.

Или — заменить текущую раскладку консоли, например:

# export LANG=ru_RU.UTF-8

Теперь — содержимое карты памяти телефона отображается без проблем, даже кирилица:

# pwd
# /media/usb/media/Muzik
# ls -la
total 512
drwxr-xr-x  1 root  wheel  32768 23 май 22:13 .
drwxr-xr-x  1 root  wheel  32768 21 май 18:26 ..

drwxr-xr-x  1 root  wheel  32768 23 май 22:17 Oomph!
drwxr-xr-x  1 root  wheel  32768 17 сен 00:22 Papa Roach
drwxr-xr-x  1 root  wheel  32768 23 май 22:17 Rammstein
-rwxr-xr-x  1 root  wheel   2426  3 июл 20:24 albumart.pamp
drwxr-xr-x  1 root  wheel  32768 17 сен 00:23 Король и шут

Отмонтировать диск перед отключением телефона можно стандартно:

# umount /dev/da0s1

Если выдается ошибка вида «umount: unmount of /media/usb failed: Device busy» — добавляем ключ -f:

# umount -f /dev/da0s1