Описание тега linux-device-driver

Драйверы устройств играют особую роль в ядре Linux. Это отдельные программно абстрактные "черные ящики", которые заставляют конкретную часть оборудования реагировать на четко определенный внутренний программный интерфейс; они полностью скрывают детали того, как работает устройство.
1 ответ

Известные схемы взаимного исключения в драйверах Linux

В настоящее время я читаю Драйверы устройств Linux, третье издание, глава 5: Условия параллелизма и гонки. Автор утверждает, что сценарии Read-Copy-Update иногда используются при написании драйверов для Linux. Затем он углубляется в то, почему они и…
0 ответов

Являются ли функции ядра / инструкции x86 outw и inw атомарными при доступе к ISA/LPC?

ТЛ; др Являются ли функции ядра Linux outw() и inw() атомарными при доступе к ISA/LPC на x86 в многоядерной системе, учитывая, что на уровне HW он должен состоять из четырех отдельных 8-битных транзакций? В качестве эквивалентного вопроса, поскольку…
28 сен '16 в 23:52
1 ответ

Компоновка драйвера Tree-USB для ядра Linux

Я должен удалить модуль (usb-storage.ko) от /lib/modules/KERNEL-VERSION/kernel/drivers/usb/storage/ каталог с именем usb-storage.ko Есть ли какие-либо конкретные исходные файлы внутри linux/drivers/usb/storage дифракторией, которая приводит к usb-st…
2 ответа

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

Мне нужно написать модуль ядра для расчета частоты ядра Linux (таймера прерывания). кто-то сказал мне, что мне нужно использовать таймер в моем модуле, но я не знаю, как это сделать явно:( Моя конечная цель - записать результат (частоту) в некоторый…
28 ноя '12 в 08:12
2 ответа

Как перехватить сообщения с USB-устройства в Linux?

У меня есть популярный планшет для рисования, который я подключаю к компьютеру через USB. После подключения планшет распознает движения рук и соответствующим образом манипулирует указателем. Где-то планшет передает эти данные на мой компьютер. Моя ц…
08 авг '13 в 22:24
0 ответов

printk/pr_info все еще не печатает в буфер ядра

Я пытаюсь отладить, почему внесенное мной изменение не работает так, как должно. Это довольно странно, потому что одновременно работают две разные сборки этого драйвера (mpt2sas и mpt3sas), и изменение таково, что оно одинаково для обоих. Изменение …
14 апр '14 в 18:26
1 ответ

Использование драйвера I2C dev

Я хочу настроить датчик по шине I2C с помощью модуля I2C-dev. Необходимая шина I2C запущена и работает, однако я не могу получить никаких данных от датчика. Может ли кто-нибудь помочь мне отладить приведенный ниже код. Все регистры датчиков являются…
31 май '18 в 07:18
2 ответа

Количество пакетов ifconfig

Если я наберу ifconfig, я получу пакет для Tx и RX ... где именно кусок кода, чтобы увеличить этот счетчик? Это в самом сетевом драйвере? или в ядре? Если возможно, укажите ссылку на lxr используемой переменной счетчика. Спасибо!
2 ответа

Получение списка устройств внутри другого драйвера

Мне нужен драйвер устройства, который я пишу / модифицирую, чтобы иметь доступ к другому устройству в системе. Я знаю некоторую информацию о драйвере, такую ​​как имя и / или адрес, чтобы найти его, но не могу найти, как на самом деле выполнить поис…
0 ответов

Управление дополнительным оборудованием в Android

Что я должен добавить / изменить, чтобы Android управлял дополнительными устройствами, подключенными к шине AMBA? Я хочу реализовать определенное действие (описанное в моем приложении для Android), когда новый компонент генерирует аппаратное прерыва…
1 ответ

Как рассчитать время работы функции Linux в ядре start_kernel?

Мне нужно выяснить, сколько времени занимают вызовы функций внутри функции start_kernel ядра Linux. Почему это проблема, потому что ядро ​​не загрузится, если я поставлю ktime_get() вызов функции перед вызовом функции timekeeping_init() внутри этой …
03 фев '17 в 23:38
1 ответ

Эквивалент do_div в пространстве пользователя (glibc)

Есть ли у glibc эквивалент для макроса ядра, как показано ниже: http://lxr.free-electrons.com/source/include/asm-generic/div64.h#L40 Я пытаюсь написать бинарный файл пользовательского пространства (glibc) для достижения той же функциональности. Явля…
21 окт '13 в 22:22
1 ответ

Ядро Linux и мой модуль ядра

Я пытался вставить свой драйвер как часть ядра Linux. Ниже приведен Makefile. Модуль rs_pci зависит от rs_9x. Однако ядро ​​пытается собрать rs_pci перед сборкой rs_9x, что приводит к сбою компиляции rs_pci. Я бы хотел, чтобы ядро ​​сначала скомпили…
0 ответов

Ошибка Linux SDIO MMC при остановке и перезапуске устройства WLAN

У нас есть специальная платформа на базе iMX53, работающая под управлением Android Gingerbread, ядро ​​Linux 2.6.35 с устройством TiWi-BLE Wlan/Bluetooth, использующим интерфейс SDIO для WLAN. Мы используем Freescale BSP. TiWi-BLE - это перепакованн…
19 сен '14 в 11:28
0 ответов

Установка модифицированного драйвера kvm требует доступа к источнику linux

Я попытался установить Nitro, который требует установки модифицированного KVM (nitro-kmod_build). когда я делаю make sync это требует kvm_host.h: IOError: [Errno 2] No such file or directory: 'header/include/linux/kvm_host.h' так что я делаю make sy…
17 июн '14 в 12:42
1 ответ

Проблемы совпадения в C++11

Недавно я узнал о многопоточности библиотеки в C++11. Я рассматриваю такую ​​ситуацию, что существует глобальная переменная int x=0 и два отдельных потока работают в двух разных ядрах. Могут ли два потока быть записаны в память x одновременно? Напри…
0 ответов

Android WiFI работает нормально из командной строки, но не работает из графического интерфейса

Я использую Android JB 4.1.1 на своей плате. Я использую TI WL1283 для поддержки Wi-Fi и Bluetooth с хост-процессором Samsung Exynos. на моей доске wifi работает нормально из командной строки. я могу связаться с AP и пинговать внешний IP. но когда я…
2 ответа

Открыть системные вызовы в C на Linux

Вероятно, есть несколько проблем с кодом ниже. Нашел его в Интернете после поиска способа получить ввод с клавиатуры в Linux. Я проверил правильное событие для ввода с клавиатуры. Причина, по которой это кажется мне подозрительной, заключается в том…
11 фев '14 в 14:07
2 ответа

Каков наилучший способ рассчитать log(base2) любого числа?

Мне нужно найти log(base2) любого числа в программировании ядра Linux. Есть ли встроенная функция для этой операции? Если не как рассчитать?
09 июн '14 в 09:57
1 ответ

Реализация перезапускаемого системного вызова

Если у меня есть часть кода драйвера likethis: down_interruptible(&semA); //success if(down_interruptible(&semB)) { //wait return -ERESTARTSYS; } up(&semA); up(&semB); Я прочитал, что если код драйвера возвращается -ERESTARTSYSУровен…
08 дек '13 в 15:51