Как я могу определить из командной строки, какая у меня ревизия платы?

16

Я только что побежал

cat /proc/cpuinfo

на моей доске. Я получаю «Редакция: 1000002». Я не нашел упоминаний о том, какая это версия платы.

Любая помощь?

Джон Смит
источник
1
Вы изменили смысл вопроса.
Алекс Чемберлен
@AlexChamberlain: Вот что я имел в виду, когда задавал вопрос.
Джон Смит
@JohnSmith Я бы предложил откат и задавать это как отдельный вопрос, так как AlexChamberlain сказал, что вы изменили значение вопроса, и этот вопрос больше не совпадает с его ответами.
Стив Робиллард
Привет Джон Смит. Пожалуйста, не редактируйте свой вопрос на новый. Вместо этого используйте кнопку Задать вопрос , чтобы задать новый вопрос. А пока я собираюсь откатить этот вопрос обратно. Благодарность!
Связанный: raspberrypi.stackexchange.com/q/61699/19949
Ганима

Ответы:

13

Согласно информации, опубликованной в рамках объявления о предстоящей ревизии платы , у вас есть плата версии B версии 1.0.

МОДЕЛЬ И ПЕРЕСМОТРНЫЙ КОД (С)
Модель B Редакция 1.0 2
Модель B Revision 1.0 + ECN0001 (без предохранителей, D14 снят) 3
Модель B Редакция 2.0 4, 5, 6

Код является последней цифрой числа, возвращенного

cat /proc/cpuinfo 

(по крайней мере, пока они не имеют более 9 ревизий).

Стив Робиллард
источник
так что с 1 в начале?
Джон Смит
@JohnSmith Я не знаю, но если бы мне пришлось угадывать, я бы сказал, что на основе графика это указывает модель (B в данном случае).
Стив Робиллард
Там есть комментарий здесь , где пользователь подразумевает, что 1 является «OVERVOLT бит».
Никгрим
@nickgrim: Это ответ, который я ищу. Вы можете поставить это как и ответить?
Джон Смит
Да, эта единица является битом "гарантия аннулирована".
Дэвид Шварц
1
MODEL AND REVISION                                       CODE(S)
Model B Revision 1.0                                    2
Model B Revision 1.0 + ECN0001 (no fuses, D14 removed)  3
Model B Revision 2.0                                    4, 5, 6
Джон Ла Рой
источник
1

В настоящее время существует обширная документация по полю редакции /proc/cpuinfoна raspberrypi.org:

https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md

Это документирует как более старый (инкрементный) код ревизии (значения от 0x0001 до 0x0015, используемый для исходных моделей Rpi 1), так и более новый формат (введенный с Rpi 2), где биты кода фактически кодируют параметры, такие как производитель, объем памяти и тип платы. Он также имеет список всех кодов ревизий, которые используются в настоящее время.

Что эта страница не документирует, так это то, что ревизия (старого стиля) может иметь префикс «1000», который указывает на то, что к плате применено перенапряжение. Я подозреваю, что для ревизий нового стиля применяется аналогичный (но более короткий, так как ревизия длиннее) префикс. Информацию об этом префиксе, а также список моделей с некоторыми подробностями о заметных различиях можно найти по адресу https://elinux.org/RPi_HardwareHistory.

На этой странице на raspberrypi.org также задокументировано , что вы можете найти читабельный дескриптор текущей модели в /sys:

$ cat /sys/firmware/devicetree/base/model 
Raspberry Pi Model B Plus Rev 1.2

При запуске загрузчик (или, возможно, ядро) автоматически определяет, на какой плате он работает, и затем загружает соответствующий файл "devicetree" для этой платы. Это devicetree описывает, как все оборудование подключено и используется для загрузки соответствующих драйверов. Кроме того, это devicetree также содержит свойство "модель". Я собирался сказать, что это свойство, которое вы на самом деле читаете с помощью вышеуказанной команды, за исключением того, что строки модели, определенные в devicetree, на самом деле немного отличаются (используя «+» вместо «Plus» и без строки ревизии). Например, файл devicetree, который, я думаю, принадлежит к вышеприведенному выводу команды, представляет собой bcm2708-rpi-b-plus.dts . Есть также версии bcm2835, но их нет в моем/bootи bcm2708 dts заявляет о совместимости с bcm2835. Я также попытался декомпилировать соответствующий dtbфайл из /boot, но это также дает строку с «+» и без ревизии, поэтому я не совсем уверен, откуда эта модель строки в точности (и что более важно, как выглядят все возможные значения). Так что, может быть, загрузчик извлекает devicetree из другого места или где-то встроен.

Я только что заметил, что /proc/cpuinfoтакже содержит поле «Модель», которое, как я подозреваю, может иметь тот же источник.

Маттис Коойман
источник