Enviado em 22/09/2023 - 15:06h
Eu estou fazendo um dispositivo usb experimental e criei um simples modulo de driver para o kernel linux.#ifndef __USB_DRIVER_H__
#define __USB_DRIVER_H__
#define USB_SKEL_VENDOR_ID "7SEG_DRIVER"
#define USB_SKEL_PRODUCT_ID 0x0001
static int skel_probe(struct usb_interface *intf, const struct usb_device_id *id);
static void skel_disconnect(struct usb_interface *intf);
static struct usb_device_id skel_table[] = {
{ USB_DEVICE(USB_SKEL_VENDOR_ID, USB_SKEL_PRODUCT_ID) },
{ }
};
static struct usb_driver skel_driver = {
.name = "skeleton",
.probe = skel_probe,
.disconnect = skel_disconnect,
.id_table = skel_table,
};
#endif
#include "usb_driver.h"
MODULE_AUTHOR("SEU NOME <seu_email@email.com>");
MODULE_DESCRIPTION("Introducao a criacao de driver pra linux");
MODULE_LICENSE("GPL");
MODULE_VERSION("1.0");
MODULE_DEVICE_TABLE(usb, skel_table);
static int skel_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{
pr_info("o usb 7segmento foi conectado");
return 0;
}
static void skel_disconnect(struct usb_interface *intf)
{
pr_info("o usb 7segmento foi desconectado");
}
static int __init usb_skel_init(void)
{
//registrando este driver com subsistema USB
int result = usb_register(&skel_driver);
if(result < 0) {
pr_err("usb_register falhou para o driver %s. Erro numero %s"
, skel_driver.name, result);
return -1;
}
return 0;
}
static void __exit usb_skel_exit(void)
{
usb_deregister(&skel_driver);
pr_info("Modulo removido\n");
}
module_init(usb_skel_init);
module_exit(usb_skel_exit);
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Proteja seu Linux Mint com o Timeshift: Restaure o sistema mesmo que ele não inicie!
Instalando Google Chrome no Debian 13
Salvar estado da VM no virt-manager (1)
meus dois pen drives não são mais reconhecidos pelo meu PC apos tentar... (2)
Configuração/... de Apache Hop (1)
Alguém pode me recomendar um editor de textos? [RESOLVIDO] (6)