Firmware auf Cypress FX2 flashen (LogicAnalyzer fx2lafw)

Gast #5888674
Lesenswert?

Hallo,

auf einen Cypresd FX2 möchte ich neue Firmware laden, weiss jemand wo 
ich das Tool dafür bekomme und wie man das macht. Was ich gefunden hab 
war alt/obsolet. Ist ein Logic Analyzer der nicht mit Sigrok arbeiten 
mag, ich vermute es liegt an der Firmware.

Vielen Dank, hab schon fast 1h gegoogelt, bei Sigrok steht leider auch 
nicht viel.

Grüsse, Seppel
Gast #5888695
Lesenswert?

Meines Wissens hat der FX2 gar kein Flash, sondern nur RAM. Wenn sich 
der LA nach dem Anstecken mit seinem Bootloader meldet, kann man die 
Firmware laden.
Bei sigrok brauchst du die FX2 Firmware (Debian z.B. 
"sigrok-firmware-fx2lafw" package, oder selber bauen) als nur, um sie in 
den LA laden zu können. sigrok verwendet nicht die Firmware von z.B. 
Saleae, sondern seine eigene Implementierung.
Gast #5888703
Lesenswert?

Hallo,

ist Windows 10. Ich hab einen zweiten der mal auf Win7 
funktionierte(liegt irgendwo herum), aber ich weiss nicht mehr wie ich 
das hin bekommen hab :-( .

Hab mit Zadig den WinUsb Treiber installiert, ist das korrekt, oder 
sollte es ein anderer sein?

Welche Vid und Pid sollte es sein? Aktuell ist es 0925 3881.

Wie kann ich die änderen, könntet ihr mir den Link und den Namen senden.

Vielen Dank.

Grüsse Seppel
Gast #5888793
Lesenswert?

Seppel schrieb:
> Hat ein 24c02 drin,... sollte man auch die FW flashen?

Nochmal: Da ist keine FW, die man flashen könnte, weil kein Flash 
vorhanden ist in den man die FW schreiben könnte. Der einzige 
nichtflüchtige Speicher ist ein EEPROM mit der USB VID/PID und das 
Bootloader-ROM vom Cypress IC.

Du steckst das Ding ans USB, es holt sich die USB VID/PID aus dem 
EEPROM, der PC erkennt die IDs und läd die FW zum USB Device hoch. Du 
kannst beliebige FW hochladen. sigrok hat seine eigene (freie). Saleae 
eine andere. Wenn du sigrok installiert hast und das Device als LA 
verwenden möchtest, dann brauchst du auch die sigrok fx2 FW. sigrok 
funktioniert wunderbar mit der normalen Saleae USB VID/PID. Anstecken 
geht. Hatte nie Probleme damit.
#5888869
Lesenswert?

WinUSB ist falsch du brauchst libusb. Warum beschafft du dir nicht 
einfach sigrok da ist doch alles dabei. Cypress unterstützt auch das 
Laden der fw aus dem Eeprom (B2 Download) dann ist allerdings ein 8kb 
bzw. ein 16kb Eeprom notwendig bei einem 2402 kann nur Pid / Vid und ev 
ein String geladen werden. Die Firmware wird dann von der Applikation 
geladen.

Thomas
Gast #5888977
Lesenswert?

Ich kann dir nur sagen, dass ich so einen Clon habe.
Beschriftet mit USBee AX PRO

Stecke ich ihn an, zeigt zadig:
Device: LogicAnalyser 8CH
Driver: WinUSB (v6.1.7600.16385)
USB ID: 08A9 0014

Starte ich dann Pulseview..
Dann kann ich dort zwischen CWAV USBee AX und Demo Device wählen.
In zadig wechselt der Devicename dann zu fx2lafw
Das andere bleibt.


Meine Erinnerung sagt, dass ich den LA zur XP Zeit mal zum Saleae 
umgetauft habe.
Hatte dann mit der Saleae Software funktioniert.
Für PulseView war der Rechner zu schlapp

Aber dann beim Umstieg zu Win10, mich entschlossen PulseView zu 
verwenden und die PID/VID wieder auf Auslieferungszustand zu setzen
#5889071
Lesenswert?

Seppel schrieb:
> Der Treiber scheint gar nicht installiert zu werden, wenn man ab und
> wieder ansteckt ist ein anderer Treiber installiert, sie screenshot.
> Zudem meint Microsoft, "Der beste Treiber" wäre installiert.
>
> Weiß jemand wie ich da weiter komme?
> Grüße, Seppel

Naja solange du einen comport Treiber darauf installiert hast wird das 
auch nichts .
Das kommt davon wenn man wie wild irgendwelche (unpassende) Treiber 
installiert. Als erstes solltest du die pnf Dateien zu diesen devices 
löschen.
Das device muss abgesteckt sein. Welche pnf Dateien das sind kannst du 
rausbekommen wenn du die Infs nach der Vid Pid kombo durchsuchst. Danach 
die Finger vom zadig lassen und das sigrok Paket und Pulseview Paket 
installieren das macht alles für dich. Wenn du unbedingt mit zadig 
arbeiten willst du brauchst libusbk und nur das. Kein WinUSB kein cdc 
kein irgendwas.
Infs und pnfs findest du im Systemordner.

Thomas
Gast #5889078
Lesenswert?

> Zudem meint Microsoft, "Der beste Treiber" wäre installiert.

Das muss nichts heißen. Der "beste" Treiber ist für Windows immer der 
neueste Treiber, den Windows mal gesehen hat und dessen Geräte-ID mit 
dem Gerät überein stimmt. Im schlimmsten Fall kann das einfach ein 
völlig falscher Treiber sein.

Manchmal ist der neueste Treiber auch gerade falsch. Zum Beispiel sind 
viele USB-UART Kabel mit einem PL2303 Chip im Umlauf, die nur mit alten 
Treibern funktionieren.
#5889296
Lesenswert?

Typischerweise ändern sich beim Cypress VID/PID, wenn die FW ins RAM 
hochgeladen wurde. Wenn Du mit Zadig arbeiten möchtest, musst Du daher 
für beide Varianten libusbk (oder was auch immer) definieren, also 
einmal nach dem direkten Anstecken und ein zweites Mal, wenn sigrok die 
Firmware hochgeladen hat.
Gast #5889338
Lesenswert?

Hab einen anderen Rechner verwendet, wenn ich nur Sikrok önnen und den 
LA anstecke kommt gar nichts.

1) Unbekanntes Gerät im Gerätemanager
2) Treiber-Detail, keine.


Ok, also zadig und libusbk, Unknown-Device 1# gefunden, libusbk 
installiet(interessnt ist dass neben Hilfe zu WinUSB (libusb) angeboten 
wird aber anscheinend nicht installiert werden kann)


1) Wir als libusbk-Device -> Unknown-Device 1# angezeigt.
2) Sigrok "Scan for Devices", kein Eintrag

Ich bin echt ratlos, das hat mal getan.
Gast #5889497
Lesenswert?

Hallo,

Hab den LS gestern auf meiner Win7 Maschine zu Laufen bekommen, auf der 
Win10 Maschine weiterhin Fehler:


fx2lafw: Failed to open potential device with VID:PID 0925:3881: 
LIBUSB_ERROR_NOT_SUPPORTED.
fx2lafw: Failed to open device: LIBUSB_ERROR_NOT_SUPPORTED.
sr: fx2lafw: Unable to open device.
Notifying user of session error: "generic/unspecified error"
sr: log: libsigrok loglevel set to 4.
srd: libsigrokdecode loglevel set to 4.
sr: log: libsigrok loglevel set to 5.
srd: libsigrokdecode loglevel set to 5.
sr: device: fx2lafw: Opening device instance.
sr: fx2lafw: Firmware upload was not needed.
fx2lafw: Failed to open device: LIBUSB_ERROR_NOT_SUPPORTED.
sr: fx2lafw: Unable to open device.
Notifying user of session error: "generic/unspecified error"

Grüße, Seppel
#5890105
Lesenswert?

Seppel schrieb:
> fx2lafw: Failed to open potential device with VID:PID 0925:3881:
> LIBUSB_ERROR_NOT_SUPPORTED.
> fx2lafw: Failed to open device: LIBUSB_ERROR_NOT_SUPPORTED

Nun es steht ja da .... Du hast ein Problem mit libusb. Es wird 
vermutlich die falsche Version sein. Nochmal wenn du schon zadig nimmst 
nutze das was im sigrog bzw Pulseview dabei ist nicht irgendwas was auf 
der Platte liegt. Bei mir funktioniert das mit dieser Vid problemlos 
unter w10. Ich habe dazu auch nichts extra mit zadig eingerichtet das 
passiert beim ersten Start automatisch. Du hast vermutlich immer noch 
einen falschen Treiber auf der Vid. Der Gerätemanager kann dir das ganz 
genau sagen. Libusb ist leider immer noch problematisch unter Win.

Thomas
Gast #6144822
Lesenswert?

...continued:
The solution was, I believe, to uninstall
Atmel LibUSB0 driver that I think was causing some kind of a conflict. 
You probably have Microchip MPLAB X installed, and this driver come 
along.

Also, I uninstalled lots of previousely installed software and MPLAB X 
was one of them.

Hope that helps.

Greetings from Serbia.

Nenad
Gast #6596277
Lesenswert?

Seppel schrieb:
> Welche Vid und Pid sollte es sein? Aktuell ist es 0925 3881.
> Wie kann ich die änderen, könntet ihr mir den Link und den Namen senden.

Mein Clone hieß bisher 0925 3881, jetzt nennt er sich 04B4 8613 und ich 
habe keinen Plan, was da passiert ist. Abends das System ausgeschaltet, 
am nächtsen Tag war das USB-Device unbekannt. Würde dem Device gerne 
wieder seine originale Kennung verpassen. Hat jemand das passende Tool 
in der Schublade liegen?
#6596547
Lesenswert?

Oliver K. schrieb:
> Hat jemand das passende Tool
> in der Schublade liegen?

Ich erinnere mich noch dumpf, wie ich mit irgendeinem Cypress-Tool die 
VID/PID für einen Logikanalysator auf den EEPROM geschrieben habe. 
Leider  hielt ich es damals(tm) wohl nicht für nötig, das Tool irgendwo 
zu sichern.

Ob das Tool hier 
https://www.cypress.com/documentation/development-kitsboards/cy3681-ez-usb-fx2-development-kit 
in den "Related Files" mit drin steckt, weiß ich nicht.

Die "EZ-USB FX2 USBsuite" scheint es nicht mehr von Cypress/Infineon zu 
geben. Ob die "EZ-USB FX3 USBsuite" auch die Altprodukte noch supportet, 
steht ebenfalls nirgendwo...

Notfalls baust du dir halt sonstwie ein USB-(UART-)I2C-Interface und 
programmierst damit den EEPROM um...

mfg mf
Gast #6596785
Lesenswert?

Oliver K. schrieb:
> Mein Clone hieß bisher 0925 3881, jetzt nennt er sich 04B4 8613 und ich
> habe keinen Plan, was da passiert ist. Abends das System ausgeschaltet,
> am nächsten Tag war das USB-Device unbekannt.

Hat jemand eigentlich eine Idee, was da auf meinem System gelaufen ist? 
Ich suche nun seit Tagen wie ein Blöder nach einem Tool, mit dem man die 
ID ändern kann, dabei muss sich ja offensichtlich so ein Tool auf meinem 
Rechner befinden, oder in irgendeiner Software integriert sein. Denn die 
neue ID ist ja nicht k?"/ §3=) sondern 04B4 8613. Und die ist eindeutig 
einem anderen Gerät zugeordnet.

Achja, der Rechner hat keine Verbindung zum Internet.
Beitrag #6596826 wurde von einem Moderator gelöscht.
Gast #6596838
Lesenswert?

Oliver K. schrieb:
> Mein Clone hieß bisher 0925 3881, jetzt nennt er sich 04B4 8613 und ich
> habe keinen Plan, was da passiert ist.

Die ersten beiden Antworten zur Ursprungsfrage, sowie das Bild von 
Hannes beantworten deine Frage.

04B4 8613 ist die ID des Cypress Chips. Nachdem die Firmware in sein RAM 
(!) geladen wurde, ändert sich die ID auf den Wert, den die Firmware 
vorgibt. Und das ist bei der Software von Saleae die 0925 3881.

Ziehe das USB Kabel ab und stecke es wieder dran. Dann siehst du wieder 
die 04B4 8613. Das ist auch nötig, wenn du zwischen der Saleae Software 
und Sigrok wechselst, denn Sigrok lädt eine andere Firmware in das RAM 
des Chips.

Oder anders gesagt: Da ist alles in Ordnung.
Gast #6596974
Lesenswert?

Stefan ⛄ F. schrieb:
> Ziehe das USB Kabel ab und stecke es wieder dran. Dann siehst du wieder
> die 04B4 8613.

Dem ist ausdrücklich NICHT so!

Hatte beim Kauf zwei Stück geordert. Wenn ich mit den beiden USB-Devices 
an ein FREMDES System gehe, meldet sich das zweite Device korrekt als 
0925 3881 an, während sich das erste nun als 04B4 8613 anmeldet. 
Nebenbei kann ich das erste Device nicht mehr als LA nutzen, weil es von 
meinem System als neue Hardware identifiziert wird und sich für die 
USB-ID kein Treiber findet.

> Da ist alles in Ordnung.
Da ist eher alles in totaler Unordnung!
Gast #6596981
Lesenswert?

Nachtrag:

Ob in meinem ersten Device das EEPROM defekt ist?
Im Screenshot von Hannes lese ich zum Cypress Chip "... no EEPROM"

Aber wie sollte das funktionieren? Wenn der Cypress Chip kein EEPROM 
hat, dann steht seine ID irgendwo anders. Wenn man dann ein EEPROM 
"drüber" lötet, dann kann man die Chip-eigene ID unterdrücken?
Gast #6597011
Lesenswert?

Hannes B. schrieb:
> Aber wie sollte das funktionieren? Wenn der Cypress Chip kein EEPROM
> hat, dann steht seine ID irgendwo anders. Wenn man dann ein EEPROM
> "drüber" lötet, dann kann man die Chip-eigene ID unterdrücken?

So ungefähr. Der Chip verwendet eine Standard-ID wenn er ohne EEprom 
eingeschaltet wird. Das machen die beliebten USB-UART Adapter von FTDI 
auch so.
#6597193
Lesenswert?

um es nochmal klarzustellen. Der FX2 stellt verschiedene Optionen zum 
booten der Firmware bereit. Beim Start wird erstmal nach einem EEprom 
mit gültigem Inhalt gesucht. Wird kein EEprom gefunden, oder entspricht 
der Inhalt nicht einem der vorgegebenen Formate bootet der Chip eine 
Default FW es kommt dann die Meldung EEprom missing. Mit einem passenden 
executable kann dann eine Firmare die in der exe liegt ins CodeRam 
geladen werden.
Die Alternative dazu ist dass in einem 24L02 nur VID PID abgelegt sind. 
Dann meldet sich der Chip damit nutzt aber immer noch die Default 
Firmware die dann im exe wieder ausgetauscht werden kann/muss. Das ist 
der B0 download.
Daneben geht es auch bei entsprechend großen EEproms die Firmware direkt 
aus dem EEprom zu booten. Das nennt sich B2 Download und hat den 
Vorteil, dass das Gerät dann Out of the Box mit der richtigen FW bootet.
Sigrok bzw Pulse View kann sowohl mit als auch ohne EEprom benutzt 
werden, ist ohne EEprom nur etwas komplizierter.
#6597275
Lesenswert?

Suche die passende .inf Datei öffne diese mit einem Editor und ändere 
die PID&VID auf die ab die das USB-Gerät ausspuckt, wenn nun das Gerät 
eingesteckt wird und die PID&VID übereinstimmt werden die Treiber 
installiert die in der .inf Datei genannt werden.

So mach ich das wenn ich den Treiber eines Nachfolgegerätes verwenden 
möchte wenn es im neuen Betriebssystem keine Treiber mehr fürs alte 
Gerät gibt.
Gast #6597467
Lesenswert?

Habe das Teil mal geöffnet und fotografiert.

So wie ich es bisher verstanden habe, meldet sich der Chip mit seiner 
eigenen ID (hier 04B4 8613), wenn kein EEPROM mit einer anderen Kennung 
vorhanden ist. Ich sehe aber ein 24C02 und das Teil hat sich ja längere 
Zeit mit 0925 3881 angemeldet.

Dann liegt es nahe, dass das EEPROM eine Macke haben könnte.
Oder welcher Grund wäre noch denkbar?
Angehängte Dateien:
Gast #6603009
Lesenswert?

Stefan ⛄ F. schrieb:
> Muss nicht unbedingt kaputt sein, vielleicht ist er nur gelöscht.

Wer sollte das EEPROM gelöscht haben? Ich sicher nicht.

Finde es sowieso seltsam, dass jedermann über USB die ID ändern oder 
löschen kann. Für den Normalanwender ist das Gerät danach kaputt und 
landet im Mülleimer. Vielleicht der tiefere Sinn der Übung.
Gast #6603033
Lesenswert?

Oliver K. schrieb:
> Wer sollte das EEPROM gelöscht haben? Ich sicher nicht.

Kann bei Fehlfunktionen passieren, z.B.  wenn die Versorgungsspannung 
während eines Lesezugriffes instabil ist.

Oliver K. schrieb:
> Finde es sowieso seltsam, dass jedermann über USB die ID ändern oder
> löschen kann.

Das ist Consumer Elektronik, die soll konsumiert werden, nicht ewig 
halten. In einem medizinischen Gerät oder einem Atomkraftwerk würde man 
so etwas nicht einsetzen (hoffe ich).
Gast #6604920
Lesenswert?

Thomas Z. schrieb:
> Also hast du irgendwann mal eine passende Software gestartet oder ein
> Bit ist aus irgend einem Grund gekippt.

Die passende Software fällt aus, bleibt also nur Letzteres übrig. 
Immerhin fällt das Device dann auf die Chip-ID zurück und es gibt Mittel 
und Wege, das Device wieder ins System einzubinden.
#7806611
Lesenswert?

Oliver K. schrieb:

Oliver K. schrieb:

Mein Clone hieß bisher 0925 3881, jetzt nennt er sich 04B4 8613 und ich habe keinen Plan, was da passiert ist. Abends das System ausgeschaltet, am nächsten Tag war das USB-Device unbekannt.

Hat jemand eigentlich eine Idee, was da auf meinem System gelaufen ist? Ich suche nun seit Tagen wie ein Blöder nach einem Tool, mit dem man die ID ändern kann, dabei muss sich ja offensichtlich so ein Tool auf meinem Rechner befinden, oder in irgendeiner Software integriert sein. Denn die neue ID ist ja nicht k?"/ §3=) sondern 04B4 8613. Und die ist eindeutig einem anderen Gerät zugeordnet.

Achja, der Rechner hat keine Verbindung zum Internet.

ist bei mir genauso. hatte n clone von saleae2.. ist der zweite der so geendet ist, beim ersten hab ich mir noch nicht viel gedacht. böse zungen würden jetzzt behaupten, dass das echte Demoteile sind, die die lebenszeit davon abhängig machen, wie oft sie benutzt werden. beide vor einem jahr bestellt. im fruhling den einen intensiv genutzt, im sommer gar nicht. im herbst dann plötzlich kaputt. jetzt den zweiten die letzten 8-9wochen eigentlich täglich mehrmals benutzt.. vorhin kaputt gegangen, wird nur noch als cypress gerät erkannt

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren