Está intentando usar una escritura de E / S directa con algo que no es un dispositivo de E / S asignado. Esto sería completamente inviable, excepto cuando esté atrapado por los mecanismos de protección del sistema operativo (o virtualización) y se dirija al hardware más distante conectado. Sin embargo, ese no es el problema real al que te enfrentas.
Más problemáticamente, la mayoría de los adaptadores de impresora USB no son direccionables estáticamente como GPIO de la manera en que lo fueron los puertos paralelos del bus local, incluso si escribes un controlador USB personalizado para ellos. Es posible que pueda obtener el control de las señales de control, pero probablemente no establezca valores en los pines de datos como muchos se acostumbraron a hacerlo.
Estaría en mejor situación con un dispositivo de E / S USB más genérico, basado en un microcontrolador de propósito general o en algo destinado al uso de GPIO, como un FT245.
Sin embargo, esto tendrá una latencia más alta, por lo que para cualquier momento crítico, sus opciones generalmente cambian a una "computadora vieja" con un puerto paralelo real, o bien descargan todo el subsistema crítico de tiempo a un microcontrolador externo, y aumentan las solicitudes de nivel a través del USB para que pueda realizar tareas completas, en lugar de simplemente establecer esta línea o esa línea a un nivel.