[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