Open GoogleCodeExporter opened 8 years ago
I do not have a onlive controller for testing, but I found this document:
http://support.onlive.com/app/answers/detail/a_id/163/~/onlive-wireless-controll
er
I think you need to do something special before it can be used. This is
probably like the PS3 where you need to pair it with the unit that you want to
use. If this is anything like the PS3 controller, you need a device with L2CAP
support, which means you will need to install a custom ROM on the device.
For now I will not work on this because the amount of people that would be able
to use this is very limited.
Original comment by kenneth@hexad.dk
on 1 Oct 2011 at 3:03
Hi Kennth,
The original OnLive controller used a proprietary radio (similar to wifi) and
it wasn't possible to do this. As of a week ago, they are now selling a
Bluetooth controller that Bluez IME should be able to work with. I really love
the controller, and want to use it for emulators and other games on my tablet.
Since it already works with Android devices, support should be fairly easy to
add, yes?
I would hack it together myself but I am unable to download the SDK due to
bandwidth restraints. Since you probbly don't have a controller, let me know if
there is anything I can provide/test for you.
Original comment by Gary13...@gmail.com
on 16 Dec 2011 at 10:12
Any documentation as to how it works would be great.
The documentation I can find still states that you have to connect it with USB
first.
That smells like the PS3, where the USB connection is used to write the host
Bluetooth MAC address to the controller, so the controller connects to the box,
not the other way around.
Original comment by kenneth@hexad.dk
on 17 Dec 2011 at 8:25
Opened my own issue for this before I saw this post. Very sorry for that should
have searched first. The controller does not pair over usb first it comes out
of the box ready to go with bluetooth coonectivity. Pairs to my phone no
problem. In fpse i get some functionality with every button acting as the up
arrow. Can't remap the keys. A lot of people are picking up this controller so
adding functionality would be awesome. Anything i can help with let me know.
Original comment by Rapidlay...@gmail.com
on 28 Dec 2011 at 2:20
Issue 134 has been merged into this issue.
Original comment by kenneth@hexad.dk
on 30 Dec 2011 at 5:39
I need some technical details before I can start with this, such as what
protocol does it use? RFCOMM or HID?
Original comment by kenneth@hexad.dk
on 30 Dec 2011 at 5:43
No results on getting it working with Bluez IME but I developed a work around
on Android 3.1+ devices. It allows the controller to behave exactly how the 360
controller works, which allows you to use it for many games such as GTA 3 and
Shadowgun. It works very well!
http://forum.xda-developers.com/showthread.php?t=1418263
I am still unable to get it to connect with Bluez IME. I know very little about
Bluetooth but it appears that the controller connects to the device, and not
the other way around? Setup entails putting controller into pairing mode,
making the tablet/phone discoverable, then clicking on the device to pair with
it. After this, turning on the controller will automatically connect to the
tablet/phone with no intervention. I rarely use Bluetooth, but don't you
usually need to manually click connect on the tablet after turning the device
on?
OnLive touts it as an "adaptive wireless technology" that finds the optimal
protocol for connecting to the device. In one of the original news
announcement, it had "(HID, L2CAP, etc)" next to this statement, but this has
since been removed. Perhaps that was a mistake and OnLive asked them to correct
it, and the "adaptive wireless" is just a marketing gimmick. How would I go
about determining the protocol it uses?
Original comment by Gary13...@gmail.com
on 30 Dec 2011 at 5:52
It connects through HID
Original comment by Rapidlay...@gmail.com
on 31 Dec 2011 at 2:38
I'm going to chime in here as well. I can confirm it does use HID.
They could be referring to the adaptive frequency hopping that Bluetooth has
had version 1.2, but that's a part of the Bluetooth standard, nothing that
OnLive can really tout as their own.
Original comment by electrof...@gmail.com
on 31 Dec 2011 at 3:37
Issue 137 has been merged into this issue.
Original comment by kenneth@hexad.dk
on 2 Jan 2012 at 9:55
Sadly enough, all the major Android makers strip support for L2CAP (and HID)
from the AOSP code. This means that almost all devices (HTC, Samsung and LG)
cannot connect to anything using HID.
If you write them they will say that they "do not support" extra devices.
Unfortunately they only fix for this is installing a kernel module that
replaces the stock Bluetooth stack. Allowing an application to do so would
cause massive security issues, so Android does not allow that. In other words,
no HTC, Samsung or LG device can communicate over HID without running a custom
ROM. It is possible to implement the HID protocol in an application, but not
the L2CAP module.
Android 3.1+ should have native support for HID (keyboards, etc), but the
manufacturers can still choose to omit the functionality. If you have a device
that supports HID, there is no need for Bluez IME, just pair the device with
the regular Android interface and it will auto-connect as a Keyboard when
Android detects that it is on. If your device does not support HID, most likely
there is no L2CAP support and thus I cannot make Bluez IME work either.
There are a number of other requests on this site that all ask for HID support
in some way. I have responded to them all, that I will not work on this because
the number of users that are willing to either flash their phone or buy a
compatible one are too small, compared to the amount of work I have to do.
Also, since newer devices should make the problem go away (built-in HID), I
lack the motivation to work on it.
I you know something that will change my mind, or want help implementing this,
let me know.
Original comment by kenneth@hexad.dk
on 2 Jan 2012 at 10:40
[deleted comment]
[deleted comment]
Well, we've confirmed that it can connect as an HID on custom ROMs such as
CyanogenMod, but for an unknown reason the OnLive app will not detect the
controller. We're not sure if the OnLive app simply does not look for the
controller or if it's an issue with CyanogenMod advertising the controller.
To try to determine if it could be the former, I've instructed someone on how
to edit the build.prop to try to fool the OnLive app into seeing itself running
on Android 3.1 or 4.0 (which OnLive has said it supports the controller on).
Unfortunately it has not resolved the problem. I can't further test this myself
as the bluetooth stack experimental build of CM on my Epic is not working
entirely correctly, (I suspect authentication issues.)
So at this point in time, until the issue with OnLive detecting the connected
controllers on CyanogenMod gets figured out, using a solution like Bluez IME
seems our only recourse. OnLive failed to mention the Android 3.1 / 4.0
limitation when they sold us the controllers, so many of us are stuck with a
purchase we can't use as we originally intended.
Original comment by electrof...@gmail.com
on 4 Jan 2012 at 3:44
I've changed my mind :)
I have just finished HID support for keyboards, and I happen to have a HID
gamepad lying around.
I should be adding support for HID gamepads within a week or two, so those of
you with a ROM that has L2CAP (CyanogenMod and others) should be able to get
this working then.
Original comment by kenneth@hexad.dk
on 8 Jan 2012 at 9:11
Attached is a debug version that has HID keyboard support.
It will not work directly with OnLive, but if someone wants to help out, you
can connect to the OnLive controller with the "Keyboard (HID)" driver and it
will output some data in logcat (use aLogcat from Market to read it).
I need someone to press and depress buttons while watching logcat. I need some
data like:
"Unknown report 0xa1: a1 01 xx yy ...." -> Up pressed
"Unknown report 0xa1: a1 01 xx yy ...." -> Up released
"Unknown report 0xa1: a1 01 xx yy ...." -> Left pressed
"Unknown report 0xa1: a1 01 xx yy ...." -> Left released
...
And so forth. If I can get this data, I should be able to make it work pretty
fast.
Apart from the updated version of BluezIME, you must also install the new
HIDEnabler package attached.
I will use this in the future to enable HID drivers on devices, so the
BluezIME.apk here is the same as the one on Market.
Original comment by kenneth@hexad.dk
on 12 Jan 2012 at 8:32
Attachments:
Can't get anything just tries to connect to the controller and says Error:
Connection Refused.....
:(
Original comment by Rapidlay...@gmail.com
on 12 Jan 2012 at 11:41
Have you paired the controller?
Try removing the pairing and re-pair it.
Original comment by kenneth@hexad.dk
on 13 Jan 2012 at 8:41
Ok I was able to connect using the HIDKeyboard driver through the Blue IMEz
interface. I don't see anything in logcat that is similar to what you listed.
I did see alot of W/keycharactermap not found on random keypress. I did find
this attached stretch of log although I did not see these results while in
logcat. Suggestions?
Original comment by Rapidlay...@gmail.com
on 13 Jan 2012 at 11:09
Ok as of now I am unable to show the logcat. I will have it by tonight. Still
though I can't see the data you are requesting on demand.
Original comment by Rapidlay...@gmail.com
on 13 Jan 2012 at 11:16
Do you still need the info requested above to get this working? I have the
onlive controller and a rooted hannspad running honeycomb, so might be able to
get the info you need?
Original comment by r.plumri...@gmail.com
on 9 Feb 2012 at 12:06
Like the poster above, I was able to connect to the controller, BluezIME said
it had connected, but in the logcat all I see is loads of repeated messages
saying Connection Refused and messages saying the device is not a keyboard. Do
you want to see an example?
Original comment by r.plumri...@gmail.com
on 9 Feb 2012 at 12:26
Yes, I would like to see a sample.
I have seen cases where Android sees the device as a Keyboard and then
connects, causing Bluez IME to get connection refused. A little later Android
figures out that it cannot communicate anyway and drops the connection.
To prevent this, you can long press on the device and remove the HID checkmark.
Original comment by kenneth@hexad.dk
on 15 Feb 2012 at 9:43
[deleted comment]
Hiya
On my tablet running a modded honeycomb, there is no long press option,
pressing it takes me to a new config window, but there is no option to disable
HID. However, Bluez says it is connected, but logcat shows connection rejected:
http://pastebin.com/gVpCB0M5
On my Galaxy S2 running gingerbread, there is the option to disable HID (but I
know onlive is not supported in gingerbread anyway). I get a different error
this time, Bluez says Error: unknown error 0. Here is the portion of the log
that seems relevant: http://pastebin.com/KV3P8BPu
Original comment by r.plumri...@gmail.com
on 15 Feb 2012 at 10:50
For the Gingerbread version, "Unknown error: 0" usually comes with an error
message stating "L2CAP not yet supported". Then after a while you get the "out
of sockets message" because there is a bug in Android that cause it to not
close the sockets that fail to connect. But it is strange that you have the
option to disable HID, because HID is not supported?
The Honeycomb version is (also) strange, in that it seems that the Bluetooth
driver rejects the connection because the controller is not a keyboard (but a
gamepad). But if BluezIME says it is connected, then it should be connected. I
have never seen a false "Connected to: xxxx" message before. Can you see on the
controller if it is connected (blinking differently, etc) ?
Original comment by kenneth@hexad.dk
on 20 Feb 2012 at 9:18
Original issue reported on code.google.com by
pauljone...@gmail.com
on 30 Sep 2011 at 7:32