Как работает адаптер usb to ethernet

Как работает такой адаптер?

Я использую этот вид адаптера прямо сейчас.

Он поставляется с компакт-диска с устанавливаемым драйвером.

На Windows XP мне пришлось установить драйвер, чтобы он работал.

На Linux Mint 19 x64 драйвер не понадобился, он работал мгновенно.

1 ответ

Решение

Как работает такой адаптер?

Это активный адаптер - он содержит одну микросхему "USB to Ethernet", которая выступает в качестве стандартного USB-устройства на одном конце и в качестве стандартного контроллера Ethernet на другом конце; он принимает кадры Ethernet и отправляет их через USB в формате, который будет понятен драйверу, и наоборот. Например, ASIX AX88179 - это популярный контроллер, который хорошо работает с Linux. Realtek RTL8153 является еще одним.

Не могли бы вы объяснить / показать ссылку, которая объясняет, как драйвер "сообщает" компьютеру, что адаптер похож на фактическое устройство? […] Как драйвер говорит ОС интерпретировать данные через USB как данные через Ethernet

Адаптер сам по себе является "фактическим устройством". Это ничего не подражает; способ его работы на самом деле не отличается от "обычных" адаптеров PCI Ethernet. У них также есть чип контроллера Ethernet, который принимает кадры по проводам и отправляет их через PCI драйверу. ОС никогда не получает никакого "прямого" доступа к кабелю Ethernet.

В обоих случаях, будь то PCI-Ethernet или USB-Ethernet, работа адаптера состоит в том, чтобы отправлять / получать фактические кадры, а работа драйвера - сообщать ОС, что она будет предоставлять "сетевой интерфейс" (например, с помощью register_netdev() в Linux) и преобразовать данные PCI/USB в формат, понятный ОС.

На Windows XP мне пришлось установить драйвер, чтобы он работал.

На Linux Mint 19 x64 драйвер не понадобился, он работал мгновенно.

Разница между Windows XP и Mint 19 составляет примерно 17 лет. Вполне разумно ожидать, что новая ОС будет автоматически поддерживать больше оборудования, чем 17-летняя ОС.

Однако основное отличие заключается в том, что Linux поставляется с драйверами для большинства поддерживаемого оборудования, в то время как Windows приходится устанавливать большинство из них в виде отдельных пакетов (либо с компакт-диска, либо из Центра обновления Windows, но последний больше не существует для WinXP). Например, в Linux есть встроенные драйверы для нескольких чипов ASIX и Realtek "USB Ethernet".

Кроме того, существует несколько стандартных протоколов для Ethernet через USB - например, CDC-ECM/EEM, который является стандартной спецификацией USB, или RNDIS, который был популяризирован Microsoft и также широко используется для USB-модема Android. Вполне возможно, что микросхема внутри вашего адаптера использует один из этих стандартных протоколов, которые Linux уже поддерживает без драйвера для конкретной модели.

Другие вопросы по тегам