ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I'd like to work on a project involving Xbox360s and controllers. Ultimately what I'd like to be able to do is hook a 360 controller to my Linux pc, record the button presses and be able to "replay" them to an Xbox 360. I think there are a few key parts to this:
1) I need some way to record raw data from the usb controller. I've played with the usbmon module, which I think might do the trick. It records a lot of raw data, although I'm not really sure if it's the right kind for me. Maybe some hacking of the xpad driver is called for?
2) I need to find a way to "trick" the xbox360 into thinking that my laptop is really a xbox360 controller.
I would imagine that this involves some kind of handshake between the controller and the xbox. To figure out what this protocol involves, I was thinking that I could redirect one usb's data out another usb to the xbox360, and log out the transactions between them. Ultimately, I'd like to replay this data into a PS3, so I'm going to need to use this same method, or find documentation on both.
Am I missing anything? If there's anyone that could point me in the right direction as to the specifics involved with redirecting usbdev output, documentation, or general reworking of these ideas, I'd appreciate the help.
You may want to look at the XFPS which is a device which bypasses the xbox 360 security for 3rd party controllers, which has been used in projects such as this which allows a wii controller to be used on a 360.
Hmm... I hadn't heard of the 360 USB security before now, but I guess it makes sense. Else, why wouldn't way smarter people than me have already done this a hundred times and cut into Microsoft sales by now?
I still think that it should be possible to dump the data on a 360 controller's security chip to a file and pass this in the protocol when the console queries for it but...
What if I go the route of cannibalizing existing 360/PS3 controllers to bypass the security mechanisms in the consoles?
This changes the project a bit, but I still think it's doable. The biggest issue I see here is with interpreting the analog sticks on the different consoles. Basically it would look like:
A parallel port or serial port (or even USB) with some software magic should be able to pass the button presses/analog stick values produced by the xpad driver to a PIC that would send these signals to the hacked controllers. Maybe the PC could do it natively. I'm not sure on the specifics of serial/parallel ports.
The analog sticks are still the issue, I think though. Any ideas?