Как я могу прочитать идентификатор установленного флэш-устройства, возможно, через интерфейс mtd?

3

В нашем встроенном Linux-решении с использованием uClinux я только что добавил флэш-устройство большего размера. Я хочу иметь возможность запросить, какое устройство я установил (аппаратное устройство).

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

Чего я не знаю, так это как получить эту информацию в «пользовательской зоне». Т.е. в скрипте shell / bash.

Я посмотрел на:

cat /proc/mtd- это дает информацию о размере разделов. Но я не могу сказать из этого, на самом деле мне нужно будет изменить размеры разделов, в зависимости от того, какой флэш-чип установлен.

mtd_debug info /dev/mtd0 - Это довольно близко, это говорит мне о размере сектора (размер стирания), типе mtd и т. Д., Но так как две флеш-микросхемы имеют одинаковый тип, это также недостаточно информации.

code_fodder
источник
Похоже, что это обрабатывается очень по-разному в зависимости от драйвера и чипа: некоторые поддерживают JEDEC READ ID, некоторые нет и т. Д. Можете ли вы сузить возможные драйверы, которые будут использоваться в вашем случае?
dirkt

Ответы:

1

Я сделал решение, основанное на коде, переполнение стека здесь: как можно определить, что такое mtd-flash-устройство-установлено

Однако, поскольку это изменение кода (даже если оно всего одна строка), оно требует пересобрания ядра, поэтому я пока не отмечаю это как решение ...

code_fodder
источник
0

Быстро, но безобразно, вы можете просканировать вывод ядра на наличие сообщения о NAND:

dmesg | grep 'Manufacturer ID'

Сообщение варьируется от версии к версии ( 2.6.32 , 4.10 ). Вот результат для 2.6.32.57:

[root@board /]# dmesg | grep 'Manufacturer ID'
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Серьга
источник
dmesg выглядит хорошей идеей - но у меня не сработало :( Я вижу, как монтируются разделы флэш-памяти, но не вижу никакой информации о производителе / ​​идентификаторе ....
code_fodder