Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Проблема с SD карточками
Артем
Добавлено 25.09.2009 14:25
0
Сообщение: 1
Артем
0

Регистрация: 03.09.2009
Работаю с платой SK-MAT91SAM9XE512.

Собрал дистриб на ядре 2.6.30.6 со всеми патчами (maxim, авторским патчем, патчем от sasamy на .det_pin). Настроил mdev, все вроде бы замечательно работает. Но вот возникла проблема с SD картами.

На столе сейчас лежат SD16Mb MMC512Mb SD2Gb SD4Gb и MicroSD512Mb.

На 2.6.30.6 нормально поднялись только SD16Mb MMC512Mb. Подумал что что-то недоглядел, загрузил авторскую прошивку, та же история. Собрал 2.6.31, проблема не решилась.

На столе валялась MOXA IA-240-LX тоже на ARM9, там из всего перечисленного поднялись только SD16Mb и MicroSD512Mb.

Подумал что дело в железе, мне запаяли в С12 конденсатор 0.1uF, тоже нифига не помогло.

Нормальная загрузка MMC512 :

Код
mmc0: card insert
mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 375000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 375000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
mmc0: clock 375000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD8 arg 000001aa flags 000002f5
mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD5 arg 00000000 flags 000002e1
mmc0: req failed (CMD5): -110, retrying...
mmc0: req failed (CMD5): -110, retrying...
mmc0: req failed (CMD5): -110, retrying...
mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD1 arg 00000000 flags 000000e1
mmc0: req done (CMD1): 0: 00ff8000 00000000 00000000 00000000
mmc0: clock 375000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: clock 375000Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
mmc0: req done (CMD0): 0: 00ff8000 00000000 00000000 00000000
mmc0: clock 375000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: starting CMD1 arg 40300000 flags 000000e1
mmc0: req done (CMD1): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD1 arg 40300000 flags 000000e1
mmc0: req done (CMD1): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD1 arg 40300000 flags 000000e1
mmc0: req done (CMD1): 0: 80ff8000 00000000 00000000 00000000
mmc0: starting CMD2 arg 00000000 flags 00000067
mmc0: req done (CMD2): 0: 2c000041 4620484d 5010a550 34854969
mmc0: starting CMD3 arg 00010000 flags 00000015
mmc0: req done (CMD3): 0: 00000500 4620484d 5010a550 34854969
mmc0: clock 375000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: starting CMD9 arg 00010000 flags 00000007
mmc0: req done (CMD9): 0: 905e002a 1f5983de edb707ff 96400017
mmc0: starting CMD7 arg 00010000 flags 00000015
mmc0: req done (CMD7): 0: 00000700 1f5983de edb707ff 96400017
mmc0: starting CMD8 arg 00000000 flags 000000b5
mmc0: blksz 512 blocks 1 flags 00000200 tsac 50 ms nsac 0
mmc0: req done (CMD8): 0: 00000900 00000000 00000000 00000000
mmc0: 512 bytes transferred: 0
mmc0: clock 20000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: starting CMD6 arg 03b70101 flags 0000049d
mmc0: req done (CMD6): 0: 00000800 00000000 00000000 00000000
mmc0: clock 20000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
mmc0: new MMC card at address 0001
mmc0: starting CMD16 arg 00000200 flags 00000095
mmc0: req done (CMD16): 0: 00000900 00000000 00000000 00000000
mmcblk0: mmc0:0001 AF HMP 495 MiB
mmcblk0:<7>mmc0: starting CMD18 arg 00000000 flags 000000b5
mmc0: blksz 512 blocks 8 flags 00000200 tsac 50 ms nsac 0
mmc0: CMD12 arg 00000000 flags 0000049d
mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
mmc0: 4096 bytes transferred: 0
mmc0: (CMD12): 0: 00000b00 00000000 00000000 00000000


Ненормальная загрузка SD2Gb SD4Gb MicroSD512Mb:

Код
dmesg | grep mmc0
mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 375000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 375000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
mmc0: clock 375000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD8 arg 000001aa flags 000002f5
mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD5 arg 00000000 flags 000002e1
mmc0: req failed (CMD5): -110, retrying...
mmc0: req failed (CMD5): -110, retrying...
mmc0: req failed (CMD5): -110, retrying...
mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD1 arg 00000000 flags 000000e1
mmc0: req done (CMD1): -110: 00000000 00000000 00000000 00000000
mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0


Может кто подскажет решение данной проблемы ?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 25.09.2009 15:11 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
хм.. была схожая проблема, купленные за смешные деньги SD Transcend 2Gb и 4Gb, виделись но писались с ошибками на старом ридере, напрочь не виделись на плате SK и.. без проблем работали у коллеги на встроенном в нотбук ридере. Поиск решения проблемы привел к выводу что карточки исправны, но что-то с их времянками..
Я крутил вот тут:
/include/asm/arch/at91_mci.h
вот этот параметр:
#define AT91_MCI_CLKDIV (0xff << 0) /* Clock Divider */
если не наврал (давно это было) на значение 0x30 карточки увиделись нормально..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 25.09.2009 15:57 Редактировалось 25.09.2009 15:57 Сообщение: 3
Pavel Ivanchenko
Admin
4.39

Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Попробуйте поставить подтяжки всех MCI линий на 3,3В.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 25.09.2009 19:18 Сообщение: 4
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Странно - на моей плате работают все sd и mmc карты, даже те которые не читают мои ноутбуки и кардридеры. Вариант платы - помоему самые первый который был у автора на arm9 - SK-MAT91SAM9XE512
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 26.09.2009 00:19 Редактировалось 26.09.2009 00:22 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Да вроде ничего необычного. В инете полно криков о "паленых" картах и брелках. В моем варианте, я сознательно покупал наидешевейшие карточки, зная что они вполне могут помереть при экпериментах с линуксом на SK :)
Купил, притащил в номер, сую в ридер, наливаю архив *.RAR, тестирую - битый. С обычными карточками все без проблем естесно..
Сую в SK - не видит. В логах примерно та же ерунда, как в первом сообщение. Методом "пошатывания и постукивания" ядра карточки увиделись.
На карточке наклейка в оранжевых тонах с надписью Transcend SD 2GB (4GB), если нужна фотка или CID, то в понедельник. На ценнике было написано что-то типа "40х.."
на моей плате работают все sd - и типа настройки не трогали? значит пока повезло..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.09.2009 01:05 Сообщение: 6
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Цитата
на моей плате работают все sd - и типа настройки не трогали?

открою страшную тайну - я физически не смогу проверить все sd и/или mmc карточки, поэтому могу говорить только о тех что поппали в мои лапы. Кстати - мои настройки ядра не являются тайной и опубликованы n-е количество раз на старом и возможно новом форуме.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 26.09.2009 23:55 Редактировалось 27.09.2009 00:37 Сообщение: 7
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
;) не хочу показаться занудой - не я сказал "все". Я вообще не люблю когда говорят "есть все" или "обрыл_весь_интернет" :)

"Странно - на моей плате работают все sd и mmc карты" - мы оба прекрасно понимаем, что фразу можно продолжить ".., которые мне попадались или есть у меня.."
И Ваши сообщения и публикации я с интересом читаю, тут, на электрониксе и at91..

ЗЫ Кстати, есть еще одно слово - "никогда". Я к тому, что когда-нить попадется SD такого типа.. "и на старуху бывает.." :)))

Цитата
Цитата
на моей плате работают все sd - и типа настройки не трогали?

открою страшную тайну - я физически не смогу проверить все

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Vadim
Добавлено 29.09.2009 21:44 Сообщение: 8
Vadim
5

Пункты: 1032
Регистрация: 30.05.2009
Пол: Мужчина
Граждане, у меня были проблемы с карточкми (правда не такие, как в первом посте) и я занимался подбором карт, которые работают. В конце концов выяснилось, что все карты нормально работают с платой при питании платы от "нормальных" 5 В.
Ранее я запитывал от порта компьютера USB (перемычку паял на плате).
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 29.09.2009 22:15 Сообщение: 9
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
НУ это опять же на "старом" форуме обсуждали. Вроде у Александра (sasami) были глюки - стартовала и потом глючила. АРМ при запуске кушает миллиамперы, но потребление резко вырастает после поднятия PLL и переферии, а уж если довесить несколько USB устройств, то хилым питателям (100-200 мА) заведомо схудит.
Я рассматривал вариант запитки от USB-порта. Отказался - в основном работаю на нотбуке, и вероятность пожечь порт весьма ненулевая. Поэтому сначала кормил от БП от внешнего ZIP драйва (честный 1А) и разъем совместимый. А сейчас использую БП от IQue (КПК Garmin) - он легче раза в три :)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Артем
Добавлено 30.09.2009 12:42 Сообщение: 10
Артем
0

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

ЗЫ Подбор карт - это явно не выход.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux