Wie wäre es mit diesem hier:
http://userweb.kernel.org/~tj/ossp/
Es emuliert OSS (Open Sound System) /dev/dsp etc. Geräteknoten und leitet alle Operationen an pulseaudio weiter. Ich glaube, das war (eine der) ersten Anwendungen, wenn nicht sogar die Motivation, für CUSE.
Ich wäre daran interessiert, CUSE zu verwenden, um einen virtuellen seriellen Port zu erstellen, der eine Verbindung zu einem RFC-2217-Seriell-über-Netzwerk-Server herstellt. Das wäre eine wirklich gute Verwendung von CUSE.
Siehe:
- Irgendein Linux RFC2217 Client für ser2net?
- astrand, Betreuer von cyclades-serial-client, hat einen Kommentar zu CUSE und Serial-over-Network abgegeben, aber es scheint, dass cyclades-serial-client CUSE immer noch nicht verwendet.
Ich habe mhuxd — Device Router für microHam Keyer und Linux gefunden, der CUSE verwendet, um einen virtuellen seriellen Port zu erstellen.
Ich habe auch utty auf GitHub gefunden, das CUSE-Code für ein TTY (Terminal) enthält, obwohl mir nicht klar ist, ob der ioctl
s für die Unterstützung serieller Ports sind funktionsfähig.
Ich betreue einen Linux-Kernel-Space-Treiber für serielle Ports über das Netzwerk und möchte ihn seit 15 Jahren in den Userspace verschieben. Ich habe mir die Verwendung von ptys angesehen, aber sie bieten nur Unterstützung für eine Teilmenge der Operationen, die für eine serielle Schnittstelle implementiert werden müssen. Bei mehreren Gelegenheiten habe ich vorgeschlagen, den Linux-pty-Treiber zu erweitern, so dass er als eine Möglichkeit zur Implementierung von User-Space-Treibern für serielle Ports verwendet werden könnte, aber ich habe nie eine Antwort von den Betreuern erhalten – also sieht es so aus, als würde CUSE endlich einen liefern Weise zu tun, was ich will. :)
Ich habe Verweise auf Leute gefunden, die CUSE von Python und cusepy
verwenden scheint die beliebteste Methode zu sein:
Da ist ein quantumrandom
Paket auf PyPI, das es zu verwenden scheint.
Und osspd
ist ein weiterer OSS-Emulator, der CUSE verwendet.
Das könnte dasselbe sein wie das, das ein paar Posts weiter oben erwähnt wurde, aber ich kann es nicht sagen, weil dieser Link nicht funktioniert.