empty device listener configuration
Closed this issue · 6 comments
Hello,
I don't see any keyboard in device listener configuration.
I didn't use usb keyboard plug-in before
I'm running OctoPrint on Ubuntu 18.04.5 on Intel G4400
USB Keyboard (0.2.6)
env.os.bits: 64
env.os.id: linux
env.os.platform: linux
env.python.pip: 21.0
env.python.version: 3.6.9
env.python.virtualenv: true
octoprint.safe_mode: false
octoprint.version: 1.6.1
I have tried to run code below in Octoprints venv
from evdev import InputDevice, categorize, ecodes, list_devices
from pprint import pprint
devices = [InputDevice(device) for device in list_devices()]
message=""
options = []
for device in devices:
message += f" Device {device}\n"
options.append(str(device)[7:24].replace(",", ""))
message += f" Info {device.info}\n"
message += f" Physical {device.phys}\n"
print(message)
and this is output
Device device /dev/input/event16, name "HDA Intel PCH HDMI/DP,pcm=10", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event15, name "HDA Intel PCH HDMI/DP,pcm=9", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event14, name "HDA Intel PCH HDMI/DP,pcm=8", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event13, name "HDA Intel PCH HDMI/DP,pcm=7", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event12, name "HDA Intel PCH HDMI/DP,pcm=3", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event11, name "HDA Intel PCH Front Headphone", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event10, name "HDA Intel PCH Line Out", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event9, name "HDA Intel PCH Line", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event8, name "HDA Intel PCH Rear Mic", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event7, name "HDA Intel PCH Front Mic", phys "ALSA"
Info bus: 0000, vendor 0000, product 0000, version 0000
Physical ALSA
Device device /dev/input/event6, name "Live! Cam Chat HD VF0790: Live!", phys "usb-0000:00:14.0-4.4/button"
Info bus: 0003, vendor 041e, product 4097, version 1000
Physical usb-0000:00:14.0-4.4/button
Device device /dev/input/event5, name "Video Bus", phys "LNXVIDEO/video/input0"
Info bus: 0019, vendor 0000, product 0006, version 0000
Physical LNXVIDEO/video/input0
Device device /dev/input/event4, name "USB USB Keyboard", phys "usb-0000:00:14.0-1/input1"
Info bus: 0003, vendor 1a2c, product 0c23, version 0110
Physical usb-0000:00:14.0-1/input1
Device device /dev/input/event3, name "USB USB Keyboard", phys "usb-0000:00:14.0-1/input0"
Info bus: 0003, vendor 1a2c, product 0c23, version 0110
Physical usb-0000:00:14.0-1/input0
Device device /dev/input/event2, name "Power Button", phys "LNXPWRBN/button/input0"
Info bus: 0019, vendor 0000, product 0001, version 0000
Physical LNXPWRBN/button/input0
Device device /dev/input/event1, name "Power Button", phys "PNP0C0C/button/input0"
Info bus: 0019, vendor 0000, product 0001, version 0000
Physical PNP0C0C/button/input0
Device device /dev/input/event0, name "Sleep Button", phys "PNP0C0E/button/input0"
Info bus: 0019, vendor 0000, product 0003, version 0000
Physical PNP0C0E/button/input0
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event1')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event2')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event3')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event4')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event5')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event6')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event7')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event8')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event9')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event10')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event11')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event12')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event13')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/async
```io/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event14')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event15')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event16')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Exception ignored in: <bound method InputDevice.__del__ of InputDevice('/dev/input/event0')>
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 160, in __del__
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/device.py", line 305, in close
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/evdev/eventio_async.py", line 55, in close
File "/usr/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
File "/usr/lib/python3.6/asyncio/events.py", line 669, in get_event_loop_policy
File "/usr/lib/python3.6/asyncio/events.py", line 662, in _init_event_loop_policy
ModuleNotFoundError: import of asyncio halted; None in sys.modules
Any ideas ?
And yes, i have tried rebooting ;)
Can you run "pip3 list | grep asyncio" for me? What does it output?
$pip3 list | grep asyncio
asyncio 3.4.3
EDIT
Ok i found where octoprint have logs ;P
log part after octoprint restart
2021-06-28 10:02:24,968 - octoprint.plugins.usb_keyboard - INFO - USB Keyboard loading
2021-06-28 10:02:24,972 - octoprint.plugin - ERROR - Error while calling plugin usb_keyboard
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint/plugin/__init__.py", line 271, in call_plugin
result = getattr(plugin, method)(*args, **kwargs)
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint/util/__init__.py", line 1941, in wrapper
return f(*args, **kwargs)
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint_usb_keyboard/__init__.py", line 444, in on_after_startup
self.load_settings()
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint_usb_keyboard/__init__.py", line 434, in load_settings
self._profiles = self.load_profiles()
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint_usb_keyboard/__init__.py", line 422, in load_profiles
profiles[profile["key"]] = self.load_profile_from_data_folder(profile["value"])
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint_usb_keyboard/__init__.py", line 562, in load_profile_from_data_folder
profile_json_filename = os.path.join(profiles_folder, profile_filename)
File "/home/main/OctoPrint/venv/lib/python3.6/posixpath.py", line 94, in join
genericpath._check_arg_types('join', a, *p)
File "/home/main/OctoPrint/venv/lib/python3.6/genericpath.py", line 149, in _check_arg_types
(funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'dict'
2021-06-28 10:02:25,057 - octoprint.server.preemptive_cache - INFO - Preemptively caching / (ui _default) for {'base_url': 'http://printer3d.home:5000/', 'path': '/', 'query_string': 'l10n=en'}
2021-06-28 10:02:25,139 - octoprint.server.util.sockjs - INFO - User main logged in on the socket from client 172.16.16.1
2021-06-28 10:02:26,992 - octoprint.server.preemptive_cache - INFO - ... done in 1.94s
2021-06-28 10:02:26,992 - octoprint.server.preemptive_cache - INFO - Preemptively caching / (ui _default) for {'base_url': 'http://printer3d.<redacted>.com/', 'path': '/', 'query_string': 'l10n=en'}
2021-06-28 10:02:27,064 - octoprint.server.preemptive_cache - INFO - ... done in 0.07s
2021-06-28 10:02:33,058 - octoprint.server.util.flask - INFO - Passively logging in user main from 172.16.16.1
2021-06-28 10:02:33,058 - octoprint.access.users - INFO - Logged in user: main
2021-06-28 10:02:33,721 - octoprint.server.util.flask - INFO - Passively logging in user main from 172.16.16.1
2021-06-28 10:02:33,721 - octoprint.access.users - INFO - Logged in user: main
2021-06-28 10:02:33,815 - octoprint.server.util.sockjs - INFO - Client connection closed: 172.16.16.1
2021-06-28 10:02:34,166 - octoprint.server.util.sockjs - INFO - New connection from client: 172.16.16.1
2021-06-28 10:02:34,235 - octoprint.server.util.flask - INFO - Passively logging in user main from 172.16.16.1
2021-06-28 10:02:34,235 - octoprint.access.users - INFO - Logged in user: main
2021-06-28 10:02:36,661 - octoprint.server.util.sockjs - INFO - User main logged in on the socket from client 172.16.16.1
part after going into usb keyboard settings
2021-06-28 10:02:48,857 - octoprint.server.api - ERROR - Error while executing SimpleApiPlugin usb_keyboard
Traceback (most recent call last):
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint/server/api/__init__.py", line 158, in pluginCommand
response = api_plugin.on_api_command(command, data)
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint/util/__init__.py", line 1941, in wrapper
return f(*args, **kwargs)
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint_usb_keyboard/__init__.py", line 870, in on_api_command
data["message"], data["options"] = self.listener.get_device_info()
AttributeError: 'Usb_keyboardPlugin' object has no attribute 'listener'
AttributeError: 'Usb_keyboardPlugin' object has no attribute 'listener'
Is a red-herring. There's no listener set up because it failed to start the evdev listener at initialization. According to that first stack trace:
File "/home/main/OctoPrint/venv/lib/python3.6/site-packages/octoprint_usb_keyboard/__init__.py", line 562, in load_profile_from_data_folder profile_json_filename = os.path.join(profiles_folder, profile_filename)
It's having issues finding the actual profile file on startup... This is preventing the evdev listener from even being started.
So, the real issue is, is whatever happened to your config file? TypeError: join() argument must be str or bytes, not 'dict'
implies that we're trying to join a dict to a string instead of a string/string and I'm curious as to how that happened.
Can you give me the contents of "/home/<user running octoprint>/.octoprint/data/usb_keyboard/profiles" and the usb_keyboard section of your config.yml found in "/home/<user running octoprint>/.octoprint/config.yml" ?
looks like i don't have any profiles
ls -l /home/main/.octoprint/data/usb_keyboard/profiles/
total 0
config.yaml (not yml)
usb_keyboard:
_config_version: 2
EDIT:
Well I AGAIN for third time reinstalled plug-in with data clean and now it's working :‑0
No idea why it's working now.
From what i recall between reinstalls i have only added evdev and asyncio in octoprints venv via pip3
Then I don't know what was going wrong for you... If you had no profiles, it should not have attempted to load anything and should have been able to start up just fine.
OK, so i'm closing issue.