Griffin powermate on NetBSD

I got a Griffin Powermate for testing, as Berndt reports it isn’t
found by the examples on NetBSD. I suspect we need to abstract out
the OS-dependent access and also knob types - this should really be
support of generic usbhidev on all systems. I’ll see what it takes;
NetBSD reads it ok:

uhidev0 at uhub0 port 2 configuration 1 interface 0
uhidev0: Griffin Technology, Inc. Griffin PowerMate, rev 1.00/4.00, addr
2, iclass 3/0
uhid0 at uhidev0: input=6, output=1, feature=8

poblano gdt 37 ~ > usbhidctl -f 0 -r
Report descriptor:
Collection page=Consumer usage=Consumer_Control
Input size=1 count=1 page=Button usage=Button_1, logical range 0…1
Input size=8 count=1 page=Generic_Desktop usage=Rx, logical range
-127…127
Input size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Input size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Input size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Input size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Output size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Feature size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Feature size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Feature size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Feature size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Feature size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Feature size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Feature size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
Feature size=8 count=1 page=Consumer usage=Consumer_Control, logical
range 0…255
End collection
Total input size 6 bytes
Total output size 1 bytes
Total feature size 8 bytes

poblano gdt 26 ~ > usbhidctl -f uhid0 -a
Consumer_Control.Button_1=0
Consumer_Control.Rx=0
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=79
Consumer_Control.Consumer_Control=16
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=0
usbhidctl: USB_GET_REPORT(feature) [probably not supported by device]:
Input/output error

and the rx and button_1 change with turn/push

poblano gdt 28 ~ > usbhidctl -f uhid0 -a
Consumer_Control.Button_1=1
Consumer_Control.Rx=10
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=79
Consumer_Control.Consumer_Control=16
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=1

and looping to find changes works:

poblano gdt 38 ~ > usbhidctl -f 0 -l -a
Consumer_Control.Button_1=0
Consumer_Control.Rx=1
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=79
Consumer_Control.Consumer_Control=16
Consumer_Control.Consumer_Control=0

Consumer_Control.Button_1=0
Consumer_Control.Rx=1
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=79
Consumer_Control.Consumer_Control=16
Consumer_Control.Consumer_Control=0

Consumer_Control.Button_1=0
Consumer_Control.Rx=1
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=79
Consumer_Control.Consumer_Control=16
Consumer_Control.Consumer_Control=0

Consumer_Control.Button_1=0
Consumer_Control.Rx=1
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=79
Consumer_Control.Consumer_Control=16
Consumer_Control.Consumer_Control=0

Consumer_Control.Button_1=1
Consumer_Control.Rx=0
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=79
Consumer_Control.Consumer_Control=16
Consumer_Control.Consumer_Control=0

Consumer_Control.Button_1=0
Consumer_Control.Rx=0
Consumer_Control.Consumer_Control=0
Consumer_Control.Consumer_Control=79
Consumer_Control.Consumer_Control=16
Consumer_Control.Consumer_Control=0

Do these devices work on other than Linux with the GNU Radio examples?

On Thu, Nov 16, 2006 at 09:30:54PM -0500, Greg T. wrote:

I got a Griffin Powermate for testing, as Berndt reports it isn’t
found by the examples on NetBSD. I suspect we need to abstract out
the OS-dependent access and also knob types - this should really be
support of generic usbhidev on all systems. I’ll see what it takes;
NetBSD reads it ok:

Sounds good!

uhidev0 at uhub0 port 2 configuration 1 interface 0
uhidev0: Griffin Technology, Inc. Griffin PowerMate, rev 1.00/4.00, addr 2, iclass 3/0
uhid0 at uhidev0: input=6, output=1, feature=8

Do these devices work on other than Linux with the GNU Radio examples?

I don’t know. I doubt it, since we open a very linux depending file
to get access to them.

On GNU/Linux I’ve tested with the PowerMate and three kinds of Contour
Shuttle gadgets. The button mapping varies between them, but they
work pretty much the same way. The Contours have what I consider a
bug in their firmware, but our code works around it.

Eric