Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Couple of dongles with Connection Error #76

Closed
matlo opened this issue Nov 27, 2013 · 15 comments
Closed

Couple of dongles with Connection Error #76

matlo opened this issue Nov 27, 2013 · 15 comments

Comments

@matlo
Copy link
Owner

matlo commented Nov 27, 2013

From jan.bouv...@gmail.com on April 27, 2011 21:36:52

Steps to reproduce the problem:

  1. Hooking up 'Sweex' branded dongles (at least BT211 and BT202) and connecting with them.
  2. I'm using a FAT 60GB PS3 with Kmeaw's Custom PS3 Firmware v2.55 loaded. I'm running Ubuntu 10.10, both live CD and a virtualized (VMWare) install, the latter of which I even equipped with updated blueman (4.91 as oppose to 4.69) as a last resort. No luck either.

Being an "Integrated System Solution Corp" class, Sweex BT202 is assumed incompatible with the emulator anyway (also has difficulty retaining spoofed address). However, BT211 didn't work either (though the address was spoofed just fine). Here's the log file, running the gui application from the terminal (addresses censored a bit):


Current Bluetooth master: XX:XX:XX:XX:XX:45
Current Bluetooth Device Address: XX:XX:XX:XX:XX:a1

hci0: Type: BR/EDR Bus: USB
BD Address: XX:XX:XX:XX:XX:A1 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:1471 acl:0 sco:0 events:46 errors:0
TX bytes:533 acl:0 sco:0 commands:42 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'ubuntu-0'
Class: 0x000508
Service Classes: Unspecified
Device Class: Peripheral, Gamepad
HCI Version: 2.0 (0x3) Revision: 0xc5c
LMP Version: 2.0 (0x3) Subversion: 0xc5c
Manufacturer: Cambridge Silicon Radio (10)

hci0: Type: BR/EDR Bus: USB
BD Address: XX:XX:XX:XX:XX:A1 ACL MTU: 310:10 SCO MTU: 64:8
Unified 21e
Chip version: BlueCore4-ROM
Max key size: 128 bit
SCO mapping: HCI

Can't get device info: No such device

run as root user to set device class
connecting with hci0 = XX:XX:XX:XX:XX:A1 to XX:XX:XX:XX:XX:45 psm 17

emu: can't connect to control psm: Host is down
can't connect to control psm

emu_thread: end

I will be updating this thread as I test more bluetooth dongles.

Original issue: http://code.google.com/p/diyps3controller/issues/detail?id=74

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on April 27, 2011 12:43:02

Please do the following actions:

  1. start sixemugui
  2. in a terminal: sudo hcidump -l 4096 -w capture.dump
  3. start emu and wait the error message
  4. Stop the hcidump capture (ctrl+c).
  5. Attach capture.dump to this issue.

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on April 27, 2011 12:43:55

If hcidump is not installed, run the following command in a terminal:

sudo apt-get install bluez-utils

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From bouv...@hotmail.com on April 30, 2011 03:30:56

Had to install hcidump via sudo apt-get install bluez-hcidump instead, but here's the dump.

I was hoping I could borrow another bluetooth dongle (One of those cheap eBay ones, won't get my hopes up), but so far it's been misplaced. :P

Dunno if this helps, but I tried running hciconfig again:
user@ubuntu:$ sudo hciconfig hci0 revision
Can't read version info for hci0: Connection timed out (110)
user@ubuntu:
$ sudo hciconfig hci0 revision
Can't read version info for hci0: Connection timed out (110)
user@ubuntu:~$ sudo hciconfig hci0 revision
hci0: Type: BR/EDR Bus: USB
BD Address: XX:XX:XX:XX:XX:A1 ACL MTU: 310:10 SCO MTU: 64:8
Unified 21e
Chip version: BlueCore4-ROM
Max key size: 128 bit
SCO mapping: HCI

Note how the connection times out the first 2 tries, perhaps it's related.

Attachment: capture3.dmp

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From bouv...@hotmail.com on April 30, 2011 03:38:41

For completeness' sake, the dump from my previous post is the one from BT dongle #1 (Sweex BT211). I figured I'd test the other one too (Sweex BT202), I attached that dump.

Again, the hciconfig output:
user@ubuntu:$ sudo hciconfig hci0 revision
Can't read version info for hci0: Connection timed out (110)
user@ubuntu:
$ sudo hciconfig hci0 revision
hci0: Type: BR/EDR Bus: USB
BD Address: XX:XX:XX:XX:XX:A1 ACL MTU: 1021:8 SCO MTU: 48:10
Unsupported manufacturer

Which seems to time out the first time too. Notice that the BD address reported did in fact resemble the PS3 one.

Attached is the dump of this 2nd dongle.

Attachment: capture_dongle2.dmp

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on April 30, 2011 05:30:12

I get the same timeout problem with vmware, and I get connection errors too.

Did you tested the updated bluez with vmware or with the live usb?

Did you got the dump with vmware or with the live usb?

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on April 30, 2011 05:41:14

I know there can be some issues updating bluez with a live usb.

Please test a new live usb with ubuntu 11.04 (default bluez is 4.91).

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From bouv...@hotmail.com on April 30, 2011 10:29:36

I dumped from VMWare, as I didn't know I could update drivers on the live CD.

I'll download the latest Ubuntu 11.04 & try it live with that.

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From bouv...@hotmail.com on April 30, 2011 12:10:06

Tried again with both 10.10 and 11.04 Live CD. Still no resolve.

I attached the dumps.

Attachment: 10.10-dongle1.dump 10.10-dongle2.dump 11.04-dongle1.dump 11.04-dongle2.dump

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on May 01, 2011 15:08:18

The connection fails with a timeout (5s).

This means the ps3 doesn't reply to the connection request.

My guess is that the address of the ps3 is wrong.

1- please check that the sixaxis can turn on the ps3.
2- please post the result of the command 'sixaddr' in a terminal.

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on May 02, 2011 00:54:19

I know there are a few fake sixaxis out there. I wouldn't be surprised a fake sixaxis give a wrong ps3 bdaddr. The test I suggest is to try to write the ps3 bdaddr, and read it afterwards.

Plug a bt dongle to your pc.

Then, in a terminal:
sudo apt-get install libusb-dev
wget http://code.google.com/p/diyps3controller/source/browse/trunk/sixutils/sixpair.c gcc -o sixpair sixpair.c -lusb
sudo ./sixpair

This should have modified the ps3 bdaddr.
To verify it, unplug and replug the sixaxis, and type the following command:
sudo sixaddr

The ps3 bdaddr should be the exact same bdaddr that was written by the sixpair command.

Note that after that, you will have to pair your sixaxis with your ps3 again (plug the usb cable + press the ps3 button).

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on May 02, 2011 12:54:53

Yes, sadly these controllers are the issue.

That's a very useful piece of information for other users, thanks for opening the issue.

What you can do now:

  • buy a real sixaxis
  • borrow a real sixaxis as you won't need it anymore once you know the ps3 bdaddr

It's also possible to emulate a usb sixaxis with a teensy++. I already have developed a firmware that can pair a dongle with the ps3. I can make another firmware that stores the ps3 bdaddr inside the teensy, so that we can retrieve it on a pc.

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on May 02, 2011 12:55:41

Now that we know the issue is not the sixaxis emulator, I reject the issue.

Status: Invalid

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From jan.bouv...@gmail.com on May 02, 2011 13:56:21

So, how exactly is a 'real' sixaxis different from these cheap knockoffs? If the fake ones only report the PS3 bdaddr incorrectly, all I would need is the correct bdaddr, right?

So, if I could somehow discover the actual ps3 bdaddr, I wouldn't have to buy teensy++ or borrow a true sixaxis? Then isn't there another way to find out the bdaddr?

Oh and I mistakenly posted my firmware version wrong: I'm running Kmeaw's Custom PS3 Firmware v3.55. Perhaps there'd be some debugging tools available to run on the PS3 to figure out the correct bdaddr?

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From mathieu....@gmail.com on May 02, 2011 14:21:26

Yes, a real sixaxis should always give the last registered bdaddr, and not a fake one.

I don't know any other ways to get it than those I listed in comment 13.

I'm running the 3.60 firmware. I don't know what could be done with a custom firmware.

@matlo
Copy link
Owner Author

matlo commented Nov 27, 2013

From lu...@zapletalovi.com on October 06, 2011 04:02:22

I am running into " can't connect to control psm: Host is down "

My dongle is Sweex BT204:

[13522.045269] usb 2-1.2: new full speed USB device number 4 using ehci_hcd
[13522.183531] usb 2-1.2: New USB device found, idVendor=0a12, idProduct=0001
[13522.183537] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13522.183541] usb 2-1.2: Product: BT204 Bluetooth Micro Adapter ClassⅡ
[13522.183545] usb 2-1.2: Manufacturer: Sweex

$ sudhciconfig hci1 revision0
hci1: Type: BR/EDR Bus: USB
BD Address: XX:XX:XX:XX:XX:B1 ACL MTU: 1021:8 SCO MTU: 64:1
Firmware 104.66 / 3

My controller is okay, I was already able to pair it with Linux and play Linux games on my laptop. Not sure if it implies it is the "real" one.

ps - maybe we are not dealing with "fake" controllers but newer revisions with some "protection"

@matlo matlo closed this as completed Nov 27, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant