In the following post What is the difference between CB3.1 and CB3.0, you said that validating the controller box version against the serial number does not guarantees the result.
Is there another way I can know for sure the controller box is CB3.1? Can I read the .urcontrol.conf file? If I can, what should I look for? The masterboard_version, the controller_box_type, both?
As written in the linked article, one difference is the Linux version. You could read out
/etc/issue. The CB3.1 has something with Debian 7.
You could use
uname -a or check the Python version.
@jbm If an urup file is applied to the robot, can that change the result of uname? Is it possible to update the kernel through a Polyscope update?
No, this is not updateable through a regular PolyScope/Controller update (.urup).
It is dependent of the motherboard in the CB - respectively CB3.0 or CB3.1.