Desativar um dispositivo USB sem driver

5

Eu tenho um laptop HP Envy no qual eu instalei o Ubuntu 16.04. Este modelo de laptop tem 'Swipe Fingerprint Sensor' instalado, lsusb relatórios:

Bus 002 Device 004: ID 138a:0050 Validity Sensors, Inc. Swipe
Fingerprint Sensor Couldn't open device, some information will be missing.  
Device Descriptor:  
bLength:                18  
bDescriptorType:         1   
bcdUSB:               1.10   
bDeviceClass:  255 Vendor Specific Class
bDeviceSubClass:        16   
bDeviceProtocol:       255   
bMaxPacketSize0:         8   
idVendor:     0x138a Validity Sensors, Inc.   
idProduct:          0x0050 Swipe Fingerprint Sensor  
bcdDevice:            0.60   
iManufacturer:        0 
iProduct:                0
iSerial:                 1   
bNumConfigurations:      1

O suporte para este dispositivo USB é muito limitado, mas como não desejo usá-lo, isso não importa. No entanto, quando eu uso powertop para monitorar o uso de energia, descobri que este dispositivo está usando um contínuo de 4,6 a 5 watts, embora não esteja em uso.

Eu também usei o Debian 'usb-devices' para descobrir qual driver está sendo usado para este dispositivo, mas parece que não há nenhum carregado:

T:  Bus=02 Lev=01 Prnt=01 Port=13 Cnt=01 Dev#=  4 Spd=12  MxCh= 0  
D: Ver= 1.10 Cls=ff(vend.) Sub=10 Prot=ff MxPS= 8 #Cfgs=  1  
P: Vendor=138a ProdID=0050 Rev=00.60 
S: SerialNumber=941442215a3a  
C: \#Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA  
I: If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

Então, minha pergunta é: existe alguma maneira de desativar este dispositivo para reduzir seu consumo de energia para zero watts? Há um Autosuspend for unknown USB device 2-14 (138a:0050) em powertop de opções ajustáveis, mas isso não faz diferença para o consumo de energia reportado.

Editar

powertop relatórios:

Power est.              Usage       Events/s    Category    Description  
  5.86 W                0.0 pkts/s                Device         Network interface: eno1 (r8169)  
  5.15 W                100.0%                    Device         USB device: usb-device-138a-0050  
  4.17 W                100.0%                    Device         Radio device: btusb
    
por Kerry 06.10.2016 / 18:07

2 respostas

1

Parece que a única maneira de desativar este dispositivo é desconectá-lo fisicamente (se isso for possível).

Eu tenho lido sobre o Linux sysfs e como isso pode ser usado para interrogar dispositivos etc e também encontrei isso no kernel.org é útil. Existe em USB a possibilidade de desligar portas específicas de um hub USB, mas quando emito sudo lsusb no hub em questão, são relatórios descritores que a alimentação individual de portas não está disponível. (USB 1.0).

    
por 07.10.2016 / 23:37
5

Dispositivos USB sem driver de Linux são não são colocados automaticamente na suspensão automática, porque causa muita quebra. (Esse é o padrão que você vê no powertop, certo?)

No entanto, depois de ativar a suspensão automática em um dispositivo não usado, ele deve entrar em vigor após alguns segundos.

Você pode ver as configurações em /sysfs/bus/usb/.../power . Para ativar a suspensão automática, power/control está definido como auto . Nem todos os arquivos estão documentados, mas eu tenho runtime_status ( suspended para dispositivo suspenso). Para indicar por que um dispositivo é considerado ativo, também tenho runtime_usage e runtime_active_kids (dispositivos filhos, como dispositivos ativos conectados a um hub).

Para um dispositivo sem um driver, umruntime_usage diferente de zero deve indicar o acesso pelo espaço do usuário.

Você pode pelo menos encontrar processos acessando um dispositivo usando sudo lsof /dev /sys .

Eu teria esperado que o único processo que acessa um leitor de impressão digital seja fprintd . Você pode tentar desativá-lo com systemctl mask --now fprintd e ver como isso muda runtime_status / runtime_usage .

Valores de consumo de energia

powertop não possui números reais para a potência de um dispositivo individual. Isso é tudo trabalho de adivinhação ("estimativas") e está errado de forma hilária em algum lugar.

Seu chip Ethernet ocioso não está custando 5 watts.

O seu rádio Bluetooth USB não está queimando 5 watts. A potência máxima de transmissão para o bluetooth parece ser de 100mW.

5 watt é o "TDP" máximo para a dissipação de energia SoC em um dispositivo de classe iPad. Um scanner de impressão digital ocioso não está acionando 5W no rádio ou em uma linha externa. Em princípio, eu acho que poderia ser ocupado looping um processador 5W ARM ... mas a sério. Não faz sentido economicamente ou de outra maneira.

Estes três dispositivos não estão dissipando 15W. Estou usando um laptop de boa-fé que não usa mais do que isso. Parece que seu laptop está relatando um uso mais alto, mas mesmo assim.

Eu não acho que o powertop pode até procurar o TDP para CPU & GPU integrada, a fim de descobrir o que resta. Hipoteticamente, as estimativas foram calibradas em laptops semelhantes aos meus (por exemplo, o Thinkpad X-series de 12 polegadas que os desenvolvedores do linux parecem gostar), e o dimensionamento para laptops maiores acaba com esses números estranhos.

Você me deixa curioso agora, sobre como os sistemas de resfriamento se parecem nesses laptops com TDPs mais altos ... devem ter algumas saídas quentinhas.

    
por 06.10.2016 / 21:15