#!/usr/bin/tclsh set rpi_revs(0002) {{Model B Rev 1.0} {256MB}} set rpi_revs(0003) {{Model B Rev 1.0} {256MB} {ECN001 (no fuses, D14 removed)}} set rpi_revs(0004) {{Model B Rev 2.0} {256MB} {Mounting holes}} set rpi_revs(0005) {{Model B Rev 2.0} {256MB} {Mounting holes}} set rpi_revs(0006) {{Model B Rev 2.0} {256MB} {Mounting holes}} set rpi_revs(0007) {{Model A} {256MB} {Mounting holes}} set rpi_revs(0008) {{Model A} {256MB} {Mounting holes}} set rpi_revs(0009) {{Model A} {256MB} {Mounting holes}} set rpi_revs(000d) {{Model B Rev 2.0} {512MB}} set rpi_revs(000e) {{Model B Rev 2.0} {512MB}} set rpi_revs(000f) {{Model B Rev 2.0} {512MB}} set rpi_revs(0010) {{Model B+} {512MB}} set rpi_revs(0011) {{Compute Module} {512MB}} set rpi_revs(0012) {{Model A+} {256MB}} set rpi_revs(a01041) {{Model B 2} {1GB}} set fs [open /proc/cpuinfo r] set data [split [read -nonewline $fs] "\n"] close $fs set l [lsearch $data *Revision*] set ver [lindex [split [lindex $data $l]] end] if {![info exists rpi_revs($ver)]} { puts "Revision unknown" } else { puts "Model:\t[lindex $rpi_revs($ver) 0]" puts "RAM:\t[lindex $rpi_revs($ver) 1]" if {[llength $rpi_revs($ver)] != "2"} { puts "Mods:\t[lindex $rpi_revs($ver) 2]" } }