New comment by austinrojers on void-packages repository https://github.com/void-linux/void-packages/issues/34458#issuecomment-993515069 Comment: > The purpose of the udev rule is to autostart the daemon when a device is attached and kill it on detach @ahesford _You are right_; we should not remove the udev_rule; without this _udev-rule_, the USB tethering won't work if I remove my device and plug it in again. I verified it by restoring the _39-usbmuxd.rules_ file from my system snapshot and everything was fine again. But the issue is this _udev-rule_ automatically runs `/usr/bin/usbmuxd` on boot, thus overriding the usbmuxd service, and nothing would work. > In the absence of evidence that the systemd tag declaration actually causes a problem in the udev autostart rule, we should assume it takes no meaningful action and avoids carrying a patch for no purpose. As evidence, killing this process `/usr/bin/usbmuxd` fixes everything. So I would suggest that since this rule is required, you could edit the part of the rule that autostarts `/usr/bin/usbmuxd` on boot. I have no knowledge about programming languages, so I have no idea about this. Please patch this out, so this issue can be resolved; otherwise, I have to kill /usr/bin/usbmuxd every time on boot Thank you ``` GNU nano 5.9 /usr/lib/udev/rules.d/39-usbmuxd.rules # usbmuxd (Apple Mobile Device Muxer listening on /var/run/usbmuxd) # systemd should receive all events relating to device SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/8600/*", TAG+="systemd" # Initialize iOS devices into "deactivated" USB configuration state and activate usbmuxd SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/8600/*", ACTION=="add", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", RUN+="/usr/bin/usbmuxd --user usbmux --udev" # Make sure properties don't get lost when bind action is called SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/8600/*", ACTION=="bind", ENV{USBMUX_SUPPORTED}="1", OWNER="usbmux", RUN+="/usr/bin/usbmuxd --user usbmux --udev" # Exit usbmuxd when the last device is removed SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/8600/*", ACTION=="remove", RUN+="/usr/bin/usbmuxd -x" ```