Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Проблемы в работе с картой памяти


Автор: luxadevianta 12.8.2011, 18:25
Пользуюсь дистрибутивом openSUSE 11.4.
В ноутбуке есть кардридер, но доселе я вставлял туда карты памяти только с целью прочитать данные с них, но вот сегодня возникла необходимость записать на карточку microSD несколько файлов. Монтировалась она без проблем через имевшийся GUI. В менеджере файлов я закинул туда нужную папку, после чего тем же GUI решил размонтировать. Программа подумала и  выдала сообщение о невозможности размонтирования, но показывала уже носитель как размонтированный. После монтирования скопированных файлов не было.
Я подумал о возможности повторения операции, размонтировав носитель через консоль под рутом, но решил что надёжнее будет перезагрузить машину после копирования файлов. Так и решил сделать. Желаемый результат (корректное размонтирование и наличие этих файлов на носителе) был достигнут, но пока система выгружалась (видимо как раз шло размонтирование всех подключённых файловых систем), мы успели попить чаю, выйти из здания покурить и вернуться. Видимо гуёвина просто не предусматривала, что система может так долго размонтировывать файловую систему.
Скажите, кто сталкивался с такой проблемой и с чем это может быть связанно.
Карта памяти была отформатирована в FAT32, но с такими же флэшками система работает нормально, ровно как и со съёмными жёсткими дисками, имеющими различные файловые системы.

Автор: bilbobagginz 12.8.2011, 21:11
скорее всего проблема в несовместимости:
ядра+модели кардридера+карты.

обычно лечится более новым ядром, или передачей конфигурационных параметров модулю ядра, оперирующему с кардридером.


Автор: luxadevianta 13.8.2011, 00:49
ядро версии 2.6.37.6-0.7-desktop, не сильно старое. Ожидал отсутствие таких проблем с железом. 
А вот по поводу второго пункта можно ли подробнее? Не столь грамотен.

Автор: bilbobagginz 13.8.2011, 01:37
Код

modinfo <module_name>

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

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

Автор: luxadevianta 13.8.2011, 14:41
а как называется модуль, который читает карту памяти?

Автор: bilbobagginz 13.8.2011, 20:36
Цитата(luxadevianta @  13.8.2011,  13:41 Найти цитируемый пост)
а как называется модуль, который читает карту памяти? 

есть модуль SD карт, под названием sdhc
нужно понять какой модуль железа им пользуется.
у меня в ноуте напр. адаптер ricoh.
находится через:
Код

user@notebook:~/work/py$ lspci  | grep -i sd
02:01.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)

потом методом "научного тыка" находим драйвер:
Код

sudo modprobe -l | grep -i mmc | grep -i sd
kernel/drivers/mmc/card/sdio_uart.ko
kernel/drivers/mmc/host/sdhci.ko
kernel/drivers/mmc/host/sdhci-pci.ko
kernel/drivers/mmc/host/wbsd.ko
kernel/drivers/mmc/host/tifm_sd.ko
kernel/drivers/mmc/host/sdricoh_cs.ko
kernel/drivers/mmc/host/via-sdmmc.ko
kernel/drivers/mmc/host/sdhci-platform.ko

потом запускаем мануал драйвера:
Код

modinfo sdricoh_cs
filename:       /lib/modules/2.6.38-10-generic/kernel/drivers/mmc/host/sdricoh_cs.ko
license:        GPL
description:    Ricoh PCMCIA Secure Digital Interface driver
author:         Sascha Sommer <[email protected]>
srcversion:     24A6C77EB1CDB1BF56F194A
alias:          pcmcia:m*c*f*fn*pfn*paD9F522EDpbACE80909pc*pd*
alias:          pcmcia:m*c*f*fn*pfn*paD9F522EDpbC3901202pc*pd*
depends:        pcmcia
vermagic:       2.6.38-10-generic SMP mod_unload modversions
parm:           switchlocked:Switch the cards locked status.Use this when unlocked cards are shown readonly (default 0) (uint)

parm:
это и есть параметр. т.е. если загрузить:
Код

modprobe sdricoh_cs switchlocked=1

Автор: luxadevianta 14.8.2011, 01:26
lspci не выдаёт мне среди устройств кардридера

Автор: bilbobagginz 14.8.2011, 13:14
Цитата(luxadevianta @  14.8.2011,  00:26 Найти цитируемый пост)
lspci не выдаёт мне среди устройств кардридера 

а был ли мальчик ? какой чипсет ?

Автор: luxadevianta 14.8.2011, 13:18
кардридер и был и есть. Даже когда вставляешь  туда карточку, он её видит. А как узнать, какой чипсет? Я пока ещё мало что умею в консоли.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)