Unrecognized NAND Flash device
MaxiHunter
Пункты: 2257
Регистрация: 13.03.2011
Опять я))
Своя плата на имх233. Флэш - NAND512W3A от ST.
Гружу ядро - говорит
Код Scanning for NAND Flash chips...
NAND device: Manufacturer ID: 0x20, Chip ID: 0x76 (ST Micro NAND 64MiB 3,3V 8-bit)
Unrecognized NAND Flash device.
gpmi gpmi: No NAND Flash chips found
Порылся в исходниках ядра...
В nand_ids.c есть структура с данным типом.
Код {"NAND 64MiB 3,3V 8-bit", 0x76,512,64,0x4000,0}
А вот в nand_device_info.c в перечисленных типах ни с одним не совпадает... Соответственно не могу понять куда дальше ноги растут... Где он проверяет на соответствие памяти?
Помогите, пожалуйста память прикрутить)
Arm-a-bot
Пункты: 1540
Регистрация: 16.01.2012
У меня была похожая проблема. Детали
здесь
MaxiHunter
Пункты: 2257
Регистрация: 13.03.2011
Вопрос к Павлу: а сейчас на ваших платах какая память стоит?
Просто у меня нет платы стартеркита под рукой...
Вы думаете все дело в размере страницы? Что-то мне подсказывает, что она должна и с 512+16 работать. В мануале написано что он читает 2112 байт... но не сказано что если в странице 528, то ничего работать не будет)
MaxiHunter
Пункты: 2257
Регистрация: 13.03.2011
Перепаял флэш, действительно дело пошло дальше...
Но вот происходит какая странная история при попытке превратить флэшку в нормальный разбитый диск:
Код ubiformat: mtd1 (nand), size 2126512128 bytes (2.0 GiB), 4056 eraseblocks of 524288 bytes (512.0 KiB), min. I/O size 4096 bytes
libscan: scanning eraseblock 630 -- 15 % compscanning eraseblock 631 -- 15 % comlibscan: scanning eraseblock 4055 -- 100 % complete - 98 % complete plete
ubiformat: 2030 eraseblocks have valid erase counter, mean value is 0
ubiformat: 2026 eraseblocks are supposedly empty
ubiformat: use erase counter 0 for all eraseblocks
ubiformat: formatting eraseblock 2869 -- 70 % complete t: formatting erask 2870 ubiformat: formatting eraseblock 4055 -- 100 % complete 27 -- 77 % complete
libubigen: error!: cannot write 524288 bytes
error 5 (Input/output error)
ubiformat: error!: cannot write layout volume
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size: 524288 bytes (512 KiB)
UBI: logical eraseblock size: 516096 bytes
UBI: smallest flash I/O unit: 4096
UBI: VID header offset: 4096 (aligned 4096)
UBI: data offset: 8192
UBI error: compare_lebs: unsupported on-flash UBI format
ubiattach: error!: cannot attach mtd1
error 22 (Invalid argument)
Соответственно монтирование разделов тоже не производится.. Кто-нибудь может подсказать что-нибудь по поводу ubifs?
Prm
Пункты: 295
Регистрация: 22.05.2009
Можно попробовать перед форматированием вызвать
Код
flash_erase /dev/mtd1 0 0
MaxiHunter
Пункты: 2257
Регистрация: 13.03.2011
в моем имидже не оказалось такой команды, но есть:
Код flash_eraseall /dev/mtd1 0 0
команда прошла до 100% и ничего не сказала.
После чего попробовал ubiformat /dev/mtd1
и он привел к аналогичному результату...
Prm
Пункты: 295
Регистрация: 22.05.2009
а флешка хоть нормально работает? запись/чтение через dd успешно проходит?
MaxiHunter
Пункты: 2257
Регистрация: 13.03.2011
Спасибо за подсказку.
но не сильно знаком с утилитой дд. Поправьте, если что не так:
Код # dd if=/dev/mtd1 of=/root/save1
Вываливается в:
Код dd: page allocation failure. order:0, mode:0x200d2
Backtrace:
[<c0736b80>] (dump_backtrace+0x0/0x108) from [<c0737008>] (dump_stack+0x18/0x1c)
r6:00000000 r5:000200d2 r4:00000000
[<c0736ff0>] (dump_stack+0x0/0x1c) from [<c077d6fc>] (__alloc_pages_nodemask+0x4c0/0x524)
[<c077d23c>] (__alloc_pages_nodemask+0x0/0x524) from [<c0777668>] (grab_cache_page_write_begin+0x5c/0x9c)
[<c077760c>] (grab_cache_page_write_begin+0x0/0x9c) from [<c07b8a24>] (simple_write_begin+0x34/0x74)
r8:00000000 r7:00000000 r6:c2db3280 r5:00000000 r4:02d2d000
[<c07b89f0>] (simple_write_begin+0x0/0x74) from [<c0777c14>] (generic_file_buffered_write+0x104/0x2e8)
r6:02d2d000 r5:c2dd4000 r4:00000200
[<c0777b10>] (generic_file_buffered_write+0x0/0x2e8) from [<c0778528>] (__generic_file_aio_write_nolock+0x4a4/0x514)
[<c0778084>] (__generic_file_aio_write_nolock+0x0/0x514) from [<c0778880>] (generic_file_aio_write+0x78/0xec)
[<c0778808>] (generic_file_aio_write+0x0/0xec) from [<c079baf4>] (do_sync_write+0xb0/0x100)
[<c079ba44>] (do_sync_write+0x0/0x100) from [<c079c404>] (vfs_write+0xb8/0x164)
r6:c2dd5f78 r5:000ab008 r4:c2db3280
[<c079c34c>] (vfs_write+0x0/0x164) from [<c079c9f4>] (sys_write+0x44/0x70)
r8:c0732f88 r7:00000000 r6:02d2d000 r5:fffffff7 r4:c2db3280
[<c079c9b0>] (sys_write+0x0/0x70) from [<c0732de0>] (ret_fast_syscall+0x0/0x2c)
r7:00000004 r6:4001e4b0 r5:000ab008 r4:00000200
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, bNormal per-cpu:
CPU 0: hi: 18, btch: 3 usd: 2
Active_anon:38 active_file:28 inactive_anon:96
inactive_file:0 unevictable:13725 dirty:0 writeback:0 unstable:0
free:302 slab:357 mapped:196 pagetables:24 bounce:0
DMA free:392kB min:188kB low:232kB high:280kB active_anon:0kB inactive_anon:0kB active_file:112kB inactive_file:0kB unevictable:7216kB present:12192kB pages_scanned:1804 all_unreclaimable? yes
lowmem_reserve[]: 0 51 51
Normal free:816kB min:824kB low:1028kB high:1236kB active_anon:152kB inactive_anon:384kB active_file:0kB inactive_file:0kB unevictable:47684kB present:52832kB pages_scanned:173 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 0*4kB 1*8kB 0*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 392kB
Normal: 0*4kB 0*8kB 1*16kB 1*32kB 0*64kB 0*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 816kB
13753 total pagecache pages
16384 pages of RAM
354 free pages
1547 reserved pages
308 slab pages
813 pages shared
0 pages swap cached
Killed
Подскажите, правильную ввел?
Есть определенное подозрение на не правильную работоспособность флэш памяти...хотя она определяется правильно(id, размер блока и все такое, хотя, вероятно, это еще ни о чем не говорит).
sasamy
Пункты: 79218
Регистрация: 14.08.2009
1 Своя плата на имх233
зачем тогда создавать тему в разделе starterkit.ru » Отладочные платы » SK-iMX233
2 Какое ядро используете ?
попробуйте очистить и записать как написано тут
http://code.google.com/p/starterkit-org/wiki/MfgUpdateImx23
если нет отличия с местной платой в части подключения NAND и DDR.
3 dd if=/dev/mtd1
of=/root/save1
...
dd:
page allocation failure . order:0, mode:0x200d2
корневая фс у вас в RAM судя по тому что NAND пока не работает ? так естественно что 64 МB (или сколько у вас на своей плате подключено) не смогут вместить 500 MB. Если нет другого носителя куда можно скинуть такой объем - попробуйте of=/dev/null
MaxiHunter
Пункты: 2257
Регистрация: 13.03.2011
Цитата 1 Своя плата на имх233
зачем тогда создавать тему в разделе starterkit.ru » Отладочные платы » SK-iMX233
...
если нет отличия с местной платой в части подключения NAND и DDR.
Да, плата идентична в части нанд и ддр.
Просто решил, что если плата сделана на основе sk то можно тут создать...)
Цитата
3 dd if=/dev/mtd1 of=/root/save1
...
dd: page allocation failure. order:0, mode:0x200d2
корневая фс у вас в RAM судя по тому что NAND пока не работает ? так естественно что 64 МB (или сколько у вас на своей плате подключено) не смогут вместить 500 MB
Да, так точно, rootfs в ram.
согласен, ступил.
Новый запрос выдал следующее:
Код # dd if=/dev/urandom of=/dev/mtd1 bs=4096 count=100
dd: writing '/dev/mtd1': Input/output error
5+0 records in
4+0 records out
а dd проверяет данные после записи?
Сейчас попробую метод, который вы прислали.