Как сконфигурировать модем для Солярис 1

INFODOC ID: 12710

Начальная инициализация Sun

1. Подключите модем к Sun. Используйте либо порт A либо B и убедитесь, что подключение будет произведено "модемным" кабелем c задействованными контактами 1-8 и 20. Если Ваша система имеет разъём на который выведены оба порта A и B одновременно (например, это SPARC Station 10, Classic/LX и т. д.) и Вы хотите использовать для подключения модема порт B, то в этом случае необходим разветвитель (p/n X985A).

2. Войдите как root и установите следующие значения eeprom:
	eeprom ttya-ignore-cd=false  (для порта A)
или
	eeprom ttyb-ignore-cd=false  (для порта B)
Подайте команду halt и, после останова системы, проверьте правильность установки eeprom с помощью команды printenv. Загрузите систему командой boot или b. Войдите как root.

3. Убедитесь, что процесс getty не выполняется на порту к которому Вы подключили модем. Для этого используйте команду:
	ps -aux | grep getty
Вы можете получить строку вида:
	root  308  0.0 0.0 40 0  a IW 13:38 0:00  - cons8 ttya (getty)
Если процесс присутствует, редактируйте файл "/etc/ttytab" и вставьте знак "#" в начало соответствующей строки файла, например:
	#ttya	"/usr/etc/getty cons8"	wyse50	on local secure
затем подайте команду "kill -HUP 1", чтобы уничтожить процесс. Убедитесь, что процесс не выполняется с помощью команды ps, как было описано выше.

4. Добавьте следующие строки в файл "/etc/gettytab". Это будет использовано системой для настройки скорости порта:
	#
	# Modem dial-in getty entries
	#
	D38400|Fast-Dial-38400:	:sp#38400:p8:ms=crtscts:
	D19200|Fast-Dial-19200:	:sp#19200:p8:ms=crtscts:
	D9600|Fast-Dial-9600:	:sp#9600:p8:ms=crtscts:
Здесь "p8" устанавливает для принимаемых данных следующие параметры: размер 8 бит, 1 стоповый бит, без контроля чётности, как принято в большинстве случаев. Если Вы уберёте "p8", то будут взяты значения, принятые в Sun по умолчанию: размер 7 бит, 1 стоповый бит, контроль чётности even. Параметр "ms=crtscts" устанавливает аппаратный режим управления потоком данных между модемом и последовательным портом. Имейте в виду, что Sun поддерживает только следующие значения скорости последовательного порта: 2400, 9600, 19200 и 38400.

5. Редактируйте файл "/etc/ttytab":
	ttya	"/usr/etc/getty D9600"	dialup	on remote secure
	   ^			  ^
	   |			  |_____Измените на D9600, D19200, D38400
	   |				в зависимости от желаемой скорости
	   |				модема. Это ссылка на метку в файле
	   |				"/etc/gettytab"/
	   |____Измените на ttyb, если модем подключён к порту B.
6. Создайте устройства для доступа к модему (dialout), если они ещё отсутствуют:
	cd /dev
	mknod cua0 c 12 128
	mknod cua1 c 12 129
	chmod 666 cua0 cua1
	chown uucp cua0 cua1
Этими устройствами будут "/dev/cua0" для ttya (порт A) и "/dev/cua1" для ttyb (порт B).

7. Подайте команду:
	/usr/etc/ttysoftcar -n ttya
Эта команда запрещает программную генерацию сигнала несущей. Впоследствии монитор последовательного порта getty будет реагировать на наличие аппаратного сигнала Carrier Detect. Если после выдачи команды система "зависнет" и приглашение не появится, то это означает, что процесс getty всё-ещё выполняется. Уничтожьте его, как описано в пункте 3.

Настройка модема

Вы должны внимательно проанализировать документацию на модем и настроить его согласно требованиям Sun. Если у Вас возникают вопросы, касающиеся процедуры настройки модема - обратитесь в службу поддержки производителя модема. Приложение A содержит примеры инициализации и установки регистров модема. Так как, необходимые настройки могут меняться при модификации модема, то эти примеры Вы можете использовать только как руководство к действию. Настройку модема производите по следующей процедуре:

1. Подготовьтесь к связи с модемом при помощи команды tip. Для этого:

a. Модифицируйте файл "/etc/remote" и добавьте следующие строки после раздела, начинающегося с "hardwire:\"
Для порта A:
hardwire:\
        :dv=/dev/cua0:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
modem1:\			<---добавьте эту и следующую строку
      :dv=/dev/cua0:br#9600:
	               ^
		       |_____скорость передачи порта*
		             Должна быть той-же самой, что и скорость,
			     установленная для getty. Если в ttytab
			     использовалось D9600, то здесь Вы должны
                             использовать br#9600.
Для порта B:
hardwire:\
        :dv=/dev/cua0:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
modem1:\			<---добавьте эту и следующую строку
      :dv=/dev/cua1:br#9600:
		       ^
		       |_____скорость передачи порта*
			     Должна быть той-же самой, что и скорость,
			     установленная для getty. Если в ttytab
			     использовалось D9600, то здесь Вы должны
			     использовать br#9600.
* Если Вы используете модем на 28.8k, используйте для скорости передачи порта 38400; для модема на 14.4k используйте 19200, а для модема на 9600 используйте 9600.

b. После модификации файла "/etc/remote" и смены прав доступа к порту, запустите shelltool и подайте из него следующую команду:
	tip modem1	(Используйте только shelltool у которого запрещена прокрутка!)
Вы должны получить сообщение "connected". Если же Вы получили другое сообщение, например, "all ports busy" - проверьте правильность информации в файле "/etc/remote".

c. Проверьте, что модем отвечает на команды. Напечатайте:
	AT<Enter>
и Вы должны увидеть ответ от модема "OK".

Внимание: Ещё раз подчеркнём, что Вы должны вызывать tip только в shelltool у которого запрещена прокрутка. В противном случае в модем может быть не послан необходимый для него символ возврата каретки (CR).

2. Инициализируйте модем. Для этого:

a. Обратитесь к приложению A и найдите тип используемого Вами модема. Если Вам повезло, то установите dip переключатели так, как описано, и используйте приведённую строку для инициализации модема. Например, для модема US Robotics Courier напечатайте:
	AT&F1&B1&C1&D2X0S0=1&W
b. Если Вы не имеете строки инициализации, то обратитесь к руководству по использованию модема или в службу технической поддержки производителя модема

c. После установки модема, выйдите из программы "tip" напечатав последовательность:
	<Enter>~.
("возврат каретки", за которым следуют символы "~" и ".")

Запуск процесса Login

Последующие операции запускают процесс getty, что позволяет получить login от модема.

1. Стартуйте новый процесс getty (login service), напечатав следующую команду:
	kill -HUP 1
2. Проверьте, что процесс getty выполняется:
	ps -aux | grep getty
Ответ может быть, например, таким:
	root  557  0.0 0.0  40    0  co IW 09:02  0:00 - cons8 console (getty)
	root  558  0.0 0.0  40    0  a  IW 09:02  0:00 - D9600 ttya (getty)
	root  596  0.0 1.6  32  196  p1 IW 09:51  0:00 grep getty
Процесс 558 - это getty для обслуживания login service для модема.

Требования Sun к модему

Убедитесь, что модем поддерживает сигнал DTR (Data Terminal Ready). Когда система сбрасывает DTR, модем должен "класть трубку". Если DTR сигнал не присутствует - модем не должен отвечать.

Используйте аппаратный сигнал CD (Carrier Detect). Модем активизирует линию CD только если имеется активный сигнал Carrier Detect от телефонного соединения. Если несущая (carrier) исчезнет из-за обрыва связи или завершения телефонного звонка, система будет уведомлена и будет действовать соответствующем образом.

Модем либо должен возвращать код ответа только при ответе, либо не слать его совсем.

Скорость последовательного порта модема должна быть постоянной. Если модем не поддерживает это свойство - его нельзя использовать для Sun/UNIX системы.

Между Sun и модемом должен использоваться только аппаратный контроль потока данных. Если в модеме задан программный контроль потока данных, отключите его.

Приложение A

Строки инициализации модемов

Приведены примеры строк инициализации модемов для работы в обе стороны одновременно (dialin и dialout).

Hayes Optima/Acura:

	AT&FN0Q2X0&C1&D2S0=1&W

US Robotics Courier:

	AT&F1&B1&C1&D2X0S0=1&W

	Установка dip-переключателей:
		Switch		Settings
		1		OFF
		2		OFF
		3		ON
		4		OFF
		5		ON
		6		OFF
		7		ON
		8		ON
		9		OFF
		10		OFF

US Robotics Sportster:

	AT&F1&B1&C1&D2X0S0=1&W

	Установка dip-переключателей:
		Switch		Settings
		1		OFF
		2		OFF
		3		ON
		4		OFF
		5		OFF
		6		OFF
		7		OFF
		8		ON

Telebit:

	Модемы WorldBlazer, T3000 или T1600:
		AT &F3 E1 X0 &S0 S2=255 S45=255 S48=0 S58=2 &W
		AT S0=1 S59=15 S68=255 S111=255 S180=2 &C1 &W

	Модемы T2500, TrailBlazer Plus, T2000 или T1000:
		AT &F X0 Q4 S45=255 S48=1 S51=254 S52=2 S54=3 &W
		AT S0=1 S58=2 S64=1 S66=1 S95=2 S97=1 S106=1 S131=1 &W

GVC 288 V.34:

	AT&F2E0Q1S0=1&C1&D2&W&W1

Black Box Corporation, Modem 144FX:

	
	ATN0S37=0S0=1Q1&C1&D2&K3&W

Приложение B

Возможные неисправности и методы их устранения

1. При попытке войти в Sun с удалённой системы на экране удалённой системы виден "мусор"

Это обычно является индикатором того, что скорость физического порта модема и скорость сконфигурированного монитора порта в Sun не совпадают. Проверьте скорость порта модема и убедитесь, что она соответствует скорости Sun. Подсоединитесь к модему из локальной системы с помощью tip и проверьте конфигурацию модема. Попытайтесь снова послать строку инициализации. Используйте для команды tip точно такую-же скорость какая установлена в ttytab для getty.

2. При звонке на удалённую систему модем отвечает, слышны переговоры модемов, затем один из модемов кладёт трубку и появляется CALL FAILED

Вероятно это происходит из-за того, что на одном или обоих модемах используются какие-то фиксированные протоколы по скорости и/или компрессии данных. Если один модем не может договориться о протоколе с другим модемом - модемы рассоединяются. Проверьте установки обоих модемов. Также проверьте регистр S7 модема. Обычно это время ожидания появления несущей. Попробуйте удвоить это время.

3. Что означает сообщение "all ports busy" из программы tip?

Какой-то другой процесс открыл порт. Это может быть либо другая сессия tip, программа lp, процесс getty или, не до конца уничтоженный, процесс tip/cu. Кроме этого, например:
a. Кто-то звонит Вам, поэтому модем активен.
б. Модем постоянно получает сигнал DCD. Модем должен быть сконфигурирован так, чтобы Data Carrier Detect появлялся только тогда, когда несущая от удалённого модема зарегистрирована. Посмотрите в документации на модем как это сделать.
Уничтожьте процесс getty и пошлите на модем строку инициализации.

4. Что означает сообщение "permission denied or link down" из программы tip?

Убедитесь, что Вы имеете строки с "dv=/dev/cua0" или "dv=/dev/cua1" в файле /etc/remote. Проверьте наличие файла блокировки *.LCK в директории /var/spool/locks и уничтожьте этот файл. Проверьте права доступа к устройствам /dev/cua0 или /dev/cua1 и их хозяина.

5. Модем не отсоединяется или пользователь остаётся в системе даже после рассоединения

Модем сконфигурирован неправильно. Модем должен быть сконфигурирован так, чтобы сигнал Data Carrier Detect появлялся только тогда, когда несущая от удалённого модема зарегистрирована. Посмотрите в документации на модем как это сделать.

6. Невозможно обратиться к модему по команде tip

Проверьте кабель модема. Убедитесь, что Вы используете нужный порт. Также важно, чтобы tip был выдан из shelltool с запрещённой прокруткой, а не из cmdtool, где прокрутка разрешена.

7. При звонке на Sun модем не снимает трубку

Модем сконфигурирован неправильно. Проверьте, что модем установлен в режим автоответа (обычно это S0=1). Убедитесь, что лампочка модема DTR или TR горит, что указывает что сигнал Data Terminal Ready выдаётся из Sun.

8. Приглашение "Login:" искажено

Если приглашение искажено и, например, выглядит как "Logn:" или "Logi"; ничего не происходит при нажатии клавиши <Enter>, но происходит при нажатии <LF> или "Control-J". Переконфигурируйте установки последовательного порта удалённого компьютера, чтобы установить размер данных 8 бит, 1 стоповый бит, без контроля чётности.

9. Невозможно войти: кажется что пароль неверен

Это проблема связана с контролем чётности. Порождённая сессия terminal/tip использует чётность, которая отличается от используемой getty.

10. Нет приглашения "login:"

Это, вероятно, происходит из-за того, что процесс getty завис или имеются проблемы со скоростью модема или getty. Убедитесь выполняется ли процесс getty, не используется ли порт не до конца уничтоженным процессом. Проверьте скорость модема и убедитесь, что она соответствует скорости getty.


Copyright © 1996 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, CA 94043-1100 USA. All rights reserved.
Перевод: Copyright © 1996 Виталий Филатов (vitaly@royint.com) All Rights Reserved.