Gudinna Wiki VisaÄndraBifogaVersionerUppdateratSökKarta

Linux USB och HID programmering

http://www.linux-usb.org/

Kernel API

http://www.frogmouth.net/hid-doco/linux-hid.html - excempelkod för hur man kommuncerar direkt med linux kärnans HID dev filer.

http://www.linuxjournal.com/node/7582/ - Artikel om hur man skriver en ny drivrutin till linux kärnan. Här skapades möjligheten att köra "echo 1 > /sys/module/usbcore/usbfs_snoop" för att logga vad som skickas över usb!

Usermode API

Ändra rättigheter så att vanliga användare får åtkomst att använda libusb utan att behöva logga in som root

rättigheterna till vem som får manipulera anslutna ting till usb bussarna sätts av udev när en enhet ansluts, genom att redigera udevs konfiguration i /etc/udev/rules.d/ kan man få direkt usb åtkomst för vanliga användare.
https://bugs.launchpad.net/ubuntu/+source/udev/+bug/128257
En enkel ändring i filen 40-permissions.rules åstadkommer att alla användare som är med i gruppen plugdev får tillgång att skriva direkt till usbtillbehör med tex libusb.
hitta sektionen "# USB devices (usbfs replacement)",
ändra raden
SUBSYSTEM=="usb_device", MODE="0664"
till
SUBSYSTEM=="usb_device", GROUP="plugdev", MODE="0664"
klart!

Enbart för 2.4 linuxkärnor

http://linux-hotplug.sourceforge.net/

Java och JNI

Eftersom Java program inte kan prata direkt med linux hid lager måste man använda ett tredjepartsbibliotek eller skapa ett eget. JNI 'r tekniken som möjligör att Java program snackar med c biblioteks .so filer.
http://www.google.se/search?q=java+jni+linux
http://www.ibm.com/developerworks/library/l-shobj/ - Kunskap hur man skapar ett delat .so bibliotek är förståss ett måste.
Hur man komplierar saker under Unix

http://public.cabit.wpcarey.asu.edu/janjua/java/jni/ - java JNI tutorial

verktyg som kan underlätta programmeringsinsatsen

USBView: http://www.kroah.com/linux-usb/ - visar vad linuxkärnan vet om anslutna usb tillbehör

HAL Device Manager som även kallas Enhetshanteraren under Gnome visar mycket detaljerad information om vilka drivrutiner linux använder och vilka api som blottas när ett usb tillbehör ansluts.

Referenser till aktuell sida