Commit Graph
20 Commits
Author SHA1 Message Date
Alexander Ponyatykh 02ea3752d0 Remove 00-fix-reinit.patch
Initialization and deinitialization functions were rewritten as part of
switch to libusb 1.0 path. There is no point in keeping a separate patch
that changes them slightly.
2019-11-19 00:33:42 +03:00
Alexander Ponyatykh 3e35fe1061 Use debhelper-compat instead of debian/compat 2019-11-18 02:58:36 +03:00
Alexander Ponyatykh 0408478701 Rewrite of initialization and deinitialization functions
Original code iterates through every possible descriptor in nested
loops and tries to do initialization every iteration without considered
what are those descriptors for nor stopping when interface is finally
claimed. It has following problems:
1. It iterates through all configurations, but explicitly resets a
device configuration to 1 every iteration.
2. It never configures a possibly shared device even it is currently
unconfigured.
3. It treats alternative settings as independent interfaces and iterates
through them while implicitly setting alternative setting to 0.
4. It can claim several interfaces but uses only the last one.
5. It doesn't track claimed interfaces' number and always deinitializes
interface 0.

This in fact works for a device with single configuration, single
interface and no alternative settings, like most of the supported
devices (except G510), but it is fundamentally incorrect. Therefore as
part of migration to libusb 1.0 I've rewritten the initialization
procedure in a more linear way. First it selects a configuration, which
is 1 in most cases. Next it iterates through descriptors in this
configuration to find a single compatible interface. Only after that it
resets the device and claims the interface.
2019-11-18 02:50:24 +03:00
Alexander Ponyatykh bd4495ec01 Fix transfer error handling 2019-11-18 02:50:24 +03:00
Alexander Ponyatykh 80dac3d2d6 Use explict libusb_context 2019-11-18 02:50:24 +03:00
Alexander Ponyatykh aa2cf02029 Change log level for some error messages
Contrary to expectations, G15_LOG_WARN is more verbose level than
G15_LOG_INFO.
2019-11-18 02:50:24 +03:00
Alexander Ponyatykh 98449afc5d Delay calling libusb_set_option() until libusb is initialized
G15daemon calls libg15Debug() before initLibG15(). This works well with
the legacy library, but the new one requres a context to be initialized
before calling any functions. This patch adds tracking of libusb
initialization status and never calls libusb_set_option() when library
is not initialized.
2019-11-18 02:50:13 +03:00
Alexander Ponyatykh 92e60dd1a4 Migrate from legacy libusb-0.1 to libusb-1.0 2019-11-17 00:21:34 +03:00
Alexander Ponyatykh 9bccbfa208 Removed override for dh_makeshlibs, because this version changes ABI 2019-11-15 01:10:05 +03:00
Alexander Ponyatykh 9c78d63e0c Fix spelling error in log message 2019-11-14 00:57:22 +03:00
Alexander Ponyatykh 854430b9b8 Update packaging:
* Remove watch file.
 * Сonformant to policy 4.4.1.1.
 * Remove obsolete variable from debian/rules.
 * Add Vcs fileds to debian/control
2019-11-14 00:29:44 +03:00
Alexander Ponyatykh 63fce22fd8 Update upstream source from tag 'upstream/1.3.0_svn324'
Update to upstream version '1.3.0~svn324'
with Debian dir f7dfa8d20b
2019-11-13 22:51:35 +03:00
Alexander Ponyatykh 649e30d0a2 New upstream version 1.3.0~svn324 2019-11-13 22:51:35 +03:00
Alexander Ponyatykh 1b84f9ae6d Update the changelog 2019-05-10 11:46:02 +02:00
Alexander Ponyatykh f0ab55d7b4 New maintainer 2019-05-10 11:42:52 +02:00
Alexander Ponyatykh 8416e8294e Update policy version to 4.3.0 2019-05-10 11:42:31 +02:00
Alexander Ponyatykh 1126bcf712 Switch to dh from cdbs, multiarchify, update debian/control 2019-05-10 11:41:39 +02:00
Alexander Ponyatykh 4cf9e13b7e Use 3.0 (quilt) source format 2019-05-10 11:39:02 +02:00
Alexander Ponyatykh 0c642df5e3 Remove redundant documentation files 2019-05-10 11:36:38 +02:00
Alexander Ponyatykh dfaff3b01b Add a patch to fix re_initLibG15() to properly reset the internal state
This allows g15daemon to continue working after keyboard was
replugged and after suspend or hibernate.

LP: #1357556
2019-05-10 11:34:58 +02:00