Comment laisser un port USB alimenté pendant l'arrêt pour charger le mobile?

15

Mon ordinateur portable Sony VAIO a une fonctionnalité qui me permettra de garder un port USB alimenté même lorsque mon ordinateur portable est éteint. Il est donné dans le manuel ici . Il peut être activé ou désactivé à partir du logiciel Vaio fourni avec Windows préinstallé.

Dans le passé, lorsque je faisais un double démarrage avec Windows, je pouvais l'activer en démarrant sous Windows, et il restait allumé, même après plusieurs utilisations d'Ubuntu. Pour une raison quelconque, il a cessé de fonctionner récemment. Mais je n'ai plus Windows et je voudrais le réactiver depuis Ubuntu. Ce serait amusant si je pouvais l'allumer manuellement depuis Linux. J'ai beaucoup fouillé sur Google, en particulier pour obtenir des informations sur ma carte mère (HannStar J MV-6 94V-0), et j'ai trouvé ses schémas sur un site vietnamien . Je mentionne spécifiquement le chargement USB. Mais je n'ai aucune idée de la façon d'utiliser les informations.

Beaucoup de gens suggèrent qu'il peut être activé à partir du BIOS , mais j'ai vérifié à nouveau et je ne vois rien dans le BIOS. Mais j'ai également observé que le BIOS a très peu de champs, ce qui me fait soupçonner que les fonctionnalités du BIOS pourraient être cachées. Je vais essayer de les débloquer. En attendant, la sortie de dmidecodeest ajoutée vers la fin de la question.

Je ne sais pas si cette fonctionnalité nécessite une prise en charge matérielle spéciale, mais de toute façon c'est possible sur ma machine. Les téléphones intelligents ont tendance à se décharger rapidement de la batterie, et vous pouvez toujours le connecter à l'ordinateur portable dans votre sac et le charger en déplacement lorsque vous êtes à l'université ou en voyage. Ce serait non seulement cool et pratique, mais cela permettrait également d'économiser de l'argent car je n'aurai pas à acheter une banque d'alimentation.

Voici les données collectées:

J'ai démarré manuellement dans le noyau 3.18, mais le problème est toujours là. Sur les conseils de Sneetsher, j'ai déposé un rapport de bogue ici .

daltonfury42
la source
2
La plupart des ordinateurs portables rechargeront un appareil précédemment connecté en mode veille, mais la charge d'arrêt est une fonctionnalité matérielle. Vous pouvez essayer d'exécuter le logiciel de contrôle à l'aide de Wine.
TheWanderer
Je n'ai jamais pensé à ça, j'utiliserai du vin, mais seulement en dernier recours. N'y a-t-il aucun moyen par lequel je peux accomplir cela manuellement?
daltonfury42
Peut-être dans les paramètres de votre BIOS.
TheWanderer
Votre seule option est donc soit un programme Linux, soit la possibilité que la version Windows fonctionne.
TheWanderer
3
Je suis presque sûr qu'il doit y avoir un paramètre BIOS pour cela quelque part (avez-vous vérifié la section avancée)? C'est ce qu'on appelle un port USB "veille et charge". Je pense que le "VAIO Control Center" bascule simplement un paramètre du BIOS d'une manière ou d'une autre. Il peut y avoir un moyen de le faire à partir de Linux, mais je n'en sais pas assez à ce sujet. Regardez dmidecodeet smbiospeut-être que cela peut vous orienter dans la bonne direction? Notez que d'autres marques d'ordinateurs portables ont ces types de ports USB et fonctionnent avec Ubuntu (tant qu'ils sont activés via le BIOS).
mason81

Réponses:

7

Il vaut mieux commencer là où d'autres se sont arrêtés avec le sony-laptopmodule du noyau Linux.

  1. Vérifiez s'il est chargé

    lsmod | grep sony
    
  2. Sinon, chargez-le

    sudo modprobe sony-laptop
    
  3. Vérifiez s'il existe une entrée / fonction correspondante pour la charge USB ( usb_chargeattribut obtenu de la source):

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

    En vérifiant la source du pilote, voici les fonctions correspondantes (peut-être pas pour tous les modèles):

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

    Définition complète des fonctions ici (partie de sony-laptop.c)

    0x0155semble être détecté sur votre ordinateur portable à partir des messages du noyau . Le module créé touchpad, battery_care_limiter, en lecture seule handles, lecture seule battery_care_healthSYSFS attributs , mais rien d' autre (y compris usb_charge).

    J'ai vérifié la source du noyau Ubuntu à la recherche de la fonction de charge USB:

    • Ubuntu 14.04 Trusty (pas encore ajouté), version du noyau 3.13

      Si vous utilisez cette version, la façon la plus simple est d'installer le noyau utopique:

      sudo apt-get install linux-generic-lts-utopic
      
    • Ubuntu 14.10 Utopic (il est là), version du noyau 3.16

    S'il n'est pas là, c'est difficile / risqué seulement si vous êtes capable de:

    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.
    

    Voir le fichier Lisez - moi .

  4. Comme le noyau mis à niveau par OP vers 3.16.0-38-generic, usb_chargeest créé avec d'autres attributs SYSFS.

    Lecture de documents de noyau de pilotes similaires, 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.
    

    Pour vérifier l'état actuel:

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

    Pour le désactiver:

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

    Pour l'activer:

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

Les références:

user.dz
la source
Assez étrange, après la mise à niveau vers 3.18.3-031803-generic, je vois usb_charge, mais avec la valeur 1!
daltonfury42
J'ai mis à jour la question à la fin avec ce que vous avez demandé et un peu plus d'informations, à la fin, et notez que j'ai changé la valeur de echo 0 | sudo tee -a /sys/devices/platform/sony-laptop/usb_charge.
daltonfury42
@ user3073656, Ok, vous pouvez me rejoindre ici chat.stackexchange.com/rooms/24450/…
user.dz
Je vous ai accordé la totalité de la prime, car même si cela n'a pas résolu le problème complètement, cela m'a fait avancer dans la bonne direction.
daltonfury42