Closed NSExceptional closed 6 years ago
What doesn't work? BTstack on iOS 11 or Bluetooth Companion and BTC Mouse & Trackpad?
BTStack.
It looks like there's a button missing in the top cell. The version on Cydia is 1.1-1, is that the latest?
The version in Cydia is the last on. The text in the screenshot says that BTstack is enabled automatically (and I remember removing the 'on' button). Could you start some BTstack-enabled app? You could try BTstack GPS Demo to see if a) it works, b) if there's an "OFF" button
Oh, that makes sense. The missing button threw me off, combined with the Controllers For All developer frivolously claiming that BTstack was "abandoned" on Twitter.
If you say it's updated that's good enough for me! Thanks for responding so fast.
Glad it works. FWIW, it hasn't been updated since I think iOS 9. However, no need to update it as long as it works :)
I appreciate your work mringwal! Maybe implement BTC Mouse & Trackpad for ios 11 if BTstack works good?
hello mringwal can you confirm that the BT stack GPS application is fully operational on IOS 11.1.1. if so how to get it today in view of the difficulties of CYDIA on IOS 11. thank you for an answer
@berunous BTstack itself works fine on iOS 11. However, the BTstack GPS app is currently only compiled for 32-bit, and hence cannot run on iOS 11 (as it's 64-bit only). I'll post here once I get it to compiled (no idea what changed, just re-compiling stuff sometimes becomes tricky)
@nikolaign BTC Mouse & Trackpad does not work on iOS 10 or iOS 11 as something in the Bluetooth Server changed.
first of all thank you for the speed of the answer. So I'm waiting for the result of the compilation in 64 bits for IOS 11. my hardware architecture is as follows a bluetooth GPS brand GLOBALSAT model BT 338 An IPAD air model A1474 in WIFI Only and NAVIONIC navigation application and map NAVIONIC HD EUROPE. Can you confirm that to make all this work the iPad will be jealbroken? Can you tell me the best way currently to have CYDIA on the iPad to be able if it works to buy your application.
----- Mail original -----
De: "Matthias Ringwald" notifications@github.com À: "bluekitchen/btstack" btstack@noreply.github.com Cc: "berunous" beru.nous@laposte.net, "Mention" mention@noreply.github.com Envoyé: Vendredi 18 Mai 2018 10:24:53 Objet: Re: [bluekitchen/btstack] Proper iOS 11 support? (#120)
@berunous BTstack itself works fine on iOS 11. However, the BTstack GPS app is currently only compiled for 32-bit, and hence cannot run on iOS 11 (as it's 64-bit only). I'll post here once I get it to compiled (no idea what changed, just re-compiling stuff sometimes becomes tricky)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or mute the thread .
Hello I want to use BT stack but there are two hard points
where is the 64 bit compilation for IOS 11.1.1 Cydia does not currently allow to buy the application
can you communicate on these two subjects. Thank you
@berunous There is not 64-bit version at the moment (I get compile errors), hence you cannot buy it in Cydia on iOS 11. Once it compiles for 64-bit and works on iOS 11, it will be available on Cydia (if Cydia is available).
I need your application to navigate the wait with impatience. You think to end up under contains time. good luck and good thinking for a flawless compilation.
hello
have you completed the compilation of BT-STACK in 64 bits to be compatible IOS 11.1.1? If NO please give us a target date. It is difficult to wait without news of whether the goal will be achieved. and when I'm sure you understand.
beru Nous
I don't think he can get that done soon. otherwise,this could be done a while ago.
@mringwal Hey there Matthias, I sent you an Email in hopes to have BTStack updated for iOS 11.
It's nice to see that's already happening, though may I ask, is it possible we get the old BTStack style back? Namely 0.8-3?
The fact we could select between OFF, iOS and BTStack was nice. Maybe have an Automatic AND Manual Mode? I preferred the Manual Mode since sometimes it'd crash, so I'd just switch it back on again.
Thank you so much for this Tweak, I use BTStack to pair my PS3 remote with my iPhone 5S iOS 8,4. ;3
We really hope to could use controller for all app running on iOS 11
BTC mouse and trackpad as well! Thanks a lot.
how could we account for the number of users of applications relying on BT-STACK and who would like these applications to be compatible with IOS 11 ie that they are compiled in 64 bits. Only the number of users could encourage Matthias Ringwald and if necessary the OPEN SOURCE community to carry out these operations.
I'd like to repeat that BTstack (the actual stack with the preferences dialog) is compiled for armv7 & arm64 and runs on iOS 11 as far as I know. It provides basic profiles (SPP, L2CAP, SDP) that are sufficient for most use cases (e.g. GPS, HID devices, ..)
My BTstack-GPS is 32-bit only, but that should not stop others from using BTstack in their apps. FWIW, it now compiles for 64-bit, but there's no ETA for an official update.
BTC Mouse & Trackpad is a different issue as mentioned earlier as well and independent from BTstack.
Hello Sir, may I ask if you ever plan to update BTC Mouse & Trackpad for ios 11? This is a really useful tweak for ipad especially when ios 11.3 jailbreak might be release soon. Thank you & have a nice day.
sorry to have irritated you but in the community there are users and develloppers. I am only a lambda user but do not want APPLE to impose the external GPS that he should use on his iPad. This is one of the objectives of OPEN SOURCE. I understand that the base brick BT STACK is operational in 64 bits but that your BT STACK GPS application is currently in 32 bits. I am unable to measure the difficulty of porting from 32 bits to 64 bits but I know that as long as your application BT STACK GPS will not be in 64 bits I could not use my external GPS on IOS 11 future versions. By passing in 64-bit APPLE has killed thousands of applications only develloppers can meet this challenge so that users do not remain under their hegemonic.
@mringwal
I'd like to repeat that BTstack (the actual stack with the preferences dialog) is compiled for armv7 & arm64 and runs on iOS 11 as far as I know. It provides basic profiles (SPP, L2CAP, SDP) that are sufficient for most use cases (e.g. GPS, HID devices, ..)
So when you say this.. are you saying... 1: PS3 Controllers (HID?) can directly connect to iOS 11 via BTStack from Cydia 2: ControllersForAll (when updated) can be compatible with BTStack for iOS 11
Thank you so far for replies thus far Matthias. We all love your tweak.
So when you say this.. are you saying... 1: PS3 Controllers (HID?) can directly connect to iOS 11 via BTStack from Cydia 2: ControllersForAll (when updated) can be compatible with BTStack for iOS 11
Well, close. BTstack can be used to either create outgoing HID connections or provide an HID server. BTstack itself doesn't do that. So, ControllersForAll (or even my abandoned Blutrol) should work when updated for iOS 11. If not, and there are actual issues with BTstack itself, I'll have a look.
Hmm that is weird. I am kind of lost can you help explain this then..?
On my iPhone 5S, I use an app called RetroArch and play PS1 games on it. I use BTStack to link my PS3 remote to the iPhone.
I don't use ControllersForAll tweak, it's not even on my iDevice, yet my PS1 Controller works 100%.
So right now, everything works, except for compatibility with CFA? (Because CFA is old)
Also, I didn't know you created BluTrol. Would you be willing to reboot that if CFA doesn't come back for everyone else? :3 <3
(Perhaps RetroArch has its own kind of button mapping protocol that understands PS3 controller layout, making CFA redundant in this case? )
Unfortunately CFA didn’t update to iOS 11 yet. I test it but unfortunately it’s not working.
Yeah I know, I PM'ed Ori, and waiting for a reply..
"BTC Mouse & Trackpad does not work on iOS 10 or iOS 11 as something in the Bluetooth Server changed."
Is the BTC Mouse & Trackpad going to have the update for IOS11? or just discontinue to support?
@mringwal Hi Matthias, is it possible to use a bluetooth mouse with BTstack tweak on a jaibreaked iOS 11 ipad yet?
@mringwal Please, review your Blutrol for iOS11, I want to buy it for iOS 11!!!!
@mringwal Hi, and could you help me with this since i have my C4A installed v1.7.4-1 and BTstack v1.1-1 , kept saying THIS MESSAGE and this is a screenshot of my btstack, what to do?
I've spend some time updating BTstack GPS for iOS 11 - which requires 64-bit binaries. It is basically working but then I've learned that iOS 11 has increased the sandboxing, so BTstack GPS cannot talk to the BTstack Daemon. Right now, I don't know how to bypass this checks (it's outgoing unix domain sockets as well as setting up a CFMessagePort (I'm already using RocketBootstrap, but the call to setup the port already fails before RocketBootstrap would be called to expose it publicly).
@mringwal so we wait for your kind update? Or what to do?
Well, I'm not sure yet. If there's an easy way to bypass these restrictions, I'll update BTstack. I did not check on IRC, that's something I could do to see if anyone has an idea. I'll probably won't dig deeper myself.
@mringwal can you give more detail into the restrictions? Im working on making BTStack and potentially a replacement for controllers for all for tvOS (and potentially for other ios devices as well) for 10.2.2 and 11.x and would like to pre-empt any issues that you're already aware of so i don't spend time discovering the same issues.
@lechium in BTstack Daemon, the compiler does not want to directly call system. I assume that system is still there and doing a dlsym lookup would work. Then, all command line tools need the 'platform-application' entitlement. Now, the main issue is how a tweak/app can communicate with the BTstack server. BTstack also supports TCP, so if that works instead of Unix Domain Sockets, that can be considered. Any ideas/links/documentation in this regard?
@mringwal afaik system does still exist on other iOS devices but we've never had it on tvOS, it was removed entirely so we've rolled our own version as part of the bootstrap re-created for arm64 support in a project called "the memo" (https://git.nito.tv/NitoTV/the_memo) i've created my own fork where i've replaced that call with RunCmd (our version of system we put together https://github.com/lechium/btstack/blob/master/port/ios/src/btstack_control_iphone.m#L286) Im not entirely certain but I had a theory about potential communication issues. /tmp/BTStack might present a sandbox issue and maybe something like /Library/.BTStack or something of that nature for the pipe location from the LaunchDaemon might be a viable workaround, it is on my list to test once i get this sample project working.
EDIT3: Got the sample project building and running finally! But it doesn't actually work yet, i'll continue my investigation tomorrow and let you know anything i discover.
@mringwal Got BTdaemon running on demand now, but its making the test app crash, and inquiry reports back errors trying to open bt connection. As far as i can tell it looks like BTStack needs to tear down the other bluetooth session to create its own. Thats going to present a problem on tvOS with the siri remote being bluetooth. Reloading BTServer after the fact doesn't appear to make siri remote work again either. Doesn't appear to work again until i reboot.
Running inquiry manually after unloading BTServer (it fails to unload for some reason, but my other RunCmd() stuff (system replacement) works fine. So im not sure what the issue is there yet.
[2018-08-30 00:17:52.640] LOG -- daemon.c.673: Daemon disconnect client 0x13200ca00
[2018-08-30 00:17:52.640] LOG -- hci.c.3971: BTSTACK_EVENT_DISCOVERABLE_ENABLED 0
[2018-08-30 00:17:53.290] LOG -- socket_connection.c.298: socket_connection_accept new connection 10
[2018-08-30 00:17:53.291] LOG -- daemon.c.1334: DAEMON_EVENT_CONNECTION_OPENED 0x13280a400
[2018-08-30 00:17:53.291] LOG -- daemon.c.922: BTSTACK_SET_POWER_MODE 1
[2018-08-30 00:17:53.291] LOG -- hci.c.2800: hci_power_control: 1, current mode 0
[2018-08-30 00:17:53.292] LOG -- btstack_control_iphone.m.625: iphone_on: entered
[2018-08-30 00:17:53.293] LOG -- btstack_control_iphone.m.363: local-mac-address: XX:XX:XX:XX:XX:XX
[2018-08-30 00:17:53.294] LOG -- btstack_control_iphone.m.364: transport-speed: 3000000
[2018-08-30 00:17:53.295] LOG -- btstack_control_iphone.m.661: iphone_on: unload BTServer
[2018-08-30 00:17:53.698] LOG -- hci.c.2699: POWER_ON failed
[2018-08-30 00:17:53.698] LOG -- hci.c.3931: BTSTACK_EVENT_POWERON_FAILED
[2018-08-30 00:17:53.698] LOG -- hci.c.2810: hci_power_control_on() error 32512
Any thoughts? Thanks!
Congrats. The WiMote demo is older, the command line tools are a good test though. How did you start BTdaemon? Did it work when starting it via launchd?
Yes, BTstack requires to shutdown the Apple Bluetooth Server, which is the main drawback. Because of this, I've started the Bluetooth Companion project, that hooks into BTServer and tries to add services in there with BTC Mouse & Trackpad being the main product. My hooks that intercept the communication with the Bluetooth module stopped to work in iOS 10 and I didn't dig deep/long enough to figure out why.
On power on, BTstack unloads BTServer and uses a patched BlueTool to initialize the Bluetooth Controller before taking control.
thanks! yeh it started successfully through the launchdaemon. i think i traced part of the problem to the springboard access tweak. we dont have springboard on tvos so i would need to adopt that to work with pineboard if i continue to try and get things working via BTStack.
i had a feeling hooking BTServer would be the route i may be forced to go to get this working on tvOS once i realized i had to dusable BTServer first. is this bt companion project open source? even while its not working it may give me some insight on where to look. ive done very little bluetooth work in the past so this is somewhat new territory to me.
Interesting: so daemons started by launchdaemon are accessible - which totally makes sense. BTstack uses SpringBoardAccess to toggle the Bluetooth icon in the menu bar, so you might ignore that for now.
BTServer is mainly written in C++ and I wasn't good enough to reverse/hook that. Bluetooth Companion intercepts the Bluetooth communication and uses deep Bluetooth knowledge to modify packets on the fly or inject/drop them. It's closed source and mainly consists of a large Bluetooth state machine to track the state in the BTServer.
So what is wrong with Controllers for all is it BTstack or is there something wrong with cfa?
@mringwal Could you please update Blutrol to support at least iOS 9 and iOS 10. It's going to be wonderful if you update, because there are many good games don't support MFi controllers like Pubg and fortnite.
@mringwal Hey sorry to come up to you like this, im a huge fan of your work, please could you update Blutrol please so it could work on ios 10 and higher... 😞😔😔 the app does install but you cant add any games to it because it does not see any game list whenever you hit the add game (+) symbol, i figured out is the version of ios and the app requires update.. controllers for all doesn't help as you can't keymap your control pads, so Blutrol has and will always be the Best option... Thank you and StayBlessed🙏🏽
@mringwal Could you please update Blutrol to support at least iOS 9 and iOS 10. It's going to be wonderful if you update, because there are many good games don't support MFi controllers like Pubg and fortnite.
Oh gawd, Matthias, even Mr-Seven is asking, he's a huge guy in the Retro Community, too! :<
Come on we need our BTStack / BluTroll! :< <3
Oh and, please for iOS 11, mostly iOS 11.3.1 <3
@nikolaign BTC Mouse & Trackpad does not work on iOS 10 or iOS 11 as something in the Bluetooth Server changed.
@mringwal Hello, any plans to support BTC Mouse & Trackpad on iOS 12?
@mringwal Hello. I need the BTC mouse & trackpad for iOS 12.2. do you know when you will do it? I can help financially to create this Tweak.
With official mouse support in iOS 13, I don't expect to work on BTC Mouse & Trackpad anymore.
@mringwal Thanks for all your wonderful projects and everything you have given to the jailbreak community. I would love to see support for PS3 controllers on iOS, it would be great for the planet as there are tons of this controllers still around, its a shame this controllers get to be discarded being still an awesome controller. The new ncontrol has no support for PS3 (not sure why being the ps3 controller also Bluetooth) and your Bluetooth protocol is great if gets implemented again. Hopefully this project is back. Is awesome to show apple how things should be done. We are buying a very expensive device but most of the time it feels like it was rented🙁. Long live the jailbreak!!!👍 Fingers crossed on this🤞🤞🤞
Doesn't seem to be work 100% on iOS 11. Is this a known issue / WIP?