Как работает адаптер usb to ethernet
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 уже поддерживает без драйвера для конкретной модели.