greatfet
greatfet copied to clipboard
Logic driver issue Windows
Running into a driver issue when I try to run the logic command on Windows 10.
gf logic -p /tmp/spi-capture12.sr Sampling 8 channels at 17 MHz. Press Ctrl+C to stop reading data from device.
ERROR: Communications failure -- check the connection to -- and state of -- the GreatFET. (More debug information may be available if you run 'gf dmesg'). [Errno None] b'libusb0-dll:err [_usb_reap_async] timeout error\n'
Capture terminated -- waiting for data processing to complete. Sigrok/PulseView compatible session file created: '/tmp/spi-capture12.sr'. Sampled for 3.0159 seconds.
When I run dmesg it doesn't pull any errors and when I run the gf info command it has no problem detecting the board.
I've reinstalled the drivers through Zadig but it appears to have made no difference.
Can you please run gf info -a
and put the output here? I'd also appreciate if you could run gf dmesg
after an error occurs and also paste that output here.
gf info -a
outputs: gf info -a
Host tools info:
host module version: 2021.2.1
pygreat module version: 2021.2.1
python version: 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)]
module path: c:\users\school\appdata\local\programs\python\python39\lib\site-packages\greatfet
command path: c:\users\school\appdata\local\programs\python\python39\lib\site-packages\greatfet\commands
gnuradio-companion block path: c:\users\school\appdata\local\programs\python\python39\lib\site-packages\greatfet\gnuradio
Found a GreatFET One! Board ID: 0 Firmware version: v2021.2.1 Part ID: a0000a303d4764 Serial number: 000057cc67e633455757
it also shows the supported API's (not sure if you needed these to)
gf dmesg
after the error occurs: gf dmesg
[------------] System started after hard reset / power cycle.
[ 131457] System clock bringup complete.
[ 131489] Configuring board pins...
[ 131541] GreatFET initialization complete!
[ 296623274] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000
[ 476471217] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000
[ 486578009] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000
Thank you for helping me out with this.
I'm getting a similar error with this too. Windows 10
C:\Users\User>gf logic -p testSigrokCapture.sr Sampling 8 channels at 17 MHz. Press Ctrl+C to stop reading data from device. Traceback (most recent call last): File "C:\Users\User\AppData\Roaming\Python\Python310\site-packages\usb\core.py", line 236, in get_interface_and_endpoint return self._ep_info[endpoint_address] KeyError: 129
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\Python310\Scripts\greatfet_logic-script.py", line 33, in
and the output of C:\Users\User>gf info -H Host tools info: host module version: 2021.2.1 pygreat module version: 2021.2.1 python version: 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)]
module path: C:\Program Files\Python310\lib\site-packages\greatfet-2021.2.1-py3.10.egg\greatfet
command path: C:\Program Files\Python310\lib\site-packages\greatfet-2021.2.1-py3.10.egg\greatfet\commands
gnuradio-companion block path: C:\Program Files\Python310\lib\site-packages\greatfet-2021.2.1-py3.10.egg\greatfet\gnuradio
Found a GreatFET One! Board ID: 0 Firmware version: v2021.2.1 Part ID: a0000a306d4f6a Serial number: 000057cc67e632725257
C:\Users\User>gf info -a Host tools info: host module version: 2021.2.1 pygreat module version: 2021.2.1 python version: 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)]
module path: C:\Program Files\Python310\lib\site-packages\greatfet-2021.2.1-py3.10.egg\greatfet
command path: C:\Program Files\Python310\lib\site-packages\greatfet-2021.2.1-py3.10.egg\greatfet\commands
gnuradio-companion block path: C:\Program Files\Python310\lib\site-packages\greatfet-2021.2.1-py3.10.egg\greatfet\gnuradio
Found a GreatFET One! Board ID: 0 Firmware version: v2021.2.1 Part ID: a0000a306d4f6a Serial number: 000057cc67e632725257 APIs supported: core: get_available_classes -- Fetches the available class numbers. get_available_verbs -- Fetches the available verb numbers for a given class. get_class_docs -- Fetches for documentation the given class. get_class_name -- Fetches the string name for the given class. get_verb_descriptor -- Fetches the information about the given verb. get_verb_documentation -- Fetches the given verb's documentation. get_verb_in_param_names -- Fetches the given verb's in-param names. get_verb_in_signature -- Fetches the given verb's in-signature. get_verb_name -- Fetches the string name for the given verb. get_verb_out_param_names -- Fetches the given verb's out-param names. get_verb_out_signature -- Fetches the given verb's out-signature. read_board_id -- Fetches the board's type identifier. read_part_id -- Fetches the part ID used on the board. read_serial_number -- Fetches the board's serial number. read_version_string -- Fetches the board's version. request_reset -- Resets the relevant board. firmware: full_erase -- Erases the entire firmware flash chip. initialize -- Sets up the board to have its firmware programmed. page_erase -- Erases the page with the provided address on the fw flash. read_page -- Returns the contents of the flash page at the given address. write_page -- Writes the provided data to a single firmware flash page. uart: initialize -- Prepares a UART for use by the rest of this API. read -- Reads from the UART buffer, capturing recently received data synchronous_transmit -- Transmits the provided byte over the given UART. swra124: chip_erase -- erase the chip debug_init -- reset target into debugging mode debug_instr -- execute instruction on target get_chip_id -- read chip ID from target get_pc -- get program counter from target halt -- halt target execution read_status -- read status byte from target resume -- resume target execution setup -- initialize pin mapping for debugging step_instr -- single-step target spi_flash: full_erase -- Erases the entire spi_flash flash chip. initialize -- Sets up the board to program an external SPI flash. query_device_id -- Reads the target SPI flash's JEDEC ID. query_topology -- Attempts to read information about the device's 'shape' usin read_page -- Returns the contents of the flash page at the given address. write_page -- Writes the provided data to a single spi_flash flash page. spi: clock_data -- Clock data out and in; but don't change the chip select. enable_drive -- If enable is false, the SPI pins will be tri-stated; if true init -- Initialize a SPI device set_clock_polarity_and_phase -- Applies a standard SPI mode to set the polarity and phase. transmit -- Write to a SPI device and read response selftest: measure_clock_frequencies -- Returns the frequencies of the provided clocks, in MHz. measure_raw_clock -- Returns the frequencies of the provided clocks, in MHz. sdir: dac_register_read -- debug: read a raw value from an AD904 register dac_register_write -- debug: write a raw value from an AD904 register start_receive -- Start receipt of SDIR data on the primary bulk comms pipe. stop -- Halt SDIR communications; termianting any active communicati pattern_generator: dump_sgpio_configuration -- Requests that the system dumps its SGPIO configuration state generate_pattern -- Sets the GreatFET to repeatedly emit a short pattern. generate_simple_pattern -- Sets the GreatFET to emit a short pattern. stop -- Stops all pattern generation functionality. upload_samples -- Uploads a set of samples into the pattern generator's sample logic_analyzer: change_first_pin -- Changes the first SGPIO pin captured in future captures, but configure -- Configures a logic analyzer capture; should be called before configure_alt_mappings -- Swaps the locations of pins 8/9 for use with Rhodadendron's dump_sgpio_configuration -- Requests that the system dumps its SGPIO configuration state start -- Starts a logic analyzer capture, which will run until stop i stop -- Terminates an active logic analyzer capture. loadables: halt_m0 -- Starts execution of a loaded program on the device's M0 core load_m0_page -- Copies a page of data into the M0 address space. start_m0 -- Starts execution of a loaded program on the device's M0 core leds: off -- Turn an LED off on -- Turn an LED on toggle -- Toggle an LED jtag_msp430: erase_flash -- Erase all flash (except info segment). erase_info -- Erase info flash segment. halt_cpu -- Halt program execution. read_mem -- Read n words from memory. release_cpu -- Release control of the CPU, continuing execution. set_instruction_fetch -- Put CPU in to instruction fetch state (probably). set_pc -- Set CPU program counter. set_reg -- Set a register to the given value. start -- Start JTAG process. stop -- Stop JTAG process. write_flash -- Write data to flash from a given address. write_mem -- Write a 16 bit word to memory. jtag: configure -- Configures a JTAG scan chain; can be run multiple times, but run_clock -- Pulses the clock for the chain; but neither scans in nor sca scan -- Scans a set of data out to the chain, and returns a response scan_in -- Scans a set of data in from the chain, scanning out all fill scan_out -- Scans a set of data out to the chain, discarding any respons i2c: issue_bytes -- Issues a raw set of bytes on the I2C bus. Gives low-level co issue_start -- Issues a raw start bit onto the I2C bus. issue_stop -- Issues a raw stop bit on the I2C bus. read -- Reads from the I2C bus and responds accordingly read_bytes -- Reads a raw set of bytes on the I2C bus. Should follow an is scan -- Scans all valid I2C addresses for attached devices start -- Initialize and transmit a start bit to an I2C device stop -- Transmit a stop bit to an I2C device stop_periodic_read -- Stop any active periodic read. stream_periodic_read -- Schedule a periodic I2C transaction, and stream its results write -- Writes to the I2C bus and responds accordingly heartbeat: get_period -- Returns the base period for the hearbeat LED. Arbitary units set_period -- Sets the base period for the hearbeat LED. Arbitary units. start -- Enables heartbeat mode, e.g. after the heartbeat has been st stop -- Disables heartbeat mode, free'ing the LED for user use. greatdancer: bus_reset -- Causes the target device to handle a bus reset. clean_up_transfer -- Cleans up any complete transfers on the given endpoint. connect -- Sets up the target port to connect to a host. disconnect -- Disconnects the target port from the host. finish_nonblocking_read -- Returns the data read after a given non-blocking read. get_nonblocking_data_length -- Returns the amount of data read after a given non-blocking r get_status -- Reads one of the device's USB status registers. read_setup -- Reads any pending setup packets recieved on the given endpoi send_on_endpoint -- Sends the provided data on the given IN endpoint. set_address -- Sets the address of the target device. set_up_endpoints -- Sets up all of the non-control endpoints for the device. stall_endpoint -- Stalls the endpoint with the provided address. start_nonblocking_read -- Begins listening for data on the given OUT endpoint. gpio: get_pin_directions -- Reads the direction of a GPIO pin or pins given tuples of (p read_pins -- Reads the value of a GPIO pin or pins given tuples of (port, release_pin -- Releases a GPIO pin for use by other peripherals. set_up_pin -- Configures a single pin to be used for GPIO. write_pins -- Sets the value of a GPIO pin or pins, given tuples of (port, glitchkit_usb: configure_requests -- Configures future requests. Optional; defaults are somewhat control_in -- Issues a control IN request as GlitchKit stimuli and capture glitchkit: add_trigger_events -- Adds to the active collection of events to be used to trigge provide_target_clock -- Sets up the board to provide a clock to a target device. set_synchronization_events -- Sets a collection of events to be used to synchronize stimul set_trigger_events -- Sets a collection of events to be used to trigger fault inje example: capitalize -- Capitalizes the first N characters of the provided string. sum_and_difference -- Computes the sum and difference of two ints. debug: clear_dmesg -- Fetches and clears content of the device's debug ring (log). peek -- Reads a raw LPC4330 memory address; for debug. poke -- Writes a raw LPC4330 memory address; for debug. read_dmesg -- Fetches the content of the device's debug ring (log). dac: initialize -- Initializes the DAC driver. Should be called before anything set_value -- Sets the DAC value. set_voltage -- Sets the DAC value by voltage in millivolts. clock_gen: output_clock -- Provide the target clock on a given CLKOUT pin, adc: read_samples -- Initialize the specified ADC for usage, with the given param stop_periodic_read -- Stop any active periodic read. stream_periodic_read -- Schedule a periodic ADC read, and stream its results to the
C:\Users\User>gf dmesg [------------] System started after hard reset / power cycle. [ 126499] System clock bringup complete. [ 126530] Configuring board pins... [ 126583] GreatFET initialization complete! [ 182057695] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000 [ 201550884] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000 [ 210392378] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000 [ 256794954] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000 [ 373056795] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000 [ 380556697] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000 [ 388804469] jtag: using half-period delay of 0 microseconds to achieve frequency of 405000