Author Topic: Отключение питания USB порта  (Read 2234 times)

viktor

  • Zen Apprentice
  • *
  • Posts: 16
  • Karma: +1/-0
    • View Profile
Отключение питания USB порта
« on: August 16, 2016, 05:18:17 am »
Возможно ли как нибудь отключить питание usb?

AxetNord

  • Zen Monk
  • **
  • Posts: 79
  • Karma: +1/-0
    • View Profile
Re: Отключение питания USB порта
« Reply #1 on: August 16, 2016, 12:46:45 pm »
В смысле напрочь? или нужно перезапустить устройство?

viktor

  • Zen Apprentice
  • *
  • Posts: 16
  • Karma: +1/-0
    • View Profile
Re: Отключение питания USB порта
« Reply #2 on: August 17, 2016, 09:05:50 am »
В смысле напрочь? или нужно перезапустить устройство?
Модем 4g перезагрузить нужно, вроде день выдерживать нагрузку а утром уже висит зависшим, вынимаю вставляю дальше работает.

luha

  • Zen Samurai
  • ****
  • Posts: 479
  • Karma: +36/-1
    • View Profile
Re: Отключение питания USB порта
« Reply #3 on: August 17, 2016, 09:22:40 am »
Так может лучше модем нормальный найти?

Попробуй опустить-поднять сетевой интерфейс модема по крону каждый час к примеру, может он засыпает от бездействия. Если виден как съёмный диск можно для эксперимента отмонтировать/подмонтировать. Может в биосе настройка какая мешается, я бы проверил, а вдруг.

viktor

  • Zen Apprentice
  • *
  • Posts: 16
  • Karma: +1/-0
    • View Profile
Re: Отключение питания USB порта
« Reply #4 on: August 17, 2016, 10:06:34 am »
Так может лучше модем нормальный найти?

Попробуй опустить-поднять сетевой интерфейс модема по крону каждый час к примеру, может он засыпает от бездействия. Если виден как съёмный диск можно для эксперимента отмонтировать/подмонтировать. Может в биосе настройка какая мешается, я бы проверил, а вдруг.
Лучше только наверное роутер в который вставляется сим карта, но они идут за 8 т.р.... а нельзя как в виндовсе отключить питание узб порта а потом включить? вроде даже перезапуск компа не помогал хотя может специально на утро ставил по крону.
Сам модем виден как вторая сетевая карта, модем от yota
Bus 001 Device 029: ID 15a9:002d Gemtek WLTUBA-107 [Yota 4G LTE]
« Last Edit: August 17, 2016, 10:08:58 am by viktor »

luha

  • Zen Samurai
  • ****
  • Posts: 479
  • Karma: +36/-1
    • View Profile
Re: Отключение питания USB порта
« Reply #5 on: August 17, 2016, 10:34:26 am »
Припомнилось что уже видел подобное. Модем отваливался периодически, причём и в винде случалось и в лине. С того что помню как-то софтово заставить его вернуться не получилось, помогало только вынуть на секунду.

Похожая беда была недавно с новеньким ноутбуком HP из недорогих. Там применили недорогой чип реалтек вместо человеческого broadcom-а (хотя на оф.сайте была указана совсем другая конфигурация на которую мы ориентировались при выборе, удешивили). Интернет был полон жалоб что пропадает сеть и общими усилиями люди выяснили что чип засыпает и не просыпается. Лечилось патченным драйвером.

viktor

  • Zen Apprentice
  • *
  • Posts: 16
  • Karma: +1/-0
    • View Profile
Re: Отключение питания USB порта
« Reply #6 on: August 17, 2016, 01:33:31 pm »
Что то и гугл не помог решить этот вопрос:

Почему то на zentyal 4.1 эта команда не работает

echo suspend | sudo tee /sys/bus/usb/devices/usb1/power/level

Пишет
Invalid argument

Вроде как на старом ядре это работало :\

luha

  • Zen Samurai
  • ****
  • Posts: 479
  • Karma: +36/-1
    • View Profile
Re: Отключение питания USB порта
« Reply #7 on: August 17, 2016, 01:56:40 pm »
А какой ты хочешь аргумент? Suspend? Там по умолчанию auto записано.
Попробуй:
sudo tee /sys/bus/usb/devices/usb1/power/level suspend
или
sudo echo "suspend" > /sys/bus/usb/devices/usb1/power/level
или тупо руками

Может файл заблокирован?

UPD: накопал
http://unix.stackexchange.com/questions/165447/turning-off-power-to-usb-port-or-turn-off-power-to-entire-usb-subsystem

UPD:

Пишут что аргумент suspend не работает. Точнее вроде как работает, но не для всех устройств и только если его правильно применить (куда надо).

Рекомендуют делать так (выкл/вкл - не проверял):
echo "0" > "/sys/bus/usb/devices/$port/power/autosuspend"
echo "auto" > "/sys/bus/usb/devices/$port/power/level"

Ещё есть альтернативный метод (не проверял):

If all you want to do is reset a USB device to fix it once it gets into a broken state, then using the bind/unbind usbfs special files can be a bit of a pain (since device IDs can change, and they're a bit tricky to identify precisely if you don't want to rebind other devices). In this case I've found it much easier to use the vendor and product IDs given by lsusb with usb_modeswitch. For example, if I identify my wireless adapter using:

$ lsusb
Bus 001 Device 042: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 035: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I can then reset the wireless adapter using:

$ sudo usb_modeswitch -v 0x7392 -p 0x7811 --reset-usb

If you have more than one device attached with the same vendor and product IDs then usb_modeswitch provides bus and device number flags. For the wireless adapter example above I'd add -b 1 -g 42 to the flags.

... по ходу как раз подходит. Рестарт определённого устройства USB.
« Last Edit: August 17, 2016, 02:51:48 pm by luha »

AxetNord

  • Zen Monk
  • **
  • Posts: 79
  • Karma: +1/-0
    • View Profile
Re: Отключение питания USB порта
« Reply #8 on: August 17, 2016, 03:04:15 pm »
Quote
for device in $(ls /sys/bus/usb/devices/*/product);
do echo $device;
cat $device;
done
Это даст список с путями до устройства
Quote
echo suspend | sudo tee /sys/bus/usb/devices/usb1/power/level
выключение
Quote
echo on | sudo tee /sys/bus/usb/devices/usb1/power/level
включение

Соответственно вместо usb1 надо указывать нужное устройство.

UPD.
Таки да suspend уже не работает

Проверил
Quote
echo "0" > "/sys/bus/usb/devices/$port/power/autosuspend"
echo "auto" > "/sys/bus/usb/devices/$port/power/level"

У меня не сработало.

UPD2

Quote
sudo usb_modeswitch -v 0x7392 -p 0x7811 --reset-usb

Это работает. Тестировал на флешке.
« Last Edit: August 17, 2016, 03:47:04 pm by AxetNord »

viktor

  • Zen Apprentice
  • *
  • Posts: 16
  • Karma: +1/-0
    • View Profile
Re: Отключение питания USB порта
« Reply #9 on: August 18, 2016, 06:29:16 am »

UPD2

Quote
sudo usb_modeswitch -v 0x7392 -p 0x7811 --reset-usb

Это работает. Тестировал на флешке.

Да же не моргнул :) но интернет пропадал.

и статистика его внутренняя не сбросилась
Длительность соединения:52:13:52
хотя под usb вентилятором держится уже вторые сутки.

но команда отработала

Look for default devices ...
   product ID matched
 Found devices in default mode (1)
Access device 029 on bus 001
Current configuration number is 1
Use interface number 0

USB description data (for identification)
-------------------------
Manufacturer: Yota Devices LTD
     Product: Modem YOTA 4G LTE
  Serial No.: usb_serial_num_0
-------------------------
Warning: no switching method given. See documentation
Reset USB device .
 Device was reset
-> Run lsusb to note any changes. Bye!

« Last Edit: August 18, 2016, 06:37:09 am by viktor »

luha

  • Zen Samurai
  • ****
  • Posts: 479
  • Karma: +36/-1
    • View Profile
Re: Отключение питания USB порта
« Reply #10 on: August 18, 2016, 09:13:32 am »
Запишу в блокнотик. Буду по наследству передавать.