Sponsored Links

Sponsored Links

Results 1 to 1 of 1



  1. #1
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    27,811
    Sponsored Links

    Post Getting SIXAXIS Motion Sensing to Work on YDL6

    Sponsored Links
    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:
    Code:
    yum install yum-protectbase
    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.
    Code:
    yum install bluez-libs
    yum 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:
    Code:
    service bluetooth stop
    Code:
    service hidd stop
    Code:
    service hidd start
    Code:
    service bluetooth start
    Code:
    service hidd stop
    Code:
    hidd --server --nocheck -n
    Now press the ps button on 1 or 2 sixaxis controllers. Your sixaxis is now recognized and functional in bluetooth mode.You can run this command in the terminal to test that its working.
    Code:
    jstest /dev/input/js0
    Code:
    jstest /dev/input/js1
    Code:
    jstest /dev/input/js2
    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:
    Code:
    make
    Code:
    make install
    Step 2: Now its time to download the kernel and patch need for hidp.ko.

    Open up (My computer) browse to (file system) open it, and create a folder named (ps3_build). Download the kernel and patch from the URLs below... saving them with the names.

    [Register or Login to view links]

    [Register or Login to view links]

    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.
    Code:
    patch <patch
    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:
    Code:
    make menuconfig
    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:
    Code:
    make menuconfig
    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:
    Code:
    make
    After its finished run this command.
    Code:
    make modules_install
    After its finished run this command.
    Code:
    make install
    Once thats complete run this command.
    Code:
    cp .config /boot/config-2.6.24-20080131
    Close the terminal and open a new one. In this one you are going to look at the yaboot.conf file:
    Code:
    su
    password:
    gedit /etc/yaboot.conf
    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:
    Code:
    default=linux 
    default=linux 
    # yaboot.conf generated by anaconda 
     
    boot=/dev/ps3da 
    init-message=Welcome to YDL!\nHit <TAB> for boot options 
     
    partition=1 
    timeout=80 
    install=/usr/lib/yaboot/yaboot 
    delay=5 
    enablecdboot 
    enableofboot 
    enablenetboot 
    nonvram 
    mntpoint=/boot/yaboot 
    usemount 
     
    default=linux 
    image=/vmlinux-2.6.23-9.ydl6.1 
       label=linux 
       read-only 
       initrd=/initrd-2.6.23-9.ydl6.1.img 
       append="video=ps3fb:mode:5 rhgb quiet root=LABEL=/1"
    You just want to bump it down and add this:
    Code:
    image=/vmlinux-2.6.24-20080131 
       label=2.6.24-20080131 
       read-only 
       initrd=/initrd-2.6.24-20080131 
       append="video=ps3fb:mode:5 rhgb quiet root=LABEL=/1"
    Your yaboot.conf should look like this now. exept maybe the :mode number may vary.
    Code:
    default=linux 
    default=linux 
    # yaboot.conf generated by anaconda 
     
    boot=/dev/ps3da 
    init-message=Welcome to YDL!\nHit <TAB> for boot options 
     
    partition=1 
    timeout=80 
    install=/usr/lib/yaboot/yaboot 
    delay=5 
    enablecdboot 
    enableofboot 
    enablenetboot 
    nonvram 
    mntpoint=/boot/yaboot 
    usemount 
     
    default=linux 
    image=/vmlinux-2.6.24-20080131 
       label=2.6.24-20080131 
       read-only 
       initrd=/initrd-2.6.24-20080131.img 
       append="video=ps3fb:mode:3 rhgb quiet root=LABEL=/1" 
     
    image=/vmlinux-2.6.23-9.ydl6.1 
       label=linux 
       read-only 
       initrd=/initrd-2.6.23-9.ydl6.1.img 
       append="video=ps3fb:mode:3 rhgb quiet root=LABEL=/1"
    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:

    [Register or Login to view links]

    Open up a terminal. and enter this command:
    Code:
    cd /root/Desktop
    Now enter this command once.
    Code:
    gcc -o xsixhidtest xsixhidtest.c -lX11 -lm
    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:
    Code:
    mv xsixhidtest /usr/bin
    Assuming you did not exit out of the terminal. If you did, then you would type in:
    Code:
    mv /root/Desktop/xsixhidtest /usr/bin
    Now all you need to do is to get root privilages to get it to work if you login as a normal user:
    Code:
    su -
    password
    (notice the -)

    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.
    Code:
    xsixhidtest < /dev/hidraw0
    Code:
    xsixhidtest < /dev/hidraw1
    Code:
    xsixhidtest < /dev/hidraw2
    It's pretty neat! If you find what number your Sixaxis is registered as you will see a black box come up and have some white lines that respond to the movement of your controller.

    Finally, an updated version is available from: [Register or Login to view links]

    With it is a bonus vram module you can compile while you recompile your kernel.
    Attached Files Attached Files

 

Sponsored Links
Affiliates - Contact Us - PS3 Downloads - Privacy Statement - Site Rules - Top - © 2014 PlayStation 3 News