Realtek RTL8139
Realtek RTL8139 — семейство популярных интегрированных контроллеров сетевого интерфейса Fast Ethernet, разрабатывавшееся компанией Realtek в 1997-2005 годах[1][2]. Контроллеры реализуют в одной микросхеме уровни MAC, PHY и трансивера, имеют интерфейс PCI[3] и поддерживают работу на скоростях 10 или 100 Мбит/с по неэкранированной витой паре[2].
В состав семейства входило шесть моделей контроллеров: RTL8139, RTL8139A, RTL8139B, RTL8139C, RTL8139C+, RTL8139D. Они применялись для создания сетевых карт с интерфейсом PCI для ПК, сетевых модулей с интерфейсом mini-PCI и интегрированных сетевых карт ноутбуков и материнских плат.
Благодаря доступности и невысокой цене как самих контроллеров семейства RTL8139[4], так и карт на его основе (6-13 долларов на 2002 год[5]), а также простого программно-аппаратного интерфейса[6] карты на базе RTL8139 были широко распространены, и в множестве операционных систем была поддержана работа с этим контроллером. Ряд систем виртуализации эмулируют именно этот контроллер[7][8][9].
По оценкам самой компании, в начале 2000-х годов Realtek занимал около 65% рынка контроллеров Ethernet[10].
Модели контроллера: 8139/8139A/8139B/8139C/8139DПравить
Вариант | Год | Напряжение [Вольт] | Корпус | Особенности | Примечания |
---|---|---|---|---|---|
RTL8139 | 1997 | 5 | Первая версия одночипового контроллера | ||
RTL8139A[11] | 1998 | 5 | 128 pins PQFP | Добавлена поддержка Wake-on-LAN | Расширен набор внутренних регистров контроллера |
RTL8139B[12] | 1999 | 5 или 3.3 (BL) | 128 pin QFP (B) или LQFP (BL) | Единый источник тактовой частоты | Вместо OSC генератора начал применяться кварцевый |
RTL8139C[13] | 2000 | 3.3 | 128 pin QFP (C) или LQFP (CL) | Wake-on-LAN по шине PCI | Расширения ACPI для шины PCI версии 2.2; исправлено терминирование выводов[14] |
RTL8139C+[15] | 2001 | 3.3 | 128 pin QFP (C+) или LQFP (CL+) | Реализованы требования NDIS5+ | Добавлен режим C+ с дескипторным управлением буферов, offload расчёта контрольных сумм TCP, UDP, IP, |
RTL8139D[16] | 2002 | 2.5 или 3.3 | 100 pin QFP (D) или LQFP (DL) | Wake-on-LAN по шине PCI | Техпроцесс 0.25 мкм CMOS, поддержка BootROM сетевой загрузки до 128 КБ |
Технические характеристики 8139DПравить
- Корпус пластмассовый, типа PQFP (100 выводов, с шагом 0,65 мм) или LQFP (100 выводов, шаг выводов 0,50 мм)
- Скорость сетевого интерфейса 10 или 100 Мбит/с, с поддержкой автосогласования
- Системный интерфейс PCI 32 бита
- Соответствует версии PCI 2.2
- Частота шины PCI 16,75…40 МГц
- Поддержка стандарта ACPI и управления питанием
- Способность функционировать как ведущее устройство (PCI Bus Master)
- Соответствует стандартам PC99 и PC2001
- Наличие функции Wake-on-LAN
- Размер раздельных буферов приёма и передачи 2 Кбайт
- Данные конфигурации сохраняются во внешнем ППЗУ типа 93C46 (объёмом 1 Кбит, с организацией 64x16)
- Наличие выводов для управления светодиодными индикаторами сетевой активности
- Поддержка загрузки по сети (Boot ROM, объём до 128 Кбайт)
- Возможность работы в полудуплексном и полнодуплексном режимах, с поддержкой управления потоком в полнодуплексном режиме (IEEE 802.3x)
- Наличие режима пониженного энергопотребления
- Тактовая частота внешнего генератора — 25 МГц
- Напряжение источника питания 3,3 В (для некоторых моделей)); линий ввода-вывода — 5 В; потребляемый ток до 330 мА
- Рабочий диапазон температур 0..70°С
- Изготовлена по технологии КМОП 0,25 мкм
ДрайверыПравить
Из-за неполноты документации и наличия лишь проприетарных (бинарных) драйверов, начальная реализация поддержки RTL8139 для операционных систем с открытым исходным кодом требовала значительных усилий. В частности, один из вариантов драйвера для Linux разрабатывался около 4 лет при участии 18 разработчиков[17]. Первый драйвер разрабатывался в 1997—1999 годах Donald Becker[18]. Многие драйверы поддерживали работу с упрощенной более ранней и менее производительной моделью контроллера — RTL8129[19][20].
Для передачи данных в сеть используется 4 дескриптора TSAD, размещенных по фиксированным смещениям, 4 статусных регистра TSD и 2 КБ FIFO буфер данных. Принимаемые из сети пакеты сначала помещаются в приемный FIFO-буфер, затем пересылаются в кольцевой буфер, непрерывный в физической памяти компьютера. Регистры CAPR и CBP используются для отслеживания позиций в этом буфере, статус принятого пакета и его длина (packet header) записывается перед данными пакета после его получения[21][22].
НаградыПравить
См. такжеПравить
ПримечанияПравить
- ↑ https://web.archive.org/web/19980530132203/http://www.realtek.com.tw/aboutrt/mile.html "May 1997 Development of the Single-Chip Fast Ethernet Controller RTL8139 announced"
- ↑ 1 2 Fast-Forward to Fast Ethernet. Single-Chip Solutions (англ.), BYTE Magazine (October 1997). Архивировано 5 декабря 1998 года. Дата обращения: 18 сентября 2016. «"Realtek Semiconductor, an IC maker, has introduced a single-chip Fast Ethernet controller, the RTL8139, which operates at 10 or 100 Mbps.. Mass production will begin in October."».
- ↑ Writing a Network device driver — Part 1 Архивная копия от 16 сентября 2016 на Wayback Machine / Issue 93 of Linux Gazette, August 2003
- ↑ ftp://ibase.com.tw/Driver/Driver5.3C/Lan/Rtl8139x/Linux/2.2.16-2.4/rtl8139.htm «RTL8139 is used on many boards due to its low cost»
- ↑ Станислав Гарматюк, Юрий Кученко. «Даешь ЛВС» Архивная копия от 31 декабря 2012 на Wayback Machine // ixbt.com, 20 октября 2002
- ↑ Mohan Lal Jangir, Writing Network Device Drivers for Linux Архивная копия от 14 августа 2016 на Wayback Machine / Linux Gazette, November 2008 (#156)]
- ↑ RTL8139 — OSDev Wiki (неопр.). Дата обращения: 17 февраля 2012. Архивировано 24 марта 2012 года.
- ↑ https://books.google.ru/books?id=YBmTsovORSsC&pg=PA249 Архивная копия от 18 сентября 2016 на Wayback Machine Fedora 13 Virtualization Guide], Fedora Documentation Project, «32.7 KVM networking performance»
- ↑ Network Interface Virtualization: Challenges and Solutions Архивная копия от 20 сентября 2016 на Wayback Machine /IEEE Network ISSN 0890-8044, September/October 2012 p28 "Popular choices for emulation include Realtek rtl8139 and Intel E1000. Any OS with drivers for the emulated interface can simply use it as if it were a physical interface. "
- ↑ Realtek Semiconductor Corp. Annual Report 2003 Архивная копия от 22 сентября 2016 на Wayback Machine: "Our estimated 65% worldwide market share in NIC ICs allows us to (i) widely deploy our solutions in the products of most leading PC and network hardware companies"
- ↑ REALTEK SINGLE CHIP FAST ETHERNET CONTROLLER WITH POWER MANAGEMENT RTL8139A (недоступная ссылка) / Realtek, 1998.04.01 Ver 1.0
- ↑ REALTEK SINGLE CHIP FAST ETHERNET CONTROLLER WITH POWER MANAGEMENT RTL8139B(L) Архивная копия от 24 марта 2016 на Wayback Machine / Realtek, 1999/7/26 Rev 2.4
- ↑ REALTEK 3.3V SINGLE CHIP FAST ETHERNET CONTROLLER WITH POWER MANAGEMENT RTL8139C(L) Архивная копия от 9 июня 2012 на Wayback Machine / Realtek, 2002/01/10 Rev 1.4
- ↑ Сергей Пахомов. Сетевой адаптер LG LNIC-10/100Ab, КомпьютерПресс (5'2002). Архивировано 18 сентября 2016 года. Дата обращения: 17 сентября 2016.
- ↑ REALTEK 3.3V SINGLE CHIP FAST ETHERNET CONTROLLER WITH POWER MANAGEMENT RTL8139C(L)+ Архивная копия от 10 июля 2007 на Wayback Machine / Realtek, 2001/12/06 Rev 1.5
- ↑ REALTEK RTL8139D SINGLE CHIP MULTI-FUNCTION 10/100Mbps ETHERNET CONTROLLER WITH POWER MANAGEMENT Архивная копия от 7 января 2017 на Wayback Machine / Realtek, 08 Aug 2005, Rev 1.2
- ↑ Reverse Engineering of Binary Device Drivers with RevNIC Архивная копия от 9 августа 2017 на Wayback Machine, Proceedings of the 5th European conference on Computer systems. ACM, 2010, ISBN 978-1-60558-577-2 doi:10.1145/1755913.1755932. «RTL8139 Manual (Linux) 18 persons 4 years»
- ↑ Linux and the RealTek RTL8129/8139 Chips
- ↑ Linux and the RealTek RTL8129/8139 Chips (неопр.). Дата обращения: 17 сентября 2016. Архивировано 14 мая 2017 года.
- ↑ Realtek 8129 page / Realtek, 1997
- ↑ RTL8139(A/B) Programming guide: (V0.1) (недоступная ссылка)
- ↑ Архивированная копия (неопр.). Дата обращения: 17 сентября 2016. Архивировано 18 сентября 2016 года.
- ↑ 1 2 Innovative Product Awards (неопр.). Дата обращения: 17 мая 2022. Архивировано из оригинала 18 сентября 2016 года.
- ↑ https://web.archive.org/web/19980530132203/http://www.realtek.com.tw/aboutrt/mile.html "Jun. 1997 BYTE Magazine gives Realtek’s Single-Chip Fast Ethernet Controller RTL8139 its “Best Component” and “Best of Show” awards at Computex Taipei ’97"
- ↑ Архивированная копия (неопр.). Дата обращения: 18 сентября 2016. Архивировано из оригинала 17 мая 2012 года.
СсылкиПравить
- RTL8139D (англ.) Общее описание
- RTL8139(A/B) Programming guide: (V0.1) (недоступная ссылка)
- Структурная схема контроллера и драйвера, стр 57, 60
- Структурная схема контроллера
- RTL8139 на wiki-портале osdev.org