OSError(5, 'Input/output error')

Cca po týdnu přestal Turris regovat.Nešel DNS server, nešlo se přihlásit do LuCI/Foris
Po restartu turis routuje, ale nelze se přihlásit do LuCi:

TUR_17
Foris jede, ale při zavolání nějaké služby (DNS,OPENVPN,DATA COLLECTION,NETMETR, etc…)
Vyhodí hlášku: OSError(5, ‘Input/output error’)

Zde je log:

Stack trace

Traceback (most recent call last):
File “/usr/lib/python3.6/site-packages/foris/middleware/reporting.py”, line 93, in call
File “/usr/lib/python3.6/site-packages/foris/middleware/backend_data.py”, line 86, in call
File “/usr/lib/python3.6/site-packages/bottle_i18n.py”, line 68, in call
File “/usr/lib/python3.6/site-packages/bottle.py”, line 979, in call
File “/usr/lib/python3.6/site-packages/bottle.py”, line 954, in wsgi
File “/usr/lib/python3.6/site-packages/bottle.py”, line 862, in _handle
File “/usr/lib/python3.6/site-packages/bottle.py”, line 682, in mountpoint_wrapper
File “/usr/lib/python3.6/site-packages/bottle.py”, line 979, in call
File “/usr/lib/python3.6/site-packages/bottle.py”, line 954, in wsgi
File “/usr/lib/python3.6/site-packages/bottle.py”, line 862, in _handle
File “/usr/lib/python3.6/site-packages/bottle.py”, line 1740, in wrapper
File “/usr/lib/python3.6/site-packages/foris/utils/init.py”, line 78, in wrapper
File “/usr/lib/python3.6/site-packages/foris/config/init.py”, line 734, in config_page_get
File “/usr/lib/python3.6/site-packages/foris_plugins/netmetr/init.py”, line 98, in render
File “/usr/lib/python3.6/site-packages/foris/config/init.py”, line 91, in render
File “/usr/lib/python3.6/site-packages/foris/config/init.py”, line 78, in default_template
File “/usr/lib/python3.6/site-packages/bottle.py”, line 3615, in template
File “/usr/lib/python3.6/site-packages/bottle.py”, line 3225, in init
File “/usr/lib/python3.6/site-packages/bottle.py”, line 3326, in prepare
File “/usr/lib/python3.6/site-packages/jinja2/environment.py”, line 830, in get_template
File “/usr/lib/python3.6/site-packages/jinja2/environment.py”, line 804, in _load_template
File “/usr/lib/python3.6/site-packages/jinja2/loaders.py”, line 113, in load
File “/usr/lib/python3.6/site-packages/jinja2/loaders.py”, line 314, in get_source
File “/usr/lib/python3.6/site-packages/bottle.py”, line 3338, in loader
OSError: [Errno 5] Input/output error

Environment

{‘CONTENT_LENGTH’: ‘0’,
‘DOCUMENT_ROOT’: ‘/www’,
‘GATEWAY_INTERFACE’: ‘CGI/1.1’,
‘HTTP_ACCEPT’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8’,
‘HTTP_ACCEPT_ENCODING’: ‘gzip, deflate’,
‘HTTP_ACCEPT_LANGUAGE’: ‘cs-CZ,cs;q=0.9,en;q=0.8’,
‘HTTP_CONNECTION’: ‘keep-alive’,
‘HTTP_COOKIE’: ‘foris.session=2a18fff748bb84cb99d680505af7e78d; ’
‘foris.ws.session=1a478b1006b1bb132958c2d10a5cd8bd’,
‘HTTP_HOST’: ‘192.168.1.1’,
‘HTTP_REFERER’: ‘http://192.168.1.1/foris/config/main/guest/’,
‘HTTP_UPGRADE_INSECURE_REQUESTS’: ‘1’,
‘HTTP_USER_AGENT’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) ’
‘AppleWebKit/537.36 (KHTML, like Gecko) ’
‘Chrome/72.0.3626.109 Safari/537.36’,
‘HTTP_X_COOKIESOK’: ‘I explicitly accept all cookies’,
‘PATH_INFO’: ‘/main/netmetr/’,
‘PATH_TRANSLATED’: ‘/www/main/netmetr/’,
‘QUERY_STRING’: ‘’,
‘REDIRECT_STATUS’: ‘200’,
‘REMOTE_ADDR’: ‘192.168.1.175’,
‘REMOTE_PORT’: ‘65030’,
‘REQUEST_METHOD’: ‘GET’,
‘REQUEST_SCHEME’: ‘http’,
‘REQUEST_URI’: ‘/foris/config/main/netmetr/’,
‘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 0x10c919d0>,
‘bottle.raw_path’: ‘/netmetr/’,
‘bottle.request’: <LocalRequest: GET http://192.168.1.1/foris/config/main/netmetr/>,
‘bottle.request.urlparts’: SplitResult(scheme=‘http’, netloc=‘192.168.1.1’, path=’/foris/config/main/netmetr/’, query=’‘, fragment=’‘),
‘bottle.route’: <GET ‘/<page_name:re:.+>/’ <function config_page_get at 0x10c77fb8>>,
‘foris.backend’: UbusSender(’/var/run/ubus.sock’),
‘foris.language’: ‘cs’,
‘foris.session’: <foris.middleware.sessions.SessionForisProxy object at 0x10e0bc88>,
‘foris.session.data’: {‘csrf_token’: ‘XPT29RUgnc1tFKzm9yFigxFasvzUH12w’,
‘user_authenticated’: True},
‘foris.session.id’: ‘2a18fff748bb84cb99d680505af7e78d’,
‘foris.version’: ‘99.1’,
‘route.handle’: <GET ‘/<page_name:re:.+>/’ <function config_page_get at 0x10c77fb8>>,
‘route.url_args’: {‘page_name’: ‘netmetr’},
‘wsgi.errors’: <flup.server.fcgi_base.OutputStream object at 0x10d69cf8>,
‘wsgi.input’: <flup.server.fcgi_base.InputStream object at 0x10dee410>,
‘wsgi.multiprocess’: False,
‘wsgi.multithread’: True,
‘wsgi.run_once’: False,
‘wsgi.url_scheme’: ‘http’,
‘wsgi.version’: (1, 0)}

Přupojení přes SSH funguje, ale vyhodí zase chybu: Input/output error

TUR_18

Verze Turris OS 3.11.2
Turris 1.1
Systém jede z SD karty, ale jak je výše ukázáno nástroj schnapps nefunguje.

Bez kernel logu težké potvrdit, ale čekal bych že se rozloučila sd karta.

Jediné co z toho jde vytáhnout je dmesg log
http://www.uschovna.cz/zasilka/KE6W2EX9CVEN78LA-JVA

Teď si ho prohlížím a vidím že tam je asi nějaký problém s kartou.
Lze nějak nabootovat z NOR a zkontrolovat kartu?

Záleží na verzi NOR, ale jednodušší odpověd je ne.

Ale můžete použít starý systém na nand. Stačí vlastně poškodit boot na sd kartě. Na prvním oddílu na kartě pokud přejmenujete kernel image tak se nezdaří boot z karty a systém nabootuje z nand namísto toho. Opravou jména zpět by Vám měl znovu router bootovat z sd.

To by byl hodně hacky způsob který mě pro jednoduchost napad. Nepotřebujete sériovou konzoli ani vytahovat kartu. Ale obecně bych doporučil kartu vytáhnout a analýzu provést v PC už jen kvůli dostupnosti nástrojů.

Takže byla vadná SD karta.
NA PC jsem ji přeformátoval, zapl TRIM, pro jistotu projel scandiskem a už to jede.
Uvidíme jak dlouho vydrží.Karta je poměrně nová, nějaké šíléné kontinuální zapisy na ně Turris nedělal.
Snad vadný kus.

Čekal jsem nějaké více easy řešení typu chkdsk :stuck_out_tongue: