Как добавить идентификатор известного совместимого устройства к драйверу Wi-Fi USB (или: создание “эха new_id” постоянный)?

У меня есть несколько редкое устройство USB WiFi (в моем случае, Распродажа HWDN1), который, после выполнения следующего, работает с rt2800usb драйвер уже в ядре:

sudo modprobe rt2800usb
sudo bash -c "echo 0e66 0004 > /sys/bus/usb/drivers/rt2800/new_id"

Я вручную загружаю драйвер (modprobe), и затем "связывая" его с устройством, т.е. говоря его, что это действительно поддерживает то конкретное устройство (идентификатором устройства)


К сожалению, это не придерживается вне перезагрузки. Существует ли аккуратный путь (т.е. возможно с путем кроме просто запущения скрипта на начальной загрузке) для создания этого постоянным?

Или, еще лучше, как я пошел бы о представлении идентификатора USB-устройства специалистам по обслуживанию rt2800usb драйвер, так, чтобы это "просто работало" на всех с тем же устройством? Беглый взгляд через источник драйвера, подтверждает, что мое устройство не находится в таблице устройств (к середине файла), однако очень simar (идентификатор аналогичного устройства) там - так, чтобы, казалось, предположил, что я мог просто добавить идентификатор устройства, и это будет "просто работать" на всех - но я не уверен.

2
задан 13 December 2019 в 20:13

1 ответ

Обычный способ включать новый usb.id состоит в том, чтобы зарегистрировать отчет об ошибках. https://bugs.launchpad.net / Это может занять время, чтобы быть выпущенным.

я предлагаю, чтобы этот метод добавил usb.id к обычной new_id части драйвера.

Удаляют устройство и в терминале, сделайте:

sudo nano /etc/udev/rules.d/network_drivers.rules

Добавляют одну длинную линию:

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0e66", ATTR{idProduct}=="0004", RUN+="/sbin/modprobe -qba rt2800usb"

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

sudo nano /etc/modprobe.d/network_drivers.conf

Добавляют одну долгую одну строку:

install rt2800usb /sbin/modprobe --ignore-install rt2800usb $CMDLINE_OPTS; /bin/echo "0e66 0004" > /sys/bus/usb/drivers/rt2800usb/new_id

Корректируемый дважды, сохраните и закройте нано. Вставьте устройство. Если это сразу не запускается, Вам, возможно, придется сделать:

sudo modprobe rt2800usb

беглый взгляд А через источник драйвера, подтверждает, что мое устройство не находится в таблице устройств

, Если бы это было в таблице устройств в драйвере, включенном в Вашу в настоящее время устанавливаемую версию ядра, затем драйвер распознал бы устройство и управлял бы им без любого входа от Вас.

можно подтвердить с:

modinfo rt2800usb | grep 0004

Это ничего не произведет, поскольку usb.id еще не находится в драйвере.

2
ответ дан 21 December 2019 в 23:34

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

Похожие вопросы: