rhasspy / wyoming-satellite

Remote voice satellite using Wyoming protocol
MIT License
716 stars 105 forks source link

Works totally fine, but then random Network is Unreachable when powered down/up? Can still SSH into it... #201

Open Someguitarist opened 4 months ago

Someguitarist commented 4 months ago

I'm getting the weirdest issue. Sometimes if I power off my Raspberry Pi Zero W2 with the 2hat audio, when I power it on wyoming.satellite.service fails to launch. To be clear, everything works completely fine when it's working! And if I power cycle it one-two times it'll just boot up and work. But I get this error on the times that it doesn't work. I do see that it attempts to launch repeatedly but each time it gets the same message. I see it says 'Network is Unreachable' in there, but I'm SSH'd into it, so the device is on the network which only has me more confused.

journalctl results:

Jul 15 13:32:41 pi2 systemd[1]: Started wyoming-satellite.service - Wyoming Satellite. Jul 15 13:32:42 pi2 run[810]: INFO:root:Ready Jul 15 13:32:42 pi2 run[810]: Traceback (most recent call last): Jul 15 13:32:42 pi2 run[810]: File "", line 198, in _run_module_as_main Jul 15 13:32:42 pi2 run[810]: File "", line 88, in _run_code Jul 15 13:32:42 pi2 run[810]: File "/home/stokley/wyoming-satellite/wyoming_satellite/main.py", line 490, in Jul 15 13:32:42 pi2 run[810]: run() Jul 15 13:32:42 pi2 run[810]: File "/home/stokley/wyoming-satellite/wyoming_satellite/main.py", line 484, in run Jul 15 13:32:42 pi2 run[810]: asyncio.run(main()) Jul 15 13:32:42 pi2 run[810]: File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run Jul 15 13:32:42 pi2 run[810]: return runner.run(main) Jul 15 13:32:42 pi2 run[810]: ^^^^^^^^^^^^^^^^ Jul 15 13:32:42 pi2 run[810]: File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run Jul 15 13:32:42 pi2 run[810]: return self._loop.run_until_complete(task) Jul 15 13:32:42 pi2 run[810]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jul 15 13:32:42 pi2 run[810]: File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete Jul 15 13:32:42 pi2 run[810]: return future.result() Jul 15 13:32:42 pi2 run[810]: ^^^^^^^^^^^^^^^ Jul 15 13:32:42 pi2 run[810]: File "/home/stokley/wyoming-satellite/wyoming_satellite/main.py", line 457, in main Jul 15 13:32:42 pi2 run[810]: await register_server( Jul 15 13:32:42 pi2 run[810]: File "/home/stokley/wyoming-satellite/.venv/lib/python3.11/site-packages/wyoming/zeroconf.py", line 22, in register_server Jul 15 13:32:42 pi2 run[810]: test_sock.connect((MDNS_TARGET_IP, 1)) Jul 15 13:32:42 pi2 run[810]: OSError: [Errno 101] Network is unreachable Jul 15 13:32:42 pi2 run[809]: Traceback (most recent call last): Jul 15 13:32:42 pi2 run[809]: File "/home/stokley/wyoming-satellite/script/run", line 12, in Jul 15 13:32:42 pi2 run[809]: subprocess.check_call([context.env_exe, "-m", "wyoming_satellite"] + sys.argv[1:]) Jul 15 13:32:42 pi2 run[809]: File "/usr/lib/python3.11/subprocess.py", line 413, in check_call Jul 15 13:32:42 pi2 run[809]: raise CalledProcessError(retcode, cmd) Jul 15 13:32:42 pi2 run[809]: subprocess.CalledProcessError: Command '['/home/stokley/wyoming-satellite/.venv/bin/python3', '-m', 'wyoming_satellite', '--name', 'jarvis-office', '--uri', 'tcp://0.0.0.0:10700', '--mic-command', 'arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw', '--snd-command', 'aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -r 22050 -c 1 -f S16_LE -t raw', '--mic-auto-gain', '5', '--mic-noise-suppression', '2', '--wake-uri', 'tcp://127.0.0.1:10400', '--wake-word-name', 'hey_jarvis', '--event-uri', 'tcp://127.0.0.1:10500']' returned non-zero exit status 1. Jul 15 13:32:42 pi2 systemd[1]: wyoming-satellite.service: Main process exited, code=exited, status=1/FAILURE Jul 15 13:32:42 pi2 systemd[1]: wyoming-satellite.service: Failed with result 'exit-code'. Jul 15 13:32:42 pi2 systemd[1]: wyoming-satellite.service: Consumed 1.412s CPU time. Jul 15 13:32:52 pi2 systemd[1]: wyoming-satellite.service: Scheduled restart job, restart counter is at 27. Jul 15 13:32:52 pi2 systemd[1]: Stopped wyoming-satellite.service - Wyoming Satellite. Jul 15 13:32:52 pi2 systemd[1]: wyoming-satellite.service: Consumed 1.412s CPU time. Jul 15 13:32:52 pi2 systemd[1]: Started wyoming-satellite.service - Wyoming Satellite. Jul 15 13:32:53 pi2 run[814]: INFO:root:Ready Jul 15 13:32:53 pi2 run[814]: Traceback (most recent call last): Jul 15 13:32:53 pi2 run[814]: File "", line 198, in _run_module_as_main Jul 15 13:32:53 pi2 run[814]: File "", line 88, in _run_code Jul 15 13:32:53 pi2 run[814]: File "/home/stokley/wyoming-satellite/wyoming_satellite/main.py", line 490, in Jul 15 13:32:53 pi2 run[814]: run() Jul 15 13:32:53 pi2 run[814]: File "/home/stokley/wyoming-satellite/wyoming_satellite/main.py", line 484, in run Jul 15 13:32:53 pi2 run[814]: asyncio.run(main()) Jul 15 13:32:53 pi2 run[814]: File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run Jul 15 13:32:53 pi2 run[814]: return runner.run(main) Jul 15 13:32:53 pi2 run[814]: ^^^^^^^^^^^^^^^^ Jul 15 13:32:53 pi2 run[814]: File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run Jul 15 13:32:53 pi2 run[814]: return self._loop.run_until_complete(task) Jul 15 13:32:53 pi2 run[814]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jul 15 13:32:53 pi2 run[814]: File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete Jul 15 13:32:53 pi2 run[814]: return future.result() Jul 15 13:32:53 pi2 run[814]: ^^^^^^^^^^^^^^^ Jul 15 13:32:53 pi2 run[814]: File "/home/stokley/wyoming-satellite/wyoming_satellite/main.py", line 457, in main Jul 15 13:32:53 pi2 run[814]: await register_server( Jul 15 13:32:53 pi2 run[814]: File "/home/stokley/wyoming-satellite/.venv/lib/python3.11/site-packages/wyoming/zeroconf.py", line 22, in register_server Jul 15 13:32:53 pi2 run[814]: test_sock.connect((MDNS_TARGET_IP, 1)) Jul 15 13:32:53 pi2 run[814]: OSError: [Errno 101] Network is unreachable Jul 15 13:32:54 pi2 run[813]: Traceback (most recent call last): Jul 15 13:32:54 pi2 run[813]: File "/home/stokley/wyoming-satellite/script/run", line 12, in Jul 15 13:32:54 pi2 run[813]: subprocess.check_call([context.env_exe, "-m", "wyoming_satellite"] + sys.argv[1:]) Jul 15 13:32:54 pi2 run[813]: File "/usr/lib/python3.11/subprocess.py", line 413, in check_call Jul 15 13:32:54 pi2 run[813]: raise CalledProcessError(retcode, cmd) Jul 15 13:32:54 pi2 run[813]: subprocess.CalledProcessError: Command '['/home/stokley/wyoming-satellite/.venv/bin/python3', '-m', 'wyoming_satellite', '--name', 'jarvis-office', '--uri', 'tcp://0.0.0.0:10700', '--mic-command', 'arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw', '--snd-command', 'aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -r 22050 -c 1 -f S16_LE -t raw', '--mic-auto-gain', '5', '--mic-noise-suppression', '2', '--wake-uri', 'tcp://127.0.0.1:10400', '--wake-word-name', 'hey_jarvis', '--event-uri', 'tcp://127.0.0.1:10500']' returned non-zero exit status 1. Jul 15 13:32:54 pi2 systemd[1]: wyoming-satellite.service: Main process exited, code=exited, status=1/FAILURE Jul 15 13:32:54 pi2 systemd[1]: wyoming-satellite.service: Failed with result 'exit-code'. Jul 15 13:32:54 pi2 systemd[1]: wyoming-satellite.service: Consumed 1.391s CPU time.

Wyoming Sattelite Service [Unit] Description=Wyoming Satellite Wants=network-online.target After=network-online.target Requires=wyoming-openwakeword.service Requires=2mic_leds.service

[Service] Type=simple ExecStart=/home/stokley/wyoming-satellite/script/run --name 'jarvis-office' --uri 'tcp://0.0.0.0:10700' --mic-command 'arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' --snd-command 'aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -r 22050 -c 1 -f S16_LE -t raw' --mic-auto-gain 5 --mic-noise-suppression 2 --wake-uri 'tcp://127.0.0.1:10400' --wake-word-name 'hey_jarvis' --event-uri 'tcp://127.0.0.1:10> WorkingDirectory=/home/stokley/wyoming-satellite Restart=always RestartSec=10

[Install] WantedBy=default.target

Wyoming Open WakeWord Service [Unit] Description=Wyoming openWakeWord

[Service] Type=simple ExecStart=/home/stokley/wyoming-openwakeword/script/run --uri 'tcp://127.0.0.1:10400' WorkingDirectory=/home/stokley/wyoming-openwakeword Restart=always RestartSec=1

[Install] WantedBy=default.target

2mic LED Service [Unit] Description=2Mic LEDs

[Service] Type=simple ExecStart=/home/stokley/wyoming-satellite/examples/.venv/bin/python3 2mic_service.py --uri 'tcp://127.0.0.1:10500' WorkingDirectory=/home/stokley/wyoming-satellite/examples Restart=always RestartSec=1

[Install] WantedBy=default.target

Anyways, thanks for all your hard work! It works great except for sometimes getting stuck like this while booting. I can fix it by either unplugging the device from the wall and plugging it back in, or SSH'ing in and doing 'sudo reboot'. Not quite sure what the issue is, but would love to get it worked out before deploying more of these around the house!

labob246 commented 1 week ago

I have the exact same problem!