On Thu, 2021-03-11 at 08:26 +0100, Helge Kruse wrote:
>
> Am 10.03.2021 um 14:15 schrieb Kevin Grant:
> >
> > Hello Gerhard,
> >
> > On 2021-03-08 18:25, Gerhard Sittig wrote:
> >
> >> Is the basic operation fundamentally broken, or are just not all
> >> of the product's features available while the device _can_ be
> >> used to get captures and inspect or process the waveforms? In the
> >> former case I'd agree to "not supported", in the latter I would
> >> not.
> >
> > It appears to work at least partially for some users.
> > Input threshold adjustment uses the wrong FPGA registers and wrong
> > algorithm for threshold voltage DAC setting.
> > Trigger setups use the wrong FPGA registers (won't work).
> > Sampling setups also use the wrong FPGA registers.
> > So, quite broken IMHO.
> > This could be the result of the OEM changing the FPGA bitstream,
> > perhaps deliberately to scupper sigrok support. Or just some mistakes.
> >
> Yes, the basic operation is fundamentally broken. The implementation
> uses a construct of packed structs to layout USB reports. The packed
> attribute is suppressed for some reasons in the MXE cross compile
> configuration for the whole libsigrok project. This results in USB
> reports for LA2016 with wrong content and length. The affected USB
> reports are used to send essential parameters to the device. Therefore
> the basic operation is fundamentalliy broken for at least one of the
> supported platforms. There are some Git repositories around with
> bugfixes including yours, Kevin's and mine. This is a good development,
> but it's not available to the user who downloads an official version or
> a nightly build.

Are you, Helge and Kevin, talking about several different issues
that are not related to each other?

You can safely assume that I am aware of the USB transfers topic
and the portability issues of packed structs, having been an
active part in the communication about that. I remember having
provided feedback on that, and having amended your submission to
help make it acceptable. Haven't I, just in the very days that
these messages were sent?

With the construction and interpretation of USB transfers having
been addressed in the meantime, and the driver being portable
across platforms again, what else remains (function wise)? Still
haven't seen an update to the wiki device page, despite your
repeated and deeply felt urge that users should be able to find
the information at some place.


The above quotation suggests that the driver could have been
written against one version of the vendor firmware (perhaps
without stating it?), while you notice issues when using a
different firmware version? Or is the driver not operational with
the firmware that it was created and tested with initially?

If the driver depends on the firmware version and does not check
(or may not even be able to check), and this gets "fixed" by
making the driver depend on a different firmware version (which
still is neither identified nor checked) -- is this an
improvement? I'd guess that the driver would be as broken as it
is considered now. And thus would cease working as expected when
used in combination with yet another firmware version.

Notice that I'm speculating here, neither having access to the
device nor its version or several versions thereof, not being
able to verify or exclude any of these speculations.

While other messages in the thread suggest that firmware images
extracted from multiple vendor software versions are binary
identical? Or is this a reference to identical versions of
several unsupported (since untested, because not available at the
time of the driver's creation) firmware versions? Again, with
neither the device here nor better information all I can do is
guess.

Which illustrates that getting the available information on
record somewhere (in a "non-volatile" form) is more important
than any code changes which don't address the issue of not
knowing the current status and the origin of current issues. Just
make sure to clearly mark version dependencies, and separate
arbitrary implementation details from generic design limitations.


> So the Kingst-LA2016 is not supported for at least one platform. I am
> not sure what the status at https://sigrok.org/wiki/Kingst_LA2016 should
> express. If it means "works for at least one platform" it is supported.
> Since sigrok is a cross-platform project it should mean "works for all
> platforms that you find at https://sigrok.org/wiki/Downloads. If the
> second meaning is intended, the current information is wrong. The next
> girl that buys that device to use it with sigrok on Windows would be
> disappointed.

Gotta ask the maintainers about that. Won't speak for them. Only
can observe and conclude from what else is usually done in the
wiki for most other devices.


virtually yours
Gerhard Sittig
--
     If you don't understand or are scared by any of the above
             ask your parents or an adult to help you.


_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to