Dúvida de uso - API USB JSR80

Naturalmente não foi de propósito que eu coloquei caixa alta no título.

Bom pessoal estou com um trabalho da faculdade relativamente simples mas que ta me dando certa dor de cabeça, parece que ninguém tem experiência com a api. O trabalho é fazer um programa que se comunique com uma porta usb, pode ser apenas escutar tudo que está sendo trafegado nessa porta, a limitação é que eu não devo usar drivers do hardware que está conectado. Quero dizer que quando eu for escutar uma porta preciso me referenciar à porta X da minha máquina e não ao driver que está conectado a ela (deu pra entender?).

Estou usando Ubuntu 11.04, o comando lsusb no terminal retorna o seguinte:

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 046d:c52f Logitech, Inc. Wireless Mouse M305
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 04f2:b14e Chicony Electronics Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Eu baixei e compilei (depois de muito custo) os jars “jsr80.jar” e “jsr80_ri.jar”, o jsr80_ri no site diz que é “multiplataforma” e eu não consegui compilar o jsr80_ri_linux.jar. Criei então um java project no meu eclipse, adicionei esses dois jars e criei uma classe que importa:

javax.usb.*
javax.usb.util.*
javax.usb.event.*

Também peguei um exemplo la no site da api só que como a api é antiga o exemplo é feito com base em versões anteriores do java e que não sou familiarizado, uma diferença que eu vi foi a classe List sendo instanciada sem o uso de genéricos.

Dúvida:
Alguém aqui já trabalhou com esta api? Tem alguma idéia de como eu deveria proceder para fazer esta aplicação que comentei?