O USB fornece muitas informações de maneira padronizada para o host. Use lsusb -v
para ver o que está disponível sobre seus dispositivos conectados. Entre essas informações está o fornecedor e o número do dispositivo, semelhantes aos dispositivos PCI. Existem também várias classes de dispositivos definidos, como armazenamento, entrada ou áudio. Isso permite que um motorista possa manipular uma classe de dispositivo mesmo que não saiba sobre esse dispositivo em particular.
No seu caso, o fone de ouvido USB é identificado como um dispositivo de áudio e o driver de áudio USB manipula o fone de ouvido. O carregador, por outro lado, se identificará como um carregador e informará o quanto de energia ele pode obter. Os carregadores simples não fazem isso e, por segurança, o telefone usa apenas uma corrente menor e demora mais para carregar.