Hi Florian, I have tried this version. The CTRL_SAMPLING packet (value:0x20 index:0x20) is now identical. But it still doesn't work. It also doesn't work after removing these 2 issues:
The function la2016_upload_firmware() calls "ezusb_upload_firmware(sr_ctx, dev, 0, fw_file);" The parameter configuration should be 1 since the Configuration Descriptor has bConfigurationValue=1. This is also done in the other hardware drivers. e.g. fx2lafw/api.c, line 349: ezusb_upload_firmware(drvc->sr_ctx, devlist[i], USB_CONFIGURATION, prof->firmware) There is a "#define USB_CONFIGURATION 1" in the corresponding "protocol.h" files of the other drivers. I don't know why this is not a problem on the Linux platform. There was a subtle difference in the CTRL_THRESHOLD packet (value:0x48 index:0). The Linux driver sends "58 02 F2 00", the Windows version "57 02 F2 00". This data is just a threshold value. It's calculated from floating point values. Probably there are differences in the floating point libraries. But anyway, this is just a value for the sample threshold. Although the value should not be important, I changed the function and the Windows driver sends now the same value. But unfortunately this doesn't change the behavior. After la2016_start_acquisition() is called, no IN transfer is initiated by the LA2016 on the USB bus. The last remaining difference in the USB data is the data in unknown_resp1, read from EP:0 request:96, value:0, index:0. But this is a device-to-host control transfer. So the data content is not under control of the LA2016 driver in libsigrok. The actual value changes in each run, independent of the OS. Regards, Helge -----Original Message----- From: Florian Schmidt [mailto:schmidt_flor...@gmx.de] Sent: Wednesday, October 28, 2020 7:14 PM To: sigrok-devel@lists.sourceforge.net Subject: Re: [sigrok-devel] kingst-la2016 & MXE compiler - (was: Getting firmware for Kingston LA2016) hi helge, can you please pull branch "kingst-la2016/no-packed" from https://github.com/fastflo/libsigrok.git and try to compile it with this MXE compiler? i successfully tested to compile with gcc 9.3 and run it on linux. if it compiles, this should fix the issue with struct sample_config (and also decoding the received data). flo. On 10/28/20 5:33 PM, Florian Schmidt wrote: > ...non-gcc compilers when i used "__attribute__((packed))" in that code-base. > ...i will prepare a branch from libsigrok master to implement this. > ... > On 10/28/20 3:15 PM, Helge Kruse wrote: >> This __packed__ attribute is not honored in the >> MXE compiler. Fill bytes are inserted. _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel