Me deparei com um problema, tenho uma placa linux que eu fiz, que o leitor de código de barras funciona.
já em uma mini2440 com kernel 2.32 não funcionava, ele só mapeava o dispositivo em /dev/event0 enquanto que o certo é mapear em /dev/event1 ... não vou entrar em maiores detalhes, em resumo, o leitor lia um código e travava, e eu não consegui ler o código em minha aplicação pois por padrão você tem que abrir o /dev/event1
Depois de quebrar um pouco a cabeça, peguei o VID e o PID e busquei no arquivo fonte do kernel na pasta: /drivers/hid/hid-ids.h
VID/PID do meu BARCODEREADER: 1130 0001
encontrei o VID no arquivo hid-ids.h na linha 390 assim:
cpp code
#define USB_VENDOR_ID_TENX 0x1130
#define USB_DEVICE_ID_TENX_IBUDDY1 0x0001
#define USB_DEVICE_ID_TENX_IBUDDY2 0x0002
/* a list of devices that shouldn't be handled by HID core at all */
static const struct hid_device_id hid_ignore_list[] = {
...............
{ HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_IEEE802154_DONGLE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_POWERCOM, USB_DEVICE_ID_POWERCOM_UPS) },
{ HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY1) },
{ HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY2) },
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LABPRO) },
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP) },
...............
/* a list of devices that shouldn't be handled by HID core at all */
static const struct hid_device_id hid_ignore_list[] = {
...............
{ HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_IEEE802154_DONGLE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_POWERCOM, USB_DEVICE_ID_POWERCOM_UPS) },
// { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY1) },
// { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY2) },
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LABPRO) },
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP) },
...............
Registrar or Efetue login para comentar