Como deixar uma porta USB ligada durante o desligamento para carregar o celular?

13

Meu laptop Sony VAIO tem um recurso que me permitirá manter uma porta USB alimentada mesmo quando meu laptop está desligado. Ele é fornecido no manual aqui . Pode ser ligado ou desligado do software Vaio que veio com o Windows pré-instalado.

No passado, quando eu estava inicializando duas vezes com o Windows, eu podia ativá-lo inicializando no Windows e ele continuava, mesmo depois de usar o Ubuntu várias vezes. Por algum motivo, parou de funcionar recentemente. Mas eu não tenho mais o Windows, e gostaria de reativá-lo a partir do Ubuntu. Seria divertido se eu pudesse ligá-lo manualmente do Linux. Eu gostei muito do google, especialmente por informações na minha placa-mãe (HannStar J MV-6 94V-0), e surgiu com o seu esquemas em um site vietnamita . Eu menciono especificamente o carregamento via USB. Mas eu não tenho ideia de como usar a informação.

Muitas pessoas estão sugerindo que ele pode ser ativado no BIOS , mas eu verifiquei novamente e não vejo nada no BIOS. Mas também observei que o BIOS tem poucos campos, o que me faz suspeitar que os recursos do BIOS podem estar ocultos. Vou tentar desbloqueá-los. Nesse meio tempo, a saída de dmidecode é anexada ao final da questão.

Não sei se esse recurso requer suporte de hardware especial, mas, de qualquer forma, isso é possível na minha máquina. Os telefones inteligentes tendem a ficar com pouca bateria, e você sempre pode conectá-lo ao laptop em sua bolsa e carregá-lo quando estiver na faculdade ou viajando. Isso não só seria legal e prático, mas também economizaria dinheiro, porque eu não teria que comprar um banco de energia.

Aqui estão os dados coletados:

  • dmidecode output
  • Mensagens do kernel (carregando sony-laptop com debug=1 )
  • Conteúdo de /sys/devices/platform/sony-laptop/ e /proc/acpi/
  • Após a atualização para 3.16.0-38-generic , como sugerido por Sneetsher, carregou novas mensagens do kernel

    Além disso, depois do upgrade, vejo usb_charge , mas com valor 1 de:

    cat /sys/devices/platform/sony-laptop/usb_charge
    

    mas quando tentei alterá-lo para 0 Ele ainda não ativa o carregamento por USB, mas simplesmente redefine para 1 quando eu verifico novamente usando cat . Mas deveria ter funcionado porque encontrei um programa e um script de shell fazendo o mesmo. Eu notei que eu posso escrever apenas 0 e um e se eu escrever algo como suponho 2, eu terei:

    tee: / sys / devices / plataforma / sony-laptop / usb_charge: argumento inválido

  • Conteúdo de /sys/devices/platform/sony-laptop/ e /proc/acpi/ após atualização do kernel.

Eu iniciei manualmente no kernel 3.18, mas o problema ainda está lá. Por orientação do Sneetsher, eu enviei um relatório de bug aqui .

    
por daltonfury42 26.05.2015 / 18:30

1 resposta

5

É melhor começar onde outros pararam com o módulo do kernel Linux sony-laptop .

  1. Verifique se está carregado

    lsmod | grep sony
    
  2. Se não, carregue-o

    sudo modprobe sony-laptop
    
  3. Verifique se há alguma entrada / função correspondente para o carregamento via USB (o atributo usb_charge foi obtido da origem):

    tree /sys/devices/platform/sony-laptop/
    

    Ao verificar a fonte do driver, aqui estão as funções correspondentes (pode não ser para todos os modelos):

    ...
    static int sony_nc_usb_charge_setup(struct platform_device *pd);
    static void sony_nc_usb_charge_cleanup(struct platform_device *pd);
    ...
    

    Definição de funções completas aqui (parte de sony-laptop.c )

    0x0155 parece ser detectado no seu laptop a partir das mensagens do kernel . O módulo criou os atributos touchpad , battery_care_limiter , somente leitura handles , somente leitura battery_care_health SYSFS, mas nada mais (incluindo usb_charge ).

    Eu verifiquei a fonte do kernel do Ubuntu procurando pela função de carga do USB:

    • Ubuntu 14.04 Trusty (ainda não adicionado), versão do kernel 3.13

      Se você estiver usando esta versão, a maneira mais fácil é instalar o kernel Utopic:

      sudo apt-get install linux-generic-lts-utopic
      
    • Ubuntu 14.10 Utopic (está lá), versão do kernel 3.16

    Se não estiver lá, é difícil / arriscado somente se você estiver:

    Development:
    ------------
    
    If you want to help with the development of this driver (and
    you are not afraid of any side effects doing strange things with
    your ACPI BIOS could have on your laptop), load the driver and
    pass the option 'debug=1'.
    
    REPEAT: DON'T DO THIS IF YOU DON'T LIKE RISKY BUSINESS.
    
    In your kernel logs you will find the list of all ACPI methods
    the SNC device has on your laptop.
    

    Veja arquivo Leiame .

  4. Como o kernel foi atualizado pelo OP para 3.16.0-38-generic, usb_charge é criado com alguns outros atributos SYSFS.

    Lendo documentos semelhantes do kernel do driver, sysfs-driver-samsung-laptop :

    What:     /sys/devices/platform/samsung/usb_charge
    Date:     December 1, 2011
    KernelVersion:    3.3
    Contact:  Corentin Chary <[email protected]>
    Description:  Use your USB ports to charge devices, even
          when your laptop is powered off.
          1 means enabled, 0 means disabled.
    

    Para verificar o estado atual:

    cat /sys/devices/platform/sony-laptop/usb_charge
    

    Para desativá-lo:

    echo 0 | sudo tee -a /sys/devices/platform/sony-laptop/usb_charge
    

    Para ativá-lo:

    echo 1 | sudo tee -a /sys/devices/platform/sony-laptop/usb_charge
    

Referências:

por user.dz 30.05.2015 / 11:49