Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Sep 18, 2019 2:55 pm

All times are UTC+03:00




Post new topic  This topic is locked, you cannot edit posts or make further replies.  [ 150 posts ]  Go to page Previous 14 5 6 7 810 Next
Author Message
 Post subject: Re: Снова USB
PostPosted: Sat Jun 19, 2010 7:58 pm 
Offline
Designer
User avatar

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

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


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sat Jun 19, 2010 11:49 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Leency

Мышь - убийца ?
Code:
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, а что-то другое.


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sun Jun 20, 2010 1:30 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Мышь убивца имеет официальную страничку http://www.canyon-tech.com/archive/comp ... r-switcher если это поможет.

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


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sun Jun 20, 2010 6:33 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
А что в /rd/1/drivers/usb.log ?


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sun Jun 20, 2010 11:39 am 
Offline
Kernel Developer
User avatar

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


Attachments:
USB2.LOG [12.44 KiB]
Downloaded 171 times

_________________
Ушёл к умным, знающим и культурным людям.
Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sun Jun 20, 2010 5:52 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Похоже что падает до SetMouseData. Но совсем непонятно почему.


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sat Jun 26, 2010 2:43 am 
Offline
Kernel Developer
User avatar

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

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


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sat Jun 26, 2010 9:17 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Понятно. Я думал что там вся система виснет. Надо сделать обработчик ошибок.


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Mon Jul 05, 2010 10:44 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Wed Jul 07, 2010 1:08 pm 
Offline
Designer
User avatar

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

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


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Wed Jul 07, 2010 8:21 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Колибри - acid test для железа


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sat Aug 21, 2010 12:36 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 7:57 pm
Posts: 835
Что делать, чтобы usb-мышь заработала? Я перечитал всю тему, но так и не понял :-[

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


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sat Aug 21, 2010 1:27 pm 
Offline

Joined: Tue Jun 24, 2008 11:12 pm
Posts: 64
viewtopic.php?f=3&t=1400
Включить в биосе эмуляцию ps/2 мыши, или эт не то?


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


Top
   
 
 Post subject: Re: Снова USB
PostPosted: Sat Aug 21, 2010 9:16 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 7:57 pm
Posts: 835
Sh@dy wrote:
http://board.kolibrios.org/viewtopic.php?f=3&t=1400
Включить в биосе эмуляцию ps/2 мыши, или эт не то?

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

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


Top
   
 
Display posts from previous:  Sort by  
Post new topic  This topic is locked, you cannot edit posts or make further replies.  [ 150 posts ]  Go to page Previous 14 5 6 7 810 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited