# Wingman Rumblepad still wont work in my Gentoo :(

## Shark

Actually I've posted about it here before, but it weren't with all that much detail. Now I have investigated further, and I now know that the pad works in RedHat.. I also have a dmesg logfile from Gentoo for anyone to investigate:

http://staaland.person.dk/Usblog.txt

I have enabled USB debug logging, so there should be plenty to look at...

The problem is, more specifically, that whenever I try to test the pad with jstest or cat, the kernel immediately spits out a kernel panic. And needless to say, it should not do that!

I have the strong feeling that it is my kernel configuration (since it works in RedHat), so here's my current kernel config, if anyone wants to look at it for themselves:

http://staaland.person.dk/kernelconfig.txt

Last but not least, if anyone has a Wingman Rumblepad working on Gentoo, please do send me your kernel configuration.. It might be of great help to me.

- Shark

Shark@post.cybercity.dk

----------

## karl11

ok...I don't have that joystick, but I do have some suggestions. First off, in red hat, is it the IFORCE driver that you have compiled in as a module(on gentoo) the same module on redhat that makes it work? Secondly, are you loading the module (not to insult your intelligence). Third...unplug the usb joystick after the kernel has completely loaded and plug it back in..I know that sounds odd, but I have to do that for my usb gamepad. Now do an ls /dev/input

If the entry js0 comes up, then that is your joystick (assuming you use devfs). It might work like that, but if you have permission problems then as root, do this:

chmod a+ux /dev/input/js0

Unfortunately, I have to do that everytime I boot, but to me it's not that big of a deal. That should at least give you some more help, or at least I hope it does. Let me know if you still have problems.

Karl Abbott

----------

## Shark

 *Quote:*   

> unplug the usb joystick after the kernel has completely loaded and plug it back in..

 

Okay.. Now that was truly odd.

It actually worked!

All this time (actually, a few days..), and the solution is this simple? I still wonder though.. How come that isn't necessary in RedHat?  :Confused: 

----------

## rommel

hey can you post what you enabled to get that workin...i have one but never even tried to use it even when i was using windows....would be fun to get it working in linux though

----------

## Shark

What you have to enable in the kernel config?

Well, First of all, you'll need USB support  :Very Happy: 

Then either the uhci or usb-uhci driver. (I'm using the usb-uhci)

Full hid support would propably also be a good idea..

Under Input core support, you'll need "joystick support". You might want to compile this one as a module...

And like karl11 said, you might have to unplug and replug it after Linux has loaded to make it work. I'm still not sure exactly why that is necessary though  :Confused: 

And then you just test it with "jstest /dev/input/js0".. If you have the "jstest" program installed. Else, it shouldn't be that hard to find somewhere on the net  :Smile: 

My Rumblepad is working perfectly now. Well, except from the little minor detail that it doesn't rumble  :Smile: 

It's necessary to make the Iforce driver work with it to make it rumble (and will only work with games supporting it).

(experimental) Support in the iforce driver was supposedly added some months ago:

http://www.docs.uu.se/~johannd/projects/ff/doc.shtml

But I haven't made it work yet.. Maybe the drivers bundled with the kernel isn't up to date?

Or do you need to have _both_ the joydev and iforce modules loaded?

Or is the difference between the normal and the cordless rumblepad really so big that they only have the cordless one working with Iforce?

Oh well...

----------

## rommel

did you get the kernel force feed back tarball from that site and patch the kernel yourself?...it says its for the 2.4.18 kernel...but i am running 2.4.19 now....not sure if that would really make a difference.

i found the joystick tarball so i will try it out...going to have to get an addon usb card at this rate.

----------

## Shark

 *Quote:*   

> did you get the kernel force feed back tarball from that site and patch the kernel yourself?...it says its for the 2.4.18 kernel...but i am running 2.4.19 now....not sure if that would really make a difference.

 

Well, it might be worth a try. The only thing needed for it to work perfectly here is the "rumble" part... So I might try it out too somewhen today  :Smile: 

----------

## rommel

well so i downloaded the joystick tarball (driver/utility) and unpacked and ran make ....gave me a bunch of parsing errors and make failed....so that sucked....but i ran UT and plugged in the usb wingman anyway dusted it off pressed a bunch of buttons till the green light on the reciever stopped blinking and the controller and reciever were 'connected' (its cordless) enabled joystick in UT and it worked...lol....that was the easiest thing i have ever gotten to work in linux...i am terribly dissapointed...lol

----------

## rommel

hey shark did you compile iforce into the kernel or as a module?...i didnt but now seeing as the controller works with out anything but the kernel stuff turned on i wonder if this would get rumblelina to work

----------

## Shark

Hmm, as far as I remember, the iforce module caused a kernel panic if I compiled it in the kernel  :Confused: 

As a module it didn't seem to cause any particular troubles though.. I'll have to test it out. I'll be back very soon  :Wink: 

----------

## Shark

Well, lets see.. I now have the joydev module compiled into the kernel. The Iforce driver is compiled as a module.

The wingman is loaded properly with the joydev module at start.

I now load the Iforce driver manually with a "modprobe iforce"

No problems occur.

Now I try testing it with the fftest program from the ff-test.tar.bz2 package from:

http://www.docs.uu.se/~johannd/projects/ff/download/utils/

By doing an "./fftest /dev/input/js0"

This results in following output:

"Force feedback test program.

HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/js0 opened

Ioctl query: Invalid argument"

So no.. It doesn't seem to want to work right away  :Confused: 

----------

## nitro322

 *Shark wrote:*   

> And then you just test it with "jstest /dev/input/js0".. If you have the "jstest" program installed. Else, it shouldn't be that hard to find somewhere on the net 

 

Sorry if this is rediculously easy, but I don't have jstest installed, I can't find it anywhere in the portange tree, and I've so far been unable to locate it using google.  Closest I got was the joystick driver, which is supposedly already included in the kernel.  Any hints?   :Smile:   Thanks.

----------

## Shark

Hehe, at the time of writing that, I was too lazy to provide a link  :Smile: 

Actually, both jscal and jstest seems to be included in the ff-utils package. You'll find the ff-utils package at above mentioned link:

http://www.docs.uu.se/~johannd/projects/ff/download/utils/

I think I figured out why I got the Ioctl error with the fftest program. The event interface module (evdev) is needed for the iforce driver to work. I am currently recompiling the kernel.. Hope it works this time.

----------

## Shark

Okay.. So far so good.

I have the kernel compiled with the event interface module.

Now the force feedback tests are behaving like it works.

But the Wingman remains completely still. It still refuses to show any sign of rumbling behaviour  :Confused: 

I also tried the kernel patch from the iforce site... Of course I backed up the kernel-source first  :Smile: 

And what a clever move.. It never got through the compilation process. After compiling for a while, it would spit out a lot of errors about the usb-core module. And then quit..

----------

## rommel

i cant get the utilities to run make correctly either...i got an incorrect pointer type error...now runing make again gives a 'nothing to be compiled' then exits

did you ahve any problems like this?

did you make any changes to the Makefile for your system?

edit: i got it...had to run it like this

```
$./jstest /dev/input/js0
```

----------

## sev_

=\

yeah, plugging it out and plugging it back in worked.

that sucked.  :Shocked: 

----------

## Migrant Programmer

Hey, the unplugging/plugging in problem has been  fixed with this patch.

It isn't in gaming-sources-2.4.20-r2, but it works when you apply it to that kernel.  No more divide by zero kernel panic, and no more silly workaround!

As another note, I also tried the I-Force driver (non-kernel mode, it doesn't support 2.4.20 unfortunately) and got the same results - it looks like it's trying to send the events to the joystick, but nothing happens. But there is good news! According to the Changelog for Linux 2.4.21-rc1, the I-Force driver will be included in Linux 2.4.21! Hopefully it will be out soon and gaming-sourceified!

 *Quote:*   

> Vojtech Pavlik <vojtech@suse.cz>:
> 
>   o Fix the JSIOCGABSMAP et al ioctls in joydev.c
> 
>   o Add new devices support to I-Force driver

 [/url]

----------

## nitro322

so has anyone been able to force-feedback working on this yet?  I'm using 2.6.0-mm1 now, and followed the instructions in this thread, and still seem to be stuck at the same place as the last poster.  The joystick is recognized, fftest seems to be working, but the gamepad itself doesn't rumble.  Any luck?

Thanks!

----------

