![]() |
|
![]() ![]() ![]() |
|
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
Подскажите, пожалуйста, как узнать при помощи только прерываний BIOS узнать физический адрес USB flash-накопителя
Это сообщение отредактировал(а) piritus - 20.9.2007, 18:53 --------------------
|
|||
|
||||
10110111 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 28.8.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Для доступа к любому USB-девайсу надо программить хост-контроллер, к которому подрублен девайс. А насчет них - на сайты:
EHCI и UHCI - Intel OHCI - <кто-то там, не знаю точно(гугл в помощь)> Далее есть несколько протоколов работы юсб флешек, про них точно не скажу, т.к. сам еще в этом не разобрался. |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
привер бы, а то так хз что делать...
--------------------
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
piritus,
через PCI BIOS можно поиск устройства на PCI class code = 0Ch subclass code = 03h interface = FEh (или 00h, 10h, 20h, 80h) после получения bus/device/function номеров пользуемся этим и этим для чтения и записи BAR-ов (Base Address Registers) устройства да, вот еще, возьми datasheet на свой чипсет и почитай про USB контроллер (программирование, конфигурирование) Это сообщение отредактировал(а) MAKCim - 20.9.2007, 19:26 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
Благодарю.
SI = device index (0-n) как его узнать? interface = FEh (или 00h, 10h, 20h, 80h) почему или-или? как PCI будет искать устройства на USB? я наверное не точно выразился... Нужно узнать серийный номер флешки, т.е. ее отличительная особенность (типа MAC'а на сетевых картах), программа, использующая привязку к железу... --------------------
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
думаю, перебором разные номера интерфейсов соответствуют разным компонентам 00h Universal Serial Bus (USB) following the Universal Host Controller Specification 10h Universal Serial Bus (USB) following the Open Host Controller Specification 20h USB2 host controller following the Intel Enhanced Host Controller Interface 80h Universal Serial Bus with no specific programming interface FEh USB device (not host controller) я ж говорю, при помощи PCI BIOS находишь USB контроллер дальше по спецификации на чипсет с ним работаешь -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
почему в регистрах не передается адрес на буфер,
т.е. мне нужно считать "02h WORD device ID (read-only)" где он располагается в памяти? для чего нужна спецификация на чипсет, если меня интересует device ID? --------------------
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
что управляет флеш-устройством? контроллер USB т. е чтобы получить информацию про какой-то конкретный девайс, нужно работать с контроллером шины, к которой этот девайс подключен обычно наличие того или иного контроллера определяется чипсетом потому и нужна спецификация -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
DI = register number (0000h-00FFh, must be multiple of 4) - как его узнать
02h WORD device ID (read-only) - как считать --------------------
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
смещение в конфигурационном простанстве PCI устройства в твоем случае PCI устройство - это USB контроллер описание регистров конфигурационного пространства ищи в спецификации на чипсет это где? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
в PCI BIOS v2.0c+ - READ CONFIGURATION DWORD после описания функции: Format of PCI Configuration Data: Offset Size Description (Table 00878) 00h WORD vendor ID (read-only) (see #00732 at AX=B102h) FFFFh returned if requested device non-existent 02h WORD device ID (read-only) 04h WORD command register (see #00879) 06h WORD status register (see #00880) 08h BYTE revision ID 09h 3 BYTEs class code --------------------
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
piritus,
каждое PCI устройство имеет конфигурационное пространство по различным смещениям в нем храняться различные регистры, которые отвечают за включение/выключение определенных функций устройства и его идентификацию Format of PCI Configuration Data: Offset Size Description (Table 00878) 00h WORD vendor ID (read-only) идентификатор производителя устройства (для Intel 8086h) FFFFh returned if requested device non-existent 02h WORD device ID (read-only) идентификатор устройства для данного производителя 04h WORD command register (see #00879) включение/выключение различной функциональности 06h WORD status register (see #00880) регистр статуса устройства 08h BYTE revision ID 09h 3 BYTEs class code -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
у меня по PCI Configuration Map (SMBUS-D31:F3)
00-01h VID Vendor ID 8086h RO 02-03h DID Device ID 2413h RO т.е. что бы узнать DeviceID, register number должен быть равен 0000h, т.к. значение должно быть кратно 4. Так? тогда получится что-то типа:
но Device ID - это как я понял не ID flash-накопителя, а ID host контроллера USB и в моем случае дефолтным является значение: 2413h как тогда узнать ID флешки? Это сообщение отредактировал(а) piritus - 23.9.2007, 14:44 --------------------
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
piritus,
Это сообщение отредактировал(а) MAKCim - 23.9.2007, 14:40 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
пока я редактировал сообщение, ты уже ответил
![]() у меня по PCI Configuration Map (SMBUS-D31:F3) 00-01h VID Vendor ID 8086h RO 02-03h DID Device ID 2413h RO т.е. что бы узнать DeviceID, register number должен быть равен 0000h, т.к. значение должно быть кратно 4. Так? тогда получится что-то типа:
но Device ID - это как я понял не ID flash-накопителя, а ID host контроллера USB и в моем случае дефолтным является значение: 2413h как тогда узнать ID флешки? Это сообщение отредактировал(а) piritus - 23.9.2007, 14:52 --------------------
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для Windows/DOS" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для Windows/Dos | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |