eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: hlmadip, Adler (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Электроника —› Работа с портами ввода-вывода. Помогите с основами
Посл.ответ Сообщение


Ранг: 528.5 (!)
Статус: Участник
5KRT

Создано: 14 марта 2017 22:15 · Поправил: daFix New!
Цитата · Личное сообщение · #1

Ситуация у меня такая - имеем системник x86, всё вполне стандартно за исключением PCI устойства.
Материнка сгорела, была заменена другой. Операционная система - Windows Embeded. После мучений с драйверами удалось запустить образ на новом железе. Софт вроде как стартует, но не видит смарт-карты которые подрубаются через PCI контроллер.
Взаимодействие с этим контроллером осуществляется через CreateFile/DeviceIoControl, тут вроде всё норм
Как говорилось ранее, к этой плате подключен смарт-кард ридер и вот с ним проблемы. Взаимодействие с ним осуществляется через порты напрямую:
Code:
  1. MOV DX,0x300h
  2. IN AL,DX
  3. TEST AL,0x2h

Впервые сталкиваюсь с подобной задачей и не знаю как подступиться.
Собственно, вопрос в том как на аппаратном уровне происходит распределение портов и как мне найти нужный мне порт на новой материнке?
Сразу прошу прощения за, возможно, плохую постановку вопроса


Ранг: 1014.5 (!!!!)
Статус: Участник

Создано: 14 марта 2017 22:32 New!
Цитата · Личное сообщение · #2

материнка стандартная или кастомная ?
схема подключения то какая ? карт ридер то куда пихается ? интерфейс какой у него ?

ну обычно 300 порт входит в pcmcia интерфейс

смотреть в винде или acpi дампе схему распределения ИО портов

Ранг: 578.8 (!)
Статус: Модератор

Создано: 14 марта 2017 22:33 New!
Цитата · Личное сообщение · #3

У тебя в свойствах кардирдера не видно куда он замапился в ресурсах?


Ранг: 599.9 (!)
Статус: Модератор
Research & Development

Создано: 14 марта 2017 22:43 New!
Цитата · Личное сообщение · #4

daFix
Попробуй в цикле опросить порты с 0x300 до 0x304


Ранг: 528.5 (!)
Статус: Участник
5KRT

Создано: 14 марта 2017 23:59 New!
Цитата · Личное сообщение · #5

reversecode, r_e
kontron 986lcd-m
http://www.rtsoft.ru/upload/pdfcat/KTD-N0837-B_986LCD-M_Family_User_Manual.pdf
На 62 странице там таблица I/O Map, но 0x300 там нету.

Картридер подключен стандартным 10-ти пиновым шлейфом к контроллеру. На картридере нету контроллера, пины напрямую пробрасываются на PCI-плату, в системе ни как не отображается

Jupiter
Там достаточно большой комплекс и обращения распиханы по разным модулям, проверка займёт какое-то время.

Есть ли в системе возможность посмотреть все порты?

Добавлено спустя -43 минут
Последнее устройство в списке

{ Атач доступен только для участников форума } - Screen.jpg


Ранг: 599.9 (!)
Статус: Модератор
Research & Development

Создано: 15 марта 2017 00:19 New!
Цитата · Личное сообщение · #6

daFix пишет:
Последнее устройство в списке

Ему прерывание (IRQ) не назначено, судя по скрину (но не уверен, что это критично).

Наверняка ты уже пробовал загружать Optimised Defaults в BIOS, но попробуй именно в нём покопаться.
Отключить USB 2.0, если есть такая возможность, потом снова включить.


Ранг: 528.5 (!)
Статус: Участник
5KRT

Создано: 15 марта 2017 00:37 New!
Цитата · Личное сообщение · #7

Jupiter
Порт забит в самом устройстве или назначается биосом? Возможен ли конфликт?
А по поводу прерывания - вроде не критично, ведь коммуникация может проходить по прерываниям или по портам. Хотя, моих знаний не хватает чтобы утверждать наверняка


Ранг: 1014.5 (!!!!)
Статус: Участник

Создано: 15 марта 2017 00:58 New!
Цитата · Личное сообщение · #8

а контроллер то стандартный какой то ? или что то кастомное ?
нельзя просто что то вставить в pci слот и забиндится на какой то нижний порт что бы с ним сразу игратся io/out port

там должна проходить целая настройка pci арбитра и функционала

поэтому либо на старой матери что то подстраивало все это
либо что то ускальзывает от наших взоров

Добавлено спустя -59 минут
ааа о, на картинке энкрипшин контроллер это он ? ну так он нормально видится в pci
ищи уилиты итд которые его конфигурят


Ранг: 149.7 (ветеран)
Статус: Участник

Создано: 15 марта 2017 02:33 New!
Цитата · Личное сообщение · #9

Насколько я понимаю, рабочий порт должен быть указан где-то в конфигурационном пространстве PCI.
Чтобы до него добраться, нужно по очереди просканировать все устройства, сверяясь с VEN/DEV кодами.

софт для работы c конфирационными регистрами:
RW-Everything
есть еще BAR-Edit и WPCREDIT - офсайты сдохли, ссылки в гугле

Ранг: 42.5 (посетитель)
Статус: Участник

Создано: 15 марта 2017 07:50 New!
Цитата · Личное сообщение · #10

daFix пишет:
Картридер подключен стандартным 10-ти пиновым шлейфом к контроллеру.На картридере нету контроллера, пины напрямую пробрасываются на PCI-плату, в системе ни как не отображается


Что-то ничего не понятно. К какому контроллеру? Система не видит этот контроллер или ридер, подключенный к контроллеру? Какой диапазон I/O у этого контроллера?

Ранг: 70.9 (постоянный)
Статус: Участник

Создано: 23 сентября 2017 02:30 New!
Цитата · Личное сообщение · #11

daFix
Некро, но всё же - как решил?? Ибо, такой же приход ожидаю..
 eXeL@B —› Электроника —› Работа с портами ввода-вывода. Помогите с основами

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS