Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Nov 27, 2020 9:12 pm

All times are UTC+03:00




Post new topic  This topic is locked, you cannot edit posts or make further replies.  [ 686 posts ]  Go to page Previous 112 13 14 15 1646 Next
Author Message
PostPosted: Thu Jul 21, 2011 7:44 pm 
CleverMouse wrote:
Хм, мимо. Тогда та же просьба для нового http://ftp.kolibrios.org/users/CleverMo ... el-dbg.mnt .

eBox-3300MX (Vortex86MX)
Spoiler: Show
Attachment:
BOARDLOG.TXT [2.17 KiB]
Downloaded 66 times

CleverMouse wrote:
Теперь драйвер http://ftp.kolibrios.org/users/CleverMo ... sbstor.obj выводит несколько более подробную информацию об ошибках в ходе своих операций. Если в логе была ошибка "USB transfer error, disabling mass storage", как то у Sorcerer и у Mario на последней из машин, просьба перетестировать с этим драйвером. На проблемы, выражающиеся в ошибке с SET_CONFIGURATION, это не влияет.

ASRock M3A770DE
Spoiler: Show
Attachment:
BOARDLOG.TXT [2.79 KiB]
Downloaded 67 times


Top
   
 
PostPosted: Thu Jul 21, 2011 7:57 pm 
Выделена тема Два активных обработчика PCI IRQ на разных линиях вешают систему


Top
   
 
PostPosted: Thu Jul 21, 2011 8:09 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1625
http://ftp.kolibrios.org/users/CleverMo ... sbstor.obj - есть хорошие шансы, что эта версия чинит проблему уровня драйвера mass storage, "USB transfer error, disabling mass storage".

_________________
Сделаем мир лучше!


Top
   
 
PostPosted: Thu Jul 21, 2011 9:25 pm 
ASRock M3A770DE
Spoiler: Show
Attachment:
BOARDLOG.TXT [2.79 KiB]
Downloaded 64 times


Top
   
 
PostPosted: Thu Jul 21, 2011 10:59 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1625
Ещё один вариант: http://ftp.kolibrios.org/users/CleverMo ... sbstor.obj .

_________________
Сделаем мир лучше!


Top
   
 
PostPosted: Fri Jul 22, 2011 12:21 am 
ASRock M3A770DE
Spoiler: Show
Attachment:
BOARDLOG.TXT [2.88 KiB]
Downloaded 63 times


Top
   
 
PostPosted: Fri Jul 22, 2011 3:21 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1625
Ага. Тогда так: http://ftp.kolibrios.org/users/CleverMo ... sbstor.obj .

_________________
Сделаем мир лучше!


Top
   
 
PostPosted: Fri Jul 22, 2011 4:46 pm 
ASRock M3A770DE
Spoiler: Show
Attachment:
BOARDLOG.TXT [3.36 KiB]
Downloaded 62 times


Top
   
 
PostPosted: Fri Jul 22, 2011 5:34 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1625
Значит, USBшная часть драйвера флешки успешно работает. Это хорошо, можно приступать к ядерной.

Проблема с SET_CONFIGURATION, по ощущениям, вызвана тем, что флешке тупо не хватает питания. После подсоединения и сброса USB-устройство может потреблять от шины до 100 мА; в этом состоянии устройство может не работать, но должно выдавать базовую информацию о себе - в том числе потребление тока в рабочем состоянии. Мышкам/клавиатурам 100 мА заведомо хватает и для работы, а вот конкретная флешка, с которой проблемы, пишет о себе, что ей нужно 200 мА. Команда SET_CONFIGURATION как раз переводит устройство в рабочее состояние; вероятно, флешка пытается увеличить потребление тока, некоторые хосты ей этого не дают, в результате чего флешка культурно проваливает команду. Что с этим делать, не очень понятно.

_________________
Сделаем мир лучше!


Top
   
 
PostPosted: Fri Jul 22, 2011 6:12 pm 
CleverMouse wrote:
флешка пытается увеличить потребление тока, некоторые хосты ей этого не дают

3 из 4 моих тестовых машин. Винда и Linux эту проблему каким-то образом обходят.
Посмотрел в диспетчере устройств в ВинХП - обе флешки обозначены как 200 мА


Top
   
 
PostPosted: Fri Jul 22, 2011 6:13 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1625
В винде и Linux, очевидно, работа с флешкой идёт через EHCI, а не OHCI.

_________________
Сделаем мир лучше!


Top
   
 
PostPosted: Fri Jul 22, 2011 6:20 pm 
Т.е. флешка принципиально не будет работать в OHCI 1.1 режиме?

На моем первом компьютере (относительно приобретенной флешки) в Виндовс выдавалось предупреждение, что устройство USB2 в то время как контроллер USB1, но флешка работала. Для 98SE приходилось скачивать драйвер с сайта производителя, а вот XP уже сама поддерживала.

З.Ы. Я не помню какой там был тип контроллера.


Top
   
 
PostPosted: Fri Jul 22, 2011 6:29 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1625
Т.е. флешка принципиально не хочет работать на нескольких хостах, где есть и OHCI, и EHCI, в режиме OHCI. В принципе в OHCI она работает, что демонстрирует четвёртый хост.

_________________
Сделаем мир лучше!


Top
   
 
PostPosted: Mon Jul 25, 2011 5:07 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Протестировал на eBox3300MX и M4A78VM, в обоих случаях работает просто замечательно. Большое спасибо за проделанную работу! :)

Тестирование проводил с мышью A4Tech X7, двумя флешками, SD картой подключенной с помощью картридера и USB хабом. Если нужно то могу предоставить более подробную информацию об этих устройствах.


Attachments:
pcidev_eBox3300MX.txt [1.63 KiB]
Downloaded 85 times
OHCI_M4A78VM_hotplug.txt [3.29 KiB]
Downloaded 84 times
OHCI_M4A78VM.txt [1.89 KiB]
Downloaded 80 times
Top
   
 
PostPosted: Mon Jul 25, 2011 6:45 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1625
Ситуация с поддержкой дисковых устройств в ядре ужасная, поэтому новая серия пока откладывается. Для тех, кому интересно, прикладываю текущий вариант API для дисковых устройств.
Spoiler: Show
All functions are stdcall.
void* DiskAdd(DISKFUNC* functions, const char* name, void* userdata);
; The pointer 'functions' must be valid at least until the disk will be deleted
; (until DiskDel returns).
; The pointer 'name' can be invalid after this function returns.
; It should point to ASCIIZ-string without leading '/' in latin lowercase and
; digits, like 'usbhd0'.
; The value 'userdata' is any pointer-sized data, passed as is to all callbacks.
struc DISKFUNC
{
.strucsize dd ?
.querymedia dd ?
; int querymedia(DISKMEDIAINFO* info, void* userdata);
; return value: 0 = success, otherwise = error
.read dd ?
; int read(void* buffer, __int64 startsector, int* numsectors, void* userdata);
; return value: 0 = success, otherwise = error
.write dd ?
; int write(const void* buffer, __int64 startsector, int* numsectors, void* userdata);
; Optional.
; return value: 0 = success, otherwise = error
.flush dd ?
; int flush(void* userdata);
; Optional.
; Flushes the hardware cache, if it exists. Note that a driver should not implement
; a software cache for read/write, since they are called from the kernel cache manager.
}
struc DISKMEDIAINFO
{
.flags dd ?
DISK_MEDIA_READONLY = 1
.sectorsize dd ?
.capacity dq ?
}
void DiskDel(void* hDisk);
; After this function returns, the kernel will not issue any callbacks for this disk.
; It's the responsibility of the driver to properly terminate all requests issued
; before or in parallel to the call of this function. Currently all requests are
; synchronous (functions like read_async/write_async may be added in the future),
; so the kernel guarantees that after this function returns, it is safe to free
; all device-related resources.
void DiskMediaChanged(void* hDisk, int newstate);

Теперь надо ещё научить файловые системы брать данные не из глобальных переменных, а по локальному указателю. Скорее всего, для начала в таком режиме будет функционировать только FAT32 - для флешек этого обычно достаточно.

_________________
Сделаем мир лучше!


Top
   
 
Display posts from previous:  Sort by  
Post new topic  This topic is locked, you cannot edit posts or make further replies.  [ 686 posts ]  Go to page Previous 112 13 14 15 1646 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