The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Mac OS X официально стал Unix. Сравнение Ubuntu Linux и Mac ..."
Отправлено _Nick_, 16-Авг-07 04:02 
Александр,

насчет лички.
У мну руки дошли до USB и я ответил Вам, но через 2 дня приехал боунс...

Вобщем, вот мой ответ:
-----------------------------CUT------------------------
Все оказалось достаточно просто.

Есть такая штука как usbfs (обычно примонтированная к /proc/bus/usb)
и там есть диры - номера USB контроллеров:

# l /proc/bus/usb
total 0
dr-xr-xr-x 2 root root 0 Aug 10 15:25 001
dr-xr-xr-x 2 root root 0 Aug 10 15:25 002
dr-xr-xr-x 2 root root 0 Aug 10 15:25 003
dr-xr-xr-x 2 root root 0 Aug 10 15:25 004
dr-xr-xr-x 2 root root 0 Aug 10 15:25 005
-r--r--r-- 1 root root 0 Aug 15 01:52 devices

ну а там: первый девайс - сам контроллер, а остальные номера - подключенные
девайсы. Вот тут у мну флешка (008)

# l /proc/bus/usb/001/
total 0
-rw-rw-r-- 1 root usb 43 Aug 10 15:25 001
-rw-rw-r-- 1 root usb 57 Aug 15 01:52 008

собсно, для того чтоб отресетить 1-й контроллер
нуна открыть его файлик "/proc/bus/usb/001/001"
и сказать ему через ioctl() USBDEVFS_RESET


Вот это вот оно:

--------CUT-----------
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <asm/ioctl.h>
#include <linux/usbdevice_fs.h>

void main() {
        int fd = open("/proc/bus/usb/001/001", O_RDWR);
        ioctl(fd, USBDEVFS_RESET, NULL);
        close(fd);
}
--------/CUT-----------


можно позвать такое дело для всех контроллеров и будет полное счастье :)


Кста, все это может быть изобретением велосипеда,
потому как - щас проверил - у мну все ресетиццо после саспенда (саспенд родной, ядреный, медленный).
Есть такая незаметная опция CONFIG_USB_SUSPEND.

Попробуйте собрать с нею для начала. Думаю, все будет спать и просыпаться как положено.
-------------------------------/CUT------------------

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру