V90 Motorola sm56 Data Fax modem – так его видит винда.
Обычный win-модем, но вот в Linux с ним проблема – фирменные драйвера есть либо под
ядро 2.4, для ядра же 2.6 есть только под один дистрибутив – и все.
Есть сайт
http://www.sm56linux.narod.ru/
но там тоже все старое.
Стал искать в инете – общее мнение – для 2.6 ничего нет – и этот модем можно выкинуть.
И только один товарищ выразился в том смысле, что вроде как кто-то пробовал запустить этот модем на других драйверах – smartlink – и вроде что-то даже заработало. Но вот деталей не знает.
Ну хоть какая-то информация. Стал рыть в эту сторону – а эту фирму уже купила другая – и там
тоже что-то не фонтан.
Решил идти другим путем.
Итак, как я запустил свой модем Motorola SM56 на дистрибутиве Mandriva 2007 на ноутбуке
Asus A6JA.
Первым делом пошел на сайт
http://linmodems.org
скачал утилиту scanModem
http://132.68.73.235/linmodems/packages/scanModem.gz
Запустил ее. Вот вывод файла scanout
Код:
PCIDEV=8086:27d8
CLASS="Class 0403: 8086:27d8"
NAME="0403: Intel Corporation 82801G "
Vendor=8086
Device=27d8
SUBSYS=1043:1123
SUBNAME=" ASUSTeK Computer Inc.: Unknown device 1123"
SUBven=1043
IRQ=23
Test="./scanModem test 8086:27d8 1043:1123"
SOFT=8086:27d8
Codec=1057
VendorID=0x10573055
SLMODEMD_DEVICE=hw:0,?
PORT="hw:0,?"
Driver=
DRIVER_=
KDRIVER=
ASOUND=
CODECp=
CODEC=
COD=
HDA=1
IDENT=slmodemd
TST=
Обратим внимание на следующие строки
Vendor=8086
Device=27d8
SOFT=8086:27d8
VendorID=0x10573055
SLMODEMD_DEVICE=hw:0,?
IDENT=slmodemd
Уже что-то.
Потом пошел вот сюда
http://linmodems.technion.ac.il/packages/smartlink/
Скачал
http://linmodems.technion.ac.il/packages/s...2.6.17-5mdv.tgz
И вот это скачал – т.к. у меня gcc 4
http://linmodems.technion.ac.il/packages/s...009_gcc4.tar.gz
В файле Readme из martlink/hda-intel_2.6.17-5mdv.tgz прочел
Код: Выделить всё
High Definition Audio Cards can host a variety of softmodem chips, including
those with the following Vendor IDs:
0x163c3055 Smartlink
0x163c3155 Smartlink
0x11c13026 AgereSystems
0x11c11040 AgereSystems
0x10573055 Motorola
0x10573155 Motorola
Ау меня как раз VendorID=0x10573055
Уже близко.
Далее. В файле Slmodem-ALSA.txt из пакета slmodemd-2.9.11_20051009_gcc4.tar.gz
Нашел.
PCI ID controller name/source low level driver
8086:xxxx many Intel controllers snd-intel8x0m
Уже практически рядом.
Что дальше? А дальше нужно ядро 2.6 и alsa версии 1.0.13 и выше.
Скачал ядро 2.6.19 – там уже alsa 1.0.13 – при компиляции делаю поддержку alsa -
включаю туда стандартные модули типа
<M> OSS Mixer API И пр.
Обязательно включить
<M> Intel HD Audio
<M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
<M> Intel/SiS/nVidia/AMD MC97 Modem
Компилирую ядро. Устанавливаю.
Дальше делаю так - копирую из пакета
slmodemd-2.9.11_20051009_gcc4.tar.gz файл slmodemd в каталог /usr/bin
и от root запускаю
# slmodemd --country=RUSSIA --alsa hw:0,1
error: alsa setup: cannot open playback device 'hw:0,1': Device or resource busy
error: cannot setup device `hw:0,1'
Не пошло. Пробую другие цифры в конце hw:0,2 и далее – наконец
# slmodemd --country=RUSSIA --alsa hw:0,6
SmartLink Soft Modem: version 2.9.11 Mar 13 2006 18:27:33
symbolic link `/dev/ttySL0' -> `/dev/pts/4' created.
modem `hw:0,6' created. TTY is `/dev/pts/4'
Use `/dev/ttySL0' as modem device, Ctrl+C for termination.
Запускаю kppp – и там счастье – есть модем.
Запустил терминал в kppp – глянуть, что там с модемом
Код:
ATZ
OK
ati0
SmartLink Soft Modem
OK
ati1
SmartLink Soft Modem, 2.9.11
Smart Link Ltd.
OK
ati2
SmartLink Soft Modem, 2.9.11
Smart Link Ltd.
OK
ati3
hw:0,6
alsa modem driver
OK
ati4
s00=000 s01=000 s02=043 s03=013 s04=010 s05=008 s06=002 s07=060
s08=002 s09=006 s10=007 s11=100 s12=050 s13=001 s14=000 s15=001
s16=001 s17=000 s18=000 s19=000 s20=000 s21=000 s22=000 s23=000
OK
ati5
Stored Profile 0:
OK
ati6
Stored Profile 1:
OK
ati7
Country: RUSSIA
OK
Модем виден.
Меперь надо узнать, что у него за протокол настроен.
Ставлю заводские настройки и спрашиваю про протокол
at&f
OK
at+ms?
92,1,300,56000
OK
Получается, что по-умолчанию у него стоит протокл v92, максимальная скорость – 56000
А моторола вообще-то V90.
Хорошо.
Вот кусок из фирменного руководства по at-командам smartlink
AT+MS=
[<mod>][,[<automode>][,[<min_rate>][,[<max_rate>]]]]
<mod> a decimal number specifying the preferred
modulation (automode enabled), or the
modulation (automode disabled).
<automode> 0/1 Automode disabled/enabled
<min_rate> minimum rate for connection. If lower than the
actual minimum rate for the selected
modulation, the actual lowest supported rate
will be taken.
<max_rate> maximum rate for connection. If higher than
the actual maximum rate for the selected
modulation, the actual highest supported rate
will be taken.
По-умолчанию включен v92, автоопределение включено, минимальная скорость – 300, максимальная – 56000.
Надо выставить V90, автоопределение включить, минимальную такой же оставить, а максимум сбавить до 50666 – на наших линиях все равно больше вряд ли потянет.
Делаем.
at+ms=90,1,300,50666
OK
at+ms?
90,1,300,50666
OK
Выставляем в kppp – в строках инициализации
в первой строке - atz – сброс модема
во второй строке
at&f+ms=90,1,300,50666 – выставить заводские настройки и настроить V90
и теперь можно пользоваться модемом.
Код: Выделить всё
ATZ
OK
AT&F+MS=90,1,300,50666
OK
ATM1L2
OK
ATDP101010
И вот пожалуйста – интернет!
Вот ссылка на фирменные команды модема motorola. Но они у меня не прошли -
установка V90 at*mm15 не пошла.
http://www.modemhelp.org/inits/motorolasm56.html
В общем, у кого есть возможность - посмотрите на эти команды – может что и накопаете.
Я разобрал только самые общие моменты.
Также можно так запускать инициализацию устройства
Код: Выделить всё
slmodemd --country=RUSSIA --alsa modem:0
либо
slmodemd --country=RUSSIA --alsa modem:1
Какой получится, такой и запускать.
Что не заработало – это динамик. Он включается через
atm1l3 – включить динамик до обнаружения несущей на максимальной громкости – ни фига, глухо как в танке. Если кто сможет этот момент сделать – будет хорошо. Возможно, запускается общий динамик компьютера или еще что – но в виндах динамик работает, а в Linux – нет.
Да, при инициализации модема лучше выключить приложения, которые используют звуковую – для начала хотя бы. У меня работало и при включенном amarok – но мало ли.
Вот, собственно, и все.
Если у кого стандартная программа дозвона не работает с устройством
/dev/ttySL0 – можно сделать ссылку с него на /dev/modem, например.
Ну и главное – для начала запустите утилиту scanmodem и внимательно прочитайте, что она выдаст.
Возможно, у кого-то получиться запустить это дело на фирменных драйверах smartlink – пробуйте, может там даже проще и лучше будет.
Данную статью я также размещу на некоторых других форумах – ибо судя по поиску в инете, модем распространненый, и запустить его под linux хотят очень многие.