USB Qualcomm Quick Charge 3.0 en PC (Linux Ubuntu)

Como hoy en día las placas base de PC admiten la manipulación de voltaje USB, preguntaré sobre el hardware/software de ejemplo dado. Estoy usando Ubuntu 20.04 instalado en una máquina con placa base Gigabyte AORUS Z390 Master. Gigabyte proporciona una herramienta solo para Windows llamada USB TurboCharger en la sección Utilidad . Esta herramienta permite cambiar al modo Quick Charge 3.0 cuando el dispositivo Android está conectado. Me gustaría usar esta función en Ubuntu, pero no puedo encontrar ninguna información sobre las especificaciones técnicas en los sitios web de Gigabyte o Qualcomm. Desde la primera fase de investigación, sé que el dispositivo está utilizando uno de los puertos USB Root Hub (USB 3.0) en modo estándar . Ahora, mientras cambia a Carga rápidael dispositivo se está eliminando de los dispositivos USB y alguna parte de este software toma el control de la conexión. Los detalles del cargador turbo USB se encuentran en la página 120 del manual . Como hay información general mis dos preguntas son:

  1. ¿Esta comunicación se realiza a nivel de controlador USB genérico o el protocolo QC requiere algún controlador específico?
  2. ¿Hay alguna biblioteca o aplicación en Linux que pueda manejarlo?

Pregunta adicional

Si tuviera que implementarlo yo mismo, ¿hay algún tutorial para comenzar a programar el controlador USB en CPP o Java para Linux?

La opción que se me viene a la cabeza sería instalarlo por wine pero prefiero evitarlo.

Como soy bastante nuevo en hacer preguntas aquí, si alguien o algo quiere cerrar mi pregunta, proporcione una ruta donde pueda hacer exactamente esta pregunta para obtener ayuda.

Tbh, si puede ejecutarlo a través del vino, sería el camino de menor resistencia. Dudo que sea un controlador de nivel os. Es probable que controle la CPU o uno de los puentes en un nivel inferior, ya que la carga rápida no es compatible con la transferencia de datos.
sí, necesito probar Wine, pero hasta ahora usé driverqueryel comando en cmd y descubrí que hay un controlador adicional instalado UsbCharger UsbCharger Kernel 24.10.2013 11:26:43, por lo que es un nivel de controlador de kernel, aunque todavía no sé cómo superarlo;)
Consulte derbymakers.co.uk/articles/2019/… pero no estoy seguro de si este es el mismo tipo de tráfico. Buena suerte ingeniería inversa esto. Mire a los piratas informáticos y mods del kernel de Linux para obtener soporte, a ellos les encanta incluir esto en los kernels de la línea principal.

Respuestas (1)

Tanto Qualcomm QC como Apple FAst charge son protocolos patentados que no se divulgan al público en general. Ambos requerirían un hardware especial (al menos un controlador VBUS de lado alto) para implementar, por lo que definitivamente está fuera del alcance de cualquier controlador de software.

Por lo tanto, deberá identificar qué tipo de IC especial/particular se utiliza para esta función. Por lo general, el control de la funcionalidad de alimentación del puerto adicional se realiza a través de la interfaz I2C controlada desde la unidad de controlador integrada de la plataforma. Luego, la ECU debe proporcionar una interfaz de nivel superior para el nivel de aplicación. Si fuera un puerto Tipo-C, entonces probablemente se implementará sobre la especificación del controlador "USB Type-C Connector System Software Interface (UCSI)", pero en este caso es un puerto USB-A, por lo que no apostaría por abierto. especificación para esto. Es muy poco probable que encuentre "tutoriales" para esto.

La carga rápida de Apple es solo su "marca" para USB-PD. Parece que hacen algunos cargos "únicos" pero que no rompen los estándares. Un ejemplo es el uso de USB-PD para obtener 5 V a 2,4 A de los puertos USB-A. Esto no viola ningún estándar, pero otros sistemas usarían el límite USB-BC o USB 3.x de 5 V a 1,5 A, o usarían algo como Quick Charge para permitir más energía.