Compare commits

..

No commits in common. "rawhide" and "f23" have entirely different histories.

5 changed files with 91 additions and 218 deletions

View file

@ -1,16 +1,16 @@
#
# Device Reference (UTF-8 encoding used)
#
# Last modified: 2017-02-05
# Last modified: 2014-05-29
#
# Collection of configurations for usb_modeswitch, a mode switching
# tool for controlling flip flop (multiple mode) USB devices
#
# Detailed instructions and a friendly forum on the homepage:
# http://www.draisberghof.de/usb_modeswitch
#
# Note that new devices are no longer added to this file. See the
# config files included with the data package for these
#
# You may want to check for a newer version of this file at:
# http://www.draisberghof.de/usb_modeswitch/device_reference.txt
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
@ -21,10 +21,9 @@
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# For a parameter reference see file REFERENCE in the data package or
# http://www.draisberghof.de/usb_modeswitch/parameter_reference.txt
# For a parameter reference see file REFERENCE in the data package
#
# If you find new working codes and configurations, please report
# If you find working codes and configurations, please contribute
# them!
@ -32,7 +31,6 @@
#######################################################
# Option GlobeSurfer Icon (aka "Vodafone EasyBox")
# This is the thing that started it all ...
#
# The MessageContent is identical for all Option devices

View file

@ -0,0 +1,48 @@
diff -up usb-modeswitch-1.2.7/usb_modeswitch.c.fix-manual-pages usb-modeswitch-1.2.7/usb_modeswitch.c
--- usb-modeswitch-1.2.7/usb_modeswitch.c.fix-manual-pages 2013-08-20 12:12:10.752953754 +0200
+++ usb-modeswitch-1.2.7/usb_modeswitch.c 2013-08-20 12:37:27.415242925 +0200
@@ -1968,7 +1968,8 @@ void printHelp()
" -g, --device-num NUM system device number (for hard ID)\n"
" -m, --message-endpoint NUM direct the message transfer there (optional)\n"
" -M, --message-content <msg> message to send (hex number as string)\n"
- " -2 <msg>, -3 <msg> additional messages to send (-n recommended)\n"
+ " -2, --message-content2 <msg> additional messages to send (-n recommended)\n"
+ " -3, --message-content3 <msg> additional messages to send (-n recommended)\n"
" -n, --need-response read response to the message transfer (CSW)\n"
" -r, --response-endpoint NUM read response from there (optional)\n"
" -d, --detach-only detach the active driver, no further action\n"
@@ -1989,10 +1990,11 @@ void printHelp()
" -B, --qisda-mode apply a special procedure\n"
" -E, --quanta-mode apply a special procedure\n"
" -R, --reset-usb reset the device after all other actions\n"
+ " -w, --release-delay <seconds> delay releasing the interface\n"
" -Q, --quiet don't show progress or error messages\n"
" -W, --verbose print all settings and debug output\n"
" -D, --sysmode specific result and syslog message\n"
- " -s, --success <seconds> switching result check with timeout\n"
+ " -s, --check-success <seconds> switching result check with timeout\n"
" -I, --no-inquire do not get SCSI attributes (default on)\n\n"
" -c, --config-file <filename> load long configuration from file\n\n"
" -t, --stdinput read long configuration from stdin\n\n"
diff -up usb-modeswitch-1.2.7/usb_modeswitch_dispatcher.1.fix-manual-pages usb-modeswitch-1.2.7/usb_modeswitch_dispatcher.1
--- usb-modeswitch-1.2.7/usb_modeswitch_dispatcher.1.fix-manual-pages 2013-08-20 11:59:15.467713141 +0200
+++ usb-modeswitch-1.2.7/usb_modeswitch_dispatcher.1 2013-08-20 12:57:51.913947292 +0200
@@ -0,0 +1,18 @@
+.TH "USB_MODESWITCH_DISPATCHER" "1"
+.SH "NAME"
+usb_modeswitch_dispatcher - dispatcher not intended for direct invocation.
+.SH "SYNOPSIS"
+.PP
+\fBusb_modeswitch_dispatcher\fR
+.SH "DESCRIPTION"
+.PP
+usb_modeswitch_dispatcher is doing additional device checking and
+using the usb_modeswitch binary to switch with the selected device config file.
+If no drivers are taking care of the device after the mode switch, the dispatcher
+will try to load and bind the "option" serial driver, in order to make the device
+usable.
+.PP
+This program is called by udev and is not supposed to be called directly
+by the user.
+.SH SEE ALSO
+.BR usb_modeswitch(1).

View file

@ -1 +1 @@
SHA512 (usb-modeswitch-2.6.2.tar.bz2) = adaedf89de3c5f9dc55da7bb5bb3fe8165c0424cffacb00f83876094b7abdc386ced9959e5dbdf46ab06aa1d03fbfca13df539421489ef4d2dd0f72742057f3d
ef86a19f0b3c4f64896d78a2ffb748e9 usb-modeswitch-2.2.5.tar.bz2

View file

@ -1,49 +0,0 @@
From e3cf80c95a1c67d05dded68ec171bfde4686003f Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Thu, 14 Aug 2025 16:35:56 +0200
Subject: [PATCH] service: Do not ever send SIGTERM to the unit
Following happens when modem 03f0:a31d (HP lt4132 LTE/HSPA+ 4G Module) is
plugged:
- systemd-udevd emits "add" action
- The "add" action triggers restart of usb_modeswitch@<port>.service
- usb_modeswitch@<port>.service starts usb_modeswitch
- Another udev rule renames the network interface from usb0 to enp0...
- Above causes systemd-udevd emit "change" action for the device
- The "change" action triggers another restart of usb_modeswitch@<port>.service
- usb_modeswitch run initially gets terminated mid-air
- Device drops off the bus
- Infinite sadness
Possible solutions:
- The udev rule could just emit the "change" action. I have no idea why
it handles "change" actions, but it looks intentional -> No touchy
from me.
- usb_modeswitch could just trap TERM and shut down gracefully. This
involves Tcl -> No touchy.
- The systemd unit could just send an innocent signal instead of TERM
and just let usb_modeswitch end its life journey naturally.
Let's do this, because it involves least brain.
Anybody please feel free to send this upstream.
---
usb_modeswitch@.service | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/usb_modeswitch@.service b/usb_modeswitch@.service
index 22d2ea7..23d4ed0 100644
--- a/usb_modeswitch@.service
+++ b/usb_modeswitch@.service
@@ -7,3 +7,7 @@ ExecStart=/usr/sbin/usb_modeswitch_dispatcher --switch-mode %i
# Testing
#ExecStart=/bin/echo "usb_modeswitch.service: device name is %i"
+# Do not ever terminate violently on restart -- interrupting the switching
+# transaction will crash some modems! We'll terminate shortly anyways.
+# If we hang, FinalKillSignal (defaults to SIGKILL) will take care of that.
+KillSignal=SIGCONT
--
2.50.1

View file

@ -1,29 +1,25 @@
%define source_name usb-modeswitch
%define source_name usb-modeswitch
Name: usb_modeswitch
Version: 2.6.2
Release: 6%{?dist}
Summary: USB Modeswitch gets mobile broadband cards in operational mode
Summary(de): USB Modeswitch aktiviert UMTS-Karten
License: GPL-2.0-or-later
URL: http://www.draisberghof.de/usb_modeswitch/
Name: usb_modeswitch
Version: 2.2.5
Release: 1%{?dist}
Summary: USB Modeswitch gets mobile broadband cards in operational mode
Summary(de): USB Modeswitch aktiviert UMTS-Karten
Group: Applications/System
License: GPLv2+
URL: http://www.draisberghof.de/usb_modeswitch/
Source0: http://www.draisberghof.de/%{name}/%{source_name}-%{version}.tar.bz2
Source1: http://www.draisberghof.de/usb_modeswitch/device_reference.txt
Source0: http://www.draisberghof.de/%{name}/%{source_name}-%{version}.tar.bz2
Source1: http://www.draisberghof.de/usb_modeswitch/device_reference.txt
Patch0: rhbz948451-fix-manual-pages.patch
# Submitted upstream (2014-11-24)
Patch0: device_reference-utf8.patch
# Not submitted upstream due to lack of courage
Patch1: usb_modeswitch-2.6.2-SIGTERM.patch
Patch1: device_reference-utf8.patch
BuildRequires: make
BuildRequires: gcc
BuildRequires: libusbx-devel
# "tcl" or "jimsh"), use the light-weight installation:
#BuildRequires: jimtcl-devel
BuildRequires: systemd
Requires: usb_modeswitch-data >= 20121109
Requires: systemd
BuildRequires: libusbx-devel
BuildRequires: jimtcl-devel
BuildRequires: systemd-devel
Requires: usb_modeswitch-data >= 20121109
%description
USB Modeswitch brings up your datacard into operational mode. When plugged
@ -32,7 +28,7 @@ installation files. This tool deactivates this cdrom-device and enables
the real communication device. It supports most devices built and
sold by Huawei, T-Mobile, Vodafone, Option, ZTE, Novatel.
%description -l de
%description -l de
USB Modeswitch deaktiviert die CDROM-Emulation einiger UMTS-Karten.
Dadurch erkennt Linux die Datenkarte und kann damit Internet-
Verbindungen aufbauen. Die gängigen Karten von Huawei, T-Mobile,
@ -41,25 +37,29 @@ Vodafone, Option, ZTE und Novatell werden unterstützt.
%prep
%setup -q -n %{source_name}-%{version}
cp -f %{SOURCE1} device_reference.txt
%patch 0 -p0
%patch 1 -p1
#%patch0 -p1 -b .manpage
cp -f %{SOURCE1} device_reference.txt
%patch1 -p0 -b .utf8
%build
%{set_build_flags}
# this will require jimtcl-devel
#make_build all-with-dynlink-dispatcher
%make_build
CFLAGS="$RPM_OPT_FLAGS" make %{?_smp_mflags}
%install
mkdir -p %{buildroot}%{_unitdir}
%make_install \
SYSDIR=%{buildroot}%{_unitdir} \
SBINDIR=%{buildroot}%{_sbindir} \
UDEVDIR=%{buildroot}%{_prefix}/lib/udev
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/udev
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
install -p -m 755 usb_modeswitch $RPM_BUILD_ROOT%{_sbindir}/
install -p -m 755 usb_modeswitch_dispatcher $RPM_BUILD_ROOT%{_sbindir}/usb_modeswitch_dispatcher
install -p -m 644 usb_modeswitch.conf $RPM_BUILD_ROOT%{_sysconfdir}/
gzip -9c usb_modeswitch.1 > usb_modeswitch.1.gz && install -m 644 usb_modeswitch.1.gz $RPM_BUILD_ROOT%{_datadir}/man/man1
gzip -9c usb_modeswitch_dispatcher.1 > usb_modeswitch_dispatcher.1.gz && install -m 644 usb_modeswitch_dispatcher.1.gz $RPM_BUILD_ROOT%{_datadir}/man/man1
install -p -m 755 usb_modeswitch.sh $RPM_BUILD_ROOT%{_prefix}/lib/udev/usb_modeswitch
%files
@ -68,135 +68,11 @@ mkdir -p %{buildroot}%{_unitdir}
%{_mandir}/man1/usb_modeswitch.1.gz
%{_mandir}/man1/usb_modeswitch_dispatcher.1.gz
%{_prefix}/lib/udev/usb_modeswitch
%{_unitdir}/usb_modeswitch@.service
%config(noreplace) %{_sysconfdir}/usb_modeswitch.conf
%doc README ChangeLog device_reference.txt
%license COPYING
%doc COPYING README ChangeLog device_reference.txt
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Thu Aug 14 2025 Lubomir Rintel <lkundrak@v3.sk> - 2.6.2-4
- Do not let the unit send SIGTERM to usb_modeswitch mid-switch.
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Feb 27 2025 Sérgio Basto <sergio@serjux.com> - 2.6.2-2
- Revert the move of usb_modeswitch to /usr/lib/udev/rules.d, usb_modeswitch is
not an rule
* Thu Feb 20 2025 Sérgio Basto <sergio@serjux.com> - 2.6.2-1
- Update usb_modeswitch to 2.6.2
- Resolves: rhbz#2346392
- Fix build related to /usr/sbin move
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Nov 2 2023 Íñigo Huguet <ihuguet@redhat.com> - 2.6.1-9
- Really use SPDX license specifier
* Thu Aug 24 2023 Till Maas <opensource@till.name> - 2.6.1-8
- Cleanup spec: use %%license, use %%patch 0
- Use spdx license specifier
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Nov 18 2020 Sérgio Basto <sergio@serjux.com> - 2.6.1-1
- Update usb_modeswitch to 2.6.1
- Drop patch1, http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=2&t=2733
- Drop BR jimtcl-devel, if we don't install dynlink-dispatcher
* Tue Sep 29 2020 Sérgio Basto <sergio@serjux.com> - 2.6.0-3
- Use make macros (https://src.fedoraproject.org/rpms/usb_modeswitch/pull-request/1)
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Mar 24 2020 Lubomir Rintel <lkundrak@v3.sk> - 2.6.0-1
- New 2.6.0 release
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 28 2018 Lubomir Rintel <lkundrak@v3.sk> - 2.5.2-1
- New 2.5.2 release
* Fri Feb 23 2018 Florian Weimer <fweimer@redhat.com> - 2.5.1-3
- Use LDFLAGS from redhat-rpm-config
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Aug 18 2017 Lubomir Rintel <lkundrak@v3.sk> - 2.5.1-1
- New 2.5.1 release
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jul 29 2016 Lubomir Rintel <lkundrak@v3.sk> - 2.4.0-5
- Bump the release number to be higher than in Fedora 24
* Thu Jul 21 2016 Lubomir Rintel <lkundrak@v3.sk> - 2.4.0-3
- Fix undefined behavior in config parser (rh #1352055)
* Wed Jul 20 2016 Lubomir Rintel <lkundrak@v3.sk> - 2.4.0-2
- Add the previously omitted systemd service file (rh #1352055)
- Fix crash with invalid arguments (rh #1358472)
* Wed Jun 22 2016 Lubomir Rintel <lkundrak@v3.sk> - 2.4.0-1
- New 2.4.0 release
* Tue May 03 2016 Lubomir Rintel <lkundrak@v3.sk> - 2.3.0-1
- New 2.3.0 release
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Aug 18 2015 Lubomir Rintel <lkundrak@v3.sk> - 2.2.5-1
- New 2.2.5 release