LINUX.ORG.RU

Как написать драйвер сетевого устройства для Linux

 ,


1

0

В статье Mohan Lal Jangir "Пишем драйвер сетевого устройства для Linux" на примере драйвера для сетевой платы RealTek 8139 рассказывается, как самому написать драйвер сетевого устройства для Линукс.

>>> Подробности

Актуально - в ближайшей отдаленной перспективе планирую замутить нечто подобное. Однако: "Настоящая статья была написана и проверена для ядра Linux 2.4.18" - приехали ^_^ Оно хоть актуально?..

I-Love-Microsoft ★★★★★
()

Сходил по ссылке:

>Настоящая статья была написана и проверена для ядра Linux 2.4.18

MadCAD ★★
()

> pdev = pci_find_device(REALTEK_VENDER_ID, REALTEK_DEVICE_ID, NULL);

о, ё... VENDER... OMG!!!! Всегда думал что VENDOR.

shty ★★★★★
()

Хорошая статья. Мне понравилась. Хотя сам бы таки не осилил написание драйвера (пока не очень-то хватает знаний).

SpeedyWizard
()
Ответ на: комментарий от shty

> о, ё... VENDER... OMG!!!! Всегда думал что VENDOR.

Правильно "vendor". А чего ты хотел, автор статьи (оригинальной) индус же. :)

anonymous
()

Бегло пролистал. Всегда приветствую такого рода статьи, однако, считаю актуальным написание драйверов для встраиваемых устройств.

exst ★★★★
()
Ответ на: комментарий от anonymous

>Правильно "vendor".

это-то я понял

>А чего ты хотел, автор статьи (оригинальной) индус же. :)

просто я типа не ожидал :)

shty ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

"Настоящая статья была написана и проверена для ядра Linux 2.4.18" - приехали ^_^ Оно хоть актуально?..

в межделмаше никогда не привыкнут что в линухе едроапи меняется по 25 раз даже в минорных ветках

gigabito
()

> в межделмаше никогда не привыкнут что в линухе едроапи меняется по 25 раз даже в минорных ветках

Ха, я тоже подумал сначала что это межделмашевский бот добавил новость =))) Присмотрись, это не он. Хотя да, похоже по стилю :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

а это не он? гм. ну видимо есть и еще доверчивые старички )

gigabito
()

> Я выбрал чипсет RealTek по следующим двум причинам: Во-первых, компания RealTek бесплатно предоставляет технические спецификации на этот чипсет (спасибо, RealTek!). Во-вторых, он сравнительно дешев. В Индии его можно приобрести менее, чем за 300 рупий (приблизительно 7 долларов США).

:-)

tensai_cirno ★★★★★
()

К сожалению, актуальность статьи очень низкая. Если, конечно, не заниматься некрофилией с 2.4.x. В 2.6.x по другому будет организован probe/remove, для доступа к MMIO или IOPORT можно использовать общие хендлеры: ioreadX/iowriteX, переделана структура net_device и т.п. С другой стороны даже для текущих ядер статья будет полезна, чтобы разобраться в базовых концептах.

lumag ★★
()

Не актуально, но познавательно. Спасибо.

jcd ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

> "Настоящая статья была написана и проверена для ядра Linux 2.4.18" - приехали ^_^ Оно хоть актуально?..

ВНЕЗАПНО - ядра 2.4.* до сих пор очень много где используются. Хотя конечно, в таком случае к статье не помешало бы приложение, в котором разжёвывались бы особенности переноса на ветку 2.6. У нас народ поимел геморрой при переносе софта, работающего с шиной VBE (первая версия делалась как раз под 2.4).

hobbit ★★★★★
()
Ответ на: комментарий от anonymous

> Надоели археологи. Кто пропускает такие посты?

Надоели футурологи, для которых всегда есть единственная версия программы - последняя. (Раньше это были школьники, для которых было позором не перейти на Windows 98/XP/Vista/etc в течение недели после её выхода - теперь вот и до линукса добралось.) Для серьёзной работы более актуален принцип "работает - не трожь"!

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

hobbit ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

> Однако: "Настоящая статья была написана и проверена для ядра Linux 2.4.18" - приехали ^_^ Оно хоть актуально?..

Очень даже. Вы кроме десктопа Linux где-нибудь видели? В embedded часто версии ядра не меняются даже при обновлениях прошивки. А это и NAS, и eBook, и всяческие другие устройства.

SySAlex
()

Из статьи мне понравился вот этот фрагмент кода

/* rx config */
writel(((1 < 12) | (7 < 8) | (1 < 7) | 
           (1 < 3) | (1 < 2) | (1 < 1)), ioaddr + RCR);
sign
()

автор молодец, но актуальнее для десктопа было бы указать необходимые изменения для нового ядра.

Genuine ★★★
()
Ответ на: комментарий от SySAlex

>В embedded часто версии ядра не меняются даже при обновлениях прошивки. А это и NAS, и eBook

не надо китайские говнокоробки для винтов с сетевухами NAS'ами называть. если это делают в магазинах, не стоит уподобляться.

gigabito
()
Ответ на: комментарий от sign

>Из статьи мне понравился вот этот фрагмент кода

В хардваре такой или подобный стиль общепринятый. Так легче понять, в какую группу битов чего попадает.

smartly ★★★
()
Ответ на: комментарий от smartly

Из статьи мне понравился вот этот фрагмент кода

В хардваре такой или подобный стиль общепринятый. Так легче понять, в какую группу битов чего попадает.

Попадет туда единица. Потому что двойные угловые скобочки превратились в одинарные. Собственно на что я и пытался обратить внимание.

#include <stdio.h>

int main()
{
  printf("%d\n", ((1 < 12) | (7 < 8) | (1 < 7) | (1 < 3) | (1 < 2) | (1 < 1)) );
}
sign
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.