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

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

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

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

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

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

  • dmidecode выход
  • Сообщения ядра (загрузка sony-laptop с debug=1 )
  • Содержание /sys/devices/platform/sony-laptop/ а также /proc/acpi/
  • После обновления до 3.16.0-38-generic как предложено Sneetsher, выложил новые сообщения ядра

    Также после обновления вижу usb_charge, но со значением 1 из:

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

    но когда я попытался переключить его 0 Он все еще не активирует USB-зарядку, а просто сбрасывает обратно 1 когда я проверяю снова, используя cat, Но это должно было сработать, потому что я обнаружил, что программа c и скрипт оболочки делают то же самое. Я заметил, что я могу написать только 0 и один, и если я напишу что-то еще, как предположим, 2, я получу:

    tee: / sys / devices / platform / sony-laptop / usb_charge: неверный аргумент

  • Содержание /sys/devices/platform/sony-laptop/ а также /proc/acpi/ после обновления ядра.

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

1 ответ

Лучше начать там, где другие остановились 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_health Атрибуты SYSFS, но больше ничего (включая 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
    

Рекомендации:

Другие вопросы по тегам