Jak mogę zidentyfikować z linii poleceń, którą wersję płytki posiadam?

16

Właśnie pobiegłem

cat /proc/cpuinfo

na mojej tablicy. Dostaję „Wersja: 1000002”. Nie znalazłem żadnej wzmianki o tym, która wersja planszy to jest.

Jakaś pomoc?

John Smith
źródło
1
Zmieniłeś znaczenie pytania.
Alex Chamberlain,
@AlexChamberlain: Właśnie to miałem na myśli, kiedy zadałem pytanie.
John Smith,
@JohnSmith Sugeruję wycofanie i zadanie tego jako osobnego pytania, ponieważ AlexChamberlain powiedział, że zmieniłeś znaczenie pytania, a to pytanie nie jest już zsynchronizowane z jego odpowiedziami.
Steve Robillard
Cześć John Smith. Nie edytuj pytania na nowe. Zamiast tego użyj przycisku Zadaj pytanie , aby zadać nowe pytanie. W międzyczasie cofnę to pytanie. Dzięki!

Odpowiedzi:

13

Zgodnie z informacjami opublikowanymi w ramach ogłoszenia o zbliżającej się rewizji płyty , masz płytę B w wersji 1.0.

WZÓR I KODY WERSJI
Model B Wersja 1.0 2
Model B Wersja 1.0 + ECN0001 (bez bezpieczników, usunięto D14) 3
Model B Wersja 2.0 4, 5, 6

Kod jest ostatnią cyfrą numeru zwróconego przez

cat /proc/cpuinfo 

(przynajmniej dopóki nie będą miały więcej niż 9 wersji).

Steve Robillard
źródło
więc co jest z 1 na początku?
John Smith,
@JohnSmith Nie wiem, ale jeśli będę zmuszony zgadywać, powiedziałbym, że na podstawie wykresu wskazuje model (w tym przypadku B).
Steve Robillard,
Jest tutaj komentarz , w którym użytkownik sugeruje, że ten 1 jest „bitem przepełnienia”.
nickgrim
@nickgrim: To jest odpowiedź, której szukam. Czy możesz to ująć jako odpowiedź?
John Smith
Tak, ten 1 to bit „unieważniony z tytułu gwarancji”.
David Schwartz,
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
John La Rooy
źródło
1

Obecnie na stronie /proc/cpuinforaspberrypi.org znajduje się obszerna dokumentacja dotycząca pola zmian :

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

Dokumentuje to zarówno starszy (przyrostowy) kod wersji (wartości od 0x0001 do 0x0015, stosowany w oryginalnych modelach Rpi 1), jak i nowszy format (wprowadzony z Rpi 2), w którym bity kodu faktycznie kodują parametry takie jak producent, rozmiar pamięci i typ planszy. Zawiera także listę wszystkich obecnie używanych kodów wersji.

Ta strona nie dokumentuje tego, że wersja (w starym stylu) może mieć prefiks „1000”, który wskazuje, że na płytce zastosowano przepięcie. Podejrzewam, że w przypadku wersji w nowym stylu stosuje się podobny (ale krótszy, ponieważ wersja jest dłuższa) przedrostek. Informacje na temat tego prefiksu, a także listę modeli z pewnymi szczegółami na temat znaczących różnic można znaleźć na stronie https://elinux.org/RPi_HardwareHistory

Na tej stronie na raspberrypi.org udokumentowano również , że można znaleźć czytelny dla człowieka deskryptor obecnego modelu w /sys:

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

Podczas uruchamiania bootloader (lub może jądro) automatycznie wykrywa na jakiej płycie jest uruchomiony, a następnie ładuje odpowiedni plik „devicetree” dla tej płyty. To urządzenie opisuje sposób podłączenia całego sprzętu i służy do ładowania odpowiednich sterowników. Dodatkowo to urządzenie zawiera także właściwość „model”. Chciałem powiedzieć, że jest to właściwość, którą faktycznie czytasz za pomocą powyższego polecenia, z tym wyjątkiem, że ciągi modelu zdefiniowane w drzewie urządzeń są w rzeczywistości nieco inne (używając „+” zamiast „Plus” i bez ciągu rewizji). Na przykład plik devicetree, który moim zdaniem należy do powyższego wyniku, to bcm2708-rpi-b-plus.dts . Istnieją również wersje bcm2835, ale nie są one obecne w moim/boota bcm2708 dts twierdzi, że jest kompatybilny z bcm2835. Próbowałem również dekompilować odpowiedni dtbplik /boot, ale daje to również ciąg za pomocą „+” i bez rewizji, więc nie jestem całkiem pewien, skąd ten ciąg modelu pochodzi dokładnie (a co ważniejsze, jak wyglądają wszystkie możliwe wartości). Więc może bootloader pobiera dowolne urządzenie z innego miejsca lub ma gdzieś wbudowane.

Właśnie zauważyłem, że /proc/cpuinfozawiera również pole „Model”, które, jak podejrzewam, może mieć to samo źródło.

Matthijs Kooijman
źródło