Нет, то что это есть я знаю 100% (об этом четко и ясно сказано в спецификации стандарта USB), вопрос КАК это сделать..
>это пока никому не потребовалось
Слишком уж уверенное заявление. Мне кажется не одному мне потребовалось, что программа ДОЛЖНА была уметь включать и выключать устройство, причем именно так - вырубать питание, и никак иначе...
>Нет, то что это есть я знаю 100% (об этом четко и ясно сказано в спецификации стандарта USB), вопрос КАК это сделать..
>>это пока никому не потребовалось
>Слишком уж уверенное заявление. Мне кажется не одному мне потребовалось, что программа ДОЛЖНА была уметь включать и выключать устройство, причем именно так - вырубать питание, и никак иначе...
>Ну да ладно...
ага понятно. ты не читал спецификации usb следственно не можешь обьяснить что ты хочеш.
а относительно моего заявления: на абсолютном большинстве тех материнок с которыми я работал usb-порты были непосредственно запитаны от блока питания минуя всякую логику откудова имеем следствием невозможность програмного управления питанием. Но это не то что тебе надо. ещё раз: внимательно прочти хорошее описание usb и ты сразу поймёш чё те надо
Хтровые.....й перезапуск старой железки (или новой железки на древнем контроллере) с двойным питанием, вот чего ему надо. По моему кто то неполностью поддерживает спецификацию.
ИХМО.
А вообще лучше раскажите чего вы хотете получить как результат. Сдесь неглупые люди сидят помогут.
>ага понятно. ты не читал спецификации usb следственно не можешь обьяснить что ты хочеш.
Это хочу не я, а инженер, который проектирует USB устройство. Спецификацию я читал, и я знаю что я хочу: уметь включать/выключать питание порта! Неужели это так непонятно?
Насчет питания в USB r2.0 April 27, 2000, см. на странице 46 параграф 4.3, разделы 4.3.1 Power Distribution, 4.3.2 Power Management.
Если уж так непонятно я объясняю что я хочу (включить/выключить питание!), может то, зачем мне это нужно, разъяснит ситуацию? Объясню - в целях ренумерации функций. Мне нужно спровоцировать усб к ренумерации. Фактически это то же самое что устройство было отключено от усб и затем подключено сново. Можно сделать двумя способами - отключить питание порта полностью, затем включить сново, или посредством управляемого подтягивающего резистора (но им нужно управлять "внешне" или из микроконтроллера устройства - но это другой вопрос).
>а относительно моего заявления: на абсолютном большинстве тех материнок с которыми я работал usb-порты были непосредственно запитаны от блока питания минуя всякую логику откудова имеем следствием невозможность програмного управления питанием. Но это не то что тебе надо. ещё раз: внимательно прочти хорошее описание usb и ты сразу поймёш чё те надо
Я не хочу здесь ни с кем ссориться и разводить споры. Я знаю что у многих из здесь обитающих есть большой опыт работы как с аппаратной частью, так и в плане программнирования. Поэтому я пришел за помощью сюда. Конечно, устройства отличаются, кто-то выполняет спецификацию полностью при написании драйверов и проектировании устройства, кто-то считает что то, что там написано "не нужно" и не реализует.
Питание не может миновать абсолютно всякую логику, т.к. питание в USB (сила тока, напряжение) играет огромную роль.
>Это хочу не я, а инженер, который проектирует USB устройство. Спецификацию я читал, и я знаю что я хочу: уметь включать/выключать питание порта! Неужели это так непонятно?
Покажите ссылку на плату, на доку по usb микросхеме у которой как утверждает ваш инженер можно и надо отключать питание.
Хорошо. Насчет платы я не знаю, т.к. имхо все на монтажной плате в данный момент, а насчет микросхемы спрошу, только зачем? Ведь в принципе мне нужно просто как-то ренумеровать устройства, причем не важно, что за устройство будет подключено..
Вообще изначально вопрос, возможно ли отключать/включать питание?
Поинтересовался у уностранных коллег, ответ был лаконичен: It is still experimental in the kernel. Even if it works, I recommend that you do not use it.
Жду ответа на вопрос где об этом можно почитать. :-)
Так и думал что ты пишеш что то под самопальную железяку.
Выдержка из спецификации:
>11.11 Hub Port Power Control > >Self-powered hubs may have power switches that control delivery of power >downstream ports but it is not required. > Тоесть может, но не обязанна поддерживатся функция отключения питалова на внешний разём.
Продолжаем разбирать твою проблему.
>Объясню - в целях ренумерации функций.
Не представляю а это вам зачем?? Или девайс залипает :))?? Сдесь можно посоветовать usb_bus_start_enum
Тебе поможет докладная записка по поводу неправильного проектирования USB device(но их писать сложнее чем программы). И ещё pdfка хорошая есть в /usr/share/doc/kernel/usb.pdf
А вообще если хочеш попроще и не в чём глубоко не разбиратся скомпиль usb в качестве модуля и делай rmmod insmod. Вот и будет тебе на шине ренумерации функций.