Я занимаюсь этим проектом, который включает в себя получение длины очереди TX / RX USB NIC. Цель состоит в том, чтобы изменить ath9k_htc драйвер устройства (который также является частью дерева ядра Linux) и добавить системный вызов длины очереди в ядре.
Мне удалось получить длину очереди TX. После insmod
'модуля драйвера я могу напечатать любое сообщение до момента регистрации на USB-шине, но поток драйвера таков, что он требует прерывания верхними уровнями для отправки пакета в кольцевой буфер, а затем для аппаратная очередь, и из-за этого (я предполагаю, что из-за прерывания printk не работает должным образом) я не могу напечатать что-либо, используя printk
или pr_info
на этой стороне кода.
Итак, мой вопрос: можем ли мы отладить ath9k_htc любым другим методом и возможно ли добавить функциональность в драйвер в качестве системного вызова?