Итог: (was [Hardware] ICH6 modem & slmodem )

Artem u2u на nm.ru
Пн Сен 12 01:29:12 MSD 2005


Artem wrote:

>Доброго времени суток всем!
>
>Имеется встроенный модем
>
>Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem
>Controller (rev 3).
>      IRQ 22.
>      I/O at 0x2400 [0x24ff].
>      I/O at 0x2500 [0x257f].
>
>Собрал для него slmodem-2.9.9e ( http://linmodems.technion.ac.il/packages/smartlink/ ) 
>Все вроде бы работает, но возник ряд вопросов:
>1. Почему-то модем соединяется максимум на 33000  (хотя в win он коннектится в среднем на 41000)
>  
>
Строка инициализации:

+MS= 90,1,300,56000 (или  +MS=92,1,300,56000)

долго вызывала у меня сомнения в необходимости (хотя, конечно, не мешала) - с моей старой  АТС (млин, Бен-Ладена на них нету   >:o   ) долго не мог я определить - нужна ли она _реально_ для соединения по V90 или это линия у меня такая, полностью соотвествующая всем придуманным (и еще непридуманным) законам Мерфи, пока не выяснил, что формат команды следующий (для slmodemd, то бишь модемов Smart Link):

+MS= protocol,automode,minspeed,maxspeed
+MS=? - выводит возможные аргументы
+MS? - выводит текущие установки.

Вот согласно _дефолтным_ установкам (дефолтным-подчеркиваю) - все в норме:
AT+MS?
92,1,300,56000
OK

1 вопрос снят с повестки.  (посмотрел с сожалением на свой старый Zyxel 
- жаль что не usb a com - держал _железно_ 46666, нету у меня в ноутбуке 
com-порта :-( )

>2. При дисконнекте - модем "думает" до пол-минуты прежде чем повесить трубку (уже после того, как pppd завершил свою работу). Как это вылечить?
>  
>
От это уж они с pppd не могут договориться. Если набирать номер вручную 
- то "паааложь трррубку (с)" можно сделать командами из терминала ( +++ 
ATH ) - в любое время (в том числе и после соединения с ppp-сервером). 
При использовании же kppp  - жму "disconnect" - pppd шустренько так 
умирает, бросая slmodem на произвол судьбы, kppp тоже быстро "умывает 
руки" - и выходит на исходную позицию. Модем продолжает истерически 
пищать в линии, пока pppd на "том конце" не обнаруживает, что его 
коллега pppd "на этом конце - "отдал концы"" - следует retrain (попытка 
пересоединения - естесно, неудачная), и связь рвется по  инициативе 
сервера (проходит около 30-и секунд), после чего модем, обнаружив 
короткие гудки в линии, делает долгожданное "паложь трубку".

Как подружить pppd с slmodemd? Любые предложения приветствуются.

>3. Может, кто-либо знает, как "услышать" звук модема?
>  
>
Здесь сначала поясню - модем в ноутбуке, встроенного спикера в нем нет, 
вывод звука модема осуществляется программным микшированием его с 
основным звуком (в offtopic-е). Это подтвердилось изучением datasheet на 
AC97 от Intel. Цитирую:

> Elimination of the On-board Modem Speaker
> ...<skip>...
> Modem subsystems currently rely on an on-board speaker for call 
> progress monitoring.
> ...<skip>...
> There is a hardware-dependent analog solution and a 
> hardware-independent digital
> solution (which supports analog or USB speakers).
> ...<skip>...
> Analog solution: The system designer can route an analog mix of the 
> modem Tx and Rx signals through
> PHONE input of the AC '97 analog mixer.
> ...<skip>...
> Digital solution: The modem driver designer can route digital copies 
> of the modem Rx (ADC) and Tx (DAC)
> streams (or perhaps just the digitized pre-echo-canceled modem Rx 
> stream from the ADC) into the system-wide
> software audio mixer. As with the analog solution, this introduces a 
> dependency on the user's preferred master
> audio volume and mute settings. For this technique to be 
> cost-effective a soft modem implementation is
> probably required.
> For soft modem implementations AC '97 2.2 recommends the digital call 
> progress monitoring solution.

В моем случае - здесь чистый "Digital solution". В микшере для модема - 
лишь "кнопка"  - "Снять/положить трубку".

Вопрос: каким образом можно "подмикшировать" звук из dsp1 (pcmC1D0c , 
pcmC1D0d) к основным сигналам (как вариант - добавить еще один регулятор 
в микшер)? Возможно ли такое средствами ALSA ? (на извращения, насколько 
я вижу, она богата) В offtopic-е то реализовано - чем _мы_ хуже? :-) 

>4. Для модема использую snd_intel8x0m. В modinfo - у него куча различных параметров,
>но толком не указано какой из них для чего. Где найти доп. информацию по этим параметрам?
>
>  
>
С этим я разобрался, пройдясь по исходникам и документации по alsa.

P.S. snd_intel8x0m самостоятельно не грузится при старте - пришлось его 
прописать в modules. Почему так? Кто же грузит snd_intel8x0 (звуковуху) 
? И почему про модем забывает? Куды крутить?

С уважением. Артем.


Подробная информация о списке рассылки Hardware