Skip to content

🐛 | AttributeError: 'InputDevice' object has no attribute 'fn' with generic usb rfid reader #2521

@stubobis1

Description

@stubobis1

Version

latest

Branch

dev

OS

32bit lite

Pi model

3 B

Hardware

No response

What happened?

Choose Reader Module from list:

  0: No RFID Reader                           (Module: No RFID Reader)
  1: Generic USB Reader                       (Module: generic_usb/generic_usb.py)
  2: RDM6300 via serial UART                  (Module: rdm6300_serial/rdm6300_serial.py)
  3: MFRC522 via SPI                          (Module: rc522_spi/rc522_spi.py)
  4: PN532 reader via I2C using py532 library (Module: pn532_i2c_py532/pn532_i2c_py532.py)
  5: Fake Reader (simulator for development)  (Module: fake_reader_gui/fake_reader_gui.py)
  6: Generic NFCPY NFC Reader Module          (Module: generic_nfcpy/generic_nfcpy.py)

Reader module number? [0..6] 1
Reader selected: 'generic_usb'

Entering reader customization


Choose RFID device from USB device list:
If you are planning to connect multiple USB Readers make sure ALL of them are connected before running this script!If your RFID reader appears multiple times (e.g. KKMoon), select the one which has PASS in the isKey column.
For the curious: isKey indicates a device capability check for required keys
Traceback (most recent call last):
  File "/home/pi/RPi-Jukebox-RFID/src/jukebox/run_register_rfid_reader.py", line 72, in <module>
    main()
  File "/home/pi/RPi-Jukebox-RFID/src/jukebox/run_register_rfid_reader.py", line 67, in main
    rfid_configure.query_user_for_reader(dependency_install=dinstall_lookup[args.deps]),
  File "/home/pi/RPi-Jukebox-RFID/src/jukebox/components/rfid/configure/__init__.py", line 214, in query_user_for_reader
    reader_params = reader_module.query_customization()
  File "/home/pi/RPi-Jukebox-RFID/src/jukebox/components/rfid/hardware/generic_usb/generic_usb.py", line 81, in query_customization
    devices_is_key = [_is_keyboard(x) for x in devices]
  File "/home/pi/RPi-Jukebox-RFID/src/jukebox/components/rfid/hardware/generic_usb/generic_usb.py", line 81, in <listcomp>
    devices_is_key = [_is_keyboard(x) for x in devices]
  File "/home/pi/RPi-Jukebox-RFID/src/jukebox/components/rfid/hardware/generic_usb/generic_usb.py", line 69, in _is_keyboard
    logger.debug(f"is_keyboard test for '{device.name}' at '{device.fn}' is '{is_keyboard_res}'")
AttributeError: 'InputDevice' object has no attribute 'fn'

Fixed with

logger.debug(f"is_keyboard test for '{device.name}' at '{device.path}' is '{is_keyboard_res}'")

instead of

logger.debug(f"is_keyboard test for '{device.name}' at '{device.fn}' is '{is_keyboard_res}'")

In
RPi-Jukebox-RFID/src/jukebox/components/rfid/hardware/generic_usb/generic_usb.py

Logs

No response

Configuration

No response

More info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions