HEX
Server: LiteSpeed
System: Linux php-prod-3.spaceapp.ru 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: sarli3128 (1010)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/ubuntu-drivers-common/detect/sl-modem.py
# ubuntu-drivers-common custom detect plugin for sl-modem
#
# (C) 2012 Canonical Ltd.
# Author: Martin Pitt <martin.pitt@ubuntu.com>

import os
import re
import logging
import subprocess

modem_re = re.compile(r'^\s*\d+\s*\[Modem\s*\]')
modem_as_subdevice_re = re.compile(r'^card [0-9].*[mM]odem')

pkg = 'sl-modem-daemon'


def detect(apt_cache):
    # Check in /proc/asound/cards
    try:
        with open('/proc/asound/cards') as fd:
            for line in fd:
                if modem_re.match(line):
                    return [pkg]
    except IOError as e:
        logging.debug('could not open /proc/asound/cards: %s', e)

    # Check aplay -l
    try:
        env = os.environ.copy()
        try:
            del env['LANGUAGE']
        except KeyError:
            pass
        env['LC_ALL'] = 'C'
        try:
            aplay = subprocess.Popen(
                ['aplay', '-l'], env=env,
                stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                universal_newlines=True)
            (aplay_out, aplay_err) = aplay.communicate()
            if aplay.returncode != 0:
                logging.error('aplay -l failed with %i: %s' % (aplay.returncode,
                              aplay_err))
                return None
        except FileNotFoundError:
            logging.error('aplay command not found')
            return None

    except OSError:
        logging.debug('could not open aplay -l. Skipping sl-modem detection')
        return None

    for row in aplay_out.splitlines():
        if modem_as_subdevice_re.match(row):
            return [pkg]

    return None