07.02.2021, 04:33, "Pičugins Arsenijs" <crim...@yandex.ru>:
> 12.01.2021, 11:42, "Kevin Grant" <elect...@mykolab.com>:
>>  Fausto
>>
>>  If you can't read the device, writing won't work either. I think there is 
>> still some addressing problem.
>>
>>  A search with your package manager or internet search might help you find a 
>> binary editor.
>>
>>  Alternatively, a few lines of python could make a binary file for you:
>>
>>  import os
>>  filename = os.path.join(os.path.dirname(__file__), "eeprom-new.bin")
>>  with open(filename,'wb') as f:
>>      f.write(bytearray([0xc0,0x50,0x1d,0x8d,0x60]))
>>
>>  Then write the new data with
>>
>>  fx2tool -B -d 16c0:296d write_eeprom -W 2 -a 0 -f ./eeprom-new.bin
>
> I finally found my Geetech board and decided to try it out. Had to replace 
> its USB port
> because it was shorted out for some reason, that's why it took so long =D It 
> read back all ff's, too.
> Tried your Python file generator, it generated a .bin file, checked with xxd 
> that it has the right
> contents.
>
> 00000000: c050 1d8d 60
>
> However, writing it with fx2tool -B -d 04b4:8613 write_eeprom -W 2 -a 0 -f 
> ./eeprom-new.bin
> and then reading back the EEPROM contents, nothing changes - ff's stay and 
> VID/PID are
> the same. I've finally found how to "write" it - unplug J2, power the board 
> up and then write.
> Then, the hexfile contents seem to actually change the EEPROM. However, you 
> can't read
> with J2 unplugged, you need to plug it back - only then you'll see your 
> changes apply.
> Aaaaand it doesn't change the VID/PID, even though it looks like this:
>
> 00 c0 c0 16 6d 29 00 00 00 ff ff ff ff ff ff ff
>
> I took my other Saleae LA, a $5 8ch one that actually works, here's how its 
> first 16 bytes look:
>
> c0 25 09 81 38 01 00 00 28 94 07 dd 49 d8 61 a6
>
> Here's a Python script I wrote that takes this line of text and generates an 
> EEPROM:
>
> s = "c0 25 09 81 38 01 00 00 28 94 07 dd 49 d8 61 a6"
>
> b = [int("0x"+c, 16) for c in s.split(" ") if c]
> print(b)
>
> filename = "eeprom_8chla_copy.bin"
> with open(filename,'wb') as f:
>     f.write(bytearray(b))
>
> After flashing my LA with the resulting file, still removing the jumper for 
> flashing:
>
>  fx2tool -B -d 04b4:8613 write_eeprom -W 2 -a 0 -f ./eeprom_8chla_copy.bin
>
> It identifies just like my other analyzer which I copied the EEPROM from:
>
> Bus 001 Device 078: ID 0925:3881 Lakeview Research Saleae Logic
>
> I hope this is useful in some way.

Oh, also, it only identifies as Saleae Logic when the jumper is removed - with 
J2 on,
it identifies like before:

Bus 001 Device 084: ID 04b4:8613 Cypress Semiconductor Corp. CY7C68013 EZ-USB 
FX2 USB 2.0 Development Kit

Gotta use the power switch or the RESET button to restart it after 
removing/adding
the jumper in order for VID/PID to change. Maybe that was the missing piece all 
along. 

> Cheers!
> Arsenijs
>
>>  Good luck, I hope you get it working.
>>
>>  On 2021-01-12 00:01, Fausto Barbosa wrote:
>>>  Kevin,
>>>  in that case, which editor would I use to edit the bin eeprom file? I will 
>>> try to insert that information and flash the modified file.
>>>  Thank you.
>>>  Fausto.
>>>
>>>  On Mon, Jan 11, 2021 at 6:27 PM Kevin Grant <elect...@mykolab.com> wrote:
>>>>  Hmm. That's still not good. Probably something wrong with eeprom 
>>>> addressing.
>>>>  I would expect to see the VID PID in the first few bytes like this:
>>>>
>>>>  fx2tool -B -d 16c0:296d read_eeprom -W 2 0 256
>>>>  c0 c0 16 6d 29 00 00 00  ff ff ff ff ff ff ff ff
>>>>  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff
>>>>  ...
>>>>
>>>>  Then you would select a new VID PID, maybe this one from api.c:
>>>>  sigrok FX2 based 16-channel logic analyzer 1d50:608d
>>>>  Then you would write something like this back to the EEPROM.
>>>>  c0 50 1d 8d 60 00 00 00
>>>>
>>>>  On 2021-01-11 20:49, Fausto Barbosa wrote:
>>>>>  As you guessed, the line
>>>>>  $ fx2tool -B -d 16c0:296d read_eeprom -W 2 0 256
>>>>>  failed but in fact, the model my board has a jumper (J2) that, when 
>>>>> opened, associates address 0x51 to the i2c port.
>>>>>  See this reference (which is identical to my board. J2 is at the bottom 
>>>>> of the figure 1)
>>>>>  
>>>>> https://community.cypress.com/t5/Knowledge-Base-Articles/Cypress-EZ-USB-FX2LP-based-Logic-Analyzer-using-Open-Source/ta-p/252866
>>>>>
>>>>>  Then I opened the jumper, ran the command line again and, voila, got the 
>>>>> empty firmware output again :\
>>>>>  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff
>>>>>  ...
>>>>>
>>>>>  Is this output expected to show the VID PID numbers in some place?
>>>>>
>>>>>  Best regards.
>>>>>  Fausto.
>>
>>  ,,
>>
>>  _______________________________________________
>>  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


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

Reply via email to