Свързани въпроси 'linux-device-driver'

Къде изчезна полето собственик на struct proc_dir_entry? [ Linux ядро ​​]
Според списъка с промени в API в серията 2.6 ядро на LWN полето .owner от struct proc_dir_entry беше премахнат в ядрото 2.6.30. И така, ето няколко въпроса: Наистина ли е било необходимо или полезно да зададете това поле? Полето...
3982 изгледи
schedule 17.09.2022

Ядрото опа, когато изпълнява функция за четене на хардуерни регистри
Позовавам се на този отговор за срив помощ при анализирането на тази част от кода, която е причинила проблеми. Контекстът за всички е, че работя с символен драйвер, който ще действа като пропуск от потребителското пространство директно към...
262 изгледи
schedule 21.09.2022

Срив при опит за достъп до const char* буфер
Опитвам се да напиша модул на ядрото на Linux. В това, че регистрирах функциите за отваряне, четене, писане, освобождаване, както е показано по-долу: static struct file_operations fops = { .open = dev_open, .read = dev_read, .write =...
462 изгледи
schedule 25.09.2022

Размерът на хранилището от не е известен
Това е част от случай на превключвател IOCTL. Получавам следната грешка? грешка: размерът на съхранението на 'data' не е известен грешка: 'mesg' не е деклариран (първо използване в тази функция) case PASS_STRUCT: struct mesg{...
5385 изгледи

Не може да се освободи irq линията на клавиатурата: Устройството или ресурсът са заети
Пишех примерен код request_irq #include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h> #include <linux/delay.h> MODULE_LICENSE("GPL"); int irq = 1; int dev = 0xaa; static irqreturn_t...
243 изгледи

където пишем в /proc/net/xt_qtaguid?
В android_net_TrafficStats.cpp и driver_wired.c файлът /proc/net/xt_qtaguid се чете. Търсих напълно, но не намерих откъде се записва този файл. Моля, помогнете ми да намеря файла, в който отваряме /proc/net/xt_qtaguid файл в режим на запис.
2562 изгледи

Картографиране на DMA прекъсвания в ядрото на linux
Пиша модул на ядрото за powerpc SoC, който съдържа DMA контролер. Искам да картографирам DMA прекъсванията в ядрото на Linux. моята DMA структура има две прекъсвания: struct dma { u32 dma1; u32 dma2; }*dma; Имам карта на паметта на DMA...
3466 изгледи
schedule 17.10.2022

Къде в кода на android се съхранява името/номера на модела на телефона и как се съхранява там?
Това, което искам да знам, е как телефон с Android, когато е свързан като MTP , публикува името си, така че да се показва на моя компютър. Вярвам, че драйверите mtp/usb получават стойността от горните слоеве, като например Java класовете mtp/usb...
2467 изгледи

Възелът на устройството в /dev/tty* не се създава за сериен драйвер на uart
Написах прост UART сериен драйвер във вграден Linux, работещ с busybox с mdev правила. Предоставих .dev_name като " ttyC2C " в моя код на драйвера. static struct uart_driver serial_omap_reg = { .owner = THIS_MODULE, .driver_name =...
6831 изгледи

Как Linux знае за отложена работа в драйвер и кога точно да използва данните, донесени от хардуерното устройство?
Когато ядрото се опита да прочете блок от твърд диск, то изпраща софтуерно прекъсване, което ще бъде обработено от драйвера на устройството. Ако драйверът на устройството разделя работата по обработката на заявката на горна и долна половина чрез...
348 изгледи
schedule 01.12.2022

Как множество манипулатори на прекъсвания споделят адрес 0x00000018
Чета за това как прекъсванията се обработват в ARM и разбрах, че всеки път, когато дойде хардуерно прекъсване, се изпълнява инструкция на адрес 0x00000018, което обикновено е прескачане към уважаван манипулатор на прекъсвания, но може да има много...
1164 изгледи

Грешка в драйвера на I2C устройство [TCA6408 I/O разширител]
Искам да свържа TCA6408 IO Expander и да получа ключов вход към моята вградена система. Опитвам се със SABRELite (iMX6Q) Boad и моята среда за разработка е LTIB (L3.0.35_4.1.0_130816_source.tar.gz) Направих по-долу модификации 1.) добавете...
2882 изгледи

Дали eth0 е единственият действителен интерфейс в Linux
Бъркам се сред различните интерфейси на Ethernet. Просто минавам през тази U-Boot Link http://www.denx.de/wiki/DULG/UBootEnvVariables Където пише ethaddr: Ethernet MAC адрес за първи/единствен ethernet интерфейс (= eth0 в Linux). Сега...
457 изгледи

kmalloc връща един и същи адрес отново и отново [Linux 2.4]
Работя върху някакъв код в ядрото на Linux (2.4) и по някаква причина kmalloc връща същия адрес (вярвам, че това се случва само след средата на теста). Проверих дали няма извиквания към kfree между извикванията към kmalloc (т.е. паметта все още се...
359 изгледи
schedule 10.12.2023

Проблем с devm_kzalloc
Опитвам се да разбера изпълнението на функцията devm_kzalloc(). Той разпределя повече от заявената памет (sizeof(struct devres) + size) за управление на ресурси. struct devres се дефинира по следния начин, вторият член е непълен масив. struct...
533 изгледи

Разлика между .o и .ko файл
Пиша прост Linux модул mod.c. Когато компилирам mod.c файл, той създава два изходни файла mod.o и mod.ko . Така че просто искам да знам каква е разликата между файла mod.o и mod.ko?
58356 изгледи
schedule 09.01.2024

Как да компилирам ixgbe мрежови драйвери на друга версия на ядрото на linux
Използвам ядрото на Linux версия 3.6.7. Искам да компилирам ixgbe мрежови драйвери на версия 2.6.39.4. Моля, уточнете процедурата
835 изгледи

Необходима информация в списъка за събиране
Работя върху разработването на блоков драйвер в linux. Изискването е да се разпредели огромна част от паметта (примерно повече от 128KB, 2MB или 8MB или така...), да се раздели паметта на малка част и да се изпрати през списъка за разпръснато...
360 изгледи
schedule 28.01.2024

printk в драйвер
Наистина съм нов в програмирането на модули на Linux. Трябва да разбера как мога да направя някои настройки на драйвера ath9k в linux. Най-накрая получих съвместимия безжичен изходен код на ath9k за компилир в ubuntu 11.04 и се опитвах да си играя с...
649 изгледи
schedule 04.02.2024

Грешка при сегментиране в драйвера за устройство на Linux
Следният код хвърля грешка при сегментиране, когато се опитвам да чета от устройството (напр.: cat /dev/device_name). Въпреки това, ако премахна извикванията към down_interruptible и up от методите klg_read и klg_write и ги преместя съответно към...
1970 изгледи