|
SK-AT91SAM9260 и SD карта, не видит карту... |
|
|
|
Jul 19 2012, 13:18
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
Доброго времени суток, уважаемые форумчане! В общем проблемма следующая: не могу подцепить корневую файловую системму на SD карте (точнее сама карточка не видится и всё), вроде бы всё что полагается включил, файл board_sam9260ek.c поправил, всёравно карточка не видится. Код Kernel command line: mem=32M console=ttyS0,9600 root=/dev/mmcblk0p1 rw В файле board_sam9260ek.c исправил: static struct at91_mmc_data __initdata ek_mmc_data = { .slot_b = 0, .wire4 = 1, .det_pin = AT91_PIN_PA4, .wp_pin = -EINVAL, .vcc_pin = -EINVAL, }; Часть конфига ядра: Код # Non-8250 serial port support # CONFIG_SERIAL_ATMEL=y CONFIG_SERIAL_ATMEL_CONSOLE=y CONFIG_SERIAL_ATMEL_PDC=y # CONFIG_SERIAL_ATMEL_TTYAT is not set # CONFIG_SERIAL_MAX3100 is not set # CONFIG_SERIAL_MAX3107 is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_TIMBERDALE is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_IFX6X60 is not set # CONFIG_SERIAL_XILINX_PS_UART is not set # CONFIG_HVC_DCC is not set # CONFIG_IPMI_HANDLER is not set # CONFIG_HW_RANDOM is not set # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set # CONFIG_RAMOOPS is not set # CONFIG_I2C is not set CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y
# # SPI Master Controller Drivers # # CONFIG_SPI_ALTERA is not set CONFIG_SPI_ATMEL=y # CONFIG_SPI_BITBANG is not set # CONFIG_SPI_GPIO is not set # CONFIG_SPI_OC_TINY is not set # CONFIG_SPI_PXA2XX_PCI is not set # CONFIG_SPI_XILINX is not set # CONFIG_SPI_DESIGNWARE is not set
# # OTG and related infrastructure # # CONFIG_USB_GPIO_VBUS is not set # CONFIG_USB_ULPI is not set # CONFIG_NOP_USB_XCEIV is not set CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_UNSAFE_RESUME is not set # CONFIG_MMC_CLKGATE is not set
# # MMC/SD/SDIO Card Drivers # CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_BLOCK_BOUNCE=y # CONFIG_SDIO_UART is not set # CONFIG_MMC_TEST is not set
# # MMC/SD/SDIO Host Controller Drivers # CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y # CONFIG_MMC_SDHCI_PXAV3 is not set # CONFIG_MMC_SDHCI_PXAV2 is not set CONFIG_MMC_AT91=y # CONFIG_MMC_ATMELMCI is not set CONFIG_MMC_SPI=y # CONFIG_MMC_DW is not set # CONFIG_MMC_VUB300 is not set CONFIG_MMC_USHC=y # CONFIG_MEMSTICK is not set # CONFIG_NEW_LEDS is not set # CONFIG_ACCESSIBILITY is not set CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set # CONFIG_UIO is not set Лог загрузки выглядит следующим образом: Код ...... VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0): error -6 Please append a correct "root=" boot option; here are the available partitions: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ....... Возможно чтото ещё в конфиге не включил, но что? Сталкивался ли кто-нибудь с подобной проблеммой? (карточка MicroSDHC 4Gb 10 класс, стоковая прошивка её видит) Ядро версии 3.4.4
Сообщение отредактировал rtcveel - Jul 19 2012, 16:07
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 19)
|
Jul 20 2012, 04:00
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
заметил особенность, что если передёрнуть карту памяти после соощения обшибке, то выводится сообщение: Код mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz Synopsys Designware Multimedia Card Interface Driver VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0): error -6 Please append a correct "root=" boot option; here are the available partitions: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [<c001289c>] (unwind_backtrace+0x0/0xe0) from [<c019e944>] (panic+0x6c/0x1ac) [<c019e944>] (panic+0x6c/0x1ac) from [<c0214d50>] (mount_block_root+0x238/0x288) [<c0214d50>] (mount_block_root+0x238/0x288) from [<c021504c>] (prepare_namespace+0x154/0x1a8)
[<c021504c>] (prepare_namespace+0x154/0x1a8) from [<c02149d8>] (kernel_init+0x168/0x1a4) [<c02149d8>] (kernel_init+0x168/0x1a4) from [<c000edfc>] (kernel_thread_exit+0x0/0x8)
mmc0: card remove ****** Resetting SD-card bus width ****** mmc0: card insert следовательно, я так понимаю, драйвер работает... такое чувство, что системма не знает устройство mmcblk0p1 или карта не определяется(что скорее всего и есть)...
Сообщение отредактировал rtcveel - Jul 20 2012, 06:10
|
|
|
|
|
Jul 20 2012, 09:02
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
Цитата CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SPI=y CONFIG_MMC_USHC=y не помогло. Изходя из этой строчки: Код mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz я предполагаю, что карточка не видится ядром, это может быть или косяк ядра или косяк конфига. ещё вычитал что возможно необходимо допаять поддтяжи на плату здесь: http://www.starterkit.ru/html/index.php?na...mp;id=8039#8040 Ещё интересно корректно ли запускается служба ММС. Кроме выше приведёной строки в логе загрузки про ммс больше ничего нет. Ладн пойду паять
|
|
|
|
|
Jul 20 2012, 10:00
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
пайка не понадабилась, оказалось в моей версии платы данные резисторы есть. хотя на схеме, выложенной на сайте, их нет...
|
|
|
|
|
Jul 20 2012, 11:48
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
ядро с сайта запустило службу ММС и флешку прочитало, вот лог: Код ........ Kernel command line: console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2 ......... mmc0: host does not support reading read-only switch. Assuming write-enable. mmc0: new SDHC card at address b368 mmcblk0: mmc0:b368 USD 3941376KiB mmcblk0: p1 ........ VFS: Cannot open root device "mtdblock0" or unknown-block(0,0) Please append a correct "root=" boot option; here are the available partitions: b300 3941376 mmcblk0 driver: mmcblk b301 3937280 mmcblk0p1 ........ пробовал собрать ядро версии 2.6.35.13 как в http://starterkit.ru/html/index.php?name=f...=9300&num=2но тоже не помогло... следовательно скорее всего конфиг...
Сообщение отредактировал rtcveel - Jul 20 2012, 12:13
|
|
|
|
|
Jul 20 2012, 14:45
|

Местный
  
Группа: Свой
Сообщений: 290
Регистрация: 17-08-08
Из: Чернигов
Пользователь №: 39 647

|
Конфиг ядра, которое успешно стартонуло можно посмотреть в файле Код /proc/config.gz
|
|
|
|
|
Jul 21 2012, 08:07
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
чтото не получается... возможно он не включён в конфиге. вообще ситуация схожая с темой http://starterkit.ru/html/index.php?name=f...=9300&num=1 почемуто не запускается драйвер MMC, только решение указанное там не помогает, пробовал даже версию 2.6.24 собирать... чтото гдето я пропускаю, буду дальше копать...
|
|
|
|
|
Jul 22 2012, 10:24
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
залил ядро находящееся в архиве - тоже самое,про ммс в логе ни слова. Попробую пересобрать, конечно, но незнаю выйдет ли чтонибудь из этого  уже себе весь мозг проел  создам-ка тему ещё на стартеркитовском форуме)
Сообщение отредактировал rtcveel - Jul 22 2012, 10:25
|
|
|
|
|
Jul 22 2012, 13:25
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
пробовал, при rootdelay тожесамое, при rootwait всё висит . выложили конфиг на форуме стартеркита, попробую его. если подойдёт залью сюда.
Сообщение отредактировал rtcveel - Jul 22 2012, 13:26
|
|
|
|
|
Jul 23 2012, 03:51
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
rootwait помог оживить конфиг, которым со мной любезно поделились на форуме стартеркита странно, что на мои конфиги он до этого такогоже действия не произвёл  попробую запилить версию для 3.4.4 по его примеру. прикрепляю конфиг к ядру 3.0.3. ещё попутно обнаружил у себя нехватку некоторых пакетов указанных на http://dmilvdv.narod.ru/ но вроде бы и без них всё собиралось, недочёт устранил.
Сообщение отредактировал rtcveel - Jul 23 2012, 03:53
|
|
|
|
|
Jul 23 2012, 11:59
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
3.4.4 запилил, всё работает!) Большое спасибо второй раз xor.kruger за поддержание беседы (в этой и предыдущей моей ветке). Проблемма также нашлась в отсутствии rootwait в коде u-boot'a, поэтому старые ядра, которые не предусматривают принудительное использование зашитых в них параметров загрузки, брали код из u-boot'a и до чтения флешки дело не доходило. както-так
|
|
|
|
|
Oct 23 2012, 07:37
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 28-03-12
Пользователь №: 71 060

|
Цитата(rtcveel @ Jul 23 2012, 15:59)  3.4.4 запилил, всё работает!) Большое спасибо второй раз xor.kruger за поддержание беседы (в этой и предыдущей моей ветке). Проблемма также нашлась в отсутствии rootwait в коде u-boot'a, поэтому старые ядра, которые не предусматривают принудительное использование зашитых в них параметров загрузки, брали код из u-boot'a и до чтения флешки дело не доходило. както-так  А что в 3.4.4 пилил? Я пробую 3.6.3 попилить - ничего не выходит Пока задача просто загрузить по tftp(в UBOOT run tftp_boot) и увидеть mmc Сейчас пока сообщения - at91_mci at91_mci: probe failed, err -16 at91_mci: probe of at91_mci failed with error -16 Железо работает 2.6.33.20 грузится без проблем В файле описания платы поправил static struct at91_mmc_data __initdata ek_mmc_data = { //pi .slot_b = 1, .slot_b = 0, .wire4 = 1, .det_pin = AT91_PIN_PA4, // .det_pin = ... not connected // .wp_pin = ... not connected // .vcc_pin = ... not connected };
|
|
|
|
|
Oct 24 2012, 16:22
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
Цитата(und68 @ Oct 23 2012, 11:37)  Сейчас пока сообщения - at91_mci at91_mci: probe failed, err -16 at91_mci: probe of at91_mci failed with error -16 Подобных сообщений у меня не было, драйвер инициализировался без проблемм. У меня была проблемма с коммандной строкой передаваемой U-boot-ом ядру. Я по неопытности не учёл что в если в конфиге ядра не ставить галку "принудительно использовать следущие параметры коммандной строки" то оно их берёт с U-bootа, а там они не правильные, и при загрузке ядро искало образ ФС даже не на карте памяти а на микросхеме NANDа, которой и в помине нет, т.к. плата удешевлённая. ну и rootwait самосабой нада. У тебя же данная строка "at91_mci at91_mci: probe failed" говорит о том, что происходит ошибка при инициализации драйвера, в функции static int __init at91_mci_probe(struct platform_device *pdev) //строка 929 драйвера at91_mci код ошибки конкретнее: fail6: release_mem_region(res->start, resource_size(res)); //строка 929 драйвера at91_mci dev_err(&pdev->dev, "probe failed, err %d\n", ret); return ret; и собственно то что её вызывает : mmc = mmc_alloc_host(sizeof(struct at91mci_host), &pdev->dev); //строка 1103 драйвера at91_mci if (!mmc) { ret = -ENOMEM; dev_dbg(&pdev->dev, "couldn't allocate mmc host\n"); goto fail6; } Но это всё рассуждения вслух. Повидимому дело действительно в борде (mmc_alloc_host - функция инициализирующая структуру MMC, т.е скорее всего не верные настройки чего-либо). Прикладываю всё что связано с AT91, кроме ядра, почемуто не могу его "сохранить как", уже как только не пробовал, не создает новый и всё, даж из под админа... но тот конфиг который выкладывал ранее, насколько помню рабочий должен быть... попробую ещё раз завтра сохранить и выложить ту версию, которая есть. если не поможет то даж незнаю... курить драйвера остаётся. хотя может и в кофиге чтото не включено, версия 3.6 всетаки. вобщем имхо.
Сообщение отредактировал rtcveel - Oct 24 2012, 19:19
Прикрепленные файлы
_____.rar ( 10.81 килобайт )
Кол-во скачиваний: 4
|
|
|
|
|
Oct 26 2012, 14:10
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 28-03-12
Пользователь №: 71 060

|
Цитата(rtcveel @ Oct 24 2012, 20:22)  Подобных сообщений у меня не было, драйвер инициализировался без проблемм. У меня была проблемма с коммандной строкой передаваемой U-boot-ом ядру. Я по неопытности не учёл что в если в конфиге ядра не ставить галку "принудительно использовать следущие параметры коммандной строки" то оно их берёт с U-bootа, а там они не правильные, и при загрузке ядро искало образ ФС даже не на карте памяти а на микросхеме NANDа, которой и в помине нет, т.к. плата удешевлённая. ну и rootwait самосабой нада.
У тебя же данная строка "at91_mci at91_mci: probe failed" говорит о том, что происходит ошибка при инициализации драйвера, в функции
static int __init at91_mci_probe(struct platform_device *pdev) //строка 929 драйвера at91_mci
код ошибки конкретнее:
fail6: release_mem_region(res->start, resource_size(res)); //строка 929 драйвера at91_mci dev_err(&pdev->dev, "probe failed, err %d\n", ret); return ret;
и собственно то что её вызывает :
mmc = mmc_alloc_host(sizeof(struct at91mci_host), &pdev->dev); //строка 1103 драйвера at91_mci if (!mmc) { ret = -ENOMEM; dev_dbg(&pdev->dev, "couldn't allocate mmc host\n"); goto fail6; }
Но это всё рассуждения вслух. Повидимому дело действительно в борде (mmc_alloc_host - функция инициализирующая структуру MMC, т.е скорее всего не верные настройки чего-либо). Прикладываю всё что связано с AT91, кроме ядра, почемуто не могу его "сохранить как", уже как только не пробовал, не создает новый и всё, даж из под админа... но тот конфиг который выкладывал ранее, насколько помню рабочий должен быть... попробую ещё раз завтра сохранить и выложить ту версию, которая есть. если не поможет то даж незнаю... курить драйвера остаётся.
хотя может и в кофиге чтото не включено, версия 3.6 всетаки. вобщем имхо. Была ошибка в выборе типа драйвера и инициализации. Более подробно тут http://www.starterkit.ru/html/index.php?na...&last#17986
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|