Re: binäre Aliens unter FreeBSD nutzen

From: Marc Santhoff <M.Santhoff(at)web.de>
Date: Tue, 13 Dec 2011 17:21:05 +0100

Hallo Olli und die anderen Listigen,

erstmal vielen Dank für die ausführlichen und hilfreichen Ausführungen.

Windows-DLL fällt also komplett aus, wobei das natürlich der häufigste
Fall wäre. Eine Linux-Bibliothek gibt es schon recht selten, teilweise
habe ich mittlerweile sogar Rückmeldung auf meine Anfragen bekommen und
unter anderem sogar Bereitschaft eine spezielle Version zu übersetzen.
MAl gucken, was da noch so eintrudelt.

Am Dienstag, den 13.12.2011, 09:50 +0100 schrieb Oliver Fromme:
> > Marc Santhoff wrote:
> > Mplayer macht das ja, bei Netzwerktreibern sogar auch (also mit
> > Hardwarezugriff). Nur die Quellen sind nicht nur umfangreich sondern
> > auch wenig hilfreich für mich, das Verfahren zu erklären.
>
> Da muss man differenzieren.

[...]

> > Es geht dabei um am USB angeschlossene Meßgeräte, sowas wie PicoScope
> > und dessen Verwandte.
>
> Soviel ich weiß, unterstützt WINE kein USB (aber ich kann
> mich da auch irren). Diese Möglichkeit fällt also aus.

Wine wohl nicht, jedenfalls garantiert nicht problemfrei. VirtualBox
kann mittlerweile teilweise mit USB umgehen, da käme es auf einen
Versuch an. Bloß fehlt mir dazu die Hardware, die muß ich noch
anschaffen.

> > Die bekommen Steuerbefehle übermitelt und liefern
> > auch Daten zurück. Seitens der Hersteller gibt es oft nur eine
> > Binärdatei mit den Steuerfunktionen, die muß also auf den betreffenden
> > USB-Port zugreifen können, das ist wohl der leichtere Teil. Die
> > Kommunikationsprotokolle werden nicht offengelegt.
>
> Schwierig. Mögliche Ansätze:
>
> - Den Hersteller überreden, Dir Source-Code und/oder die
> Beschreibung des Protokolls zu überlasssen.

Antworten gehen in die Richtung, daß die Steuerung auf unterster Ebene
sehr kompliziert ist. Wie schon erwähnt, eine Angebot eine spezielle
Version zu übersetzen kommt dem schon nahe.

> - Selbst versuchen, das Protokoll herauszufinden (auf Neu-
> deutsch "reverse-engineering").

Kann man machen, ist aber viel Arbeit und am Ende immer noch ein Risiko.
Der Aufwand dafür reicht schon fast, um selbst solche HArdware zu
entwerfen und einen Controller zu programmieren. Naja, nicht wirklich.

> - Falls es wenigstens eine Library für Linux (*.so) gibt:
> Diese unter FreeBSD zu verwenden, ist in der Regel
> deutlich einfacher als bei einer Windows-DLL. Im Notfall
> kann man zumindest die Software als Linux-Binary ent-
> wickeln (auch das geht unter FreeBSD, am einfachsten
> mit einem linux_dist*-Port) und dann im Linuxulator
> laufen lassen.

Kannst Du dazu bitte noch etwas ins Detail gehen? Ich habe noch nicht
geguckt, aber im Prinzip würde das doch heißen, alle eingebundenen
Bibliotheken bereitzustellen und außerdem benutze System Calls
umzuleiten, ähnlich, wie der Linuxolator das tut?

Interessant wäre natürlich auch die Frage, wie kompliziert eine echte
Portierung auf FreeBSD wäre, mit Linux habe ich sonst wenig zu tun.

> - Andere Hardware verwenden, deren Hersteller nicht an
> Microsoft "klebt", und der andere Betriebssysteme besser
> unterstützt.

Schwer zu finden in diesem Fall.

> - Wenn's alles nichts hilft, dann muss man in den sauren
> Apfel beißen und unter Windows entwickeln. Immerhin
> könnte man das dann unter FreeBSD in einem Virtualisierer
> laufen lassen (z.B. VirtualBox) und hat so zumindest ein
> paar kleine Vorteile.

Jein. ich müßte dazu einige bereits bestehende Programme umstellen und
außerdem gibt es zumindest bei VBox noch Schwierigkeiten mit USB2.0. Ich
konnte auch noch nicht rausfinden, ob die zuletzt von H.P.Selaski
eingebaute USB-Unterstützung nun auch High Speed unterstützen soll, oder
ob dazu das nicht von Oracle für FreeBSD verfügbare Erweiterungpaket
nötig ist ...

> Gruß
> Olli
>
> [*] Meine persönliche Empfehlung: "USB Complete" von
> Jan Axelson, Fourth Edition, Verlag Lakeview Research LLC,
> ISBN 978-1-931448-08-6. Aber wenn man bei Null anfängt,
> muss man damit rechnen, dass man zunächst einmal ein wenig
> Zeit investieren muss.

Die beste Quelle, die ich kenne ist diese dort:

http://www.beyondlogic.org/usbnutshell/usb1.shtml

Fand ich sehr lesbar und verständlich.

-- 
Marc Santhoff <M.Santhoff(at)web.de>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 13 Dec 2011 - 17:19:49 CET

search this site