Hi All,
I'm trying to get a pretty standard (3 Axis 2 button) USB joystick to
work on a 7300 for purposes of teloperating a robot. The joystick itself
is produced by CH Products (USB vendor id = 0x068e, product id =
0x00a6): http://www.chproducts.com. This joystick works fine on my
Ubuntu (Dapper) laptop.
I have my 7300 configured to the point where when I plug in the
joystick, the device file, /dev/input/js0, gets created and my code
which interfaces w/ the joystick runs (allegedly successfully), i.e.
calling select(...) , FD_ISSET(...), and subsequently read(...) all show
that the joystick file descriptor is ready to be read from w/o blocking
and the read() returns successfully. The problem is, even when moving
the joystick around and/or pushing buttons, I'm getting no changed data
(i.e. 0, 0, 0 on all 3 axes and "button up" on all buttons). Similar
behavior can be inferred by `cat /dev/input/js0' and moving the joystick
around. The exact same system and code using a Logitech Rumble Pad 2
works fine.
I was wondering if anyone had some wisdom to share on getting USB
joysticks working on the 7300 (or maybe it's just a Linux 2.4 thing???).
Any help is greatly appreciated.
Details of my setup are below:
* I built the joydev.o kernel module using the gcc-3.3.4-glibc-2.3.2
cross tool. `uname -a' on the 7300:
Linux ts7000 2.4.26-ts11 #35 Thu Jul 6 15:44:29 MST 2006 armv4l
GNU/Linux
... and `cat /proc/version':
Linux version 2.4.26-ts11 (gcc version 3.3.4) #35 Thu
Jul 6 15:44:29 MST 2006
* output of `modinfo joydev.o'
filename: /lib/modules/2.4.26-ts11/kernel/drivers/input/joydev.o
description: "Joystick device driver"
author: "Vojtech Pavlik <>"
license: "GPL"
* output of `lsmod' (after doing `insmod joydev')
Module Size Used by Not tainted
joydev 5272 0
ftdi_sio 19308 0 (unused)
usbserial 18824 0 [ftdi_sio]
af_packet 9456 0 (unused)
open_eth 4448 0 (unused)
tsuart-73 1316 0 (unused)
tsuart0 8664 0 [tsuart-73]
keybdev 1772 0 (unused)
hid 13520 0 (unused)
input 3320 0 [joydev keybdev hid]
usb-ohci-ep93xx 632 0 (unused)
usb-ohci 15360 0 [usb-ohci-ep93xx]
usbcore 55728 1 [ftdi_sio usbserial hid usb-ohci]
pcipool 1888 1 [usb-ohci-ep93xx usb-ohci]
ts7300fb 3496 63
fbcon-cfb16 3528 0 [ts7300fb]
fbgen 2944 0 [ts7300fb]
sdcard0 9840 1
* When I plug in the joystick, `dmesg' shows:
hub.c: new USB device not_pci-1, assigned address 4
input: USB HID v1.00 Joystick [CH PRODUCTS CH 3 AXIS 2 INPUT CONTROL] on
usb1:4.0
(that last line is all on one line in dmesg).
NOTE: When I plug in the Logitech Rumble Pad 2 (the one that is working
on the 7300), dmesg shows:
hub.c: new USB device not_pci-1, assigned address 2
input: USB HID v1.10 Joystick [Logitech Logitech RumblePad 2 USB] on
usb1:2.0
... notice that the HID version is 1.10 rather 1.0 ... not sure how this
would impact things, but it is a difference.
* `cat /proc/bus/usb/devices'
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB OHCI Root Hub
S: SerialNumber=e0020000
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=1.5 MxCh= 0
D: Ver= 1.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=068e ProdID=00a6 Rev= 0.00
S: Manufacturer=CH PRODUCTS
S: Product=CH 3 AXIS 2 INPUT CONTROL
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 32mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 7 Ivl=10ms
* `ls -l /dev/input/js0'
cr--r--r-- 1 root root 13, 0 Dec 31 1969 /dev/input/js0
... further `/etc/devfs/perms' has the following:
REGISTER ^js[^/]*$ PERMISSIONS root.root 0444
REGISTER ^input/js PERMISSIONS root.root 0444
NOTE: I'm running the process as root but just in case permissions may
be an issue I've included this output. This `ls' output is the same for
both the working an non-working joysticks.
Thanks,
Tom.
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|