Карта памяти формата SD, vfat, ошибка работы с файловой системой

Форматировал я эту карту, не раз.
Стандартно: mkfs -t fvat /dev/sdN1.
От способа подключения ошибка не зависит, потому оборудование не пишу.

Первый шаг попытки задания метки файловой системы (для vfat, чуть попозжее попробую переформатировать и проверить для ext2) показывает следующую ошибку.

mcd g:
Total number of sectors (1990406) not a multiple of sectors per track (61)!
Add mtools_skip_check=1 to your .mtoolsrc file to skip this test

Бубунтологи утверждают, что задание цитированного параметра помогает "решить" проблему, но это же не наш путь :)
UPDATE: ССЗБ! Тов. гугл, впрочем, тоже хорош. Тиражирует... не лучшие решения.
Правильно будет: # dosfslabel /dev/sdb1 test_sdcard
Ошибки не выдаёт, дальнейшие исследования потом.

equery b /usr/sbin/dosfslabel
 * Searching for /usr/sbin/dosfslabel ... 
sys-fs/dosfstools-3.0.9 (/usr/sbin/dosfslabel)

Собственно вопрос: я что-то забыл (например в ядре) или стоит наведаться в багзиллу?

ЗЫ: На автомате оно упорно монтируется в read-only, ручками --- read-write.

ЗЗЫ: По крайней мере по моим наблюдениям проблема обладает свойством воспроизводимости: на двух наличных картах ошибка идентична (различаются только цифирки), помню (но тут не уверен, доказать не берусь) подобную же проблему с третьей картой данного формата.

Может у вас уже карта

Может у вас уже карта "сыпется", сколько раз вы её уже форматировали, и как интенсивно на неё писалась информация (число циклов перезаписи файлов) ?

.

kostik87 написал(а):
Может у вас уже карта "сыпется", сколько раз вы её уже форматировали, и как интенсивно на неё писалась информация (число циклов перезаписи файлов) ?

Замечание справделивое.
И хоть в данном случае я склонен его отвергнуть (писалось не то, чтобы активно, число форматирований можно сосчитать пальцами одной руки), тянет за собой два вопроса:
1. Как оно выражается (симптомы)?
2. Каким образом можно проверить/отследить?

:wq
--
Live free or die

Выражается как раз частичным

Выражается как раз частичным (запрет записи) или полным (чтение и запись) отказом доступа к памяти. Когда число сбойных ячеек памяти высоко контроллер карты блокирует доступ к памяти карты.

Более детально можно определить только скачав программное обеспечение для тестирования памяти и провести низкоуровневое тестирование карты, при котором будет проводиться тестирование каждой ячейки памяти на запись и чтение и запись новой служебной информации для контроллера карты памяти. Для каждой модели контроллера, именно контроллера, а не карты памяти нужно свое программное обеспечение.

.

kostik87 написал(а):
Выражается как раз частичным (запрет записи) или полным (чтение и запись) отказом доступа к памяти. Когда число сбойных ячеек памяти высоко контроллер карты блокирует доступ к памяти карты.

Можно ли:
1. Пример ошибки;
2. Поподробнее о контроллере.

kostik87 написал(а):
Более детально можно определить только скачав программное обеспечение для тестирования памяти и провести низкоуровневое тестирование карты, при котором будет проводиться тестирование каждой ячейки памяти на запись и чтение и запись новой служебной информации для контроллера карты памяти. Для каждой модели контроллера, именно контроллера, а не карты памяти нужно свое программное обеспечение.

Пример из portage (или оверлейчика) привести можешь?

:wq
--
Live free or die

Каждая флеш карта и USB флеш

Каждая флеш карта и USB флеш драйв состоит собственно из микросхемы памяти и собственно контроллера, который управляет записью в память "сырых" данных, если число сбоев в микросхеме памяти высоко - то контроллер блокирует сначала доступ на запись, затем полностью.

Утилит под linux не знаю, вот сайт http://flashboot.ru нём можете отыскать модель вашего контроллера и диагностическую утилиту для него, вот на этой странице: http://flashboot.ru/iflash.html с помощью кода производителя и модели оборудования, но у одной модели в разных партиях могут стоять разные типы контроллеров.

VID и PID можно узнать из вывода lsusb.

Затем скачиваете утилиты и запускаете диагностику, но в зависимости от объёма карты это может занять длительное время от нескольких часов до суток, т.к. проводится несколько циклов чтения \ записи разными блоками данных каждой ячейки памяти.

.

Да, так вот: есть у меня именно USB Flash (не SD).
И на неё писалось/стиралось явно больше.
И с ней подобных ошибок не наблюдалось.
Склонен полагать device (SD или карты памяти в принципе) или ФС (vfat) специфичную ошибку.
Первым делом полагаю переформатировать устройство (например в udf или лучше в ext2) и посмотреть что получится.

Также весьма интересно было бы посмотреть на ошибку, выдаваемую гарантированно убитой флешкой (лучше бы конечно SD-картой) при выполнении команды аналогичной приведённой в стартовом постинге.

:wq
--
Live free or die

Что делать с SD картой там же

Что делать с SD картой там же будут видны VID и PID картридера ?

помню (но тут не уверен, доказать не берусь)

правильно ли я понял?
проблема в том, что устройство монтируется в ro, а потом в rw работает без проблем?

1. что говорит fdisk -l /dev/устройство ?
2. что говорит kernel msg при втыкании девайса?
3. попробовал бы отформатировать mkfs.vfat (msdosfstools)

может тут банально вмешивается udev?

при определенных настройках ядра и возможностях контроллера флэшки система получает информацию о том, что устройство можно монтировать разными способами.

в частности, контролер может "сказать" что "я" raw-устройство и\или CD-ROM, а udev, как частность, монтирует неизвестный CD'юк в режиме ro

смотреть udev-полиси и сообщения кернела

у меня была такая фишка с одной из флэшек (давно это было и не помню где эта флэшка нынче) - когда доступ к ней можно было получить по нескольким путям

и, имхо, если флэшка отформатирована одним сплошным разделом (без MBR), то высока вероятность трактовать её как raw-девайс

mount после автомонтирования устройства не показывает ли каких-либо "других" устройств ?

что-то добрый я сегодня ....

/

leryc написал(а):
правильно ли я понял?
проблема в том, что устройство монтируется в ro, а потом в rw работает без проблем?

Наверное я недостаточно чётко выразился.
История началась с того, что я завёл себе новый компьютер. С card-reader'ом на месте FDD.
И решил поиграться с настройкой автомонтирования (благо мотивация нарисовалась).
И обнаружил, что:
1. Воткнутая непосредственно в card-reader SD-карта монтируется в read-only. Но.
2. Если её воткнуть не в SD-порт устройства, а в USB (предварительно засунув в переходник SD -> USB), то она монтируется как и положено в read-write. Аналогичный результат при монтировании ручками.
3. И наконец главное: при попытке задания имени (LABEL) файловой системы --- цитированная в стартовом сообщении темы ошибка (данную ошибку наблюдал на двух устройствах, если считать с автомонтированием в read-only, то таких устройств три штуки). Причём данная ошибка (задания имени файловой системы) от способа подключения (напрямую к SD-порту card-reader'а или через внешний переходник к USB-порту) не зависит.
Дальнейшие ответы (по крайней мере сейчас) для подключения карты через внешний переходник к USB-порту.
Если необходимо, позже могу повторить для подключения напрямую. Но с учётом того, что воспроизводимость первой цитированной ошибки от этого не зависит, полагаю излишним.

leryc написал(а):
1. что говорит fdisk -l /dev/устройство ?

Диск /dev/sdb: 1995 МБ, 1995440128 байт
39 heads, 38 sectors/track, 2629 cylinders, всего 3897344 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

  Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1             131     3897343     1948606+   6  FAT16
leryc написал(а):
2. что говорит kernel msg при втыкании девайса?

Ну, что совсем всё непосредственно при втыкании не подпишусь, но всё про него...

usb 1-2: new high speed USB device number 2 using ehci_hcd
Initializing USB Mass Storage driver...
usb-storage 1-2:1.0: Quirks match for vid 090c pid 6000: 100000
scsi4 : usb-storage 1-2:1.0
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
scsi 4:0:0:0: Direct-Access     Generic                   6000 PQ: 0 ANSI: 0 CCS
sd 4:0:0:0: Attached scsi generic sg2 type 0
sd 4:0:0:0: [sdb] 3897344 512-byte logical blocks: (1.99 GB/1.85 GiB)
sd 4:0:0:0: [sdb] Write Protect is off
sd 4:0:0:0: [sdb] Mode Sense: 4b 00 00 08
sd 4:0:0:0: [sdb] No Caching mode page present
sd 4:0:0:0: [sdb] Assuming drive cache: write through
sd 4:0:0:0: [sdb] No Caching mode page present
sd 4:0:0:0: [sdb] Assuming drive cache: write through
 sdb: sdb1
sd 4:0:0:0: [sdb] No Caching mode page present
sd 4:0:0:0: [sdb] Assuming drive cache: write through
sd 4:0:0:0: [sdb] Attached SCSI removable disk
leryc написал(а):
3. попробовал бы отформатировать mkfs.vfat (msdosfstools)

Пробовал.
Результат тот же.

leryc написал(а):
может тут банально вмешивается udev?

Однозначно вмешивается.
Но склонен считать, что здесь его влияние вторично.

leryc написал(а):
и, имхо, если флэшка отформатирована одним сплошным разделом (без MBR), то высока вероятность трактовать её как raw-девайс

Кстати, интересный вопрос, даже два :)
1. На фига даже не флешке, а карте памяти MBR?
2. Как индивидуально меня опции монтирования (для случая автомонтирования).

leryc написал(а):
mount после автомонтирования устройства не показывает ли каких-либо "других" устройств ?

Для "ручного" монтирования (а ошибка свойственная устройству, потому аналогия корректна) --- ничего лишнего.
Думаю расхожую карту переформатировать в udf и посмотреть что будет в этом случае...

:wq
--
Live free or die

Предварительный итог

*в предположении использования всё же FAT*

После записи метки (имени собственного) файловой системы (правильным образом, с /usr/sbin/dosfslabel оно работает, тов. гуглю отдельная благодарность за тиражирование типовых ошибок) тестовая карта памяти смонтировалась как и положено (в read-write).
Вывод: mlabel (вместе с sys-fs/mtools фтопку (под маску)).
Утилиты из штатного комплекта sys-fs/dosfstools достаточно.

Закрывать тему буду после оформления бага.
Отмечу решённой не ранее исправления бага.

:wq
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".