Banner publicitario de PCBWay

¿Se puede activar/desactivar un controlador como un interruptor?

Yo ya estuve antes con el módulo transmisor de FM. Pero, esta vez, es por otra cosa.
Resulta que cada vez que lo enchufo a la terminal USB se activa el módulo pero se desactiva el audio en los parlantes de la PC. Entonces, para no estar a cada rato enchufando y desenchufando el aparatito, pensé que se podría de alguna forma tener un "interruptor" para activarlo y desactivarlo.
¿No pasa nada? ¿Es completamente seguro?
1773671620459.png
 
Se puede hacer? .- Sí
Cortamos pistas para lograrlo? .- Es posible
Hay una mejor manera? .- Sí

Como?:
En mi caso uso el método de "desaparecer" el dispositivo con un script ya sea de consola o Powershell.
Lo uso para desaparecer unidades de almacenamiento ya sean IDE, SATA ó USB que mas tarde hago "aparecer" de acuerdo a intereses.
El término "desaparecer" es literal, no es que lo ves en el administrador de dispositivos como desactivado o cosa por el estilo, ni siquiera aparece allí.
Vá un ejemplo que uso YO para poteger las unidades de backup, para que se entienda mejor:

1) Obtengo un ID de hardware que corresponde al dispositivo objeto (recordar que estoy trabajando sobre unidades de almacenamiento) lo mismo se aplica para CUALQUIER dispositivo apuntando a su class y a las condiciones particulares de la clase e intereses.

pnputil /enum-devices /connected /class diskdrive /deviceids | Find /i "Id. de hardware"
Traducción human entendible:
Llamo al instalador de "devices" PNPUtil y que me enumere la clase diskdrive pero las que estén conectadas** con sus ID de dispositivo a continuación hago una búsqueda (Find) de la fila de interés de lo que voy a "desaparecer", así como está, prueben a usarlo en sus equipos sin miedo:
1773710272278.png
El string útil es el que aparece desde SCSI.... hasta el final, creo recordar que se puede recortar esa fila larrrrrga desde el principo y sigue funcionando, prueben, en algun lugar deja de funcionar, cortar la cabeza se dejaba pero nó la cola......................

2)Con el ID de hardware en la mano lo desaparecemos como se vé a continuación :
pnputil /remove-device /deviceid "SCSI\DiskNVMe___________________Samsung_SSD_960_EVO_250GB3B7QCXE7"
Explicación del script:
Llamamos al instalador de "devices" para remover el siguiente ID de dispositivo 💁‍♂️

SI queremos "recuperar" el/los dispositivo/s sin necesidad de re-iniciar el equipo:
pnputil /scan-devices

Para unidades USB:
pnputil /enum-devices /connected | findstr /i "USBSTOR"

Notas:
** Se hace referencia a unidades ACTUALMENTE conectadas (/connected) debido a que /enum-devices recupera también las que alguna vez estuvieron conectadas, dependiendo de algunos factores, ciertos pendrives los enumera como discos y si ALGUNA vez estuvieron conectados te los listaría.
Si por ejemplo fuera un Arduino o un ESP-32 también puedes hacerlo, se anuncian como puerto COM y debes trabajar sobre ese ID de hardware.
No he probado con otros "Devices" debido a mi fidelidad inquebrantable con pereza de la mejor cepa.
Si Find no arrojara resultados es debido al idioma en "inglish" el string: "ID. de hardware" se translitera: "Hardware ID" o lo que corresponda.......

Nota II:
Para el amigo Guerropa, una vez que le encuentres la vuelta a "desaparecerlo/aparecerlo" metes en el programador de tareas en: antes del inicio del sistema el string "desaparecedor" y ya con el "Windors" iniciado, si quieres activar el aparatejo ese, solo ejecutas en consola:
pnputil /scan-devices
Y San se acabó 🤷‍♂️
 
Última edición:
Seguro que en windows se puede elegir por donde quieres que salga el audio desde el panel de control o algún sito así.
Windows lo uso lo mínimo, pero en linux eso se puede hacer sin scripts ni nada, desde el entorno gráfico en configuración.
 
Hola, Ferdinando. Acabo de hacer el 1er. paso. Y me salió esto... O sea, no hizo nada.
Elimina del comando, la cola, sería esto a borrar: | Find /i "Id. de hardware"
Prueba de nuevo y nos informas, abajo te repito el porqué no arrojaría nada
Si Find no arrojara resultados es debido al idioma en "inglish" el string: "ID. de hardware" se translitera: "Hardware ID" o lo que corresponda.......
Traducido a cagastellano básico, MUY POSIBLEMENTE no te sale nada debido a que en tu sistema operativo el idioma de Win está en un juego de caracteres distinto a español aunque esté en idioma español 🤷‍♂️
Te faltó aclarar que estás usando un viejo Windows 7 y encima con el service Pack 1 (ni siquiera el SP2) y a mí me faltó aclarar que las pruebas las hago en Win11 aunque está visible en mi captura de pantalla la versión en la que se ejecutaron mis comandos


Encontré el ID del dispositivo a través del "Administrador de Dispositivos". ¿Cuál tengo que elegir?
El ID "completo" de TU hardware es el primero pero puedes dejar fuera: &REV_0100 ya que esto dice que es una versión /revisión específica de la parte anterior a ésta, o sea: USB\VID_4C4A&PID_4155

VID_4C4A identifica al fabricante, en este caso sería: Jieli Technology
PID_4155 identifica el Product ID que en ESTE fabricante correspondería a: dispositivos de audio USB/headsets

Hay otra consideración importante, DEBES encontrar los "devices" primero, como es este caso nos importa solo "lo USB" deberías correr el siguiente comando en consola:

Código:
pnputil /enum-devices /connected | findstr /i usb

Este comando va a devolver las "cosas" USB así que debes tener el dispositivo conectado
Atención al: /connected, eso debe ir para que no te tire una parafernalia de cosas que alguna vez estuvieron conectados, igual tira mucha info y hay que buscar el que identifica a ese hardware objetivo.
Pero, pero, pero, pero... creo, creo, creo, que estos parámetros no estaban presentes en Windows 7 🤷‍♂️
Suerte con eso, te va a tocar jugar con lo que había disponible en PNPUtil.exe de W7 para lograr un /remove

Vá el comando tentativo para que pruebes de una sin complicarte, si te funciona, me debes una cervecita.

Código:
pnputil /remove-device /deviceid "USB\VID_4C4A&PID_4155"

SI no funciona, estás frito y yo me perdí la cervecita.....
Eso te pasa por utilizar versiones viejas :cry:
Seguro que en windows se puede elegir por donde quieres que salga el audio desde el panel de control
Así es, pero el objetivo aquí era lograrlo de la manera fácil o eso creí entender.....
 
Lo conozco y me dá sanísima envidia pero como alimento familia y el dinero está en Win 💁‍♂️ nunca me hice/tuve el suficiente tiempo ni entusiasmo como para aprenderlo bien, solo coqueteo con LMint, tuve una temporada que estaba muy psicodélico y me puse con los RTOs (fiebres de loca juventud) en algún momento quise pasar a algunas clínicas a Linux y estuve estudiando seriamente el tema pero lo que me tiró hacia atrás fué la resistencia del usuario, les das un vaso para que hagan un cero y lo acuestan.... 🙏
Hace como 6 años que no visito un solo cliente, hago ABSOLUTAMENTE todo remoto tanto a las empresas con abono como a particulares, y como ya peino canas, poco pelo, caspa, sabañones y mañas de viejito, no me va a molestar pasar otro tiempo sin sus bondades, pero juro que lo observo con amor inconfesable.......🙏🙏
 
Atrás
Arriba