Не монтируется цифровой фотоаппарат

mhd
Выкладываю вывод:
Явного криминала не видно. Я этот файл закинул на флэшку - нормально монтируется, даже фотку видно.
Можно попробовать понаблюдать за процессом монтирования и сравнить с нормальным монтированием флэшки: в двух терминалах запустить такие команды:
udevadm monitor -p
journalctl -f --full --all
Выполнил следующие действия:
Включил комп; открыл 3 терминала;
В 1 запустил udevadm monitor -p; во 2 запустил journalctl -f --full --all; 3 оставил для монтирования
в 1 терминале вывод после запуска
$ udevadm monitor -p
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
в 1 терминале вывод после монтирования камеры
KERNEL[109.402000] add      /module/fat (module)
ACTION=add
DEVPATH=/module/fat
SEQNUM=1871
SUBSYSTEM=module

KERNEL[109.402039] add      /kernel/slab/fat_cache (slab)
ACTION=add
DEVPATH=/kernel/slab/fat_cache
SEQNUM=1872
SUBSYSTEM=slab

KERNEL[109.402068] add      /kernel/slab/fat_inode_cache (slab)
ACTION=add
DEVPATH=/kernel/slab/fat_inode_cache
SEQNUM=1873
SUBSYSTEM=slab

UDEV  [109.402756] add      /module/fat (module)
ACTION=add
DEVPATH=/module/fat
SEQNUM=1871
SUBSYSTEM=module
USEC_INITIALIZED=9401999

UDEV  [109.403192] add      /kernel/slab/fat_cache (slab)
ACTION=add
DEVPATH=/kernel/slab/fat_cache
SEQNUM=1872
SUBSYSTEM=slab
USEC_INITIALIZED=9402243

UDEV  [109.403583] add      /kernel/slab/fat_inode_cache (slab)
ACTION=add
DEVPATH=/kernel/slab/fat_inode_cache
SEQNUM=1873
SUBSYSTEM=slab
USEC_INITIALIZED=9402399

KERNEL[109.411562] add      /module/vfat (module)
ACTION=add
DEVPATH=/module/vfat
SEQNUM=1874
SUBSYSTEM=module

UDEV  [109.411808] add      /module/vfat (module)
ACTION=add
DEVPATH=/module/vfat
SEQNUM=1874
SUBSYSTEM=module
USEC_INITIALIZED=11603

KERNEL[109.436275] add      /module/nls_cp437 (module)
ACTION=add
DEVPATH=/module/nls_cp437
SEQNUM=1875
SUBSYSTEM=module

UDEV  [109.436451] add      /module/nls_cp437 (module)
ACTION=add
DEVPATH=/module/nls_cp437
SEQNUM=1875
SUBSYSTEM=module
USEC_INITIALIZED=36237

KERNEL[109.447325] add      /module/nls_iso8859_1 (module)
ACTION=add
DEVPATH=/module/nls_iso8859_1
SEQNUM=1876
SUBSYSTEM=module

UDEV  [109.447520] add      /module/nls_iso8859_1 (module)
ACTION=add
DEVPATH=/module/nls_iso8859_1
SEQNUM=1876
SUBSYSTEM=module
USEC_INITIALIZED=47332

во 2 терминале после запуска
$ journalctl -f --full --all
-- Logs begin at Пт 2013-11-29 02:45:29 MSK. --
янв 22 23:21:32 mhd systemd[357]: Starting Paths.
янв 22 23:21:32 mhd systemd[357]: Reached target Paths.
янв 22 23:21:32 mhd systemd[357]: Starting Basic System.
янв 22 23:21:32 mhd systemd[357]: Reached target Basic System.
янв 22 23:21:32 mhd systemd[357]: Starting Default.
янв 22 23:21:32 mhd systemd[357]: Reached target Default.
янв 22 23:21:32 mhd systemd[357]: Startup finished in 89ms.
янв 22 23:21:37 mhd org.a11y.Bus[387]: Activating service name='org.a11y.atspi.Registry'
янв 22 23:21:37 mhd org.a11y.Bus[387]: Successfully activated service 'org.a11y.atspi.Registry'
янв 22 23:21:37 mhd org.a11y.atspi.Registry[401]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry
после монтирования камеры вывод не поменялся

Затем я вставил флеш закрыл все 3 терминала, опять открыл 3 терминала, в первых двух запустил соответствующие команды и примонтировал флеш
в 1 терминале был такой вывод
$ udevadm monitor -p
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

во 2 терминале терминале вывод тоже не менялся и был как выше. Я подумал, что после первого монтирования usb, повторно модули не будут грузиться и поэтому перезагрузил комп.
после перезагрузки полный вывод udevadm monitor -p и journalctl -f --full --all после монтирования флеши
$ udevadm monitor -p
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[99.675568] add      /module/fat (module)
ACTION=add
DEVPATH=/module/fat
SEQNUM=1880
SUBSYSTEM=module

KERNEL[99.675621] add      /kernel/slab/fat_cache (slab)
ACTION=add
DEVPATH=/kernel/slab/fat_cache
SEQNUM=1881
SUBSYSTEM=slab

KERNEL[99.675647] add      /kernel/slab/fat_inode_cache (slab)
ACTION=add
DEVPATH=/kernel/slab/fat_inode_cache
SEQNUM=1882
SUBSYSTEM=slab

UDEV  [99.676124] add      /module/fat (module)
ACTION=add
DEVPATH=/module/fat
SEQNUM=1880
SUBSYSTEM=module
USEC_INITIALIZED=675594

UDEV  [99.676459] add      /kernel/slab/fat_cache (slab)
ACTION=add
DEVPATH=/kernel/slab/fat_cache
SEQNUM=1881
SUBSYSTEM=slab
USEC_INITIALIZED=675842

UDEV  [99.676822] add      /kernel/slab/fat_inode_cache (slab)
ACTION=add
DEVPATH=/kernel/slab/fat_inode_cache
SEQNUM=1882
SUBSYSTEM=slab
USEC_INITIALIZED=676073

KERNEL[99.685342] add      /module/vfat (module)
ACTION=add
DEVPATH=/module/vfat
SEQNUM=1883
SUBSYSTEM=module

UDEV  [99.685549] add      /module/vfat (module)
ACTION=add
DEVPATH=/module/vfat
SEQNUM=1883
SUBSYSTEM=module
USEC_INITIALIZED=5364

KERNEL[99.701619] add      /module/nls_cp437 (module)
ACTION=add
DEVPATH=/module/nls_cp437
SEQNUM=1884
SUBSYSTEM=module

UDEV  [99.701825] add      /module/nls_cp437 (module)
ACTION=add
DEVPATH=/module/nls_cp437
SEQNUM=1884
SUBSYSTEM=module
USEC_INITIALIZED=1619

KERNEL[99.712689] add      /module/nls_iso8859_1 (module)
ACTION=add
DEVPATH=/module/nls_iso8859_1
SEQNUM=1885
SUBSYSTEM=module

UDEV  [99.712898] add      /module/nls_iso8859_1 (module)
ACTION=add
DEVPATH=/module/nls_iso8859_1
SEQNUM=1885
SUBSYSTEM=module
USEC_INITIALIZED=2691

$ journalctl -f --full --all
-- Logs begin at Пт 2013-11-29 02:45:29 MSK. --
янв 22 23:29:16 mhd systemd[358]: Reached target Timers.
янв 22 23:29:16 mhd systemd[358]: Starting Basic System.
янв 22 23:29:16 mhd systemd[358]: Reached target Basic System.
янв 22 23:29:16 mhd systemd[358]: Starting Default.
янв 22 23:29:16 mhd systemd[358]: Reached target Default.
янв 22 23:29:16 mhd systemd[358]: Startup finished in 131ms.
янв 22 23:29:21 mhd org.a11y.Bus[388]: Activating service name='org.a11y.atspi.Registry'
янв 22 23:29:22 mhd org.a11y.Bus[388]: Successfully activated service 'org.a11y.atspi.Registry'
янв 22 23:29:22 mhd org.a11y.atspi.Registry[412]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry
янв 22 23:29:21 mhd systemd[358]: Time has been changed

Как видно, вывод после монтирования камеры или флеши происходит только у udevadm monitor -p Для камеры и флеши он одинаковый за исключением номеров. Я помню, когда я в конце лета после обновления не мог монтировать камеру, я где то прочитал что это сбой в mount. Воспоминания смутные, поэтому утверждать не буду, но возможно mount для моей камеры не работает.
Очень уж лаконичный вывод udevadm. У меня во много раз больше, и как бы совсем не о том.
Очень странно всё это. Раз /dev/sdc нормально копируется при помощи dd, то, стало быть, к камере претензий нет, всё остальное происходит уже в компьютере. А к чему претензии есть - непонятно.
Но сидеть и плакать неконструктивно, надо дёргаться :)

Возможно, что-то покажет dmesg | tail.

Если вызвать гуёвый файлменеджер (thunar, pcmanfm), то видит ли он устройство? и смонтирует ли, если кликнуть?
Возможно, что-то не то в системе с FAT16. Можно попробовать, взяв тот файл dump, что был выложен, создать и смонтирвать файл-образ sdc1. Для этого выбросим из образа sdc начало (до sdc1), расширим до реального размера и смонтируем.
dd if=dump of=dump1 skip=243 bs=512
truncate -s 2057705984 dump1
mkdir /tmp/d1
mount dump1 /tmp/d1 -o loop
Ну и посмотреть, как оно смонтировалось.
243 - это номер сектора начала sdc1, информация взята из MBR в образе dump.
2057705984 - это размер (в байтах) раздела, информация взята из бутсектора раздела в образе dump.
Я установил pcmanfm. Он видит и монтирует камеру. Действия с изменением и монтированием файла dump тоже сработали. Образ успешно монтируется, файлы видны и снимок открывается. Теперь хотелось бы узнать поподробнее про суть манипуляций с файлом dump. Также почему он у вас монтировался без проблем? Почему у меня не монтируется камера и что делать чтобы её монтировать при помощи mount?
mhd
Я установил pcmanfm. Он видит и монтирует камеру.
pcmanfm монтирует при помощи udisksctl из пакета udisks2.
mhd
Действия с изменением и монтированием файла dump тоже сработали. Образ успешно монтируется, файлы видны и снимок открывается.
Значит, с самим разделом система работает правильно.
mhd
Теперь хотелось бы узнать поподробнее про суть манипуляций с файлом dump.
Не понял вопрос. man dd, man truncate, man mkdir, man mount - такой ответ годится?
mhd
Также почему он у вас монтировался без проблем? Почему у меня не монтируется камера
Образ раздела монтируется нормально, а физический раздел не монтируется. Похоже, система неправильно определяет положение физического раздела. Вот тут вы приводили такой вывод:
Device     Boot Start     End Sectors  Size Id Type
/dev/sdc1         247 3994623 3994377  1,9G  6 FAT16
А в MBR значится, что начало раздела - сектор 243, а не 247. И у меня после записи файла dump на флэшку fdisk показывает именно так:
Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1         243 4019199 4018957  1,9G  6 FAT16
Почему - не знаю. И почему udisks2 правильно определяет - тоже не знаю.
mhd
и что делать чтобы её монтировать при помощи mount?
Всё-таки, я бы начал с полного переформатирования. Сначала на компьютере обнулить первый мегабайт (dd if=/dev/zero of=/dev/sdc1 bs=1M count=1), а потом заново отформатировать фотоаппаратом (это важно! именно камерой, а не компьютером). Если не поможет - сдаваться и использовать не mount, а udisksctl. Только метку дать, чтобы точка монтирования была читаемая. Метку я бы советовал записать под виндой, линуксные утилиты в части метки на FAT когда-то крепко глючило, а как сейчас - не знаю.
Благодарю за подробные советы, но к сожалению последняя попытка с обнулением и форматированием не помогла. Я также написал в упрощённом виде свой mount - там используется одноименная системная функция. Эта функция не монтирует флеш от моей камеры. Как и я написал, проблемы возникли после обновления а именно обновления ядра. Наверно дело в системной функции mount. udisksctl возможно использует ваш подход урезания начала раздела, если есть проблемы с монтированием. С другой стороны, может дело в неправильном определении начала раздела, как вы написали.
$ udisksctl mount -b /dev/sdc1
и дело с концом. По крайней мере до фикса существующего трабла.
Aivar
$ udisksctl mount -b /dev/sdc1
и дело с концом. По крайней мере до фикса существующего трабла.
Поддерживаю. Если не нравится, куда оно монтируется - есть другой вариант, в /media. Это включается созданием
вот такого файла /etc/udev/rules.d/99-udisks2.rules
ENV{ID_FS_USAGE}=="filesystem", ENV{UDISKS_FILESYSTEM_SHARED}="1"
Подкреплю ссылкой в вику:
https://wiki.archlinux.org/index.php/Udisks#udisks2:_mount_to_.2Fmedia
 
Зарегистрироваться или войдите чтобы оставить сообщение.