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);
Enviado em 22/09/2023 - 15:06h
Olá! Percebo que você está fazendo um trabalho de alto nível criando seu próprio dispositivo USB e driver para o Linux. Excelente!Enviado em 22/09/2023 - 15:36h
Enviado em 23/09/2023 - 10:14h
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
POSSO INSTALAR USAR O GRUB SEM TER LINUX INSTALADO, PARA INICIAR O WIN... (0)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (3)
Mover arquivos entre partições (4)