You are not logged in.
Pages: 1
What am I doing wrong?
My simple script:
#!/usr/bin/env ruby
require 'usb'
require 'awesome_print'
ap USB.devices
What happens when I run it as a regular user:
$ ./hid-listener.rb
/usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:278:in `usb_close': closed USB::DevHandle (ArgumentError)
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:278:in `ensure in open'
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:278:in `open'
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:253:in `manufacturer'
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:235:in `inspect'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:58:in `awesome_self'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:28:in `format'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/inspector.rb:104:in `unnested'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/inspector.rb:71:in `awesome'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:75:in `block (2 levels) in awesome_array'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:314:in `indented'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:74:in `block in awesome_array'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:71:in `each'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:71:in `inject'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:71:in `awesome_array'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:26:in `format'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/inspector.rb:104:in `unnested'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/inspector.rb:71:in `awesome'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/core_ext/kernel.rb:10:in `ai'
from /home/max/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/core_ext/kernel.rb:15:in `ap'
from ./hid-listener.rb:6:in `<main>'
What happens when I run it as root:
# ./hid-listener.rb
/usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:412:in `usb_get_string_simple': Invalid argument - usb_get_string_simple (Errno::EINVAL)
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:412:in `get_string_simple'
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:267:in `block in serial_number'
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:276:in `open'
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:267:in `serial_number'
from /usr/lib/ruby/gems/1.9.1/gems/ruby-usb-0.2.1/lib/usb.rb:237:in `inspect'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:58:in `awesome_self'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:28:in `format'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/inspector.rb:104:in `unnested'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/inspector.rb:71:in `awesome'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:75:in `block (2 levels) in awesome_array'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:314:in `indented'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:74:in `block in awesome_array'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:71:in `each'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:71:in `inject'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:71:in `awesome_array'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/formatter.rb:26:in `format'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/inspector.rb:104:in `unnested'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/inspector.rb:71:in `awesome'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/core_ext/kernel.rb:10:in `ai'
from /root/.gem/ruby/1.9.1/gems/awesome_print-1.0.2/lib/awesome_print/core_ext/kernel.rb:15:in `ap'
from ./hid-listener.rb:6:in `<main>'
Offline
I ended up using libusb instead.
Offline
Pages: 1