URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID7
Нить номер: 840
[ Назад ]

Исходное сообщение
"ноутбук fujitsu-siemens c1020. модем и 'no dialtone'"

Отправлено vadlm , 06-Янв-09 15:59 
Есть ноутбук fujitsu-siemens c1020. модем там Conexant HSF. Взял драйвера с http://www.linuxant.com. Установил, настроил регион и т.д. Не в первый раз этими драйверами пользуюсь, всегда удачно. Но не в этот раз. Сразу получаю "no dialtone". Если подкидываю ATX3, тогда результат "no carrier"
Т.е. модем вообще не "слышит" линию (линию проверил - исправна). Так вот если предотвратить загрузку модуля звука snd_via82xx при старте системы, то модем работает и все "слышит", соединение устанавливает. Как только после этого подгружаю звук, все, опять "глухой" становиться.
Это какая-то специфическая фича C1020. У него звуковуха и модем Conexant. Сидят на одном прерывании irq10.

Может был у кого удачный опыт одновременной работы звука и модема?
Есть половинчатое решение загружать звук "по требованию", но это как-то не то.


Содержание

Сообщения в этом обсуждении
"ноутбук fujitsu-siemens c1020. модем и 'no dialtone'"
Отправлено Антон , 06-Янв-09 20:38 
Посмотрите, что напишет при запуске скрипт scanModem (http://linmodems.technion.ac.il/#scanModem), похоже у вас неподдерживаемый HDA модем.

"ноутбук fujitsu-siemens c1020. модем и 'no dialtone'"
Отправлено vadlm , 16-Янв-09 17:22 
>Посмотрите, что напишет при запуске скрипт scanModem (http://linmodems.technion.ac.il/#scanModem), похоже у вас неподдерживаемый
>HDA модем.

Почти так и есть (за исключением HDA) Поэтому и драйвера брал с www.linuxant.com
у них 14.4к ограничение по скорости в FREE версии (есть способы "разогнать").

Связывался с тех.поддержкой Linuxant, то же ничего толкового не сказали. Говорят, что с моими настройками все должно работать, проблем нет (я им дамп отсылал, который их программка собирает из системной информации)
Начал изучать драйвер звука и нашел таки проблему.

Проблема была в следующих строчках кода via82xx.c
===============================================
   if (chip->chip_type != TYPE_VIA686) {
       /* Workaround for Award BIOS bug:
        * DXS channels don't work properly with VRA if MC97 is disabled.
        */
       struct pci_dev *pci;
       pci = pci_get_device(0x1106, 0x3068, NULL); /* MC97 */
       if (pci) {
           unsigned char data;
           pci_read_config_byte(pci, 0x44, &data);
           pci_write_config_byte(pci, 0x44, data | 0x40);
           pci_dev_put(pci);
       }
   }
================================================
В общем, говоря проще, драйвер активирует MC97 для того, что бы DXS каналы звуковой карты в режиме VRA нормально работали, а это и есть наш модем MC97 (0x1106, 0x3068), который мы уже запустили с помощью драйверов linuxant. Вот здесь и произошел затык.

Закоментировал эти строчки
//            pci_write_config_byte(pci, 0x44, data | 0x40);
//            pci_dev_put(pci);

Пересобрал драйвер. И все работает. Для проверки зашел в minicom дал команду набора номер ATDTxxxxxx и слышу тональный сигнал, набор номера, ответ удаленного модема. Звуковая подсистема тоже работает и DXS каналы (из-за запуска которых все это и закрутилось).
В виде патча оформлять не стал. Кому понадобиться, сам разберется с двумя строчками кода.