Page 1 of 1

Spoofing XBOX + Raspi

Posted: Mon Nov 26, 2012 9:58 am
by McD0n3ld
Hi there.

Im trying to make my Raspberry Pi work with GIMX. PS3 works fine and ready to play. Now the problem is XBOX360.

I'm trying to spoof via console with

Code: Select all

usbspoof -p /dev/ttyUSB0 -d
but it's not working.

The 'patron' I use for spoofing is:
1) Connect USB to SERIAL (which is connected to Teensy) to the Raspbi
2) Start usbspoof
3) Connect USB-mini to USB to my laptop (XBOX360 controller is not connected to any XBOX360).

It just doesn't work. I tried many times and nothing. I always get the same values for packets and same libusb_control_transfer errors (-9).
I have been trying to look into the code but could do nothing.

So at this point I wonder: My spoofing patron is wrong? Should I continue trying to fix it by modifying usbspoof.c ?

P.S: I know that XBOX360 is not officially supported, but I'd like to help with this.

Regards,
McD0n3ld

Re: Spoofing XBOX + Raspi

Posted: Tue Nov 27, 2012 7:57 am
by Matlo
Hi,

Does it work with a PC?

Re: Spoofing XBOX + Raspi

Posted: Tue Nov 27, 2012 7:59 am
by McD0n3ld
Sorry for double post.

I've been reading this: http://forum.gimx.fr/viewtopic.php?f=20&t=486
I haven't understood it too much, but what I get from that post is that GIMX emulates a bcdDevice in 1.10 and that if my controller is 1.10, spoof wil work fine, but if it's 1.14, I should do those modifications (which I don't know how to do). But what if it's 1.06 ?

This is what I get
Spoiler: show
pi@raspberrypi:~$ sudo lsusb -v -s 1:24

Bus 001 Device 024: ID 045e:028f Microsoft Corp. Xbox360 Wireless Controller
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 8
idVendor 0x045e Microsoft Corp.
idProduct 0x028f Xbox360 Wireless Controller
bcdDevice 1.06
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 18
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 93
bInterfaceProtocol 255
iInterface 0
cannot read device status, Broken pipe (32) <-- ???
You also talk about "your firmware" what I guess is the one installed on Teensy. The code for that firmware is public or private?

Also I found this:
ratchet wrote:The way I understand it is:
Connect real controller, usb uart board and teensy to PC.
Press spoof and OK.
After 2-3 seconds connect teensy to xbox??
It's not the way I was doing but it still doesn't work (he was lucky and got it working changing firmware)

EDIT: Just seen your post. I haven't really tested it and I should have done it already. Going to test now.

EDIT2: I have debian installed and followed this tutorial http://gimx.fr/wiki/index.php?title=Dev ... t_on_Linux (the same tutorial as with RasPi) and it's still not working. But... could you please assure me I'm doing it well?

More info: I don't have a XBOX360 Wired Controller. All I have is:
· 045E:028F -> Microsoft Corp. XBOX360 Wireless Controller (genuine)
· 045E:028E -> Microsoft Corp. XBOX360 Controller (but this is not genuine. It's a device that spoofed the device above and it works fine)
· I also don't have a XBOX360, I'm connecting it to the PC with proper drivers installed, so I don't know why it shouldn't work or make the controller believe that it's connected to a XBOX360)
· As a USB to serial I'm using an Arduino without uC, so it only uses the FTDI (this shouldn't be the problem)
· As adapter, I'm using Teensy 2.0 with firmware 0.30 of XBOX360 (29% space used) and I can't debug this so I don't know if this is the problem.

Thanks for everything,
McD0n3ld

Re: Spoofing XBOX + Raspi

Posted: Tue Nov 27, 2012 8:41 am
by Matlo
The spoofing is not intended to be used for anything else than the Xbox360. And a wired genuine controller is required.

Re: Spoofing XBOX + Raspi

Posted: Tue Nov 27, 2012 8:45 am
by McD0n3ld
Okay... I thought you were going to say that...

I'm going to try it two or three more days and if it doesn't work I'll try to get a genuine Wired controller and XBOX360 and will let you know if it worked ;)

EDIT:
ratchet wrote:The way I understand it is:
Connect real controller, usb uart board and teensy to PC.
Press spoof and OK.
After 2-3 seconds connect teensy to xbox??
^is this ok?
McD0n3ld wrote: You also talk about "your firmware" what I guess is the one installed on Teensy. The code for that firmware is public or private?
and this?


Thanks,
McD0n3ld

Re: Spoofing XBOX + Raspi

Posted: Tue Nov 27, 2012 8:58 pm
by 0uistyty
You need to change the firmware on the teensy board to work with the Xbox.
Xbox ans PS3 use different firmware.

Did you change it ?

Re: Spoofing XBOX + Raspi

Posted: Wed Nov 28, 2012 2:27 pm
by McD0n3ld
Yes, sure
McD0n3ld wrote:I'm going to try it two or three more days and if it doesn't work I'll try to get a genuine Wired controller and XBOX360 and will let you know if it worked ;)
I found that my controller (XBOX360 Wireless with Play & Charge) does not transmit any data throguh the USB, so it was never going to work. I could've been years trying :roll: