@@ -2,61 +2,89 @@ function detectrpi {
22 local rpimodel found
33 checkargn $# 1
44 declare -A rpimodels
5- rpimodels[" Beta" ]=" BETA"
6- rpimodels[" 0002" ]=" RPIB"
7- rpimodels[" 0003" ]=" RPIB"
8- rpimodels[" 0004" ]=" RPIB"
9- rpimodels[" 0005" ]=" RPIB"
10- rpimodels[" 0006" ]=" RPIB"
11- rpimodels[" 0007" ]=" RPIA"
12- rpimodels[" 0008" ]=" RPIA"
13- rpimodels[" 0009" ]=" RPIA"
14- rpimodels[" 000d" ]=" RPIB"
15- rpimodels[" 000e" ]=" RPIB"
16- rpimodels[" 000f" ]=" RPIB"
17- rpimodels[" 0010" ]=" RPIB+"
18- rpimodels[" 0011" ]=" CM"
19- rpimodels[" 0012" ]=" RPIA+"
20- rpimodels[" 0013" ]=" RPIB+"
21- rpimodels[" 0014" ]=" CM"
22- rpimodels[" 0015" ]=" RPIA+"
23- rpimodels[" a01040" ]=" RPI2B"
24- rpimodels[" a01041" ]=" RPI2B"
25- rpimodels[" a02042" ]=" RPI2B"
26- rpimodels[" a21041" ]=" RPI2B"
27- rpimodels[" a22042" ]=" RPI2B"
28- rpimodels[" 900021" ]=" RPIA+"
29- rpimodels[" 900032" ]=" RPIB+"
30- rpimodels[" 900061" ]=" CM"
31- rpimodels[" 900092" ]=" RPIZ"
32- rpimodels[" 900093" ]=" RPIZ"
33- rpimodels[" 920092" ]=" RPIZ"
34- rpimodels[" 920093" ]=" RPIZ"
35- rpimodels[" 9000c1" ]=" RPIZW"
36- rpimodels[" a020a0" ]=" CM3"
37- rpimodels[" a220a0" ]=" CM3"
38- rpimodels[" a02100" ]=" CM3+"
39- rpimodels[" a02082" ]=" RPI3B"
40- rpimodels[" a22082" ]=" RPI3B"
41- rpimodels[" a22083" ]=" RPI3B"
42- rpimodels[" a32082" ]=" RPI3B"
43- rpimodels[" a52082" ]=" RPI3B"
44- rpimodels[" a020d3" ]=" RPI3B+"
45- rpimodels[" 9020e0" ]=" RPI3A+"
46- rpimodels[" a03111" ]=" RPI4B" # 1gb
47- rpimodels[" b03111" ]=" RPI4B" # 2gb
48- rpimodels[" b03112" ]=" RPI4B" # 2gb
49- rpimodels[" b03114" ]=" RPI4B" # 2gb
50- rpimodels[" c03111" ]=" RPI4B" # 4gb
51- rpimodels[" c03112" ]=" RPI4B" # 4gb
52- rpimodels[" c03114" ]=" RPI4B" # 4gb
53- rpimodels[" d03114" ]=" RPI4B" # 8gb
54- rpimodels[" c03130" ]=" RPI400" # 4gb
55- rpimodels[" a03140" ]=" CM4" # 1gb
56- rpimodels[" b03140" ]=" CM4" # 2gb
57- rpimodels[" c03140" ]=" CM4" # 4gb
58- rpimodels[" d03140" ]=" CM4" # 8gb
59- rpimodels[" 902120" ]=" RPIZ2W" # .5gb
5+
6+ # Beta models
7+ rpimodels[" Beta" ]=" BETA" # Beta version
8+
9+ # Raspberry Pi A models
10+ rpimodels[" 0007" ]=" RPIA" # 256MB
11+ rpimodels[" 0008" ]=" RPIA" # 256MB
12+ rpimodels[" 0009" ]=" RPIA" # 256MB
13+ rpimodels[" 0012" ]=" RPIA+" # 256MB
14+ rpimodels[" 0015" ]=" RPIA+" # 256MB/512MB
15+ rpimodels[" 900021" ]=" RPIA+" # 512MB
16+ rpimodels[" 9020e0" ]=" RPI3A+" # 512MB
17+ rpimodels[" 9020e1" ]=" RPI3A+" # 512MB
18+
19+ # Raspberry Pi B models
20+ rpimodels[" 0002" ]=" RPIB" # 256MB
21+ rpimodels[" 0003" ]=" RPIB" # 256MB
22+ rpimodels[" 0004" ]=" RPIB" # 256MB
23+ rpimodels[" 0005" ]=" RPIB" # 256MB
24+ rpimodels[" 0006" ]=" RPIB" # 256MB
25+ rpimodels[" 000d" ]=" RPIB" # 512MB
26+ rpimodels[" 000e" ]=" RPIB" # 512MB
27+ rpimodels[" 000f" ]=" RPIB" # 512MB
28+ rpimodels[" 0010" ]=" RPIB+" # 512MB
29+ rpimodels[" 0013" ]=" RPIB+" # 512MB
30+ rpimodels[" 900032" ]=" RPIB+" # 512MB
31+
32+ # Compute Module models
33+ rpimodels[" 0011" ]=" CM" # 512MB
34+ rpimodels[" 0014" ]=" CM" # 512MB
35+ rpimodels[" 900061" ]=" CM" # 512MB
36+ rpimodels[" a020a0" ]=" CM3" # 1GB
37+ rpimodels[" a220a0" ]=" CM3" # 1GB
38+ rpimodels[" a02100" ]=" CM3+" # 1GB
39+ rpimodels[" a03140" ]=" CM4" # 1GB
40+ rpimodels[" b03140" ]=" CM4" # 2GB
41+ rpimodels[" c03140" ]=" CM4" # 4GB
42+ rpimodels[" d03140" ]=" CM4" # 8GB
43+
44+ # Raspberry Pi 2B models
45+ rpimodels[" a01040" ]=" RPI2B" # 1GB
46+ rpimodels[" a01041" ]=" RPI2B" # 1GB
47+ rpimodels[" a02042" ]=" RPI2B" # 1GB
48+ rpimodels[" a21041" ]=" RPI2B" # 1GB
49+ rpimodels[" a22042" ]=" RPI2B" # 1GB
50+
51+ # Raspberry Pi 3 models
52+ rpimodels[" a02082" ]=" RPI3B" # 1GB
53+ rpimodels[" a22082" ]=" RPI3B" # 1GB
54+ rpimodels[" a22083" ]=" RPI3B" # 1GB
55+ rpimodels[" a32082" ]=" RPI3B" # 1GB
56+ rpimodels[" a52082" ]=" RPI3B" # 1GB
57+ rpimodels[" a020d3" ]=" RPI3B+" # 1GB
58+ rpimodels[" a020d4" ]=" RPI3B+" # 1GB
59+
60+ # Raspberry Pi 4B models
61+ rpimodels[" a03111" ]=" RPI4B" # 1GB
62+ rpimodels[" b03111" ]=" RPI4B" # 2GB
63+ rpimodels[" b03112" ]=" RPI4B" # 2GB
64+ rpimodels[" b03114" ]=" RPI4B" # 2GB
65+ rpimodels[" b03115" ]=" RPI4B" # 2GB
66+ rpimodels[" c03111" ]=" RPI4B" # 4GB
67+ rpimodels[" c03112" ]=" RPI4B" # 4GB
68+ rpimodels[" c03114" ]=" RPI4B" # 4GB
69+ rpimodels[" c03115" ]=" RPI4B" # 4GB
70+ rpimodels[" d03114" ]=" RPI4B" # 8GB
71+ rpimodels[" d03115" ]=" RPI4B" # 8GB
72+
73+ # Raspberry Pi 5 models
74+ rpimodels[" c04170" ]=" RPI5" # 4GB
75+ rpimodels[" d04170" ]=" RPI5" # 8GB
76+
77+ # Raspberry Pi 400
78+ rpimodels[" c03130" ]=" RPI400" # 4GB
79+
80+ # Raspberry Pi Zero models
81+ rpimodels[" 900092" ]=" RPIZ" # 512MB
82+ rpimodels[" 900093" ]=" RPIZ" # 512MB
83+ rpimodels[" 920092" ]=" RPIZ" # 512MB
84+ rpimodels[" 920093" ]=" RPIZ" # 512MB
85+ rpimodels[" 9000c1" ]=" RPIZW" # 512MB
86+ rpimodels[" 902120" ]=" RPIZ2W" # 512MB
87+
6088 # more at: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#new-style-revision-codes-in-use
6189
6290 rpimodel=$( grep Revision /proc/cpuinfo | sed ' s/.* //g' | tr -d ' \n' )
0 commit comments