пятница, 16 января 2009 г.

Модем ноутбука fujitsu siemens C1020 (modem,no dialtone,no carrier)

Попался мне ноутбук fujitsu siemens C1020. Накатил Slackware 12.2. А вот с модем вышел небольшой казус. Итак, модем в данном ноутбуке Conexant и драйвер есть на сайте Linuxant (14.4к ограничение в FREE версии). Драйвера входящие в комплект Alsa (snd_via82xx_modem) не подходят!
Скачал, установил. И вот они грабли. Что бы ни делал, какие параметры драйверу звука (snd_via82xx) не задавал, модем упорно выдает "no dialtone" или "no carrier". Если не допустить загрузку драйвера звука (snd_via82xx), то тогда модем дозванивается и соединение устанавливается, но молча, как партизан. Как только подгружаешь драйвер звука, сразу те же глюки. Даже если затем драйвер выгрузить, ничего не помогает. Только перезагрузка. Связывался с тех.поддержкой 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 нормально работали, а это и есть наш модем (0x1106, 0x3068), который мы уже запустили с помощью драйверов linuxant. Вот здесь и произошел затык.

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

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

Комментариев нет:

Отправить комментарий