I was so excited to finally have the Turris MOX in my hand but…only a couple of steps into the first time setup wizard I hit an error that continues to display after restarting the device. I set the admin password, and then when it asked what type of configuration to use I selected “Router”. When I clicked to continue, though, I got this nasty error which won’t go away (even tried to use a pin to reset the device).
Remote Exception: Incorrect output. {'kind': 'reply', 'module': 'networks', 'action': 'get_settings', 'data': {'device': {'model': 'mox', 'version': '4.0'}, 'firewall': {'ssh_on_wan': False, 'http_on_wan': False, 'https_on_wan': False}, 'networks': {'wan': [], 'lan': [{'type': 'eth', 'bus': 'eth', 'state': 'up', 'slot': '0', 'module_id': 0, 'link_speed': 1000, 'id': 'eth0', 'configurable': True}, {'type': 'eth', 'bus': 'eth', 'state': 'up', 'slot': '0', 'module_id': 2, 'link_speed': 1000, 'id': 'lan1', 'configurable': True}, {'type': 'eth', 'bus': 'eth', 'state': 'down', 'slot': '1', 'module_id': 2, 'link_speed': 0, 'id': 'lan2', 'configurable': True}, {'type': 'eth', 'bus': 'eth', 'state': 'down', 'slot': '2', 'module_id': 2, 'link_speed': 0, 'id': 'lan3', 'configurable': True}, {'type': 'eth', 'bus': 'eth', 'state': 'down', 'slot': '3', 'module_id': 2, 'link_speed': 0, 'id': 'lan4', 'configurable': True}], 'guest': [], 'none': [{'type': 'wifi', 'bus': 'sdio', 'state': 'down', 'slot': '0', 'module_id': 0, 'link_speed': 0, 'id': 'mlan0', 'configurable': False, 'ssid': ''}, {'type': 'wifi', 'bus': 'pci', 'state': 'down', 'slot': '0', 'module_id': None, 'link_speed': 0, 'id': 'wlan0', 'configurable': False, 'ssid': ''}]}}} Remote request {"module": "networks", "action": "get_settings", "kind": "request"} Stack trace Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/foris_controller/message_router.py", line 140, in process_message self.validate(reply) File "/usr/lib/python3.6/site-packages/foris_controller/message_router.py", line 40, in wrapper res = function(*args, **kwargs) File "/usr/lib/python3.6/site-packages/foris_controller/message_router.py", line 76, in validate app_info["validator"].validate(message) File "/validator.py", line 257, in validate File "/validators.py", line 348, in validate jsonschema.exceptions.ValidationError: {'type': 'wifi', 'bus': 'pci', 'state': 'down', 'slot': '0', 'module_id': None, 'link_speed': 0, 'id': 'wlan0', 'configurable': False, 'ssid': ''} is not valid under any of the given schemas Failed validating 'oneOf' in schema['properties']['data']['properties']['networks']['properties']['none']['items']: {'oneOf': [{'additionalProperties': False, 'properties': {'bus': {'$ref': '#/definitions/interface_bus'}, 'configurable': {'type': 'boolean'}, 'id': {'$ref': '#/definitions/interface_id'}, 'link_speed': {'$ref': '#/definitions/interface_link_speed'}, 'module_id': {'$ref': '#/definitions/interface_module_id'}, 'slot': {'type': 'string'}, 'state': {'$ref': '#/definitions/interface_state'}, 'type': {'allOf': [{'$ref': '#/definitions/interface_type'}, {'enum': ['eth', 'wwan']}]}}, 'required': ['id', 'type', 'bus', 'slot', 'state', 'module_id', 'link_speed', 'configurable'], 'type': 'object'}, {'additionalProperties': False, 'properties': {'bus': {'$ref': '#/definitions/interface_bus'}, 'configurable': {'type': 'boolean'}, 'id': {'$ref': '#/definitions/interface_id'}, 'link_speed': {'$ref': '#/definitions/interface_link_speed'}, 'module_id': {'$ref': '#/definitions/interface_module_id'}, 'slot': {'type': 'string'}, 'ssid': {'maxLength': 32, 'minLength': 0, 'type': 'string'}, 'state': {'$ref': '#/definitions/interface_state'}, 'type': {'allOf': [{'$ref': '#/definitions/interface_type'}, {'enum': ['wifi']}]}}, 'required': ['id', 'type', 'bus', 'slot', 'state', 'module_id', 'link_speed', 'configurable', 'ssid'], 'type': 'object'}]} On instance['data']['networks']['none'][1]: {'bus': 'pci', 'configurable': False, 'id': 'wlan0', 'link_speed': 0, 'module_id': None, 'slot': '0', 'ssid': '', 'state': 'down', 'type': 'wifi'} Environment {'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/www', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'foris.session=95c8c7fab2d0a1b6f3d66882ba779982; ' 'foris.ws.session=b362875089191a06edd2d3c83b23524d', 'HTTP_DNT': '1', 'HTTP_HOST': '192.168.1.1', 'HTTP_UPGRADE_INSECURE_REQUESTS': '1', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:69.0) ' 'Gecko/20100101 Firefox/69.0', 'PATH_INFO': '/main/networks/', 'PATH_TRANSLATED': '/www/main/networks/', 'QUERY_STRING': '', 'REDIRECT_STATUS': '200', 'REMOTE_ADDR': '192.168.1.155', 'REMOTE_PORT': '58472', 'REQUEST_METHOD': 'GET', 'REQUEST_SCHEME': 'http', 'REQUEST_URI': '/foris/config/main/networks/', 'SCRIPT_FILENAME': '/www/foris/config', 'SCRIPT_NAME': '/foris/config', 'SERVER_ADDR': '192.168.1.1', 'SERVER_NAME': '192.168.1.1', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'lighttpd/1.4.50', 'bottle.app': <bottle.Bottle object at 0x9094478>, 'bottle.raw_path': '/networks/', 'bottle.request': <LocalRequest: GET http://192.168.1.1/foris/config/main/networks/>, 'bottle.request.urlparts': SplitResult(scheme='http', netloc='192.168.1.1', path='/foris/config/main/networks/', query='', fragment=''), 'bottle.route': <GET '/<page_name:re:.+>/' <function config_page_get at 0x90a8a98>>, 'foris.backend': MqttSender('localhost:11883'), 'foris.language': 'en', 'foris.session': <foris.middleware.sessions.SessionForisProxy object at 0x9298498>, 'foris.session.data': {'csrf_token': '7AtF6lsRismcn269Ndmfb9IrSrzB6MmJ', 'user_authenticated': True}, 'foris.session.id': '95c8c7fab2d0a1b6f3d66882ba779982', 'foris.version': '99.9', 'route.handle': <GET '/<page_name:re:.+>/' <function config_page_get at 0x90a8a98>>, 'route.url_args': {'page_name': 'networks'}, 'wsgi.errors': <flup.server.fcgi_base.OutputStream object at 0x92943f8>, 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x9294d18>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}
Edit: I got this working by manually configuring the SD card…but now I only have to deal with multiple daily crashes and having to physically reset the router by hand: Reboot doesn't work