Que tal este:
http://userweb.kernel.org/~tj/ossp/
Emula OSS (Open Sound System) /dev/dsp e.t.c. nodos del dispositivo y reenvía todas las operaciones a pulseaudio. Creo que esta fue (una de) las primeras aplicaciones, si no la motivación, para CUSE.
Me interesaría usar CUSE para crear un puerto serial virtual que se conecte a un servidor serial sobre red RFC-2217. Ese sería un muy buen uso de CUSE.
Ver:
- ¿Algún cliente Linux RFC2217 para ser2net?
- astrand, responsable del mantenimiento de Cyclades-serial-client, hizo un comentario sobre CUSE y serial-over-network, pero parece que Cyclades-serial-client todavía no usa CUSE.
Encontré mhuxd:enrutador de dispositivos para microHam Keyers y Linux, que usa CUSE para crear un puerto serie virtual.
También encontré utty en GitHub que tiene un código CUSE para un TTY (terminal), aunque no me queda claro si el ioctl
s para soporte de puerto serie son funcionales.
Mantengo un controlador de puerto serie a través de la red del espacio del kernel de Linux y he querido moverlo al espacio del usuario durante 15 años. He investigado el uso de ptys, pero solo brindan soporte para un subconjunto de las operaciones que deben implementarse para un puerto serie. En varias ocasiones, propuse extender el controlador pty de Linux para que pudiera usarse como una forma de implementar controladores de puerto serie en el espacio del usuario, pero nunca obtuve ninguna respuesta de los mantenedores, por lo que parece que CUSE finalmente podría proporcionar un manera de hacer lo que quiero. :)
He encontrado referencias a personas que usan CUSE de Python y cusepy
parece ser la forma más popular de hacerlo:
Hay un quantumrandom
paquete en PyPI que parece usarlo.
Y osspd
es otro emulador de OSS que usa CUSE.
Eso podría ser el mismo que se mencionó en algunas publicaciones, pero no puedo decirlo porque ese enlace no funciona.