smcinit − инициализирует контроллер IrDA SMSC на различных ноутбуках
smcinit [ОПЦИИ]
Ноутбуки Toshiba Satellite 1800, Satellite 5100, Tecra 9100 и может быть некоторые другие модели снабжены микросхемой SMCS LPC47N227 SuperIO, которая совместима с IrDA SIR/FIR. Подсистема IrDA микросхемы SuperIO поддерживается модулем smc−ircc ядра Linux. К несчастью ни один из BIOS ни настраивает микросхему SuperIO подсистемы IrDA (SIR порт, FIR порт, dma, irq, режим IrDA, питание) ни настраивает мост PCI−ISA для декодирования любого пригодного порта. Ядро Linux настолько сопротивляется обнаружению второго UART, что становится невозможно использовать его в режиме SIR. По некоторым причинам режим FIR smc−ircc позволяет обнаружить микросхему SuperIO, но единожды найдя не настроенную подсистему IrDA, приводит к ошибке при вставке модуля.
В то время как проблема была исправлена в ядрах Linux серии 2.6.x, у пользователей 2.4.x она осталась. Даниель Пери (Daniele Peri), Роб Миллер (Rob Miller) и Пол Хэмпсон (Paul Hampson) создали небольшие служебные программы, которые инициализируют LPC47N227 SuperIO, позволяя smc−ircc дрйверу IrDA ядра обнаружить и использовать микросхему SMSC.
Моей основной работой было собрать эти служебные программы в один пакет для лёгкой установки и использования.
−V, −−version
Показать версию программы и завершить работу.
−h, −−help
Показать небольшую справку по опциям и завершить работу.
−v, −−verbose
Увеличить подробность сообщений о предпринимаемых действиях.
−t, −−tty=устройство
Если указано, то это последовательное устройство, которое будет отвязано от основного последовательного драйвера ядра. Это делается для того, чтобы заменить внешний вызов setserial(1), который сбросит настройки устройства UART. Нет значения по умолчанию.
−s, −−sirio=IO
Задаёт адрес порта ввода−вывода SIR (Serial InfraRed − последовательного инфракрасного устройства) в IO. По умолчанию используется значение 0x3f8.
−f, −−firio=IO
Задаёт адрес порта ввода−вывода FIR (Fast InfraRed − быстрого инфракрасного устройства) в IO. По умолчанию используется значение 0×130.
−i, −−firirq=IRQ
Задаёт номер аппаратного прерывания FIR (Fast InfraRed − быстрого инфракрасного устройства) в IRQ. По умолчанию используется значение 3.
−d, −−firdma=DMA
Задаёт канал прямого доступа к памяти FIR (Fast InfraRed − быстрого инфракрасного устройства) в DMA. По умолчанию используется значение 3.
В процессе инициализации системы из каталога /etc/init.d запускается сценарий, который запускает подходящую служебную программу инициализации SMC. Это делается до запуска PCMCIA, поскольку на Tecra 9100 и других моделях беспроводной драйвер orinoco_cs блокирует область ввода−вывода, используемую 47N227 SuperIO.
Единственный файл конфигурации − /etc/sysconfig/smcinit, а переменная SMCCONFIG может быть установлена в
"1800" или "5100". По умолчанию используется значение "5100".
1800
Для Toshiba Satellite 1800.
5100
Для Toshiba Satellite 5100 и Toshiba Tecra 9100.
Следующий шаг заключается в настройке пакета стека ядра IrDA для подключения драйвера smc−ircc. Это зависит от дистрибутива Linux. Главное, чтобы это устройство было установлено в "irda0". Запустите следующие команды:
irattach irda0 −s
Настройка, зависящая от дистрибутива:
SuSE
Отредактируйте /etc/sysconfig/irda и установите IRDA_PORT=irda0
RedHat
Отредактируйте /etc/sysconfig/irda и установите DEVICE=irda0
Драйвер smc−ircc предварительно загружается в ядро. Я проверил пакет только на Tecra 9100 без каких−либо дополнительных этапов, но для Toshiba Satellite 1800 Даниэль Пери (Daniele Peri) предложил поместить следующую строку в файл /etc/modules.conf (в одной строке):
options smc−ircc ircc_dma=3 ircc_irq=7 ircc_cfg=0x2e \
ircc_sir=0x2e8 ircc_fir=0x2f8
После этого запустите команду:
prompt# depmod −a
Если ноутбук вошёл в режим ожидания, по пробуждению драйвер smc−ircc перестанет работать. Вам нужно остановить службу IrDA, затем остановить SMCINIT, запустить SMCINIT, и наконец, запустить службу IrDA. Просто запомните, что драйвер ядра должен быть выгружен и затем снова загружен.
/etc/sysconfig/smcinit
Файл настройки для сценария запуска SMCINIT. Это сценарий оболочки.
Этот документ написан Клауди Костин (Claudiu Costin) <claudiuc@kde.org> Авторы служебных программ − Даниэль Пери (Daniele Peri), Роб Миллер (Rob Miller) и Пол Хэмпсон (Paul Hampson). Томас Пинц (Thomas Pinz) улучшил tosh−smcinit (бывшую tosh5100−smcinit), увеличив количество поддерживаемых моделей Toshiba Satellite.
Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.
smcinit(7),
tosh1800−smcinit(8),
irattach(1),
irdadump(1),
http://irda.sourceforge.net/smcinit/ − домашняя страница пакета SMCINIT.