15

Add HLA Support for USB


Avatar
Tim

Update from Saleae:

We've recently released documentation on our FrameV2 API below, which would allow for HLA support for any analyzer, including our USB analyzer.

The USB analyzer would still need to be updated to use the new FrameV2 API, which we haven't gotten to yet. Our USB analyzer source code is available below:


Original request & use case below:

A

Activity Newest / Oldest

M

Mäh

Hi all!

I support this idea. In the meantime I wrote a Python high level decoder for traces exported from Saleae Logic USB LS/FS.

It’s open source and you can find it on GitHub. It's not a modified Saleae Logic analyzer but it's a tool to process CSV files exported with Saleae Logic using Python.

Happy to hear any feedback and receive pull requests:
github.com/maehw/UsbInsight

UsbInsight - a high-level USB decoder to export USB transactions or packets from Saleae Logic traces - maehw/UsbInsight

Please note that this is an external tool and not a HLA extension. If people are interested, we could make this a binary to run on Windows or MacOS so that you don't need a Python environment.


Avatar

Tim

Thanks for sharing that with all of us! Would you mind if we have your tool posted in the Community Shared Protocol Tools section of the support article below?

support.saleae.com/community/community-shared-protocols#community-shared-protocol-tools


M

Mäh

Hi Tim. It's a good idea adding a link there! Feel free to do so, I appreciate it.


Avatar

Tim

Thank you! I just added a link to your tool to the Community Shared Protocol Tools section.


J

Jonathan

Without HLA support or at least some kind of filtering ability, it's pretty tedious to work with captured USB data. The constant stream of SOF packets makes it hard to tell when something actually interesting is going on.


J

Jonathan

OK, it was simple enough to fork the USB analyzer and filter out the SOF packets in the results. In case someone else needs that, my fork is here: github.com/jonathangjertsen/usb-analyzer

I am pretty new to USB, so I don't know if this is a general problem. If so, I can make a PR against the upstream version


Avatar

Tim

Thanks for sharing that fork! I added it to our list of community analyzers below:
support.saleae.com/protocol-analyzers/community-shared-protocols

You're right about HLA support though. We've recently released documentation on our FrameV2 API below, which would allow for HLA support for any analyzer, including our USB analyzer.
support.saleae.com/saleae-api-and-sdk/protocol-analyzer-sdk/framev2-hla-support-analyzer-sdk

The USB analyzer would still need to be updated to use the new FrameV2 API, which we haven't gotten to yet (I updated this idea post to reflect that).


Avatar

Kurt

I assume that this is still not on the roadmap?

As I mentioned in previous threads, I normally end up, doing the capture, than export the data to a very very large file. Then I use the linux grep with the -B 1 option and search for data, and output that to a file. and that gets me down to something more manageable...

But I still then need to edit the file and remove some of the junk and then I can finally load it up in Excel or the like.

But during the earlier conversations, there was comments, like the were going to the change the Lower Level analyzer to allow control of what data shows up in the tables or the like. Has any of that been done? If not my guess is it would be a very low on the priority list?

Maybe at some point, I may try to take a look at the sources and see maybe how hard it would be to add another output report type...

But my current stuff I am playing with runs at the higher USB speed, so can not capture it .


  • B
Avatar

Tim

Without having HLA support at the moment for the USB analyzer, the only way to modify the Data Table output right now is by creating a custom analyzer based on the USB analyzer source code using our SDK below:
support.saleae.com/saleae-api-and-sdk/protocol-analyzer-sdk


Avatar

Tim

HLA support for USB could help here...

(#57347)
"Hi, I'm debugging a USB interface that is being used as a virtual serial port. Is there any way to filter the capture to only include transactions that transfer data. Even only a few minutes of capture is going to take more than an hour to process by the analyzer ? Thanks"


Avatar

Tim

No progress unfortunately. This is not officially on the roadmap right now.

Only the analyzers listed in the article below are supported as of now:
support.saleae.com/extensions/analyzer-frame-types


K

KurtE

Any progress on this?