Программирование сетевого адаптера RTL8139

Тема в разделе "WASM.OS.DEVEL", создана пользователем KiselevAV, 14 авг 2008.

  1. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Пишу драйвер сетевого адаптера RTL8139. Передавать пакеты получается, а вот принимать - нет. Подскажите, кто-нибудь, в чем может быть ошибка
     
  2. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    ппц. ну вот там есть строка ты её немного подправь сам знаешь как. и ещё немного параметры к той и той функции надо подправить и тогда заработает
     
  3. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    Неееее, ошибка точно в той функции, которая обрабатывает инициализацию минипорта карты, в 125 строке, отсюда вижу...
     
  4. ECk

    ECk Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    454
    Адрес:
    Russia
    Битва экстрасенсов :)

    Вообще стоит посмотреть даташиты, благо их много именно на этот камень.
     
  5. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Да, я вижу вы отлично знаете что делать...
     
  6. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    KiselevAV
    Как ты думаешь, если я тебе сейчас задам вопрос - "Вот я пишу ща прогу, которая перехватывает сетевые пакеты в ядре, но через минуту валится в BSOD. Почему так происходит?" - как лично ты ответишь на него?
    Дело в том, что на форуме просьба помочь с "чем-то там хз почему не работает" обычно сопровождается самим кодом. Здесь не ТНТ и телепатов тут нет.
    Поэтому на вопрос к сообществу
    может быть единственный ответ - ошибка в твоем коде.
    Поэтому без кода никто здесь тебе ничего говорить не будет, ибо как уже сказано, телепатов тут нет.
     
  7. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    steelfactor ты знаком с принципом работы сетевого адаптера RTL8139?
     
  8. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    с риалтековскими сетевыми картами не работал, писал как-то дрова для бродкомовских карточек
     
  9. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    мдааа...с трудом верится что человек написавший драйвер до сих пор не научился
    задавать вопросы
    пользоваться гуглом
    не знает про линукс
    ...

    исходники драйвера к этой сетевухе есть в любой open source системе. бери оттуда и копай...или выкладывай код.
     
  10. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    у тебя ошибка в коде, обслуживающем передачик сетевки.
     
  11. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Barbos, ты можешь мне сказать, не ссылаясь на источники с открытым исходным кодом Unix-подобных ОС, в какой последовательности нужно инициализировать регистры сетерого адаптера RTL8139 и как организовать кольцевой буфер приема пакетов?
     
  12. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    а чем собственно тебе открытые системы с откртытыми драйверами не нравятся? хочешь изобретать велосипед или я просто чего то не понимаю?
     
  13. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Против открытых систем я ничего не имею, даже приветствую это направление. Речь идет не об этих системах, а о принципах работы сетевого адаптера. Мне хочется узнать все подробности его работы, в частности, передатчика. Открытый код такого вопроса не решит.
     
  14. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    steelfactor, а какие эмулятторы ты используешь для тестирования работы своего ПО?
     
  15. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    > Открытый код такого вопроса не решит.

    ))))) это ты сильно сказал
     
  16. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    loginrl_103, давай по существу. Хватит придираться. Тема форума совсем другая. Вопрос поставлен, чего еще не хватает? Не можешь ответить - не пиши ерунду всякую.
     
  17. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    у меня система работает с сетью через RTL8100. Драйвер сетевухи и стек TCP/IP написан был до меня, я лишь вносил некоторое коррективы не спускаясь до портов сетевушки (Ось корпоративная). Поэтому по тонкостям работы риалтека я врядли что то могу сказать. Советую покурить юзермануал по RTL8139, он обязан быть на сайте производителя. В остальном, если из тупика выйти не получается - пиши, жалуйся.
     
  18. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Barbos
    На сайте производителя я нашел спецификацию и руководство по программированию этого адаптера. Кстати сказать, программирование RTL8100 и RTL8139 в плане приема и передачи пакетов одинаково. На данный момент времени мне не понятно, как настроить передатчик и организовать кольцевой буфер приема. Точнее, каков функционал регистров CAPR и RBSTART и как с ними работать. Сейчас тестирую свой драйвер под Windows XP на эмуляторе Qemu 9.1. Запускаю два таких эмулятора. Между ними создается локальная сеть через сокет Windows. С первого эмулятора передаю пакет. Передача пакета проходит - происходит прерывание со статусом TOK. А второй эмулятор этот пакет не получает. То есть во втором эмуляторе прерывания по приему пакета не происходит.
     
  19. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    вот я тут даже погуглил немного.
    http://www.datasheetsite.com/manufacturer/1088
     
  20. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    Я бы не советовал програмить железо на эмуляторах. Попозже может нырну в тексты... щас лень ;)