Verstehe ich die Lizenz richtig, dass ich den Treiber nicht für Kommerzielle Produkte nutzen kann? http://webcache.googleusercontent.com/search?q=cache:ZRMfPu14HDEJ:www.st.com/resource/en/license_agreement/dm00218346.pdf+&cd=1&hl=de&ct=clnk&gl=de&lr=lang_de%7Clang_en&client=firefox-b-ab Ich möchte ein Gerät mit einem STM32 Mikrocontroller bauen, dass über USB mit einem PC verbunden wird. Dazu benötigt man diesen Treiber.
> Unless otherwise explicitly stated in this Agreement, You may not > sell, assign, sublicense, lease, rent or otherwise distribute the > Licensed Software for commercial purposes, in whole or in part. Ja. Kommerzieller Gebrauch ist nicht angesagt. Wenn Du die Funktionalität kommerziell nutzen willst, musst Du entweder bei ST anfragen, ob sie Dir eine kommerzielle Lizenz verkaufen, oder aber eine andere Lösung finden - vergleichbare Software woanders kaufen oder aber sie selbst entwickeln.
Genau der von Dir zittierten Satz ist mir auch sauer aufgestoßen. Wenn ich den USB Treiber selbst entwicklen (oder extra bezahlen) muss, kann ich gleich einen FTDI (oder ähnlichen) Chip nehmen. Denn wenn ich etas produzieren, dann sind es meistens nur Einzelstücke in Handarbeit. Meine größte Serie waren mal 10 gleiche Platinen 10x8cm (nix mit USB). Ich denke, ein separater Standard USB-UART ist ohnehin die bessere Wahl, weil deren Treiber besser und länger gepflegt werden. Und notfalls kann ich den USB-UART durch einen anderen austauschen, falls es in Zukunft mal zu kompatibilitätsproblem mit Betriebsystemen kommen sollte. Es hat ja nicht jeder Kunde Linux - leider. Denn da bräuchte man sich um die Treiber gar keine Gedanken machen.
Stefan U. schrieb: > Ich denke, ein separater Standard USB-UART ist ohnehin die bessere Wahl, > weil deren Treiber besser und länger gepflegt werden USB-CDC ist eine Standardgeräteklasse, für die jedes Betriebssystem von Hause aus Devicetreiberunterstützung mit sich bringt. Ältere Windows-Versionen brauchten noch etwas Nachhilfe in Form einer *.inf-Datei, aber der Treiber selbst war schon immer dabei. Wenn Du USB-UARTs à la FT232 verwendest, ist das nicht USB-CDC, sondern etwas proprietäres des jeweiligen Herstellers, dem Du auf Gedeih und Verderb ausgeliefert bist, auf daß er doch bitte Devicetreiber für das von Dir genutzte Betriebssystem zur Verfügung stellen möge. FTDI macht das bislang ziemlich gut, aber z.B. Prolific hat die Unterstützung für ältere Varianten des PL2303 einfach eingestellt. Den kann man mit neueren Windows-Versionen nicht mehr verwenden. Microchip stellt eine USB-UART her, die USB-CDC implementiert, und fällt damit etwas aus dem Rahmen.
> Prolific hat die Unterstützung für ältere Varianten des PL2303 > einfach eingestellt. Den kann man mit neueren Windows-Versionen nicht mehr > verwenden. Hier ist der Prolific Treiber für Windows 8 und 10: http://stefanfrings.de/avr_tools/PL2303_Prolific_GPS_1013_20090319.exe Das ist nicht der neueste Treiber, aber der geht mit alten Adaptern. > USB-CDC ist eine Standardgeräteklasse, für die jedes Betriebssystem > von Hause aus Devicetreiberunterstützung mit sich bringt. Interessant. Ich habe das Ding gerade mal an den Laptop meiner Frau angeschlossen (da war noch nie irgendein seriellen USB Gerät dran). Und siehe da, es wurde direkt erkannt. Zwar nicht mit "STM32" in Namen, aber das ist egal. Danke für deinen Hinweis.
Stefan U. schrieb: > Das ist nicht der neueste Treiber, aber der geht mit alten Adaptern. Das mag zwar vielleicht noch eine Weile lang funktionieren, aber mit Stefans Anforderung > Ich denke, ein separater Standard USB-UART ist ohnehin die > bessere Wahl, weil deren Treiber besser und länger gepflegt werden. hat das irgendwie gar nichts zu tun. Prolific selbst hat den PL-2303HX(Chip Rev A) und PL-2303X bereits im Oktober 2012 abgekündigt und weist darauf hin, daß es dafür keine Windows-8-Treiber (und folglich auch nichts neueres) geben wird.
Da hast du Recht. Ich muss jederzeit damit rechnen, meine alten Prolific Kabel nicht mehr verwenden zu können. Und davon habe ich einige. Deswegen habe ich ja gerade das Thema Treiber+Zukunft auf dem Schirm. Insofern freut es mich sehr, daß ich für die USB Schnittstelle der STM32 Controller gar keine Treiber brauche.
Stefan U. schrieb: > Insofern freut es mich sehr, daß ich für die USB Schnittstelle der STM32 > Controller gar keine Treiber brauche. Das kannst Du so natürlich nicht verallgemeinern. Du brauchst nur dann keine Treiber, wenn Deine Software auf dem STM32 eine der Standardgeräteklassen (HID, CDC, Mass Storage etc.) verwendet. Bei allem anderen brauchst Du sehr wohl Treiber. Die interessante Frage aber, die sich jetzt aufdrängt, ist die, woher dieser Lizentext eigentlich stammt. Beschreibt der die Lizenz eines (Windows-) Treibers, oder beschreibt der die Lizenz der CDC-Implementierung /auf dem STM32/? In letzterem Falle hättest Du nämlich noch gar nichts gewonnen ...
Darf die Software für Open Source Projekte verwendet werden? (Welche ja auch kommerziell vertrieben werden können?) mfg
> Die interessante Frage aber, die sich jetzt aufdrängt, ist die, > woher dieser Lizentext eigentlich stammt. Der Lizenztext befindet sich auf der Download Seite von STM, da wo man den Treiber findet. Für die CDC Implementierung auf dem µC gibt es eine andere weniger restriktive Lizenz. Und für den Windows Treiber ist der Lizenztext meiner Meinung nach unpassen, da ST eigentlich nur das überflüssige Installationsprogramm (für die INF Datei) beigesteuert hat. Der Treiber selbst ist ja nichtmal in dem Paket drin, er ist Bestandteil von Windows. > Du brauchst nur dann keine Treiber, wenn Deine Software auf dem STM32 > eine der Standardgeräteklassen (HID, CDC, Mass Storage etc.) verwendet. Ja, es geht mir um CDC. > Darf die Software für Open Source Projekte verwendet werden? Nein, die Lizenz unterscheidet nicht nach Art der Anwendung. Jede Art von Weitergabe ist untersagt. Wenn du also deinen Kunden (oder deinen beschenkten Freunden) den STM Treiber bereitstellen willst, musst du ihnen mitteilen, wie man ihn auf der Webseite von STM findet. Kopieren zur Weitergabe ist verboten.
Stefan U. schrieb: > Der Lizenztext befindet sich auf der Download Seite von STM, da wo man > den Treiber findet. Was genau ist "der Treiber"? Ist das nur die (mittlerweile überflüssige) *.inf-Datei, um CDC mit Windows zum Laufen zu bringen, oder was?
Das haben wir doch in diesem Thread ausführlich erörtert. Ich dachte, wir beide sind mit dem Thema längst durch. Der VCP Treiber von STM besteht aus einem Installationsprogramm und einer INF Datei, welche lediglich den Treiber von Windows konfiguriert. Windows erkennt die Geräte, welche die Cube HAL Library benutzen, jedoch auch von alleine. Aber wenn du meinst, ihn zu brauchen, tu Dir keinen Zwang an. Für deinen eigenen nicht kommerziellen Bedarf darfst du ihn kostenlos herunterladen. http://www.st.com/en/development-tools/stsw-stm32102.html Und hier nochmal der Link zum Lizenztext in Googles Cache, denn bei STM ist die Datei zur Zeit verschwunden: http://webcache.googleusercontent.com/search?q=cache:ZRMfPu14HDEJ:www.st.com/resource/en/license_agreement/dm00218346.pdf+&cd=1&hl=de&ct=clnk&gl=de&lr=lang_de%7Clang_en
Stefan U. schrieb: > Aber wenn du meinst, ihn zu brauchen, tu Dir keinen Zwang an. Für deinen > eigenen nicht kommerziellen Bedarf darfst du ihn kostenlos > herunterladen. Du verstehst mich miss. Mich interessiert das Ding nicht; ich wollte Dir helfen und versuchen, Klarheit zu schaffen. Was etwas merkwürdig ist, ist die Behauptung (seitens ST), daß der "Treiber" Open Source wäre, aber der "Treiber" wiederum Deiner Schilderung zufolge aus einem (überflüssigen) Installationsprogramm und der *.inf-Datei besteht. Um Treiber zu installieren, braucht man keine Installationsprogramme. Wie funktioniert Open Source ohne Source? Aufgrund dieser Merkwürdigkeit nahm ich an, daß sich die Lizenz nicht auf den "Treiber" selbst, sondern auf den CDC-Sourcecode bezieht, den ST wohl anderswo zur Verfügung stellt.
> ich wollte Dir helfen und versuchen, Klarheit zu schaffen. Ach so, das hast du längst getan. Dein Hinweis darauf, daß Windows CDC Devices von alleine erkennt, war für mich sehr hilfreich. > Wie funktioniert Open Source ohne Source? Gute Frage, ich verstehe auch nicht, warum die um ihre INF Datei herum ein Paket gebaut haben, das wiederum in ein Setup-Programm eingebettet ist, dass wiederum gepackt ist, dass wiederum in ein weiteres Setup Programm eingebettet ist. Vielleicht wollten sie genau diese Ungereimtheit verbergen. Dabei hätte eine simple ZIP Datei als Download genügt. > Aufgrund dieser Merkwürdigkeit nahm ich an, daß sich die Lizenz nicht > auf den "Treiber" selbst, sondern auf den CDC-Sourcecode bezieht, den > ST wohl anderswo zur Verfügung stellt. In diesem Paket ist der Quelltext der CDC Library für den µC enthalten: http://www.st.com/en/embedded-software/stm32cubef1.html Und tatsächlich, auch hier wird wieder auf das gleiche (momentan verschollene) Lizenzdokument verlinkt. Ich denke, die Library kann man schon kommerziell nutzen, denn da heisst es: "Product: means Your and Your’s end-users’ product or system ... execute solely and exclusively on microcontroller devices manufactured by or for ST" "STMicroelectronics (“ST”) grants You ...to make copies, prepare derivative works of the source code version of the Licensed Software for the sole and exclusive purpose of developing versions of such Licensed Software only for use within the Product" Der Windows Treiber wird aber nicht mit Source code bereitgestellt und außerdem läuft nicht auf Mikrocontrollern von ST. Weiter heisst es: "STMicroelectronics (“ST”) grants You ... to make copies, prepare derivative works of the object code versions of the Licensed Software for the sole purpose of designing, developing and manufacturing the Products;" "Unless otherwise explicitly stated in this Agreement, You may not sell, assign, sublicense, lease, rent or otherwise distribute the Licensed Software for commercial purposes, in whole or in part" Mir sagt dass, dass ich die closed-source Software nur als Arbeitsmittel zum Entwicklen benutzen darf.
Was willst du denn mit dem Wusel. Der Treiber ist einfach Schrott. Der merkt nich einmal wenn das Gerät abgezogen wird....
> Der Treiber ist einfach Schrott. > Der merkt nich einmal wenn das Gerät abgezogen wird.... Ich wiess nicht wieso du das denkst. Auf meinen Computern werden die COM Ports automatisch entfernt, wenn ich die Geräte abstecke - es sei denn, der Port ist noch durch ein Programm geöffnet. Das war schon immer so, und es ist auch logisch, denn geöffnete Files kann man (unter Windows) nicht löschen. Abgesehen davon möchte ich nochmal daran erinnern, dass wir hier nicht von einem Treiber reden (wsie sich herausgestellt hat), sondern von einem Installationsprogramm, welches dem Gerät lediglich einen Namen gibt. Der Treiber kommt von Microsoft und ist Bestandteil von Windows.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.