Как начать писать драйвер устройства для Linux? - PullRequest
0 голосов
/ 01 июня 2018

У меня есть карта USB 3.0 для ноутбука.Есть драйверы только до Windows 7.Устройство, которое у меня есть https://www.startech.com/Cards-Adapters/USB-3.0/Cards/2-Port-ExpressCard-SuperSpeed-USB-3-Card-Adapter~ECUSB3S22#dnlds

У меня есть старые ноутбуки с Ubuntu 16. Я хочу создать драйвер Linux для этой карты.

Некоторые советы о том, кто написал программное обеспечение.При установке программного обеспечения отображается другая компания.Это компания https://www.renesas.com/en-us/products/software-tools/software-os-middleware-driver.html

Мне интересно, могу ли я использовать некоторые файлы драйверов Windows 7 и спецификации Renesas для начала работы.

У меня нет хороших рекомендаций по Linuxдрайверы устройств.Любое руководство о том, где я могу начать?Мой единственный опыт работы с C / C ++ давным-давно связан с MS Windows и веб-приложениями для бизнеса с Java.

1 Ответ

0 голосов
/ 03 июня 2018

первое чтение о модели драйвера устройства Linux

вы должны написать модуль / драйвер ядра, который регистрирует карту как корневой концентратор

, если вы запуститеlsusb в Linux порты хоста USB являются корневыми хабами

также запускают lspci -v для получения устройств PCI, ваш модуль ядра должен включать ссылку на драйвер ядра pcieport и Extensible HostИнтерфейс контроллера xhci_hcd (модель драйвера устройства Linux)

https://forums.linuxmint.com/viewtopic.php?t=112069

пример с исходным кодом для этого находится в

USB-концентраторы в целом находятся в https://github.com/torvalds/linux/blob/master/drivers/usb/core/hub.c

ключевые компоненты модулей ядра USB являются URB (запрос USB)Блоки)

...