1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Working great until it wasn't - Constant Bluetooth dropping + fix

Discussion in 'Bug Reports' started by Tim, Mar 6, 2018.

  1. Tim

    Tim New Member

    This was a super weird issue.

    Across Center was working wonderfully for me across two late model Macbook Pros each running High Sierra 10.13.3

    I took one of the laptops away on a trip and when I came back I expected to be able to plug everything back in and have it work. Well... it did, for a little while, but then I restarted one of the laptops.

    The issue I was having was that the bluetooth connection was constantly connecting and disconnecting over and over and over making the client computer uncontrollable.

    Thing that I tried:
    - Turning on/off Bluetooth, unpairing, reconnecting, etc.
    - Restarted both computers
    - Deleting the apple Bluetooth files and let them get recreated on restart
    - Use the Bluetooth debug menu to unpair all devices and reset the Bluetooth module on both computers
    - Unplug all USB and other devices, reset both computers
    - Reset PRAM on both computers
    - Uninstall and reinstall Across Center on both computers
    - Probably more at this point that I can't remember

    Weirdly, I accidentally stumbled across what fixed it:
    - I ended up clicking on "Across Uninstaller.app" and selected the checkbox to remove all settings. Then, I clicked "Ok" and when it asked for my password I hit "Cancel". The uninstaller reported that the uninstall failed but after doing this on both computers, Across Center stayed connected and seems to be working as seamlessly as it was before I had these issues.

    I'm mostly adding this to help anyone else but also incase one of the developers can figure out why this happened and how to fix it.

    Any comments?
     
  2. Seungjin Lee

    Seungjin Lee Member

  3. Tim

    Tim New Member

    Maybe so - but starting the uninstall process and letting it fail seemed to fix it weirdly enough. Now it's been working smoothly all day.
     
  4. Seungjin Lee

    Seungjin Lee Member

    Sorry. I didn't read your posting carefully, since I am very busy with fixing and optimizing Across at the maximum level.

    Here is the code that will be run in the condition:
    Code:
    tell application "System Events"
        get the name of every login item
        if login item "Across Center" exists then
            delete login item "Across Center"
        end if
    end tell
    
    It is just to remove the "Across Center.app" from the login-item list. You can run it in the AppleScript Editor.

    By the way, I have fixed so many problems and still have many another issues. Fortunately, I can look into the High Sierra issue in detail within some days and will do my best to fix it. I will take into account your case at that time.

    Thank you very much for your report! ;)
     
    Last edited: Mar 7, 2018
  5. Seungjin Lee

    Seungjin Lee Member

    I think I have found the cause of this issue in High Sierra, and reported it to Apple.

    In /System/Library/LaunchDaemons/com.apple.bluetoothaudiod.plist,
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.apple.bluetoothaudiod</string>
        <key>POSIXSpawnType</key>
        <string>Interactive</string>
        <key>ProcessType</key>
        <string>Interactive</string>
        <key>LegacyTimers</key>
        <true/>
        <key>LaunchEvents</key>
        <dict>
            <key>com.apple.iokit.matching</key>
            <dict>
                <key>com.apple.rfcomm.incoming</key>
                <dict>
                    <key>IOMatchLaunchStream</key>
                    <true/>
                    <key>IOProviderClass</key>
                    <string>IOBluetoothRFCOMMChannel</string>
                </dict>
                <key>com.apple.a2dp.incoming</key>
                <dict>
                    <key>IOMatchLaunchStream</key>
                    <true/>
                    <key>IOProviderClass</key>
                    <string>IOBluetoothL2CAPChannel</string>
                    <key>IOPropertyMatch</key>
                    <dict>
                        <key>PSM</key>
                        <integer>25</integer>
                        <key>IsInitiator</key>
                        <false/>
                    </dict>
                </dict>
                <key>com.apple.bluetooth.outgoing</key>
                <dict>
                    <key>IOProviderClass</key>
                    <string>IOService</string>
                    <key>IOMatchLaunchStream</key>
                    <true/>
                    <key>IOPropertyMatch</key>
                    <dict>
                        <key>AgentPath</key>
                        <string>com.apple.bluetoothaudiod</string>
                        <key>StartAgent</key>
                        <true/>
                    </dict>
                </dict>
                <key>com.apple.avrcp.incoming</key>
                <dict>
                    <key>IOMatchLaunchStream</key>
                    <true/>
                    <key>IOProviderClass</key>
                    <string>IOBluetoothL2CAPChannel</string>
                    <key>IOPropertyMatch</key>
                    <dict>
                        <key>PSM</key>
                        <integer>23</integer>
                        <key>IsInitiator</key>
                        <false/>
                    </dict>
                </dict>
            </dict>
        </dict>
        <key>MachServices</key>
        <dict>
            <key>com.apple.bluetoothaudiod</key>
            <true/>
        </dict>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/sbin/bluetoothaudiod</string>
        </array>
        <key>ThrottleInterval</key>
        <integer>1</integer>
    </dict>
    </plist>
    
    <key>com.apple.rfcomm.incoming</key> line must be <key>com.apple.sco.incoming</key> like in the previous macOS versions.
     
    Last edited: Mar 27, 2018

Share This Page