[GreatFET] Intermittent USBErrors

Evan evan at re4.fun
Wed Jun 12 20:15:02 EDT 2019


Hello all!

My GreatFET One arrived in the post today and I am very pleased :)

I am having some intermittent USBErrors, however, and I'd like some help
tracking down the problem. It only and always happens when there are no
active interactions with the FET (e.g. `gf shell` or `gf info`) for the
past 5 seconds or so. No issues with calling `gf info` if there is an
active `gf shell` in another terminal. Any ideas?

Firmware: git-2019.5.1.dev0

Your new neighbor,
Evan


This recreates the issue consistently:
```
evan at arch ~ % gf info; gf info; sleep 5; echo "done napping\!"; gf info;
Traceback (most recent call last):
  File "/home/evan/Documents/venvs/greatfet/bin/greatfet_info", line 10, in <module>
    sys.exit(main())
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/greatfet/commands/greatfet_info.py", line 94, in main
    devices = GreatFET(find_all=True)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/greatfet/greatfet.py", line 29, in GreatFET
    return GreatFETBoard.autodetect_all(**board_identifiers)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 105, in autodetect_all
    subclass_devices = subclass.all_accepted_devices(**device_identifiers)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 151, in all_accepted_devices
    if cls.accepts_connected_device(**identifiers):
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 179, in accepts_connected_device
    raise e
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 168, in accepts_connected_device
    potential_device = cls(**device_identifiers)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 237, in __init__
    self.comms = CommsBackend.from_device_uri(**self.identifiers)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/comms.py", line 83, in from_device_uri
    return USBCommsBackend(**device_uri)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/comms_backends/usb.py", line 102, in __init__
    self.device.set_configuration()
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 869, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 147, in managed_set_configuration
    self.managed_open()
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 120, in managed_open
    self.handle = self.backend.open_device(self.dev)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/backend/libusb1.py", line 786, in open_device
    return _DeviceHandle(dev)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/backend/libusb1.py", line 643, in __init__
    _check(_lib.libusb_open(self.devid, byref(self.handle)))
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 5] Input/Output Error
Found a GreatFET One!
  Board ID: 0
  Firmware version: git-2019.5.1.dev0
  Part ID: a0000a305a475e
  Serial number: 000057cc67e6314a8f57

done napping!
Traceback (most recent call last):
  File "/home/evan/Documents/venvs/greatfet/bin/greatfet_info", line 10, in <module>
    sys.exit(main())
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/greatfet/commands/greatfet_info.py", line 94, in main
    devices = GreatFET(find_all=True)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/greatfet/greatfet.py", line 29, in GreatFET
    return GreatFETBoard.autodetect_all(**board_identifiers)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 105, in autodetect_all
    subclass_devices = subclass.all_accepted_devices(**device_identifiers)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 151, in all_accepted_devices
    if cls.accepts_connected_device(**identifiers):
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 179, in accepts_connected_device
    raise e
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 168, in accepts_connected_device
    potential_device = cls(**device_identifiers)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/board.py", line 237, in __init__
    self.comms = CommsBackend.from_device_uri(**self.identifiers)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/comms.py", line 83, in from_device_uri
    return USBCommsBackend(**device_uri)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/pygreat/comms_backends/usb.py", line 102, in __init__
    self.device.set_configuration()
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 869, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 147, in managed_set_configuration
    self.managed_open()
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/core.py", line 120, in managed_open
    self.handle = self.backend.open_device(self.dev)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/backend/libusb1.py", line 786, in open_device
    return _DeviceHandle(dev)
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/backend/libusb1.py", line 643, in __init__
    _check(_lib.libusb_open(self.devid, byref(self.handle)))
  File "/home/evan/Documents/venvs/greatfet/lib/python3.7/site-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 5] Input/Output Error
```


More information about the GreatFET mailing list