URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 91377
[ Назад ]

Исходное сообщение
"Отсоединение USB-устройств после спящего режима оказалось вы..."

Отправлено opennews , 23-Авг-13 22:56 
Ситуация с отсоединением от шины устройств с интерфейсом USB 2.0 после возврата из спящего режима до сих пор списывалось на проблемы в аппаратной реализации средств управления питанием дешёвых USB-устройств. Проблему пытались решить через занесение устройств в чёрные списки и много критиковали низкое качество дешёвого оборудования. Сара Шарп (Sarah Sharp), разработавшая стек USB 3.0 для ядра Linux, пришла к выводу (https://plus.google.com/116960357493251979546/posts/RZpndv4BCCD), что на самом деле указанные проблемы вызваны неверной интерпретацией спецификаций в реализации USB 2.0-стека в ядре Linux (USB-стек не предоставлял устройству должной задержки для восстановления своего состояния).


В настоящее время для решения проблемы уже подготовлен предварительный патч (http://marc.info/?l=linux-usb&m=137714769606183&w=2), после применения которого эффект отсоединения USB-устройства при использовании  автоматического перевода в спящий режим пропадает. Ошибка проявляется только для контроллеров xHCI и не затрагивает EHCI.

URL: https://plus.google.com/116960357493251979546/posts/RZpndv4BCCD
Новость: http://www.opennet.me/opennews/art.shtml?num=37729


Содержание

Сообщения в этом обсуждении
"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 23-Авг-13 22:56 
Нелепая ошибка

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 23-Авг-13 23:13 
Потому про нее никто даже и не думал.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 00:01 
> Потому про нее никто даже и не думал.

Не думать - это _очень_ вредная привычка.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено mine , 24-Авг-13 12:19 
А думать - просто вредно.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 25-Авг-13 01:04 
> А думать - просто вредно.

Да уж, дарвинисты которые думать не желают - приносят пользу обществу. Путем самоустранения. За это мы им благодарны.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено AnonuS , 24-Авг-13 20:43 
> Не думать - это _очень_ вредная привычка.

Надо у кодописателя спросить о чём он в тот момент думал, и почему именно так, а не иначе понял спецификацию и соотсветственно напорол чуши.



"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 03:47 
> Потому про нее никто даже и не думал.

А вы посмотрите как китаезные девайсы сделаны - там на спеки забито все что можно забить в принципе, если девайс после этого хоть немного трепыхается еще. Глюки? Да гуляй ты, дорогой пользователь, как заплачено - так и зафигачено! :)


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 07:41 
Теперь это нить жалоб на китайские поделки. В свое время пытался купить raid контролер и usb контролер. Все это счастье скорее не работало чем работало. А что-то другое сложно найти или цены совсем неадекватные.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 07:48 
Простите вашего кода в ядре много? Почему вы этот нелепый баг раньше не нашли и не исправили?

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Флинт , 24-Авг-13 07:55 
да уж.. а сколько вопросов на форумах на эту тему было...

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 23-Авг-13 23:14 
любят они, всё на железо списывать

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Сергей , 24-Авг-13 02:32 
Зато индусы всегда себя во всём обвиняют.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 03:40 
>  любят они, всё на железо списывать

И не то чтобы без причин.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 23:38 
> Да по новости видно что не без причин.

А ваша система с usb вообще работает никаковски. Скажем перепрошить девайс с usb'шным будлоадером (у которого отдельные VID:PID) в винде - совершенно отдельное порно сопряженное с кучей глюков. Libusb для работы с столь нестандартными девайсами в винде не то чтобы не работает совсем, но имеет уйму глюков и ограничений.

В общем, как доктор говорю: работать с USB в линухе - намного приятнее. Особенно с нестандартными железками (например, через libusb). И да, там в lubusb можно попросить ядерный драйвер свалить в туман и отдать девайс для работы с ним через эту либу. В винде такой роскоши не полагается, разумеется. Эта ваша винда в плане usb вообще кусок гемора с педальным приводом. Как меня это волнует? А я код пишу для камней с usb'шным бутлоадером, поэтому имел удовольствие ощутить.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 23-Авг-13 23:49 
Теперь, надеюсь, Саре понятны возмущения Линуса.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 00:01 
Вы про показывание факов производителям "кривого железа"?

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено anonymous , 24-Авг-13 00:12 
Вообще фак адресовался любителям закрытых драйверов. Железо никто не ругал.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 00:14 
> Железо никто не ругал.

Дааааа?

> Ситуация с отсоединением от шины устройств с интерфейсом USB 2.0 после возврата из спящего режима до сих пор списывалось на проблемы в аппаратной реализации средств управления питанием дешёвых USB-устройств. Проблему пытались решить через занесение устройств в чёрные списки и много критиковали низкое качество дешёвого оборудования.

 


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 01:53 
Да.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Andrey Mitrofanov , 24-Авг-13 09:33 
>> Железо никто не ругал.
> Дааааа?

В отличие от тебя Т. не идiот и факать _видеокарту_ в видео-письме не будет.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Алексей , 24-Авг-13 00:16 
Кто бы ACPI в asus N*6 ноутах починил. (Высказывания из разряда: "сам сходи и почини" - оставьте при себе, я не настолько крут, что бы пилить kernel)

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Алексей , 24-Авг-13 00:18 
чтобы * конечно же

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 00:25 
> Высказывания из разряда: "сам сходи и почини" - оставьте при себе, я не настолько крут, что бы пилить kernel

Даже разработчики ядра не всегда настолько круты, чтобы играть в угадайку "какие именно костыли в таблицах ACPI нужно наставить, чтобы все взлетело?"
Правильный ответ знает только Asus, но не говорит никому, кроме мелкософта.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 00:37 
А что правда существует заговор производителей железа против открытых систем?

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 01:08 
Нудык

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 08:38 
http://getthefacts.ru/archives/17

"Отсоединение USB-устройств после спящего режима..."
Отправлено arisu , 24-Авг-13 01:42 
> я не настолько крут, что бы пилить kernel

заплати тому, кто умеет.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 08:06 
Там не лучше. Недавно в хр начали pnp массово отваливаться и системы печати слетать. Кроме того, если каспера вовремя не снести, систему вообще обвалить может.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 03:55 
> Кто бы ACPI в asus N*6 ноутах починил.

А вы баг то хоть написали? Или разработчики должны догадаться путем телепатии что он есть?


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 26-Авг-13 13:50 
> Кто бы ACPI в asus N*6 ноутах починил. (Высказывания из разряда: "сам
> сходи и почини" - оставьте при себе, я не настолько крут,
> что бы пилить kernel)

Это нельзя исправить, кривое железо. Инфа 100%.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено шип , 24-Авг-13 02:27 
ээээ.. это случайно не та проблема, которая в чипсетах z87 ревизии с1 проявлялась?

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 03:45 
> ээээ.. это случайно не та проблема, которая в чипсетах z87 ревизии с1
> проявлялась?

Не, это просто грубая лажа в реализации спеков. Увы, увы, мир неидеален.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено jOKer , 24-Авг-13 07:27 
>неверной интерпретацией спецификаций

Ну и что это за спецификация, которая допускает двойное (если не тройное!) толкование? ИМХО, спецификация (как и стандарты) по определению должна представлять _формальное_ описание параметров оборудования.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 07:47 
Но ведь все люди пишут. В ПО баги. В железе баги. Спецификации плохие.
У меня после выхода из спящего режима ничего не отваливалось на 2х компьютерах. Полагаю у разработчиков тоже.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 08:07 
> Но ведь все люди пишут. В ПО баги. В железе баги. Спецификации
> плохие.
> У меня после выхода из спящего режима ничего не отваливалось на 2х
> компьютерах. Полагаю у разработчиков тоже.

А у меня на 27 серверах вообще спящего режима вроде нет.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 09:14 
http://www.freebsd.org/cgi/man.cgi?query=powerd

# CPU frequency
# https://wiki.freebsd.org/SystemTuning
powerd_enable="YES"
powerd_flags="-a hiadaptive"
performance_cpu_freq="HIGH"


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 09:27 

https://wiki.freebsd.org/TuningPowerConsumption


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 26-Авг-13 20:49 
> https://wiki.freebsd.org/TuningPowerConsumption

Охренеть, в 2013 году BSDшники осознали что у процессоров меняется частота. А в линухе она уже много лет меняется.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Kodir , 24-Авг-13 15:22 
> А у меня на 27 серверах вообще спящего режима вроде нет.

Они засыпают, как только ты уходишь из комнаты :)


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 26-Авг-13 13:52 
>> А у меня на 27 серверах вообще спящего режима вроде нет.
> Они засыпают, как только ты уходишь из комнаты :)

Тсс. А то он задумается, что происходит с миром, когда он отворачивается..


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 26-Авг-13 20:50 
> Тсс. А то он задумается, что происходит с миром, когда он отворачивается..

По легенде, в этот момент обсчет сцен прекращается. И горе тому кто сможет заметить это на...лово :).


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Kodir , 24-Авг-13 15:17 
Программу ты пишешь сам, сам же отлаживаешь, потом ВОЗМОЖНО даёшь на ревизию другому лицу. А спеки - слишком фундаментальная вещь, чтобы выпускаться наобум "прочёл - вроде ничё!". Их должны проверять настоящие профи с дотошностью юриста и паранойей фирмварщика марсохода. После чего они должны даваться обычному новичку и тот НЕ ДУМАЯ должен правильно составить код по спекам.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 20:07 
А ещё мир во всём мире _должен_ быть! И?

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Andrey Mitrofanov , 24-Авг-13 09:36 
>>неверной интерпретацией спецификаций
>двойное (если не тройное!) толкование?

Двойное: верное и неверное.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено anonymous , 24-Авг-13 12:18 
>>неверной интерпретацией спецификаций
> Ну и что это за спецификация, которая допускает двойное (если не тройное!)
> толкование? ИМХО, спецификация (как и стандарты) по определению должна представлять _формальное_
> описание параметров оборудования.

Вот такое вот, дяденька, хреновое лето... эээ, спецификация. И с RFC такое тоже _часто_ бывает, не зря потом тонны maillist приходится перечитать, где сидят такие же несчастные, пишущие реализацию конкретного протокола/стандарта по этому RFC.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 11:31 
Текст новости полностью не соотвествует содержанию патча.
Вся суть сводится к:
-        msleep(10);
+        msleep(20);
А спеки требуют ждать не меньше 10 микросекунд.

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Kodir , 24-Авг-13 15:20 
> Вся суть сводится к:
> -  msleep(10);
> +  msleep(20);
> А спеки требуют ждать не меньше 10 микросекунд.

"Не меньше 10" вполне соответствует оригинальному "msleep(10)", непонятно зачем патч. А если "вдруг заработало" на 20, значит девайс действительно левый.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 24-Авг-13 18:22 
не меньше 10 это = 11+


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Вахтанг , 27-Авг-13 20:35 
> не меньше 10 это = 11+

Нет, дружище. Не меньше 10 - это 10+ (>= 10)


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Аноним , 25-Авг-13 14:53 
не зачет
-        msleep(10);
+        msleep(TRSMRCY);

"Отсоединение USB-устройств после спящего режима..."
Отправлено arisu , 24-Авг-13 21:07 
ну вперёд, можешь стать таковым.
— кто тут, к примеру, в цари крайний? никого?! так я первый буду!

"Отсоединение USB-устройств после спящего режима..."
Отправлено Аноним , 26-Авг-13 13:57 
> ну вперёд, можешь стать таковым.
> — кто тут, к примеру, в цари крайний? никого?! так я первый
> буду!

Настоящих буйных мало, вот и нету вожаков..


"Отсоединение USB-устройств после спящего режима..."
Отправлено Michael Shigorin , 26-Авг-13 15:47 
> Настоящих буйных мало,

да и тех модерируют.

В том числе за пустой флуд.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Anonymouse , 24-Авг-13 21:08 
Похоже этот патч еще не конец истории

/linux-3.9.11$ grep -r "TRSMRCY"
drivers/usb/core/hub.c:        /* TRSMRCY = 20 msec */
drivers/usb/core/hub.c:        /* TRSMRCY = 10 msec */
drivers/usb/core/hcd.c:         * unsuspended.  If they are then a TRSMRCY delay is needed
drivers/usb/core/hcd.c:                usleep_range(10000, 11000);    /* TRSMRCY */
drivers/usb/host/isp1362-hcd.c:    /* TRSMRCY */
drivers/usb/host/ohci-hub.c:    /* TRSMRCY */

В hcd.c, isp1362-hcd.c, ohci-hub.c все по 10мс.
А разработчик Сара Шарп путает микро и миллисекунды!


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Andrey Mitrofanov , 28-Авг-13 14:52 
> drivers/usb/core/hub.c:  /* TRSMRCY = 20 msec */
> drivers/usb/core/hub.c:  /* TRSMRCY = 10 msec */
> А разработчик Сара Шарп путает микро и миллисекунды!

Да нет же! Это делаешь ты и "Аноним, 11:31 , 24-Авг-13, (53)"

> drivers/usb/core/hcd.c:                usleep_range(10000, 11000);    /* TRSMRCY */

Сходи по ссылке, почитай описание и патч. В описании везде явно указаны единицы. В патче - msleep(), а не "твой" usleep_там_чего_то().

---На здоровье. http://lxr.free-electrons.com/source/kernel/timer.c#L1657


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Anonymouse , 24-Авг-13 21:25 
>А разработчик Сара Шарп путает микро и миллисекунды!

Не, не путает.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено robux , 25-Авг-13 09:03 
> проблемы вызваны неверной интерпретацией спецификаций в реализации USB

Какой-нибудь бюрократ писал, вот мужики и не заметили подлянку.
О, я определил виноватых: пафосные бюрократы, пишушие стандарты бюрократическим языком, чтобы запутать трудящихся, которым предстоит реализовывать этот стандарт!

Прослеживается аналогия со стандартом MS OOXML.
Видать USB 2.0 тоже проприетарные пижоны писали.

Ну а то что Саrушка, писательница очередного стандарта, прикрывает коллег, как бы намекает.


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Andrey Mitrofanov , 28-Авг-13 14:55 
> Ну а то что Саrушка, писательница очередного стандарта, прикрывает коллег, как бы намекает.

Да! Понимаешь, у всех работает, а у sara@linux.intel.com не работает. Ждём жестов Линуса в сторону железа @ intel.com. </тэдрама>


"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено northbear , 28-Авг-13 13:40 
Когда фикс включат в ядро, есть информация?

"Отсоединение USB-устройств после спящего режима оказалось вы..."
Отправлено Andrey Mitrofanov , 28-Авг-13 21:49 
> Когда фикс включат в ядро, есть информация?

Мадам Сара говорит, что в ХромОС-е оно уже. Задержка заменена :) на 100мс.