ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Настройка USB ADSL модема на чипе Conexant AccessRunner в ОС Linux
  #1  
Старый 21.01.2007, 03:25
Аватар для L0rd_Ha0S
L0rd_Ha0S
Участник форума
Регистрация: 25.01.2006
Сообщений: 158
Провел на форуме:
1000724

Репутация: 361
По умолчанию Настройка USB ADSL модема на чипе Conexant AccessRunner в ОС Linux

Настройка USB ADSL модема на чипе Conexant AccessRunner в ОС Linux

Intro.

В данной статье будет описана настройка USB ADSL модема в ОС Linux на чипе Conexant AccessRunner, а также настройка PPPoE соединения с провайдером. Все что здесь будет описано проверялось на модеме Acorp ADSL@Sprinter USB за 28$, которым я пользуюсь сам.
Эта статья написана на основании информации с форумов, найденых заметок + немного моего опыта.

Начнем.

ЗаTARиваемся...

Хотя на сайте Acorp(http://acorp.ru) в мане настройке модема под Линуксом требуется установить целую кучу пакетов, на практике нам понадобятся только 4:

1) linux-2.6.x.tar.bz2 - исходники ядра – взять их можно тут
Именно из ветки 2.6, потому что, насколько я знаю, в предыдущих ветках драйвер Conexant AccessRunner не был включен в ядро, и его нужно скачивать отдельно. (Если я не прав – поправьте меня). В моем случае версия ядра была 2.6.18.
Но на всякий случай вот ссылка на проект AccessRunner:
http://accessrunner.sourceforge.net/
Если у вас уже есть «ядерные сорцы», тогда используйте их.

2) ppp-2.4.x.tar.gz
Слить архив можно тут - ftp://ftp.samba.org/pub/ppp/
Также у меня на ppp установлен патч для поддержки MPPC(поддержка сжатия для Microsoft PPTP VPN), но устанавливать его необязательно(это так – отступление от темы ) Если он таки нужен, то для ppp-2.4.4 его можно слить отсюда
http://dimez.findall.ru/docs/mppe_mp...c-1.1.patch.gz

3) rp-pppoe-3.8.tar.gz
На момент написания статьи последней была версия 3.8
Сливаем отсюда:
http://www.roaringpenguin.com/pengui...oducts/rpPppoe

4) br2684ctl
Если в вашей системе нет этой программы, тогда идем по
ссылке
и выбираем то что нужно

Больше никаких исходников и пакетов не потребуется.
Также потребуются параметры, которые вам должен выдать ваш провайдер(логин,пароль,адр са DNS-серверов,VPI,VCI)

Настройка ядра (linux-2.6.18.tar.bz2)

Распаковываем архив в /usr/src:
Код:
tar jxf linux-2.6.18.tar.bz2
Запускаем конфигуратор ядра:
Код:
cd linux-2.6.18/
make menuconfig
Далее ставим все как описано ниже:

Код:
Networking  --->
	Networking options  --->
		...
		<M> Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)	## обязательно(M or y)
		<M>    Classical IP over ATM (EXPERIMENTAL)		## для PPPoE это необязательно
									# этот вид сейчас редко
									# используется провайдерами
		...
		<M>   	 RFC1483/2684 Bridged protocols			## обязательно (можно 
									# ставить модулем(желательно),
									# а можете
									# включить в ядро, т.е.
									# соответственно M or y)

Device Drivers  --->
	Network device support  --->
		...
		<M> PPP (point-to-point protocol) support		#включаем поддержку PPP
		...
		<M>   PPP over Ethernet (EXPERIMENTAL)			#включаем поддержку PPPoE
		<M>   PPP over ATM					#включаем поддержку PPPoA
 									# (для PPPoE необязательна, но у меня
 									# установлена, на всякий пожарный :))

	USB support  --->
		USB DSL modem support  --->
			 <M> USB DSL modem support			# только модулем, иначе просто не
 									# получится :)
			 <M>   Conexant AccessRunner USB support 	# собственно вот и поддержка модемов
				  					# на чипах AccessRunner
Вот и все, настройка ядра для поддержки CxAcRu-модемов завершена.
Теперь пересоберем ядро:
Код:
make clean		# очищаем директорию с сорцами ядра от временных файлов,
			# оставшихся после прошлой сборки		
make bzImage		# собираем ядро
make modules		# собираем модули
make modules_install	# устанавливаем модули
Переносим в /boot bzImage и System.map, и если нужно, то обновляем конфиг загрузчика. За подробностями по сборке ядра обращайтесь в Kernel-HOWTO.
Все, с ядром, я думаю разобрались.

Теперь добавим в конец /etc/modules следующие строки:
Код:
cxacru
br2684
В этом файле задаются модули, которые ядро загрузит при загрузке системы.

Установка ppp (ppp-2.4.4.tar.gz)

Как и полагается, разархивируем его в /usr/src:
Код:
tar zxf ppp-2.4.4.tar.gz
cd ppp-2.4.4/
Здесь я вернусь к тому патчу для поддержки MPPC(опять же повторюсь, что его не обязательно ставить),если он вам нужен, установить его можно так:
Код:
zcat -f /путь/к/патчу/ppp-2.4.4-mppe-mppc-1.1.patch.gz |patch -p1
Далее выполняем:
Код:
./configure --prefix=/usr/local/ppp
make && make install
Установка rp-pppoe-3.8 (rp-pppoe-3.8.tar.gz)

Разархивируем:
Код:
tar zxf rp-pppoe-3.8.tar.gz
cd rp-pppoe-3.8/
Конфигурирование и сборка:
Код:
./go --prefix=/usr/local/ppp --enable-plugin=/usr/src/ppp-2.4.4
После запуска go, он(go) установит все сам, и сразу же запустит pppoe-setup для настройки pppoe-соединения. С этим уже сами разберетесь, там только на вопросы отвечать и все.
Единственное, что хотел бы отметить, когда pppoe-setup задаст вопрос:
Код:
Enter the Ethernet interface connected to the DSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where 'n' is a number.
(default eth0):
То нужно ввести интерфейс nas0. Его создание будет описано ниже.

Небольшая настройка

Теперь немного поковыряемся в конфигах
Открываем файл /etc/ppp/pppoe.conf
Ищем в нем строку LINUX_PLUGIN=, если она закомментирована, раскомментируйте ее, и вписываем туда следующее:
Код:
LINUX_PLUGIN=/usr/local/ppp/lib/pppd/2.4.4/rp-pppoe.so
Все, в этом файле больше ничего менять не нужно

Подключение

Перед подключением необходимо создать и сконфигурировать сетевой интерфейс. Для этой цели и существует программа br2684ctl. Тут вам и понадобятся значения VPI и VCI. Допустим, что провайдер выдал вам такие значения – VPI=0,VCI=33, тогда вводим от рута следующую команду и в ответ видим следующее:
Код:
root@LServ(22:23:55)/etc # br2684ctl -b -c 0 -a 0.0.33
RFC1483/2684 bridge: Interface "nas0" created sucessfully
RFC1483/2684 bridge: Communicating over ATM 0.0.33, encapsulation: LLC
RFC1483/2684 bridge: Interface configured
Теперь поясню, что означают эти параметры:
-b Процесс запускается в бэкграунде
-c n Номер интерфейса, где n=число(например, если n=0, то интерфейс будет nas0, если n=1, то nas1)
-a [itf].vpi.vci
[itf] необязательный параметр,обычно равен 0, можно вообще не указывать
vpi значение VPI
vci значение VCI
Есть еще два необязательных параметра
-e 0|1 Тип инкапсуляции 0=LLC,1=VC mux. Чаще всего провайдерами используется именно LLC, поэтому можно не указывать. Если не указан явно, то используется LLC(т.е. 0)
-s sndbuf Размер буфера отправки, по умолчанию 8192. Нам этот параметр вовсе не нужен.
Если нужны подробности, то читаем man br2684ctl.
Эта команда выполняется только один раз(для поднятия интерфейса nas0).

FINISH

Вот и все, настройка окончена, и теперь можно ввести финальную команду:
Код:
pppoe-start
После ввода этой команды, будут появлятся точки, и когда соединится то все будет выглядеть так:
Код:
root@LServ(22:43:42)/etc # pppoe-start
........... Connected!
Закрыть подключение:
Код:
root@LServ(22:46:00)/etc # pppoe-stop
Killing pppd (10804)
Killing pppoe-connect (10787)
Посмотреть статус соединения:
Код:
root@LServ(22:56:05)/etc # pppoe-status
pppoe-status: Link is up and running on interface ppp0
ppp0      Link encap:Point-to-Point Protocol
          inet addr:1.1.1.1  P-t-P:1.1.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:1638 (1.5 KiB)  TX bytes:1194 (1.1 KiB)
Какие могут быть проблемы

Возможен и другой вариант после выполнения pppoe-start:
Код:
root@LServ(22:43:42)/etc # pppoe-start
........... TIMED OUT
Это значит, что соединение не удалось установить. У меня такое бывает довольно часто, после каждого такого сообщения советую выполнить ifconfig -a, и посмотреть не появился ли интерфейс ppp0, часто бывает так, что выдается TIMED OUT, но интерфейс создается, то есть подключение есть , но pppoe-start думает, что его нет, в этом случае им можно пользоваться, но чтобы его закрыть, нужно просто прибить процесс pppd, и все. Если же интерфейс не появился, то тогда снова выполнить pppoe-start.

И еще. Такую же надпись (TIMED OUT) можно увидеть еще в двух случаях:
1) Когда pppd пытается авторизоваться с неверными логином/паролем, и сервер, естественно, шлет его нах.
2) Когда строка LINUX_PLUGIN в файле /etc/ppp/pppoe.conf либо не задана, либо закоментирована, либо неверно задана(например, неверный путь, или указывает на плагин от другой версии pppd)
Как определить в чем именно проблема? Во время ковыряний со своим модемом, я определил, что если pppd не может загрузить свой плагин(случай 2, т.е. не может загрузить rp-pppoe.so), то лампочка, показывающая, что идет передача данных(у меня она подписана как Rx на модеме) НЕ ГОРИТ/НЕ МОРГАЕТ вообще.(имеется в виду во время попытки установки соединения pppoe-start, т.е. пока появляются точки, до момента появления TIMED OUT). Если же эта лампочка периодически моргает(во время работы pppoe-start), тогда плагин загружен, и проблема либо в перегруженном сервере, либо в правильности передаваемых логина/пароля.

Упрощаем себе жизнь

Для того чтобы каждый раз не логиниться под рутом, чтобы установить соединение с инетом, можно(и даже нужно – поговорку линуксоида - «Не тусуйся под рутом» - никто не отменял ) проводить все действия с помощью sudo. Для этого в файл /etc/sudoers вписываем следующие строки:
Код:
# user – имя твоей учетной записи
Host_Alias      HOME = 127.0.0.1, localhost
Cmnd_Alias      ADSL = /usr/sbin/pppoe-start, /usr/sbin/pppoe-stop, /usr/sbin/br2684ctl
user            HOME = NOPASSWD: ADSL
Этим самым мы разрешаем пользователю с логином user запускать на локалхосте pppoe-start,pppoe-stop,br2684ctl от рута без запроса пароля.
За подробностями по формату /etc/sudoers -> man sudoers
Теперь добавим алиасы в свой .bashrc:
Код:
alias pppoe-start='sudo /usr/sbin/pppoe-start'
alias pppoe-stop='sudo /usr/sbin/pppoe-stop'
alias br2684ctl='sudo /usr/sbin/br2684ctl'
Теперь при выполнении пользователем user команды pppoe-start, она будет выполнена от рута.

Но если тебе совсем лень выполнять целых две команды(br2684ctl -b -c 0 -a 0.vpi.vci;pppoe-start), то можешь записать первую команду в какой-нибудь из стартовых скриптов, и выполнять только pppoe-start/pppoe-stop.

Все, приехали.

Вот собственно и все что я хотел бы сказать по поводу настройки USB ADSL модемов на основе микросхем Conexant AccessRunner. Если у кого-то есть какие-либо дополнения, замечания - выкладывайте их здесь.

(с) L0rd_Ha0S

Последний раз редактировалось L0rd_Ha0S; 05.11.2007 в 18:14..
 
Ответить с цитированием

  #2  
Старый 01.04.2007, 05:20
Аватар для Mega_Zidar
Mega_Zidar
Новичок
Регистрация: 15.06.2006
Сообщений: 5
Провел на форуме:
12236

Репутация: 10
По умолчанию

Cпасибо HaOS, у миня тоже ADSL USB Conexant, система Debian GNU
если по твоему совету всё получится и заработает выложу на форуме чо и как...
 
Ответить с цитированием

как начет модели sprinter@ADSL USB+
  #3  
Старый 10.11.2007, 11:14
Аватар для Фдучун
Фдучун
Новичок
Регистрация: 10.11.2007
Сообщений: 2
Провел на форуме:
10687

Репутация: 0
Question как начет модели sprinter@ADSL USB+

У меня эта модель sprinter@ADSL USB+,подойдут ли твои настройки для нее?Я также плохо понимаю те объяснения ,где не говорится "нажми то-получишь это",не хватает знаний и опыта в Линуксе.Ты бы мог помочь разобраться с этим ?
 
Ответить с цитированием

  #4  
Старый 11.11.2007, 01:39
Аватар для L0rd_Ha0S
L0rd_Ha0S
Участник форума
Регистрация: 25.01.2006
Сообщений: 158
Провел на форуме:
1000724

Репутация: 361
По умолчанию

Мог бы. Отписался в ПМ.
 
Ответить с цитированием

  #5  
Старый 11.11.2007, 02:45
Аватар для bul.666
bul.666
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме:
3986705

Репутация: 1403


Отправить сообщение для bul.666 с помощью ICQ
По умолчанию

Бля не поверите... Но сеня весь день щанимлся сексом с настройкой интернета в ебунте =\\\ У мя Avangard DSL... D-link DSL-200 Gen ll ... Омг... Воть недавно вышел в винду чтобы скачать долбаный пакет rp-pppoe... Наткнулси на это =) Спасибо =)))))
 
Ответить с цитированием

  #6  
Старый 11.11.2007, 03:42
Аватар для L0rd_Ha0S
L0rd_Ha0S
Участник форума
Регистрация: 25.01.2006
Сообщений: 158
Провел на форуме:
1000724

Репутация: 361
По умолчанию

Значит, не зря я старался =)))))
 
Ответить с цитированием

  #7  
Старый 11.11.2007, 04:16
Аватар для bul.666
bul.666
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме:
3986705

Репутация: 1403


Отправить сообщение для bul.666 с помощью ICQ
По умолчанию

сцуко pppoe-setup не пишет pppoe.conf =\\\\
Дай файл настройки... (Содержание pppoe.conf)

Гребаный gcc не компилит =\ Гребаная ебунта! Гребаный интернет!

ХЕЛП МИ! Айм нуб! Айм факин нуб!
 
Ответить с цитированием

  #8  
Старый 11.11.2007, 18:20
Аватар для L0rd_Ha0S
L0rd_Ha0S
Участник форума
Регистрация: 25.01.2006
Сообщений: 158
Провел на форуме:
1000724

Репутация: 361
По умолчанию

Цитата:
сцуко pppoe-setup не пишет pppoe.conf =\\\\
а ты от рута запускаешь? Нужно от рута.
/etc/ppp/pppoe.conf:
Код:
#***********************************************************************
#
# pppoe.conf
#
# Configuration file for rp-pppoe.  Edit as appropriate and install in
# /etc/ppp/pppoe.conf
#
# NOTE: This file is used by the pppoe-start, pppoe-stop, pppoe-connect and
#       pppoe-status shell scripts.  It is *not* used in any way by the
#       "pppoe" executable.
#
# Copyright (C) 2000 Roaring Penguin Software Inc.
#
# This file may be distributed under the terms of the GNU General
# Public License.
#
# LIC: GPL
# $Id: pppoe.conf,v 1.11 2005/08/09 02:49:12 dfs Exp $
#***********************************************************************

# When you configure a variable, DO NOT leave spaces around the "=" sign.

# Ethernet card connected to DSL modem
ETH='nas0'

# PPPoE user name.  You may have to supply "@provider.com"  Sympatico
# users in Canada do need to include "@sympatico.ca"
# Sympatico uses PAP authentication.  Make sure /etc/ppp/pap-secrets
# contains the right username/password combination.
# For Magma, use xxyyzz@magma.ca
USER='YourLogin'

# Bring link up on demand?  Default is to leave link up all the time.
# If you want the link to come up on demand, set DEMAND to a number indicating
# the idle time after which the link is brought down.
DEMAND=no
#DEMAND=300

# DNS type: SERVER=obtain from server; SPECIFY=use DNS1 and DNS2;
# NOCHANGE=do not adjust.
DNSTYPE=SPECIFY

# Obtain DNS server addresses from the peer (recent versions of pppd only)
# In old config files, this used to be called USEPEERDNS.  Changed to
# PEERDNS for better Red Hat compatibility
PEERDNS=no

DNS1=62.212.64.122
DNS2=62.212.65.123


# Make the PPPoE connection your default route.  Set to
# DEFAULTROUTE=no if you don't want this.
DEFAULTROUTE=yes

### ONLY TOUCH THE FOLLOWING SETTINGS IF YOU'RE AN EXPERT

# How long pppoe-start waits for a new PPP interface to appear before
# concluding something went wrong.  If you use 0, then pppoe-start
# exits immediately with a successful status and does not wait for the
# link to come up.  Time is in seconds.
#
# WARNING WARNING WARNING:
#
# If you are using rp-pppoe on a physically-inaccessible host, set
# CONNECT_TIMEOUT to 0.  This makes SURE that the machine keeps trying
# to connect forever after pppoe-start is called.  Otherwise, it will
# give out after CONNECT_TIMEOUT seconds and will not attempt to
# connect again, making it impossible to reach.
CONNECT_TIMEOUT=30

# How often in seconds pppoe-start polls to check if link is up
CONNECT_POLL=2

# Specific desired AC Name
ACNAME=

# Specific desired service name
SERVICENAME=

# Character to echo at each poll.  Use PING="" if you don't want
# anything echoed
PING="."

# File where the pppoe-connect script writes its process-ID.
# Three files are actually used:
#   $PIDFILE       contains PID of pppoe-connect script
#   $PIDFILE.pppoe contains PID of pppoe process
#   $PIDFILE.pppd  contains PID of pppd process
CF_BASE=`basename $CONFIG`
PIDFILE="/var/run/$CF_BASE-pppoe.pid"

# Do you want to use synchronous PPP?  "yes" or "no".  "yes" is much
# easier on CPU usage, but may not work for you.  It is safer to use
# "no", but you may want to experiment with "yes".  "yes" is generally
# safe on Linux machines with the n_hdlc line discipline; unsafe on others.
SYNCHRONOUS=no

# Do you want to clamp the MSS?  Here's how to decide:
# - If you have only a SINGLE computer connected to the DSL modem, choose
#   "no".
# - If you have a computer acting as a gateway for a LAN, choose "1412".
#   The setting of 1412 is safe for either setup, but uses slightly more
#   CPU power.
CLAMPMSS=1412
#CLAMPMSS=no

# LCP echo interval and failure count.
LCP_INTERVAL=20
LCP_FAILURE=3

# PPPOE_TIMEOUT should be about 4*LCP_INTERVAL
#PPPOE_TIMEOUT=80
PPPOE_TIMEOUT=100

# Firewalling: One of NONE, STANDALONE or MASQUERADE
FIREWALL=NONE

# Linux kernel-mode plugin for pppd.  If you want to try the kernel-mode
# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
LINUX_PLUGIN=/usr/local/ppp/lib/pppd/2.4.4/rp-pppoe.so

# Any extra arguments to pass to pppoe.  Normally, use a blank string
# like this:
PPPOE_EXTRA=""

# Rumour has it that "Citizen's Communications" with a 3Com
# HomeConnect DSL Modem DualLink requires these extra options:
# PPPOE_EXTRA="-f 3c12:3c13 -S ISP"

# Any extra arguments to pass to pppd.  Normally, use a blank string
# like this:
PPPD_EXTRA=""

########## DON'T CHANGE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING
# If you wish to COMPLETELY overrride the pppd invocation:
# Example:
# OVERRIDE_PPPD_COMMAND="pppd call adsl"

# If you want pppoe-connect to exit when connection drops:
# RETRY_ON_FAILURE=no
 
Ответить с цитированием

  #9  
Старый 11.11.2007, 18:58
Аватар для fucker"ok
fucker"ok
Познавший АНТИЧАТ
Регистрация: 21.11.2004
Сообщений: 1,137
Провел на форуме:
2487541

Репутация: 761


По умолчанию

Лучше сразу выбирать ethernet модем. Воткнул в хаб и нет проблем
 
Ответить с цитированием

  #10  
Старый 11.11.2007, 19:05
Аватар для bul.666
bul.666
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме:
3986705

Репутация: 1403


Отправить сообщение для bul.666 с помощью ICQ
По умолчанию

Цитата:
а ты от рута запускаешь? Нужно от рута.
Ясен хрен от рута... gcc пишет, что "Can't create executable"....
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Linux books nerezus *nix 68 23.01.2010 00:31
Linux SUSE 10.1 Настройка ADSL Otaku *nix 1 12.06.2006 20:16



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ