Как оставить USB-порт включенным во время выключения для зарядки мобильного телефона?

15

В моем ноутбуке Sony VAIO есть функция, которая позволяет мне поддерживать питание одного USB-порта даже при выключенном ноутбуке. Это дано в руководстве здесь . Его можно включить или выключить с помощью программного обеспечения Vaio, поставляемого с предустановленной Windows.

В прошлом, когда у меня была двойная загрузка с Windows, я мог включить ее, загрузившись в Windows, и она оставалась включенной, даже после использования Ubuntu несколько раз. Почему-то недавно перестал работать. Но у меня больше нет Windows, и я хотел бы снова включить ее из Ubuntu. Было бы весело, если бы я мог включить его вручную из Linux. Я много копался в гугле, особенно для информации о моей материнской плате (HannStar J MV-6 94V-0), и придумал ее схемы на вьетнамском сайте . Я специально упоминаю USB зарядку. Но я понятия не имею, как использовать информацию.

Многие люди предполагают, что он может быть включен из BIOS , но я проверил еще раз и не вижу ничего в BIOS. Но я также заметил, что в BIOS очень мало полей, поэтому я подозреваю, что функции BIOS могут быть скрыты. Я постараюсь разблокировать их. Тем временем вывод dmidecodeдобавляется к концу вопроса.

Я не знаю, требует ли эта функция специальной аппаратной поддержки, но в любом случае это возможно на моей машине. Смартфоны быстро разряжаются, и вы всегда можете подключить их к ноутбуку в своей сумке и заряжать на ходу, когда вы учитесь в колледже или путешествуете. Это было бы не только круто и удобно, но и экономило деньги, потому что мне не нужно было покупать мощный банк.

Вот собранные данные:

Я вручную загрузился в ядро ​​3.18, но проблема все еще там. По указанию Sneetsher, я отправил сообщение об ошибке здесь .

daltonfury42
источник
2
Большинство ноутбуков заряжают ранее подключенное устройство в спящем режиме, но отключение - аппаратная функция. Вы можете попробовать запустить управляющее программное обеспечение с помощью Wine.
TheWanderer
Никогда не думал об этом, буду использовать вино, но только в качестве крайней меры. Нет ли способа, которым я могу сделать это вручную?
daltonfury42
Возможно в твоих настройках BIOS.
Странник
Таким образом, ваш единственный вариант - это либо программа для Linux, либо возможность работы версии для Windows.
TheWanderer
3
Я почти уверен, что для этого где-то должна быть настройка BIOS (вы проверяли расширенный раздел)? Это называется USB-портом "сна и зарядки". Я думаю, что «Центр управления VAIO» просто как-то переключает настройки BIOS. Там может быть способ сделать изнутри Linux, но я не знаю достаточно об этом. Посмотрите dmidecodeи smbiosкак, возможно, это может указать вам в правильном направлении? Обратите внимание, что ноутбуки других марок имеют такие типы USB-портов и работают с Ubuntu (при условии, что они включены через BIOS).
mason81

Ответы:

7

Лучше начать там, где другие остановились с sony-laptopмодулем ядра Linux.

  1. Проверьте, загружен ли он

    lsmod | grep sony
    
  2. Если нет, загрузите его

    sudo modprobe sony-laptop
    
  3. Проверьте, есть ли соответствующая запись / функция для зарядки через USB ( usb_chargeатрибут получен из источника):

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

    Как я проверяю источник драйвера, вот соответствующие функции (может быть не для всех моделей):

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

    Полное определение функций здесь (часть из sony-laptop.c)

    0x0155Кажется, на вашем ноутбуке обнаружены сообщения ядра . Модуль создан touchpad, battery_care_limiterтолько для чтения handles, только для чтения battery_care_healthSYSFS атрибуты , но ничего другого ( в том числе usb_charge).

    Я проверил источник ядра Ubuntu в поисках функции зарядки через USB:

    • Ubuntu 14.04 Trusty (еще не добавлено), версия ядра 3.13

      Если вы используете этот выпуск, самый простой способ - установить ядро ​​Utopic:

      sudo apt-get install linux-generic-lts-utopic
      
    • Ubuntu 14.10 Utopic (она есть), версия ядра 3.16

    Если его там нет, это сложно / рискованно, только если вы до:

    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.
    

    Смотрите файл Readme .

  4. Поскольку ядро ​​обновлено с помощью OP до 3.16.0-38-generic, usb_chargeсоздается с некоторыми другими атрибутами SYSFS.

    Чтение аналогичных документов ядра драйвера, 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.
    

    Чтобы проверить текущее состояние:

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

    Чтобы отключить это:

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

    Чтобы включить это:

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

Ссылки:

user.dz
источник
Как ни странно, после обновления 3.18.3-031803-genericя вижу usb_charge, но со значением 1!
daltonfury42
Я обновил вопрос до конца с тем, что вы просили, и немного больше информации, до конца, и обратите внимание, что я изменил значение на echo 0 | sudo tee -a /sys/devices/platform/sony-laptop/usb_charge.
daltonfury42
@ user3073656, Хорошо, вы можете присоединиться ко мне здесь chat.stackexchange.com/rooms/24450/...
user.dz
Я наградил вас полной премией, потому что, хотя и не решил проблему полностью, указал мне верное направление.
daltonfury42