Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Старый форум » SK-MAT91SAM9XE512
Проблема монтирования MMC
SVadim (Guest)
Добавлено 30.11.1999 00:00 Редактировалось 20.03.2009 12:18
0
Сообщение: 1
SVadim (Guest)

Topic opened
Спуститься к концу Подняться к началу
SVadim (Guest)
Добавлено 06.12.2008 13:02 Редактировалось 06.12.2008 13:02 Сообщение: 2
SVadim (Guest)

Если карточку вставить после загрузки контроллера и вручную примонтировать, то все хорошо.
А если контроллер загружается с уже вставленной карточкой, то она не монтируется автоматически и после вручную не удается её примонтировать:

Freeing init memory: 108K
umount: Couldn't umount /mnt/mmc: Invalid argument
rmmod: at91_mci: No such file or directory
mmc0: new MMC card at address 0001
mmcblk0: mmc0:0001 000000 1003520KiB
mmcblk0:<7>mmc0: starting CMD18 arg 00000000 flags 000000b5
p1
mount: Mounting /dev/mmc1 on /mnt/mmc failed: No such file or directory

...

[@SK-MAT91SAM9 /]$mount_mmc
umount: Couldn't umount /mnt/mmc: Invalid argument
mmc0: card 0001 removed
mmc0: unrecognised EXT_CSD structure version 255
mmc0: error -22 whilst initialising MMC card
mount: Mounting /dev/mmc1 on /mnt/mmc failed: No such device or address

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно SVadim 06.12.2008 г. в 13:46:51
Спуститься к концу Подняться к началу
rw9uao (Guest)
Добавлено 06.12.2008 13:22 Редактировалось 06.12.2008 13:22 Сообщение: 3
rw9uao (Guest)

а она постоянно так себя ведет или когда нормально, а когда криво?
Спуститься к концу Подняться к началу
SVadim (Guest)
Добавлено 06.12.2008 13:26 Редактировалось 06.12.2008 13:26 Сообщение: 4
SVadim (Guest)

Всегда криво, причем, если при вставленной карточке нажать кнопочку reset, то ошибка при автомонтировании другая:

Freeing init memory: 108K
umount: Couldn't umount /mnt/mmc: Invalid argument
rmmod: at91_mci: No such file or directory
mmc0: unrecognised EXT_CSD structure version 255
mmc0: error -22 whilst initialising MMC card
mount: Mounting /dev/mmc1 on /mnt/mmc failed: No such file or directory

А если питание подать при вставленной карте, то ошибка такая, как в первом моем сообщении.
Спуститься к концу Подняться к началу
SVadim (Guest)
Добавлено 06.12.2008 13:31 Редактировалось 06.12.2008 13:31 Сообщение: 5
SVadim (Guest)

Еще интересно, если после загрузки контроллера с неуспешным автомонтированием, карточку вынуть, затем вставить, то её можно примонтировать вручную:

BusyBox v1.1.2 (2008.11.04-19:11+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

[@SK-MAT91SAM9 /]$mount_mmc
umount: Couldn't umount /mnt/mmc: Invalid argument
mmc0: unrecognised EXT_CSD structure version 255
mmc0: error -22 whilst initialising MMC card

mount: Mounting /dev/mmc1 on /mnt/mmc failed: No such device or address
[@SK-MAT91SAM9 /]$

Вынимаю карту и тут же вставляю обратно

[@SK-MAT91SAM9 /]$mount_mmc
umount: Couldn't umount /mnt/mmc: Invalid argument
mmc0: new MMC card at address 0001
mmcblk0: mmc0:0001 000000 1003520KiB
mmcblk0:<7>mmc0: starting CMD18 arg 00000000 flags 000000b5
p1
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
[@SK-MAT91SAM9 /]$
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 06.12.2008 13:51 Редактировалось 06.12.2008 13:51 Сообщение: 6
sasamy (Guest)

Там все проблемы связаны с драйвером. Чтобы карточка правильно работала после каждого изъятия ее из коннектора нужно модуль at91_mci выгружать а потом снова подгружать и естественно перед изъятием карточки нужно ее отмонтировать если она была смонтирована. В скрипте mount_mmc именно это и прописано.

Код
bash-3.2# cat mount_mmc
#!/bin/ash
umount /mnt/mmc
rmmod at91_mci <---
insmod /modules/at91_mci.ko <---
sleep 5
mount /dev/mmc1 /mnt/mmc -o sync


Похоже модуль некорректно работает с инициализацией карточек.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно sasamy 06.12.2008 г. в 13:56:25
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 06.12.2008 16:04 Редактировалось 06.12.2008 16:04 Сообщение: 7
starterkit (Guest)

Есть еще момент ...
У меня две карточки, с которыми тестирую перед отправкой, одна "обычная" другая высокоскоростная (Х150), "обычная" монтируется всегда без проблем, высокоскоростная примерно 50/50 (причем замечал шаманство, если сразу монтировать высокоскоростную, завершается ошибкой, а если в ручную монтировать обычную а потом высокоскоростную, тогда все ок).

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно starterkit 06.12.2008 г. в 16:08:23
Спуститься к концу Подняться к началу
SVadim (Guest)
Добавлено 06.12.2008 16:14 Редактировалось 06.12.2008 16:14 Сообщение: 8
SVadim (Guest)

Проблему с автомонтированием после подачи питания я решил - в образе RAM-диска, в /etc/rc.d монтирование MMC я перенес и поставил ниже - перед строкой #Load modules.
Из трех загрузок - все три завершились успешным монтированием MMC. Размер карты 1Gb и не знаю какого она типа.

Осталась проблема автомонтирования после нажатия на кнопку reset.

Еще, я время задержки sleep в скрипте mount_mmc уменьшил с 5 до 3.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно SVadim 06.12.2008 г. в 16:15:48
Спуститься к концу Подняться к началу
SVadim (Guest)
Добавлено 07.12.2008 08:26 Редактировалось 07.12.2008 08:26 Сообщение: 9
SVadim (Guest)

После обновления ядра до 2.6.27.8 и соответственно модуля at91_mci.ko, ошибка после reset сменилась на такую:

mmc0: error -84 whilst initialising MMC card

Действительно есть проблема с инициализацией некоторых карточек после reset. Проблемная карта фирмы PQI MMC mobile 1GB. Я попробовал другую карту - microSD Kingston 2GB с переходником на SD - все отлично и после reset.
Спуститься к концу Подняться к началу
MiniMax (Guest)
Добавлено 20.03.2009 12:18 Редактировалось 20.03.2009 12:18 Сообщение: 10
MiniMax (Guest)

MicroSD находится и монтируется без проблем, если драйвера включены в состав ядра. Когда делаю 3 модуля внешними
mmc_core.ko
mmc_block.ko
at91_mci.ko

То
insmod at91_mci
возвращает
insmod: 'at91_mci.ko': No such device

depmod -r сделан

depmod -n показывает его

mmc_core.ko symbol:mmc_resume_host symbol:mmc_suspend_host symbol:mmc_detect_change symbol:mmc_release_host symbol:__mmc_claim_host symbol:mmc_set_data_timeout symbol:mmc_wait_for_cmd symbol:mmc_wait_for_req symbol:mmc_request_done symbol:mmc_unregister_driver symbol:mmc_register_driver symbol:mmc_free_host symbol:mmc_remove_host symbol:mmc_add_host symbol:mmc_alloc_host symbol:mmc_wait_for_app_cmd symbol:sdio_unregister_driver symbol:sdio_register_driver symbol:sdio_f0_writeb symbol:sdio_f0_readb symbol:sdio_writel symbol:sdio_readl symbol:sdio_writew symbol:sdio_readw symbol:sdio_writesb symbol:sdio_readsb symbol:sdio_memcpy_toio symbol:sdio_memcpy_fromio symbol:sdio_writeb symbol:sdio_readb symbol:sdio_set_block_size symbol:sdio_disable_func symbol:sdio_enable_func symbol:sdio_release_host symbol:sdio_claim_host symbol:sdio_release_irq symbol:sdio_claim_irq

mmc_block.ko symbol:mmc_cleanup_queue
mmc_core

at91_mci.ko
mmc_core


В чем может быть проблема ?

[root@GadgetPC 2.6.24]$lsmod
mmc_block 9796 0 - Live 0xbf0ca000
mmc_core 45748 1 mmc_block, Live 0xbf0bd000
ftdi_sio 31688 0 - Live 0xbf0b4000
usbserial 26568 1 ftdi_sio, Live 0xbf0ac000
gspca 671908 0 - Live 0xbf006000
macb 10912 0 - Live 0xbf002000
davicom 2400 0 - Live 0xbf000000
[root@GadgetPC 2.6.24]$insmod at91_mci
insmod: 'at91_mci.ko': No such device
[root@GadgetPC 2.6.24]$

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно MiniMax 20.03.2009 г. в 12:19:51
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Старый форум » SK-MAT91SAM9XE512