Please see below how I do it, it should work for you too. It works perfectly for me for updating firmware (however, for updating FPGA you need traditional mount-cp-umount).
Could you please check, does sha256sum of my .hex match yours?
[code]% sha256sum Bin/APP_G251.hex
576e8498406a88c6d5d810bcd2326e172ccaa604c3eac89f4dfd9b8c77e9231a Bin/APP_G251.hex
% dsofwu Bin/APP_G251.hex
Volume in drive D is DFU V3_10_C
Directory for D:/
APP_G251 rdy 76084 2011-12-07 12:15
1 file 76 084 bytes
427 520 bytes free
% cat =dsofwu
#!/bin/sh
mcopy “$1” d:
sleep 8
mdir d:
% cat /etc/mtools.conf | grep -B1 DFU
drive d:
file="/dev/disk/by-id/usb-Vertual_DFU_Disk_4ÿ_d2K88X__C-0:0"
[/code]
And, as I have said in the previous message, I tried many times. Since with any other firmware (compiled by me or others) it works in 100% of cases I guess there is something wrong with the .hex in the git tree, or my DS203 somehow different.
Today I have tried on Windows, when I copied the firmware in the DFU disk, Explorer automatically closed the window. Nothing happened, firmware did not update. Then I did the same for standard firmware AP1_B252.hex, Explorer automatically closed the window again, and it worked. So, this proves for sure OS is not the problem here. I get the same result in both Linux and Windows.
I also tried with traditional mount-cp-umount (and then mount-ls-umount to make sure I got .rdy). Nothing worked.
My FPGA version is 261. I’m sure it is 261 because it behaves differently than 222 (which I tried before updating to 261).
But inability to compile the firmware is another big problem. Even if update worked, I need to compile it to be able to improve it. And according to its README it definitely needs a lot of work. But standard firmware also needs a lot of work, so I thought maybe gabonator’s firmware is better place for a start? Its unfortunate that it does not work.
Yes, you are right. I examined provided Makefile and it looks useless because it expects .c (in both “.c.o” and “.cpp.o” rules) and .S files in its directory. But even if I copy all .cpp and .h files to its directory, and correct rule for “.cpp.o” (it should look for .cpp not .c files) - I still get the same output. So basically there is no Makefile. What’s the point to include in the git tree junk like Makefile which cannot work?..
Since I’m not familiar with the project, and never created Makefiles manually (because I use cmake for my projects), its not really obvious how to compile it.
Since it does not work, there is no point because I do not know how to debug .bat files (actually, its even worse: I do not know anything about .bat files except they are scripts interpreted by cmd). By the way, Wine’s cmd still needs a lot of work (I know because I’m subscribed to Wine’s mailing lists, and I contributed some patches to Wine, helped to fix some bugs), so it may not work at all no matter what you try.
And I need it to compile in Linux (without Wine, virtual machines, etc.) anyway, because this is where I develop the software. For now, I’m stuck, because even precompiled .hex does not work.