24 июля 2011

Выход в интернет через 3G гаджет в Linux

Этот пост о настройке и подключении интернет через 3G гаджет от HTC в Debian Squeezy. Забегая вперед скажу, что процесс подключения и настройки гаджета оказался проще чем настройка модема CDMA. И это несмотря на то, что подключение настраивалось без использования графических утилит.

Дело в том, что в этом случае для подключения используются модули ядра cdc_ether и usbnet, которые позволяют эмулировать Ethernet соединение через USB кабель. Модули стандартные, для их использования дополнительно устанавливать ничего не надо.

Подключаем гаджет посредством usb кабеля к компьютеру. Далее на гаджете в разделе "Общий интернет" выбираем USB подключение к компьютеру и настройки подключения к интернет, давим кнопку "Соединить".

После этого на компьютере появляется дополнительный сетевой интерфейс, в моем случае usb0. Интерфейс не активный, чтобы его увидеть набираем в командной строке:
sudo ifconfig -a
...
usb0  Link encap:Ethernet  HWaddr 80:00:60:0f:e8:00
         BROADCAST MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 KiB)  TX bytes:0 (0.0 B)
Теперь чтобы интернет соединение заработало выполним в консоли следующую команду:
sudo dhclient usb0
Собственно на этом настройка подключения окончена. Чтобы отключить соединение, надо последовательно выполнить в командной строке:
sudo dhclient -r usb0
sudo ifconfig usb0 down
Для того чтобы каждый раз не выполнять команды при подключении и отключении устройства напишем правила udev. Для этого создадим файл /etc/udev/rules.d/10-htc-touch-2.rules, следующего содержания:
# Подключение устройства
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="rndis_host", ATTR{address}=="80:00:60:0f:e8:00", RUN+="/sbin/dhclient %k"

# Отключение устройства
SUBSYSTEM=="net", ACTION=="remove", DRIVERS=="rndis_host", ATTR{address}=="80:00:60:0f:e8:00", RUN+="/sbin/dhclient -r %k", RUN+="/sbin/ifconfig %k down"
В правилах используется MAC-адрес устройства, его надо заменить на свой, взяв из вывода команды ifconfig. После создания файла, для того чтобы правила вступили в силу, необходимо выполнить в командной строке:
sudo udevadm control --reload-rules
Для написания правил udev можно использовать дополнительные атрибуты, такие как название производителя устройства, модель, серийный номер и другие. Для просмотра атрибутов устройства можно воспользоваться утилитой udevadm. Посмотреть события udev можно выполнив в консоли:
sudo udevadm monitor --kernel --udev --property
После этого подключить или отключить устройство, при этом в консоли появится вывод событий. Чтобы отключить монитор надо нажать Ctrl+C. Посмотреть атрибуты устройства можно выполнив в консоли:
udevadm info --query all --attribute-walk --path /devices/pci0000:00/0000:00:1f.2/usb2/2-2/2-2:1.0/net/usb0
Параметр --path надо взять из монитора событий в выше приведенной команде. У каждого он будет свой, здесь приведен только для примера.

Понравилась статья? Подпишись на этот блог! 

Также можно почитать:

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

  © Blogger template Blue Surfing by Ourblogtemplates.com 2008

Наверх