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?
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?
Odpowiedzi:
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).
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
Obecnie na stronie /proc/cpuinfo
raspberrypi.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/boot
a bcm2708 dts twierdzi, że jest kompatybilny z bcm2835. Próbowałem również dekompilować odpowiedni dtb
plik /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/cpuinfo
zawiera również pole „Model”, które, jak podejrzewam, może mieć to samo źródło.