Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт авг 22, 2017 9:38 pm

Часовой пояс: UTC+03:00




Начать новую тему  Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 150 сообщений ]  На страницу Пред. 14 5 6 7 810 След.
Автор Сообщение
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Сб июн 19, 2010 7:58 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4093
Сейчас общаемся с diamondом по ЛС. Он верно заметил, драйвер стал падать когда я сменил мышь. Оказывается, что старая USB-мышь действительно нормально работает, драйвер не умирает при нажатии клавиши. А вот с новой проблемы.
Замечу, кстати, что новая мышь вообще не работает в ХайкуОС, в отличии от старой. В Линуксе, Винде всё норм.

_________________
Через тернии к звездам


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Сб июн 19, 2010 11:49 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Leency

Мышь - убийца ?
Код:
Bool mouse_handler(udev_t *dev, struct tag_request *rq)
{
    td_t   *td;

    td = rq->td_head;

    if( (td->status &0x7FF)==rq->size-1)
    {
        struct boot_packet *pkt;
        pkt = (struct boot_packet *)rq->data;
        SetMouseData(pkt->buttons, pkt->x, -pkt->y, -pkt->z, 0);
    };
    td->status = 0x00800000 | dev->speed;
    td->token ^= DATA1;

    return TRUE;
};


Курсор ползает нормально. Может принажатии на кнопку приходит не стандартный boot_packet, а что-то другое.


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Вс июн 20, 2010 1:30 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4093
Мышь убивца имеет официальную страничку http://www.canyon-tech.com/archive/comp ... r-switcher если это поможет.

_________________
Через тернии к звездам


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Вс июн 20, 2010 6:33 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
А что в /rd/1/drivers/usb.log ?


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Вс июн 20, 2010 11:39 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Serge
В ходе тестирования пробовал: убрать проверку размера в mouse_handler(); при конфигурации явно посылать SET_PROTOCOL с установкой boot protocol; увеличить размер буфера под пакет до 8 байт. Первое действие чинит проблему с одной из моих мышей (но там другая проблема - исходный драйвер мышь видел, но полностью игнорировал - maxpacketsize=5, а по boot protocol посылаются 4 байта), все остальные ни к какому результату не приводят.
В лог ещё добавил перед вызовом SetMouseData дамп статуса и пакета. Последний из логов, присланный Leency, прилагаю.


Вложения:
USB2.LOG [12.44 КБ]
93 скачивания

_________________
Ушёл к умным, знающим и культурным людям.
Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Вс июн 20, 2010 5:52 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Похоже что падает до SetMouseData. Но совсем непонятно почему.


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Сб июн 26, 2010 2:43 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Serge
Ничего не падает, цикл опроса исправно выполняется, но статус для соответствующего дескриптора после нажатия на кнопку становится равен 0x48507ff (low-speed, active, CRC/Time-Out error+Reserved bit) и больше уже не меняется. Если счётчик ошибок выставлять в 3 (aka "допускается 3 ошибки") вместо 0 (aka "опрашивай до упора"), то mouse_handler, как и положено, вызывается и после нажатия на кнопку, и статус там 0x44507ff (то есть то же самое с той же загадочной ошибкой и установленным reserved-битом, только stalled вместо active).

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Сб июн 26, 2010 9:17 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Понятно. Я думал что там вся система виснет. Надо сделать обработчик ошибок.


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Пн июл 05, 2010 10:44 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Не, там не обработку ошибок делать надо. Статус порта, куда воткнута мышь, при нажатии на кнопку меняется с 1A5 на AB, то есть мышь делает вид, что произошёл дисконнект с последующим коннектом. Здесь нужно обрабатывать дисконнекты и коннекты, а этого в драйвере и близко нет. Так что это не баг, это отсутствие фичи, такое не лечим. (И вообще, "чем таких лечить, лучше новых сделать"...)

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Ср июл 07, 2010 1:08 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4093
Серёга, ты абсолютно прав. Как жаль, что я не заметил этого раньше. Только сегодня, рисуя граффити вконтакте, я заметил что невозможно нормально зажать ЛКМ - через несколько секунд после зажатия кнопки она как-будто отпускается и нажимается снова раза 2-3. Видимо, это брак.

_________________
Через тернии к звездам


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Ср июл 07, 2010 8:21 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Колибри - acid test для железа


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Сб авг 21, 2010 12:36 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 7:57 pm
Сообщения: 834
Что делать, чтобы usb-мышь заработала? Я перечитал всю тему, но так и не понял :-[

_________________
Всех выше те, кто доброе творят,
И за дела добра не ждут наград,
Всем жертвуют для страждущих людей,
Не думая о выгоде своей.


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Сб авг 21, 2010 1:27 pm 
Не в сети

Зарегистрирован: Вт июн 24, 2008 11:12 pm
Сообщения: 31
viewtopic.php?f=3&t=1400
Включить в биосе эмуляцию ps/2 мыши, или эт не то?

_________________
Делай как знаешь...


Вернуться к началу
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Сб авг 21, 2010 4:56 pm 
Атауальпа
Выложенный драйвер он только для UHCI контроллеров, которые есть далеко не в каждой материнской плате.
Запусти программу PCIDEV и увидишь какой у тебя контроллер: UHCI, OHCI или EHCI.


Вернуться к началу
   
 
 Заголовок сообщения: Re: Снова USB
СообщениеДобавлено: Сб авг 21, 2010 9:16 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 7:57 pm
Сообщения: 834
Sh@dy писал(а):
http://board.kolibrios.org/viewtopic.php?f=3&t=1400
Включить в биосе эмуляцию ps/2 мыши, или эт не то?

Не во всех биосах она есть

_________________
Всех выше те, кто доброе творят,
И за дела добра не ждут наград,
Всем жертвуют для страждущих людей,
Не думая о выгоде своей.


Вернуться к началу
 
Показать сообщения за:  Поле сортировки  
Начать новую тему  Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 150 сообщений ]  На страницу Пред. 14 5 6 7 810 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB