Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB superspeed peripherals Forum Discussions

Anonymous
Not applicable

Description: When the FPGA sends data to the PC through the USB chip, after running for a period of time, the PC will no longer receive data, and the FPGA will not send data anymore. At this point, the USB chip FLAGA signal does not go low, so the FPGA cannot send data all the time.

Question: Why is the usb chip FLAGA signal always high? What caused the usb chip to no longer receive data?

框图.jpg

FPGA FLAGA signal

flaga问题.png

Pc log error

transfer status: LIBUSB_TRANSFER_ERROR

UHD Error:

The receive packet handler caught a value exception.

ValueError: bad vrt header or packet fragment

terminate called after throwing an instance of 'uhd::usb_error'

what():  RuntimeError: USBError -4: usb rx6 submit failed: LIBUSB_ERROR_NO_DEVICE

transfer status: LIBUSB_TRANSFER_NO_DEVICE

--------------------------------------------------------------------------------------------------------

template <typename buffer_type>

UHD_INLINE typename buffer_type::sptr get_new(const double timeout)

{

if (wait_for_completion(timeout))

{

///*qiaoping

if (result.status != LIBUSB_TRANSFER_COMPLETED)

                throw uhd::io_error(str(boost::format("usb %s transfer status: %d")

                                        % _name % libusb_error_name(result.status)));

//*/

if (result.status != LIBUSB_TRANSFER_COMPLETED)

std::cout << boost::format("transfer status: %d") %  libusb_error_name(result.status) << std::endl;

result.completed = 0;

return make(reinterpret_cast<buffer_type *>(this), _lut->buffer, (_is_recv)? size_t(result.actual_length) : _frame_size);

}

return typename buffer_type::sptr();

}

Screenshot from 2018-05-29 10-16-42.png

0 Likes
3 Replies
KandlaguntaR_36
Moderator
Moderator
Moderator
100 likes received 50 likes received 25 likes received

Do you have feasible to check the Debug Prints?

If yes, please collect the logs and post here.

0 Likes
Anonymous
Not applicable

thank you for your replay

Pc log error

transfer status: LIBUSB_TRANSFER_ERROR

UHD Error:

The receive packet handler caught a value exception.

ValueError: bad vrt header or packet fragment

terminate called after throwing an instance of 'uhd::usb_error'

what():  RuntimeError: USBError -4: usb rx6 submit failed: LIBUSB_ERROR_NO_DEVICE

transfer status: LIBUSB_TRANSFER_NO_DEVICE

--------------------------------------------------------------------------------------------------------

template <typename buffer_type>

UHD_INLINE typename buffer_type::sptr get_new(const double timeout)

{

if (wait_for_completion(timeout))

{

///*qiaoping

if (result.status != LIBUSB_TRANSFER_COMPLETED)

                throw uhd::io_error(str(boost::format("usb %s transfer status: %d")

                                        % _name % libusb_error_name(result.status)));

//*/

if (result.status != LIBUSB_TRANSFER_COMPLETED)

std::cout << boost::format("transfer status: %d") %  libusb_error_name(result.status) << std::endl;

result.completed = 0;

return make(reinterpret_cast<buffer_type *>(this), _lut->buffer, (_is_recv)? size_t(result.actual_length) : _frame_size);

}

return typename buffer_type::sptr();

}

0 Likes

Hello Shi Shu,

- Please let know if you have the UART functionality in the firmware to implement the UART debug printing. If yes, kindly, share the UART logs.

- Also, please let know if you are referring to the AN65974 app note for your implementation.

Best regards,

Srinath S

0 Likes