Come lasciare una porta USB alimentata durante l'arresto per la ricarica mobile?


15

Il mio laptop VAIO Sony ha una funzione che mi permetterà di mantenere una porta USB alimentata anche quando il mio laptop è spento. È riportato nel manuale qui . Può essere attivato o disattivato dal software Vaio fornito con Windows preinstallato.

In passato, quando eseguivo il dual boot con Windows, potevo abilitarlo avviandosi in Windows, e sarebbe rimasto acceso, anche dopo aver usato Ubuntu più volte. Per qualche motivo ha smesso di funzionare di recente. Ma non ho più Windows e vorrei riabilitarlo da Ubuntu. Sarebbe divertente se potessi accenderlo manualmente da Linux. Ho scavato molto su Google, in particolare per informazioni sulla mia scheda madre (HannStar J MV-6 94V-0), e ho escogitato i suoi schemi in un sito vietnamita . Cito specificamente la ricarica USB. Ma non ho idea di come utilizzare le informazioni.

Molte persone suggeriscono che può essere abilitato dal BIOS , ma ho controllato di nuovo e non vedo nulla nel BIOS. Ma ho anche osservato che il BIOS ha pochissimi campi, il che mi fa sospettare che le funzionalità del BIOS possano essere nascoste. Proverò a sbloccarli. Nel frattempo, l'output di dmidecodeviene aggiunto alla fine della domanda.

Non so se questa funzione richiede un supporto hardware speciale, ma è comunque possibile sulla mia macchina. Gli smartphone tendono a scaricarsi rapidamente, e puoi sempre collegarlo al laptop nella tua borsa e caricarlo quando sei al college o in viaggio. Non solo sarebbe bello e utile, ma risparmierebbe denaro perché non dovrei comprare una banca di potere.

Ecco i dati raccolti:

Ho avviato manualmente nel kernel 3.18, ma il problema è ancora presente. Sotto la guida di Sneetsher, ho presentato una segnalazione di bug qui .


2
La maggior parte dei laptop caricherà un dispositivo precedentemente collegato quando è in modalità di sospensione, ma la carica di spegnimento è una funzione hardware. Puoi provare a eseguire il software di controllo usando Wine.
TheWanderer,

Mai pensato a questo, utilizzerà il vino, ma solo come ultima risorsa. Non c'è modo per farlo manualmente?
daltonfury42,

Forse nelle impostazioni del BIOS.
TheWanderer,

Quindi l'unica opzione è un programma Linux o la possibilità che la versione di Windows funzionerà.
TheWanderer,

3
Sono abbastanza sicuro che ci debba essere un'impostazione BIOS per questo da qualche parte (hai controllato la sezione avanzata)? Questa è chiamata porta USB "sleep and charge". Penso che il "VAIO Control Center" commuti solo in qualche modo un'impostazione del BIOS. Potrebbe esserci un modo per farlo all'interno di Linux, ma non ne so abbastanza. Guarda dmidecodee smbioscome forse questo potrebbe indirizzarti nella giusta direzione? Nota che altre marche di laptop hanno questo tipo di porte USB e funzionano con Ubuntu (purché siano abilitate tramite BIOS).
mason81

Risposte:


7

È meglio iniziare da dove altri si sono fermati con il sony-laptopmodulo del kernel Linux.

  1. Controlla se è caricato

    lsmod | grep sony
    
  2. In caso contrario, caricarlo

    sudo modprobe sony-laptop
    
  3. Controlla se ci sono voci / funzioni corrispondenti per la ricarica USB ( usb_chargeattributo ottenuto dalla fonte):

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

    Mentre controllo l'origine del driver, ecco le funzioni corrispondenti (potrebbe non essere per tutti i modelli):

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

    Definizione completa delle funzioni qui (parte da sony-laptop.c)

    0x0155sembra essere rilevato sul tuo laptop dai messaggi del kernel . Il modulo creato touchpad, battery_care_limiter, di sola lettura handles, di sola lettura battery_care_healthSYSFS attributi ma nient'altro (compreso usb_charge).

    Ho controllato la fonte del kernel Ubuntu cercando la funzione di ricarica USB:

    • Ubuntu 14.04 Trusty (non ancora aggiunto), versione del kernel 3.13

      Se stai usando questa versione, il modo più semplice è installare il kernel Utopic:

      sudo apt-get install linux-generic-lts-utopic
      
    • Ubuntu 14.10 Utopic (è lì), versione del kernel 3.16

    Se non è presente, è difficile / rischioso solo se si è in grado di:

    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.
    

    Vedi file Leggimi .

  4. Come il kernel aggiornato da OP a 3.16.0-38-generico, usb_chargeviene creato con alcuni altri attributi SYSFS.

    Lettura di documenti del kernel driver simili, sysfs-driver-samsung-laptop :

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

    Per verificare lo stato corrente:

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

    Per disabilitarlo:

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

    Per abilitarlo:

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

Riferimenti:


Abbastanza strano, dopo l'aggiornamento a 3.18.3-031803-generic, vedo usb_charge, ma con valore 1!
daltonfury42,

Ho aggiornato la domanda alla fine con quello che mi hai chiesto e un po 'più di informazioni, alla fine, e nota che ho cambiato il valore di echo 0 | sudo tee -a /sys/devices/platform/sony-laptop/usb_charge.
daltonfury42

@ user3073656, Ok, puoi unirti a me qui chat.stackexchange.com/rooms/24450/…
user.dz

Ti ho assegnato la piena ricompensa, perché anche se non ha risolto completamente il problema, mi ha indicato la giusta direzione.
daltonfury42,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.