agrsmodem
[
Пред. ] [ Содержание ] [
След. ]
agrsmodem
Created Понедельник 23 Ноябрь 2015
Agrsm Drivers HOWTO
Это хауту поможет тем у кого не заводится модем от Agere Systems Inc (ASI). Один из наиболее распространенных, чип 11с11040, который встраивается в различные HDA (High Definition Audio) звуковые карты. В данный момент ASI слились с LS Inc. Т.е. Вендор ID 1с11, которым раньше подписывались ASI и его предшественник Lucent, теперь принадлежит LSI.
Agrsm софт для linux первоначально был написан Soumyendu Sarkar из ASI. ltmodem, с поддержкой модемов на более ранних чипсетах DSP, так же его рук дело. Так как код agrsm открыт для всех, то появляются незначительные дополнения для совместимости с новыми версиями ядра.
Имейте ввиду, что в названии модема или на его упаковке обычно не указывается чипсет. Если есть сомнения в определении чипсета используйте утилиту scanModem.
Для компиляции понадобятся пакеты make, binutils и в зависимости от дистрибутива linux-source-kv или kernel-source-kv. Драйвера которые будут компилиться agrmodem.ko и agrserial.ko . Подчеркиванием выделены имена файлов.
Команды выделены наклонным шрифтом. Для систем типа ubuntu перед командами, которым понадобятся привилегии рута не забываем ставить sudo. Для других дистрибутивов su root.
Если у вас уже есть подходящие драйвера для вашего ядра (к примеру их можно взять здесь) переходите к пункту 7. Если agrsm чипсет не 11с11040, то переходите к пункту 5.
Этот способ не подходит для систем не x86 (таких как AMD или x86_64). Но если нужна помощь для таких систем, обратитесь в Linmodems Mailing list
1. для 11с11040 надо сперва определить какая у вас версия ALSA drivers. Имейте ввиду, что версия альсы должна быть та же что поставлялась с вашим ядром. Если же вы уже обновляли альсу, то вам надо будет вернуться к старой версии или же обновить ядро. Определить версию альсы можно с помощью команды cat /proc/asound/version
Вывод команды будет примерно таким:
Advanced Linux Sound Architecture Driver Version 1.0.16.
Compiled on Jun 18 2008 for kernel 2.6.24-19-generic (SMP).
т.е. версия драйвера ALSA 1.0.16 .
1. патчим файл hda_codec.c обычно он находится здесь /usr/src/linux/sound/pci/hda/hda_codec.c (конечно учитывая, что у вас установлены исходники ядра). Открывайте его в любимом текстовом редакторе с правами рута.
Добавте две строки сразу после списка '#include' в самом начале файла:
EXPORT_SYMBOL(snd_hda_codec_read);
EXPORT_SYMBOL(snd_hda_codec_write);
Сохраните.
1. теперь компилим и инсталим новые модули:
в папке с исходниками ядра /usr/src/linux
sudo make oldconfig
sudo make modules
Выполнение этой команды займет какое-то время. Смотрите есть ли ошибки в конце (не смущайтесь если будут Предупреждения (Warnings). Это нормально)
Копируем новый модуль: sudo cp sound/pci/hda/snd_hda_intel.ko /lib/modules/`uname -r`/kernel/sound/pci/hda/snd-hda-intel.ko
для некоторых систем (к примеру Ubuntu) путь будет немного другим. Если есть сомнения лучше воспользуйтесь поиском чтобы найти где находится snd-hda-intel.ko из папки /lib/modules/ и замените его только что пропатченым.
Перегружаемся. Проверяем работает ли звук
1. нужный драйвер (в зависимости от версии ALSA) может быть вот здесь linmodems 11c11040 pit.
если ваша ALSA 1.0.15 или старше, скачивайте agrsm-HDA-20080721-ALSA15.tar.bz2
если 1.0.16 или новее: agrsm-HDA-20080721.tar.bz2
на некоторых системах правильно скомпилятся драйвера именно для ALSA 15, не смотря на то, что дистрибутив поставляется с ALSA 16 (к примеру ubuntu 8.04). для таких случаев смотрите сноску внизу.
1. распаковываем tar -jxvf (имя файла) и переходим в новую папку cd agrsm-20080721
2. Компилим драйвер модема make module. Если появится ошибка с упоминанием SNDRV_CARDS, убедитесь что вы скачали правильный архив *-ALSA15. Если все равно получаете ошибку, обратитесь за поддержкой в Linmodems mailing list
3. когда модуль скомпилен, инсталим его:
sudo mkdir /lib/modules/`uname -r`/extra
sudo cp *.ko /lib/modules/`uname -r`/extra/
sudo depmod -ae
1. подгружаем новые модули:
sudo modprobe agrmodem
если появляется ошибка проверьте dmesg | tail
или если текст ошибки содержит что-то вроде symbol snd_cards попробуйте команду sudo modprobe agrmodem –force-modversion
подгружаем следующий модуль sudo modprobe agrserial
1. Теперь модем должен завестись и находится он на порту /dev/ttyAGS3. Его же прописываем в wvdial.conf. Если модем не отвечает во время набора проверьте dmesg | tail. Если видна ошибка No stream, значит вы скачали драйвер не той версии.
Для тех случаев, когда для системы с которой поставлялась 16-я альса подходит драйвер ALSA 15 сделайте следующее: скачайте исходники ALSA-driver 1.0.15 а так же ALSA-driver 1.0.16. распакуйте в разные папки. Скопируйте содержимое папки alsa-driver-1.0.15/alsa-kernel/pci/hda/ в папку alsa-driver-1.0.16/alsa-kernel/pci/hda/ заменяя все что там есть. Теперь вернитесь к пункту где расказывается как изменить hda_codec.c и выполняйте инструкции уже для этой модифицированной альсы.
HOWTO by Bjorn Wielens, last updated July 29, 2008 With additions and suggestions by Jacques Goldberg and Marvin Stodolsky. Translated to russian by Roan.
Содержание