Автор Тема: Достало передёргивать мышь usb  (Прочитано 20700 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #15 : 27.06.2016 15:59:42 »
HP Compaq NX6110, декабрь 2005 - начало 2006 года выпуска, Xfce, Сизиф -- фриз
Lenovo G50-80, basealt-sysv-tde-i586 -- фриз
Два ноутбука сразу, с разницей в возрасте в 10 лет, не могут быть гавном.

Запустил с флэшки slackware-current-live и гавном быть ноутбук перестал -- фриз не появился:
Он сразу и не появляется. ;)

Ага :)
Рассказать это поднявшемуся kdm из basealt-p8-sysv-tde-i586, - он точно будет улыбаться.
Здесь фризу не нужно и трёх секунд, - привет, вот он я. Не ждал?, - а я уже здесь.


Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #16 : 27.06.2016 16:10:41 »
Если это ноутбуки, то может это просто сохранение заряда батареи?
Не пользуетесь мышкой - вот он ее и отрубает :)
Я на нетбуке мышку по vid/pid в исключения прописывал, а то тоже не пользуешься - ноут ее бац и выключил :)))

Слушай, если не в тягость, разверни это поподробнее.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #17 : 27.06.2016 17:02:58 »
А подключить мышь через измеритель напряжения-тока (рублей за 500 продают)?

usb мышам, клавиатурам и флэшкам достаточно 250mA pcmcia контроллера.

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 222
Re: Достало передёргивать мышь usb
« Ответ #18 : 27.06.2016 17:10:06 »
А подключить мышь через измеритель напряжения-тока (рублей за 500 продают)?

usb мышам, клавиатурам и флэшкам достаточно 250mA pcmcia контроллера.
это чтобы понять, снимается питание или нет. Правда измеритель тоже кой-чего потребляет и с ним бага может не быть.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Достало передёргивать мышь usb
« Ответ #19 : 27.06.2016 17:55:21 »
это чтобы понять, снимается питание или нет. Правда измеритель тоже кой-чего потребляет и с ним бага может не быть.

Раз от нажатия на кнопки мышь оживает, значит дежурное напряжение на мышке остаётся. Контроллеру мыши от компьютера приходит команда заснуть. Я пока на BIOS грешу, проверить просто нет возможности. Очень может быть, что не все мыши умеют засыпать.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #20 : 27.06.2016 20:01:25 »
это чтобы понять, снимается питание или нет. Правда измеритель тоже кой-чего потребляет и с ним бага может не быть.

Раз от нажатия на кнопки мышь оживает, значит дежурное напряжение на мышке остаётся. Контроллеру мыши от компьютера приходит команда заснуть. Я пока на BIOS грешу, проверить просто нет возможности. Очень может быть, что не все мыши умеют засыпать.

Скорее всего проблема где-то застряла в альтах, а не в BIOS:

Выкачивалось для сравнительного теста (2.6Gb iso-образа с kde4+xfce+fluxbox+etc):
# dmidecode baseboard -s system-version
Lenovo G50-80
$ cat /etc/os-release
NAME=Slackware
VERSION="14.2"
ID=slackware
VERSION_ID=14.2
PRETTY_NAME="Slackware 14.2"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:slackware:slackware_linux:14.2"
HOME_URL="http://slackware.com/"
SUPPORT_URL="http://www.linuxquestions.org/questions/slackware-14/"
BUG_REPORT_URL="http://www.linuxquestions.org/questions/slackware-14/"
$ uname -a
Linux darkstar 4.4.10-smp #1 SMP Wed May 11 17:24:25 CDT 2016 i686 Intel(R) Core(TM) i3-5005U CPU @ 2.00GHz GenuineIntel GNU/Linux
$ ls -l /boot/*vmlinuz*
lrwxrwxrwx 1 root root      27 май 17 23:32 /boot/vmlinuz -> vmlinuz-huge-smp-4.4.10-smp
lrwxrwxrwx 1 root root      22 май 17 23:32 /boot/vmlinuz-generic -> vmlinuz-generic-4.4.10
-rw-r--r-- 1 root root 3795152 май 12 02:01 /boot/vmlinuz-generic-4.4.10
lrwxrwxrwx 1 root root      30 май 17 23:32 /boot/vmlinuz-generic-smp -> vmlinuz-generic-smp-4.4.10-smp
-rw-r--r-- 1 root root 4041680 май 12 01:25 /boot/vmlinuz-generic-smp-4.4.10-smp
lrwxrwxrwx 1 root root      19 май 17 23:32 /boot/vmlinuz-huge -> vmlinuz-huge-4.4.10
-rw-r--r-- 1 root root 6932896 май 12 02:09 /boot/vmlinuz-huge-4.4.10
lrwxrwxrwx 1 root root      27 май 17 23:32 /boot/vmlinuz-huge-smp -> vmlinuz-huge-smp-4.4.10-smp
-rw-r--r-- 1 root root 7259792 май 12 01:33 /boot/vmlinuz-huge-smp-4.4.10-smp

huge -- ванильное ядро
$ xfce4-about -V
xfce4-about 4.12.1 (Xfce 4.12)

Мышь та же:
$ lsusb -v -d 09da:|grep id
Couldn't open device, some information will be missing
  idVendor           0x09da A4Tech Co., Ltd.
  idProduct          0x000a Optical Mouse Opto 510D / OP-620D

На загрузке делалась развязка устройств, чтобы логгированием не дёргало usb-накопитель:
- Загрузка системы: SATA ODD
- Мышь: usb-mouse, usb-порт

Загружен kdm. 11 минут простоя. Уход монитора в энергосберегающий режим.
Сдвиг мыши будит монитор и сдвигает курсор.
Щелчёк мыши не требуется.

Вход в сессию Xfce.
Настройка подключения wi-fi.
31 минута простоя.
Срабатывание blank скринсейвера.
Сдвиг мыши будит монитор и сдвигает курсор.
Щелчёк мыши не требуется.


Т.е. в slackware-current-live не проявляется.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 950
Re: Достало передёргивать мышь usb
« Ответ #21 : 27.06.2016 22:57:28 »
Если это ноутбуки, то может это просто сохранение заряда батареи?
Не пользуетесь мышкой - вот он ее и отрубает :)
Я на нетбуке мышку по vid/pid в исключения прописывал, а то тоже не пользуешься - ноут ее бац и выключил :)))
Слушай, если не в тягость, разверни это поподробнее.

Я делал через блэк лист в laptop-mode

Но можно попробовать через ядро...
Вот у меня в p7 на виртуалке говорит, что
> cat /sys/module/usbcore/parameters/autosuspend
2

Может это и есть те 2-3 секунды?

Тогда попробовать так
echo -1 > /sys/module/usbcore/parameters/autosuspend


ЗЫ:
А еще есть такая интересная статейка с другим рецептом
http://hamwaves.com/usb.autosuspend/en/
« Последнее редактирование: 27.06.2016 23:07:37 от YYY »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Re: Достало передёргивать мышь usb
« Ответ #22 : 27.06.2016 23:06:36 »
Скорее всего проблема где-то застряла в альтах, а не в BIOS:
Так в ALT, может, поддержка появилась ? :-) У меня, правда, не заметно нигде пока.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #23 : 27.06.2016 23:34:36 »
Угу.

# cat /sys/module/usbcore/parameters/autosuspend
60
# ll /sys/module/usbcore/parameters/autosuspend
-rw-r--r-- 1 root root 4096 июн 27 23:29 /sys/module/usbcore/parameters/autosuspend

У меня сейчас через параметры ядра установлено
usbcore.autosuspend=60
Время в секундах.
https://www.kernel.org/doc/Documentation/usb/power-management.txt

Пятая строка снизу
# modinfo usbcore
filename:       /lib/modules/4.1.21-std-pae-alt1/kernel/drivers/usb/core/usbcore.ko
license:        GPL
srcversion:     7964384C3BB6495E141FB47
alias:          usb:v*p*d*dc*dsc*dp*ic09isc*ip*in*
alias:          usb:v*p*d*dc09dsc*dp*ic*isc*ip*in*
alias:          usb:v05E3p*d*dc*dsc*dp*ic09isc*ip*in*
depends:        usb-common
intree:         Y
vermagic:       4.1.21-std-pae-alt1 SMP mod_unload modversions 686
parm:           usbfs_snoop:true to log all usbfs traffic (bool)
parm:           usbfs_memory_mb:maximum MB allowed for usbfs buffers (0 = no limit) (uint)
parm:           authorized_default:Default USB device authorization: 0 is not authorized, 1 is authorized, -1 is authorized except for wireless USB (default, old behaviour (int)
parm:           blinkenlights:true to cycle leds on hubs (bool)
parm:           initial_descriptor_timeout:initial 64-byte descriptor request timeout in milliseconds (default 5000 - 5.0 seconds) (int)
parm:           old_scheme_first:start with the old device initialization scheme (bool)
parm:           use_both_schemes:try the other device initialization scheme if the first one fails (bool)
parm:           nousb:bool
parm:           autosuspend:default autosuspend delay (int)

И надо бы это в хауту в советах описать.
« Последнее редактирование: 27.06.2016 23:39:13 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #24 : 27.06.2016 23:46:29 »
Может это и есть те 2-3 секунды?

Тогда попробовать так
echo -1 > /sys/module/usbcore/parameters/autosuspend


ЗЫ:
А еще есть такая интересная статейка с другим рецептом
http://hamwaves.com/usb.autosuspend/en/

Угу. Отрубает автосуспенд нафик
Цитировать
https://www.kernel.org/doc/Documentation/usb/power-management.txt

Writing "-1" to power/autosuspend_delay_ms and writing "on" to
power/control do essentially the same thing -- they both prevent the
device from being autosuspended.  Yes, this is a redundancy in the
API.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #25 : 27.06.2016 23:49:59 »
За статейку отдельное спасибо.
Интересно там, - через рулез.

Но тут вот какая деталь (оттуда же, с kernel.org)
Цитировать
USB drivers are bound to interfaces, so their suspend and resume
methods get called when the interfaces are suspended or resumed.  In
principle one might want to suspend some interfaces on a device (i.e.,
force the drivers for those interface to stop all activity) without
suspending the other interfaces.  The USB core doesn't allow this; all
interfaces are suspended when the device itself is suspended and all
interfaces are resumed when the device is resumed.  It isn't possible
to suspend or resume some but not all of a device's interfaces.  The
closest you can come is to unbind the interfaces' drivers.
« Последнее редактирование: 27.06.2016 23:56:51 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #26 : 28.06.2016 00:05:40 »
И ещё
Цитировать
# modinfo -p usbcore
usbfs_snoop:true to log all usbfs traffic (bool)
usbfs_memory_mb:maximum MB allowed for usbfs buffers (0 = no limit) (uint)
authorized_default:Default USB device authorization: 0 is not authorized, 1 is authorized, -1 is authorized except for wireless USB (default, old behaviour (int)
blinkenlights:true to cycle leds on hubs (bool)
initial_descriptor_timeout:initial 64-byte descriptor request timeout in milliseconds (default 5000 - 5.0 seconds) (int)
old_scheme_first:start with the old device initialization scheme (bool)
use_both_schemes:try the other device initialization scheme if the first one fails (bool)
nousb: (bool)
autosuspend:default autosuspend delay (int)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 950
Re: Достало передёргивать мышь usb
« Ответ #27 : 28.06.2016 00:14:14 »
Но тут вот какая деталь (оттуда же, с kernel.org)
Цитировать
USB drivers are bound to interfaces, so their suspend and resume
methods get called when the interfaces are suspended or resumed.  In
principle one might want to suspend some interfaces on a device (i.e.,
force the drivers for those interface to stop all activity) without
suspending the other interfaces.  The USB core doesn't allow this; all
interfaces are suspended when the device itself is suspended and all
interfaces are resumed when the device is resumed.  It isn't possible
to suspend or resume some but not all of a device's interfaces.  The
closest you can come is to unbind the interfaces' drivers.
Так написали что без поллитры и не разобраться  :-o

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 950
Re: Достало передёргивать мышь usb
« Ответ #28 : 28.06.2016 00:20:06 »
Цитировать
initial_descriptor_timeout:initial 64-byte descriptor request timeout in milliseconds (default 5000 - 5.0 seconds) (int)
autosuspend:default autosuspend delay (int)

Первое, как я понял, не то, а во второе тоже по идее "-1" просится...

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Достало передёргивать мышь usb
« Ответ #29 : 28.06.2016 05:18:48 »
Кажется начинаю понимать почему в Слаке мышь не фризит:
$ usb-devices

T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#=  4 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=09da ProdID=000a Rev=00.14
S:  Manufacturer=A4Tech
S:  Product=USB Mouse
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
$ lsmod|grep hid
hid_a4tech              1767  0
hid_microsoft           3493  0
hid_lenovo              8373  0
hid_logitech_hidpp     10867  0
hid_logitech_dj        10377  0
hid_logitech           23848  0
hid_cherry              1494  0
hid_generic             1047  0
usbhid                 35450  0
hid                    87731  9 hid_a4tech,hid_cherry,hid_lenovo,hid_generic,hid_logitech,hid_microsoft,usbhid,hid_logitech_dj,hid_logitech_hidpp
# modinfo hid
filename:       /lib/modules/4.4.10-smp/kernel/drivers/hid/hid.ko
license:        GPL
author:         Jiri Kosina
author:         Vojtech Pavlik
author:         Andreas Gal
depends:       
intree:         Y
vermagic:       4.4.10-smp SMP mod_unload PENTIUMIII
parm:           debug:toggle HID debugging messages (int)
parm:           ignore_special_drivers:Ignore any special drivers and handle all devices by generic driver (int)
# modinfo usbhid
filename:       /lib/modules/4.4.10-smp/kernel/drivers/hid/usbhid/usbhid.ko
license:        GPL
description:    USB HID core driver
author:         Jiri Kosina
author:         Vojtech Pavlik
author:         Andreas Gal
alias:          usb:v*p*d*dc*dsc*dp*ic03isc*ip*in*
depends:        hid
intree:         Y
vermagic:       4.4.10-smp SMP mod_unload PENTIUMIII
parm:           mousepoll:Polling interval of mice (uint)
parm:           ignoreled:Autosuspend with active leds (uint)
parm:           quirks:Add/modify USB HID quirks by specifying  quirks=vendorID:productID:quirks where vendorID, productID, and quirks are all in 0x-prefixed hex (array of charp)
# modinfo hid_a4tech
filename:       /lib/modules/4.4.10-smp/kernel/drivers/hid/hid-a4tech.ko
license:        GPL
alias:          hid:b0003g*v000009DAp0000001A
alias:          hid:b0003g*v000009DAp0000000A
alias:          hid:b0003g*v000009DAp00000006
depends:        hid
intree:         Y
vermagic:       4.4.10-smp SMP mod_unload PENTIUMIII

http://lists.osdl.org/pipermail/linux-pm/2008-August/018457.html

И там нет usbcore.