In this guide I'm going to show you how to build a new kernel with hidraw support, and get the motion sensing working on YDL 6. I'm going to teach you how to do it the easiest way, but its also a time-consuming process.
I stripped my kernel down and built it with only whats needed. However, I don't have the time to go over what you do not need etc. I will instead show you how to basically build your new kernel based on your previous kernels settings. This way you wont mess up and it will be rather easy for you to do.
Log on as root!
You are going to need to have your repos updated with the Fedora Extras, Livna, and Dribble repos installed. HERE is an rpm to do that for you. After you install the rpm you need to install yum-protectbase so that the extra repos don't do anything to the ydl base repo. You use yum to install it:
After you have the repos done you need to have your Sixaxis to connect wirelessly. I don't know if it is possible to do it through USB, I think it is, but it will be way cooler to do it through Bluetooth anyway. You will need bluez-libs and bluez-utils. Optionally you can install bluez-hcidump.
The reason I left utils out is because you need to patch it up so that it can recognize the Sixaxis. Usually you would need to patch and compile it, but luckily there is an rpm with the patched utils HERE.
Now open up a terminal and run the commands below in order:
Depending on whether or not you already have a joystck installed as js0/js1/js2 and so on... Now its time to work on the new kernel and get the motion sensing working.
Step 1: First your going to need to install DTC (Device Tree Compiler) from here: [Register or Login to view links]
Then click on the DTC tab on the page. Save it to your desktop.
Now right click on the (dtc-1.1.0-1.el5.src.rpm) and select extract here. This will create a folder named (dtc-1.1.0-1.el5.src.rpm_FILES) open this file inside will be a tgz file named (dtc-1.1.0.tgz). Right-click on it and choose extract here. This will create a folder named (dtc) Right click on it and choose open in terminal. enter the commands below:
Now Open up (My computer) browse to (file system) open it up and browse to the folder you created earlier (ps3_build). Copy the (kernel linux-2.6.24.tar.bz2) into the folder. Now extract the (kernel linux-2.6.24.tar.bz2) this will create a folder named (linux-2.6.24) Now right click on the (patch) file you download and select copy. Now open the (linux-2.6.24) browse to the folder (net) open it browse to the folder (bluetooth) open it browse to the folder (hidp) and paste the patch file in it. Now go back and right click on the folder (hidp) and select open in terminal. Now run this command below.
Notes on menu configuration. There is a menu configuration guide at the top of the menu configuration box that tells you how to navigate and use it. Just read it and you will see its rather simple to use.
Step 3: Now its time to build the kernel. Now browse to the folder (linux-2.6.24) and right click on it and select open in terminal. Now in the terminal enter the command below:
This will open the kernel configuration menu. Now slide the menu out of the way or minimize it but do not close it, You need it open.
Now open (my computer) browse to (file system) open it and browse to the folder (lib) open it up and browse to the folder (modules) open it and browse to the folder (2.6.23-9.ydl6.1) open it up and browse to the folder (build) right click on it and select open in terminal. Now in the terminal run the command below:
This will open up your YDL 6 default kernel configuration menu. What your going to do is use your current kernel configuration menu to guide you through building your new kernel. So basically you should have 2 kernel menu configuration menus open one is the new 2.6.24 kernel the other is your current 2.6.23 kernel.
You're going to use the current 2.6.23 kernel configuration menu as a guide to setup your new 2.6.24 kernel. So the idea is to make your new 2.6.24 kernel configuration menu match your current 2.6.23 kernel configuration menu. Aside from enabling hidraw support and enabling cell broadband support which your current 2.6.23 kernel doesnt support.
Now you need to enable Cell broadband Support. On your kernel 2.6.24 configuration menu under (processor support) you need to make sure the (optimize for cell broadband engine) is enabled/built in.
Then you also need to enable hidraw support. On your kernel 2.6.24 configuration menu under (device drivers) / (hid devices) you need to make sure both (/dev/hiddev raw HID device support) options are enabled/built in.
Now just simply make everything else match up with the current 2.6.23 kernel configuration menu. It is time-consuming but for those of you unfamiliar with building kernels, this method will insure you have no errors.
So go through every menu/submenu on your 2.6.23 kernel configuration menu and make sure everything in your 2.6.24 kernel configuration menus/submenus match the 2.6.23 kernel configuration menu, exept of course the added cell broadband support and hidraw support which the 2.6.23 kernel does not support make everything else match.
Once you've finished configuring your new kernel configuration exit both kernel configuration menu's saving the changes to the 2.6.24 kernel. Now browse to the folder (linux-2.6.24) and right click on it and select open in terminal. Now run the command below... This will take some time:
If you see a new entry to your yaboot.conf file that has 2.6.24 anywhere in it then just skip this step and go on to getting the motion sensing to get recognized. If you don't see it then follow what's below...
Step 4: You need to edit the default=linux line. Your yaboot should look something like this:
Thats it your all done, You've just built a new kernel with hidraw support! Now reboot the system. If you have yaboot loader then you can tab through at the kboot prompt and see your newly compiled kernel. If you have petitboot loader installed it will now give you the option to boot your new 2.6.24 kernel or your previous 2.6.23 kernel.
Step 5: You need to log in as root again. Now to test that your motion sensing is working by grabbing this file:
Now a binary will be created on your Desktop named xsixhidtest. Since your terminal will still be open and still be cd'ed to the Desktop, you can just run the commands below to get the motion sensing to register,but I decided that I didn't want to cd to the root Desktop everytime I wanted to run it so I moved it to the /usr/bin directory so I don't have to:
You are going to need to find which number your sixaxis will register in hidraw. To find it you can just change the hidraw number until you get the xsixhidtest box open and functioning with your sixaxis.