shangdawei / btstack

Automatically exported from code.google.com/p/btstack
0 stars 1 forks source link

Disconnection problems with PS3 Dualshock 3 on iOS 7.0.4 #376

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.Install BTstack from Cydia, respring.
2.Choose BTstack bluetooth stack in Settings.
3.Pair PS3 Dualshock 3 new, fully charged controlled with the device using 
SixaxisPairTool.
4.Press the PS button and let the controller connect. It starts the connection, 
the Bluetooth status bar indicator lights up, the leds on the controller keep 
flashing for about 10-15 seconds, but then it disconnects (BT status bar 
indicator grays out, controller stop flashing).
5. Exactly the same behavior using "Connector For All" - after opening a 
supported game (tried several), initiates the connection, says that it's 
connected, then leds are flashing and controls don't work for additional 10-15 
seconds, then notifies that the controller has disconnected.
6.Restart the iPad/iPhone device, or restart the BTstack daemon manually (using 
launchctl). The Bluetooth stack automatically drops to "none", need to change 
manually again. This happens every restart.

What is the expected output? What do you see instead?
1. The controller should not disconnect.
2. Controls should work while in connected state.
3. Bluetooth stack configuration is expected to persist over daemon restarts.

What version of the product are you using? On what operating system?
BTstack 0.8-3 on iOS 7.0.4, tried with iPad 3 and iPhone 4S - exactly the same 
behavior on both.

Please attach a package log, as described here:
http://btstack.uservoice.com/knowledgebase/articles/69548-how-to-get-
btstack-communication-log

and provide any additional information below.

Thanks a lot in advance!

Original issue reported on code.google.com by Vadim.Ba...@gmail.com on 4 Feb 2014 at 12:35

Attachments:

GoogleCodeExporter commented 9 years ago
In step 5 above, I meant "Controllers for All" tweak by cjori.

Original comment by Vadim.Ba...@gmail.com on 4 Feb 2014 at 12:42

GoogleCodeExporter commented 9 years ago
Just to verify that the controller is OK, tested it with MotioninJoy on Windows 
desktop, all works fine. So the problem seems somewhere between BTstack and 
"Controller for All"... 

Original comment by Vadim.Ba...@gmail.com on 4 Feb 2014 at 9:55

GoogleCodeExporter commented 9 years ago
Please have the developer of Controller for All look at this.

Original comment by matthias.ringwald@gmail.com on 4 Feb 2014 at 11:00

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
@Matthias:
Asked him, but please note that exactly the same happens with RetroArch when 
"Controllers for All" is not there.
Recently I've also reinstalled the iPad as a new clean device in order to 
eliminate any potential conflicts, but still doesn't work.

Do the log and the sniffer outputs look normal from BTstack's side? Is there 
anything else I should test to troubleshoot the problem?
Thanks a lot in advance!

Original comment by Vadim.Ba...@gmail.com on 4 Feb 2014 at 10:57

GoogleCodeExporter commented 9 years ago
Please try Blutrol and Retroarch on iOS 6 with your controller. There are no 
significant changes from iOS 6 to iOS 7 to make BTstack behave differently. In 
the log, I can see the ds3 close the connection after the current app tries to 
configure it. 

Original comment by matthias.ringwald@gmail.com on 5 Feb 2014 at 10:18

GoogleCodeExporter commented 9 years ago
OK, tried the same controller on other iPhone4S/iOS 6.1 and latest Blutrol, and 
then Retroarch - the behavior is exactly the same everywhere: connects, LEDs 
flashing for 10-15 seconds, then disconnects. Logs for all attempts attached.

Then out of curiosity, also tried on Android phone with Sixaxis Controller, and 
it worked flawlessly, like it did with MotioninJoy yesterday.

So you were right that there is no difference between iOS 6 and 7, but it's 
likely to be related to BTstack.

Please assist.

Original comment by Vadim.Ba...@gmail.com on 5 Feb 2014 at 11:12

Attachments:

GoogleCodeExporter commented 9 years ago
Seems that I've found the problem - the controller appeared to be one of these 
visually-identical knock-offs...
When I connect it to Sixaxis @Android, they detect that it's fake and apply 
some workarounds to make it work. So no wonder that without these hacks it 
doesn't work.

Original comment by Vadim.Ba...@gmail.com on 6 Feb 2014 at 1:07

GoogleCodeExporter commented 9 years ago
Hi Vadim, have you managed to get the sixaxis to work? I have the same issue. 
Looks like not worthwhile to buy cheap stuff, better to stick with original 
Sony controller.

Original comment by nico.nz....@gmail.com on 2 Apr 2014 at 6:42

GoogleCodeExporter commented 9 years ago
Hi,
Yes, sixaxis works. No special configuration is needed - it automatically 
detects the device as fake, and adjusts itself accordingly.
And I fully agree with you re originals - bought Sony PS4 ctrl recently, it is 
way more handy than any PS3, and works great via Ori's "Controllers for All"!

Original comment by Vadim.Ba...@gmail.com on 2 Apr 2014 at 6:50

GoogleCodeExporter commented 9 years ago
Hi, Vadim. I read the topic, don't really get it when you answered nico's 
question: where you able to get it working on iOS? I believe you have it 
working on Android, but how about iOS?

Original comment by Mugi...@gmail.com on 3 Jun 2014 at 1:35

GoogleCodeExporter commented 9 years ago
I have the same problems. I bought a PS3 Controller and installed Controller 
for all. But I can't connect the controller and ipad

I press the PS button and let the controller connect. It starts the connection, 
the Bluetooth status bar indicator lights up, the leds on the controller keep 
flashing for about 10-15 seconds, but then it disconnects (BT status bar 
indicator grays out, controller stop flashing).

Original comment by eikmend...@gmail.com on 17 Nov 2014 at 8:16

GoogleCodeExporter commented 9 years ago
@Mugi: it won't work, see comment #8 above. Just sold the knock-off and got an 
original PS4 controller instead, all works perfectly since then.

Original comment by Vadim.Ba...@gmail.com on 17 Nov 2014 at 8:34

GoogleCodeExporter commented 9 years ago
@eikment:  It might be that you have the same cause. Look at youtube - there 
are video tutorials how to identify whether your controller is fake, and if so 
- don't bother. Either use it with Android, or get an original one instead.

Original comment by Vadim.Ba...@gmail.com on 17 Nov 2014 at 8:36

GoogleCodeExporter commented 9 years ago
@Vadim.Ba...@gmail.com 

Are you shure that this is the only possibility? I bought the controller in a 
big electronic shop and payed a lot of money. 

For me it is hard to believe that they sold me a fake controller.

Original comment by eikmend...@gmail.com on 18 Nov 2014 at 4:25

GoogleCodeExporter commented 9 years ago
@eikment: it can be anything. Read the log files  (BTstack.log and 
hci_dump.pklg), you might find some useful information there.
Would still recommend checking whether the controller is original - open it and 
look inside, just in case.
Also, try with other iPad / iPhone, and with some Android device via sixaxis.

Original comment by Vadim.Ba...@gmail.com on 18 Nov 2014 at 11:28