-
-
Notifications
You must be signed in to change notification settings - Fork 270
Description
Description
Disconnecting and then reconnecting TinyPilot to a macOS-based machine via its USB cable causes TinyPilot to stop being recognized as a USB device. To restore functionality, you must reboot your TinyPilot. Alternatively, you can run sudo /opt/tinypilot-privileged/remove-usb-gadget
and then sudo /opt/tinypilot-privileged/init-usb-gadget
.
This behavior may only be present on Apple Silicon-based Macs. I could not reproduce this behavior on an Intel-based Mac running OS X 10.14 (very old).
This behavior was originally reported on a 2021 MacBook Pro M1 Pro running 14.6.1. I reproduced this behavior on a MacBook Air M2 running 14.4.1.
This behavior doesn't change when adjusting the Mac's USB accessory behavior. i.e., changing "Allow accessories to connect" to "Always", "Ask Every Time", "Ask for New Accessories", or "Automatically When Unlocked" doesn't affect the behavior.
There's a discussion thread on Apple's support forums related to USB hubs not working on macOS 14.4. So it may instead be an OS issue.
There are also similar Reddit threads reporting that some USB hubs no longer work correctly. Some users suggest that version 14.4.1 resolves these USB issues, but my machine on 14.4.1, and the TinyPilot forum user's machine on 14.6.1, both have this issue.
I haven't yet tried updating to Sequoia (15.0) - the user on the TinyPilot forum suggests the latest version of macOS also has this behavior.
What's the behavior that you expect?
I'd expect TinyPilot to successfully connect to the Mac's USB and correctly send mouse and keyboard input whenever you connect the USB cable.
What's happening instead?
When reconnecting TinyPilot's USB cable, the Mac no longer recognizes it as a USB device, causing a state where you cannot use TinyPilot's mouse or keyboard without rebooting TinyPilot.
What are the steps to reproduce this behavior?
- Connect your TinyPilot to a Mac (possibly only Apple Silicon-based or running macOS >= 14.4)
- Move TinyPilot's mouse or use the keyboard to show it's working
- Disconnect the USB cable from the Mac
- Reconnect the USB cable to the Mac
- Attempt to move TinyPilot's mouse or type characters on TinyPilot's keyboard
a. Nothing happens
Screenshots
The Mac's USB System Information after connecting TinyPilot initially:
The Mac's USB System Information after disconnecting and reconnecting TinyPilot's USB cable (this is identical to not having a connected USB device):
@jotaen4tinypilot & @jdeanwallace - Do you have any suggestions for additional tests I can perform here?