Карта памяти формата 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.
ЗЗЫ: По крайней мере по моим наблюдениям проблема обладает свойством воспроизводимости: на двух наличных картах ошибка идентична (различаются только цифирки), помню (но тут не уверен, доказать не берусь) подобную же проблему с третьей картой данного формата.
- Для комментирования войдите или зарегистрируйтесь
Может у вас уже карта
Может у вас уже карта "сыпется", сколько раз вы её уже форматировали, и как интенсивно на неё писалась информация (число циклов перезаписи файлов) ?
.
Замечание справделивое.
И хоть в данном случае я склонен его отвергнуть (писалось не то, чтобы активно, число форматирований можно сосчитать пальцами одной руки), тянет за собой два вопроса:
1. Как оно выражается (симптомы)?
2. Каким образом можно проверить/отследить?
:wq
--
Live free or die
Выражается как раз частичным
Выражается как раз частичным (запрет записи) или полным (чтение и запись) отказом доступа к памяти. Когда число сбойных ячеек памяти высоко контроллер карты блокирует доступ к памяти карты.
Более детально можно определить только скачав программное обеспечение для тестирования памяти и провести низкоуровневое тестирование карты, при котором будет проводиться тестирование каждой ячейки памяти на запись и чтение и запись новой служебной информации для контроллера карты памяти. Для каждой модели контроллера, именно контроллера, а не карты памяти нужно свое программное обеспечение.
.
Можно ли:
1. Пример ошибки;
2. Поподробнее о контроллере.
Пример из 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 после автомонтирования устройства не показывает ли каких-либо "других" устройств ?
что-то добрый я сегодня ....
/
Наверное я недостаточно чётко выразился.
История началась с того, что я завёл себе новый компьютер. С 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-порту.
Если необходимо, позже могу повторить для подключения напрямую. Но с учётом того, что воспроизводимость первой цитированной ошибки от этого не зависит, полагаю излишним.
Ну, что совсем всё непосредственно при втыкании не подпишусь, но всё про него...
Пробовал.
Результат тот же.
Однозначно вмешивается.
Но склонен считать, что здесь его влияние вторично.
Кстати, интересный вопрос, даже два :)
1. На фига даже не флешке, а карте памяти MBR?
2. Как индивидуально меня опции монтирования (для случая автомонтирования).
Для "ручного" монтирования (а ошибка свойственная устройству, потому аналогия корректна) --- ничего лишнего.
Думаю расхожую карту переформатировать в udf и посмотреть что будет в этом случае...
:wq
--
Live free or die
Предварительный итог
*в предположении использования всё же FAT*
После записи метки (имени собственного) файловой системы (правильным образом, с
/usr/sbin/dosfslabel
оно работает, тов. гуглю отдельная благодарность за тиражирование типовых ошибок) тестовая карта памяти смонтировалась как и положено (в read-write).Вывод:
mlabel
(вместе сsys-fs/mtools
фтопку (под маску)).Утилиты из штатного комплекта
sys-fs/dosfstools
достаточно.Закрывать тему буду после оформления бага.
Отмечу решённой не ранее исправления бага.
:wq
--
Live free or die