PS3's Joystick on FreeBSD (can be possible?)

Alexander Best alexbestms at wwu.de
Sat Mar 13 13:56:25 UTC 2010


Hans Petter Selasky schrieb am 2010-03-13:
> On Saturday 13 March 2010 13:21:10 Paul B Mahol wrote:
> > On 3/13/10, Alexander Best <alexbestms at wwu.de> wrote:
> > > Paul B Mahol schrieb am 2010-03-13:
> > >> On 3/13/10, Alexander Best <alexbestms at wwu.de> wrote:
> > >> > i'm sorry to hijack this thread, but i've been having similar
> > >> > issues as
> > >> > Vinicius with his PS3 controller with my logitech cordless
> > >> > gamepad.
> > >> > this is
> > >> > the attach message:

> > >> > ugen3.3: <Logitech> at usbus3
> > >> > uhid0: <Logitech Logitech Cordless RumblePad 2, class 0/0, rev
> > >> > 1.10/2.00,
> > >> > addr
> > >> > 3> on usbus3

> > >> > the output of `usbhidctl -f /dev/uhid0 -r` is:

> > >> > Report descriptor:
> > >> > Collection page=Generic_Desktop usage=Game_Pad
> > >> > Total   input size 0 bytes
> > >> > Total  output size 0 bytes
> > >> > Total feature size 0 bytes

> > >> > if i do `hd /dev/uhid0` is see output like this when pressing
> > >> > buttons on the
> > >> > gamepad:

> > >> > 00000000  01 78 72 88 69 08 00 01  01 80 7f 7f 80 18 00 00

> > >> > |.xr.i...........|

> > >> > 00000010  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 08 00 00

> > >> > |................|

> > >> > 00000020  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 28 00 00

> > >> > |.............(..|

> > >> > 00000030  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 48 00 00

> > >> > |.............H..|

> > >> > 00000040  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 88 00 00

> > >> > |................|

> > >> > 00000050  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 08 01 00

> > >> > |................|

> > >> > 00000060  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 08 02 00

> > >> > |................|

> > >> > 00000070  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 08 04 00

> > >> > |................|

> > >> > 00000080  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 08 08 00

> > >> > |................|

> > >> > 00000090  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 08 10 00

> > >> > |................|

> > >> > 000000a0  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 08 20 00

> > >> > |..............

> > >> > .|
> > >> > 000000b0  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 04 00 00

> > >> > |................|

> > >> > 000000c0  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 06 00 00

> > >> > |................|

> > >> > 000000d0  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 00 00 00

> > >> > |................|

> > >> > 000000e0  01 80 7f 7f 80 08 00 00  01 80 7f 7f 80 02 00 00

> > >> > |................|

> > >> > the pad has 10 buttons, 1 analog stick, 2 digital sticks, a
> > >> > "mode"
> > >> > button
> > >> > and
> > >> > a "vibration" button.

> > >> There was/is ujoy in development but that is all.

> > > thanks for the hint. i mailed the developer a year or so ago due
> > > to his
> > > post on the freebsd-drivers@ mailinglist [1], but he told
> > > development of
> > > the ujoy driver had ceased. i checked the site mentioned in his
> > > post and
> > > the ujoy driver from back then is also no longer available.

> > > so there is no way of xorg or hal working directly with uhid
> > > devices
> > > then?

> > There is xf86-input-joystick, but I dunno about its usability.


> Also look here:

> http://wiki.freebsd.org/uhidd

thanks for the hint. i'm about to try it out. however i'm having difficulties
recompiling my kernel without ukbd (which is required for using uhidd):

cc -c -O0 -pipe -fno-builtin -march=native -std=c99  -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc
-I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common
-finline-limit=8000 --param inline-unit-growth=100 --param
large-function-growth=1000  -fno-omit-frame-pointer -mcmodel=kernel
-mno-red-zone  -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow
-msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
vnode_if.c
:> hack.c
cc -shared -nostdlib hack.c -o hack.So
rm -f hack.c
MAKE=make sh /usr/src/sys/conf/newvers.sh ARUNDEL
cc -c -O0 -pipe -fno-builtin -march=native -std=c99  -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc
-I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common
-finline-limit=8000 --param inline-unit-growth=100 --param
large-function-growth=1000  -fno-omit-frame-pointer -mcmodel=kernel
-mno-red-zone  -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow
-msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
vers.c
linking kernel
kbd.o(.text+0x59b): In function `kbd_register':
: undefined reference to `__start_set_kbddriver_set'
kbd.o(.text+0x686): In function `kbd_register':
: undefined reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x842): In function `kbd_get_switch':
: undefined reference to `__start_set_kbddriver_set'
kbd.o(.text+0x87f): In function `kbd_get_switch':
: undefined reference to `__stop_set_kbddriver_set'
kbd.o(.text+0xdf8): In function `kbd_configure':
: undefined reference to `__start_set_kbddriver_set'
kbd.o(.text+0xe2c): In function `kbd_configure':
: undefined reference to `__stop_set_kbddriver_set'
*** Error code 1

Stop in /usr/obj/usr/src/sys/ARUNDEL.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

alex

> --HPS


More information about the freebsd-usb mailing list