Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1019549 > unrolled thread

Bug#966403: Package: usbmuxd calls systemd in its udev rules so it will never start in Devuan

Started byVernon Van Steenkist <vernonjvs@gmail.com>
First post2020-07-28 06:30 +0200
Last post2020-07-30 21:40 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#966403: Package: usbmuxd calls systemd in its udev rules so it will never start in Devuan Vernon Van Steenkist <vernonjvs@gmail.com> - 2020-07-28 06:30 +0200
    Bug#966403: usbmux.rules file additional information Vernon Van Steenkist <vernonjvs@gmail.com> - 2020-07-30 21:40 +0200

#1019549 — Bug#966403: Package: usbmuxd calls systemd in its udev rules so it will never start in Devuan

FromVernon Van Steenkist <vernonjvs@gmail.com>
Date2020-07-28 06:30 +0200
SubjectBug#966403: Package: usbmuxd calls systemd in its udev rules so it will never start in Devuan
Message-ID<Axppv-6P2-1@gated-at.bofh.it>
Package: usbmuxd
Version: 1.1.1~git20181007.f838cf6-1 i386

Beowulf usbmuxd is maintained by Debian. A Devuan usbmuxd package 
probably should be created because the Debian version references systemd 
in its udev rules so usbmuxd will never start under Devuan.

Debian usbmuxd /lib/udev/rules.d/39-usbmuxd.rules file contents


# systemd should receive all events relating to device
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", 
ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", 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]/*", ACTION=="add", 
ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", 
OWNER="usbmux", ENV{SYSTEMD_WANTS}="usbmuxd.service"

# 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]/*", ACTION=="bind", 
ENV{USBMUX_SUPPORTED}="1", OWNER="usbmux", 
ENV{SYSTEMD_WANTS}="usbmuxd.service"

# Exit usbmuxd when the last device is removed
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", 
ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ACTION=="remove", 
RUN+="/usr/sbin/usbmuxd -x"


Suggested /lib/udev/rules.d/85-usbmuxd.rules for a  new Devuan usbmuxd 
package.


# usbmuxd ("Apple Mobile Device" muxer listening on /var/run/usbmuxd)

# Forces iDevices to the last USB configuration and runs usbmuxd
ACTION=="add", SUBSYSTEM=="usb", OWNER="usbmux", ATTR{idVendor}=="05ac", 
ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", 
ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", 
ATTR{bConfigurationValue}="$attr{bNumConfigurations}", OWNER="usbmux", 
RUN+="/usr/sbin/usbmuxd -u -U usbmux"

# Exit usbmuxd when the last device is removed
ACTION=="remove", SUBSYSTEM=="usb", 
ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", 
RUN+="/usr/sbin/usbmuxd -x"

Please don't hesitate to contact me if you have any questions.

Thanks,
Vernon

[toc] | [next] | [standalone]


#1019845 — Bug#966403: usbmux.rules file additional information

FromVernon Van Steenkist <vernonjvs@gmail.com>
Date2020-07-30 21:40 +0200
SubjectBug#966403: usbmux.rules file additional information
Message-ID<Aymzf-Kh-3@gated-at.bofh.it>
In reply to#1019549
First, let me apologize for the initial poor bug report. I have since 
done further research and a have discovered that the 
/lib/udev/rules.d/39-usbmuxd.rules file in debian package 
usbmuxd_1.0.8+git20140527.e72f2f7-2_i386.deb supported both sysvinit and 
systemd. Please see contents below.

# usbmuxd ("Apple Mobile Device" muxer listening on /var/run/usbmuxd)

# Check for systemd running as pid 1
TEST=="/run/systemd/system/", ACTION=="add", SUBSYSTEM=="usb", 
ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", 
ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", 
OWNER="usbmux", TAG+="systemd", ENV{SYSTEMD_WANTS}="usbmuxd.service", 
RUN+="/usr/bin/pkill -x -SIGUSR2 usbmux" GOTO="usbmuxd_systemd_end"

# Legacy udev
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", 
ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", 
ATTR{bConfigurationValue}="0", OWNER="usbmux", RUN+="/usr/sbin/usbmuxd 
-u -U usbmux"

LABEL="usbmuxd_systemd_end"

# Exit usbmuxd when the last device is removed
ACTION=="remove", SUBSYSTEM=="usb", 
ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", 
RUN+="/usr/sbin/usbmuxd -x"


I have tested this version of the usbmuxd.rules file in Debian based 
systemd and sysvinit systems. It works perfectly

* usbmuxd starts when iphone or ipad is plugged in on both systemd and 
sysvinit systems

* systemctl status usbmuxd command outputs usbmuxd status correctly on 
systemd systems.


However, in the next Debian release, TEST=="/run/systemd/system/" was 
removed thus breaking usbmuxd on sysvinit systems.  Please revert back 
to the usbmuxd_1.0.8+git20140527.e72f2f7-2_i386.deb version in order to 
allow usbmuxd to load on sysvinit systems again.


Thanks

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web