ts-7000
[Top] [All Lists]

[ts-7000] USB Joystick and TS7300

To:
Subject: [ts-7000] USB Joystick and TS7300
From: Tom Panzarella <>
Date: Tue, 03 Jul 2007 15:27:01 -0400
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/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU