Пишу драйвер сетевого адаптера RTL8139. Передавать пакеты получается, а вот принимать - нет. Подскажите, кто-нибудь, в чем может быть ошибка
ппц. ну вот там есть строка ты её немного подправь сам знаешь как. и ещё немного параметры к той и той функции надо подправить и тогда заработает
Неееее, ошибка точно в той функции, которая обрабатывает инициализацию минипорта карты, в 125 строке, отсюда вижу...
KiselevAV Как ты думаешь, если я тебе сейчас задам вопрос - "Вот я пишу ща прогу, которая перехватывает сетевые пакеты в ядре, но через минуту валится в BSOD. Почему так происходит?" - как лично ты ответишь на него? Дело в том, что на форуме просьба помочь с "чем-то там хз почему не работает" обычно сопровождается самим кодом. Здесь не ТНТ и телепатов тут нет. Поэтому на вопрос к сообществу может быть единственный ответ - ошибка в твоем коде. Поэтому без кода никто здесь тебе ничего говорить не будет, ибо как уже сказано, телепатов тут нет.
мдааа...с трудом верится что человек написавший драйвер до сих пор не научился задавать вопросы пользоваться гуглом не знает про линукс ... исходники драйвера к этой сетевухе есть в любой open source системе. бери оттуда и копай...или выкладывай код.
Barbos, ты можешь мне сказать, не ссылаясь на источники с открытым исходным кодом Unix-подобных ОС, в какой последовательности нужно инициализировать регистры сетерого адаптера RTL8139 и как организовать кольцевой буфер приема пакетов?
а чем собственно тебе открытые системы с откртытыми драйверами не нравятся? хочешь изобретать велосипед или я просто чего то не понимаю?
Против открытых систем я ничего не имею, даже приветствую это направление. Речь идет не об этих системах, а о принципах работы сетевого адаптера. Мне хочется узнать все подробности его работы, в частности, передатчика. Открытый код такого вопроса не решит.
loginrl_103, давай по существу. Хватит придираться. Тема форума совсем другая. Вопрос поставлен, чего еще не хватает? Не можешь ответить - не пиши ерунду всякую.
у меня система работает с сетью через RTL8100. Драйвер сетевухи и стек TCP/IP написан был до меня, я лишь вносил некоторое коррективы не спускаясь до портов сетевушки (Ось корпоративная). Поэтому по тонкостям работы риалтека я врядли что то могу сказать. Советую покурить юзермануал по RTL8139, он обязан быть на сайте производителя. В остальном, если из тупика выйти не получается - пиши, жалуйся.
Barbos На сайте производителя я нашел спецификацию и руководство по программированию этого адаптера. Кстати сказать, программирование RTL8100 и RTL8139 в плане приема и передачи пакетов одинаково. На данный момент времени мне не понятно, как настроить передатчик и организовать кольцевой буфер приема. Точнее, каков функционал регистров CAPR и RBSTART и как с ними работать. Сейчас тестирую свой драйвер под Windows XP на эмуляторе Qemu 9.1. Запускаю два таких эмулятора. Между ними создается локальная сеть через сокет Windows. С первого эмулятора передаю пакет. Передача пакета проходит - происходит прерывание со статусом TOK. А второй эмулятор этот пакет не получает. То есть во втором эмуляторе прерывания по приему пакета не происходит.