Jump to content

Sixaxis controller


Recommended Posts

Hey all,

I'm trying to get the sixaxis registered as an input device via USB, and I think I'm almost there, but I can't quite get the event or js device to show up under /dev.

I installed the usbhid and joydev kernel modules, and they appear to be loading fine.

dmesg when I plug it in:

[ 1630.990000] usb 1-1.2: new full-speed USB device number 5 using ehci-platform

# lsusb | grep Sony
Bus 001 Device 005: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller

But it never takes the last step and creates a /dev/input/event? device, or /dev/js?

there's some good info on what is *supposed* to happen at http://forums.funtoo.org/viewtopic.php?id=2323

usbhid is attaching to the USB device, which is good:

T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=054c ProdID=0268 Rev= 1.00
S: Manufacturer=Sony
S: Product=PLAYSTATION®3 Controller
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=02(O) Atr=03(Int.) MxPS= 64 Ivl=1ms
E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms

It looks maybe like the joydev driver needs CONFIG_HID_SONY, which may have been stripped out in the build. Anyone have any idea what the kernel config looks like, or where to find it? I'm still pretty new at the whole platform, here.


Link to comment
Share on other sites

So I can have an input method without hauling around a keyboard. I got the LCD display I mentioned in my other post working, so now I need a way to flip between wifi channels and change info screens. I guess I could use some other controller, but I have a bunch of Sixaxis around :)

The idea is to have a nice little portable display and input to get a basic idea of what the wifi situation in the area is. What rates are present, signal measurements, etc. Ideally so it can help you scan quickly while you walk around or help you position an antenna before you drop it for a while.

Link to comment
Share on other sites

  • 2 weeks later...

Well, I've figured this one out, but I'm not sure how to fix it correctly. Apparently each driver under HID gets built as it's own module (.ko). I thought they were all compiled into the main hid.ko module, but they are not. So while I was re-building for the 30th time, I noticed that there were a bunch of extra .ko files in the build directory.

So, with the open-wrt attitude_adjustment_12.09 source tree checked out, I enabled the modules I wanted with 'make kernel_menuconfig'. Building everything then resulted in the .ko file being built (under attitude_adjustment_12.09/build_dir/linux-ar71xx_generic/linux-3.3.8/drivers/hid), which I tested to work with my Sixaxis and with another gamepad I was trying to get work (by inserting the module manually with insmod).

The only problem now is building the correct kmod ipk file to make it correctly portable. I modified the .config file to have:


But it is not building the packages as expected. It seems to be ignoring those lines, so I suspect there is some master package list somewhere (or that it's a bug in the build process somewhere). Does anyone know what the fix for this might be?

Edit: Here's the PS3 controller with the correct input/event node created!

[ 4190.720000] input: Sony PLAYSTATION®3 Controller as /devices/platform/ehci-platform/usb1/1-1/1-1.2/1-1.2:1.0/input/input1
[ 4190.730000] usbhid 1-1.2:1.0: looking for a minor, starting at 96
[ 4190.730000] sony 0003:054C:0268.0002: input,hiddev0,hidraw0: USB HID v1.11 Joystick [sony PLAYSTATION®3 Controller] on usb-ehci-platform-1.2/input0
[ 4190.760000] drivers/usb/core/inode.c: creating file '007'

And the other device I was working on:
[ 4206.190000] dragonrise 0003:0079:0011.0003: DragonRise Inc. HID hardware probe...
[ 4206.210000] input: USB Gamepad as /devices/platform/ehci-platform/usb1/1-1/1-1.2/1-1.2:1.0/input/input2
[ 4206.220000] dragonrise 0003:0079:0011.0003: input,hidraw0: USB HID v1.10 Joystick [uSB Gamepad ] on usb-ehci-platform-1.2/input0
[ 4206.230000] drivers/usb/core/inode.c: creating file '008'

Edited by wifi-stuff
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...