Настройка WiMax модема Samsung SWC-U200 Под Linux (оpenSUSE 11.1)
Предыстория
Я не консерватор, но редко вношу изменения в то, что работает. И на услугу компании Скартел под забавным именем Yota, вряд ли обратил бы практическое внимание, несмотря на громкие слова вроде 4G и Wimax. Но тут жизнь заставила - я переехал в подмосковье, пусть и в самое ближайшее, но с совершенно прошловековыми интернет услугами. Не буду на них остонавливаться, самое главное, что Yota оказалась лучшим решением.
Правда только теоретически - в зону покрытия мои аппартаменты в посёлке Дружба входили, но вот беда - на сайте компании, довольно ясно сказано: Модем ... работает под операционными системами Windows XP/Vista и Mac OS X 10.5.х. Ничего против этих операционных систем не имею, но на моём ноутбуке Linux, и хотелось бы его сохранить.
Выход есть
На самом деле, я знал, что драйвер для WiMax модема Samsung SWC-U200, разработанного по заказу Скартел специально для данного сервиса, под уже существуют. расположен он по адресу http://code.google.com/p/madwimax/ и на данный момент поддерживает следующие устройства:
- Samsung SWC-U200
- Samsung SWC-E100
- Samsung SWM-S10R (входит в состав нетбука Samsung NC-10)
Установка и начало работы с сервисом, очень просты. Да. Это я сейчас понимаю. А самому пришлось налететь на определённое количество сельхозинструментов, подвиды которых перечислены в следующем разделе. Кому не интересны эти перепетии, может смело его пропустить и воспользоваться краткой инструкцией в следующем.
Грабли
На различных специализированных форумах присутствует несколько вариантов решения проблемы, но беда в том, что советы даже двухмесячной давности уже устарели. Собственно этот факт и явился причиной этой заметки.
Ну, за дело. Первая проблема, которая в общем таковой не является, это необходимость установки библиотеки libusb. Взять её можно здесь http://sourceforge.net/projects/libusb/, но в случае с OpenSUSE она присутствует в репозитарии. При конфигурировании, выясняется, что не хватает ещё asciidoc. Ставим из репозитария и снова за пускаем конфигурационный скрипт. Теперь выясняется, что для полного счатья необходима библиотекаdocbook2x-man. она в репозитарии отсутствует, но находиться довольно легко ( http://docbook2x.sourceforge.net/). Но её установка не помогает. Всё равно конфигурационный скрипт жалуется на её тсутствие. Тут очень выжно подумать - нафига она вообще нужна? и сообразить (или, как я - посмотреть в "интернетах")запустить ./configure с ключем --without-man-pages. После этого счастье случиться - драйвер встанет.
Далее, по руклводствам, которые я встречал. следует запускать драйвер командой вида:
/usr/sbin/wimax
К сожалению результат совсем не удовлетвоителен:
linux-jjj6:~ # /usr/sbin/madwimax
Device found
detached modem kernel driver
Claimed interface
Allocated tap interface: wimax1
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
wmaster0: unknown hardware address type 801
wmaster0: unknown hardware address type 801
Listening on LPF/wimax1/00:24:91:39:58:6d
Sending on LPF/wimax1/00:24:91:39:58:6d
Sending on Socket/fallback
DHCPREQUEST on wimax1 to 255.255.255.255 port 67
DHCPACK from 10.101.152.1
bound to 10.101.155.228 -- renewal in 4297 seconds.
К сожалению результат совсем не удовлетвоителен:
linux-jjj6:~ # /usr/sbin/madwimax
Device found
detached modem kernel driver
Claimed interface
Allocated tap interface: wimax1
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
wmaster0: unknown hardware address type 801
wmaster0: unknown hardware address type 801
Listening on LPF/wimax1/00:24:91:39:58:6d
Sending on LPF/wimax1/00:24:91:39:58:6d
Sending on Socket/fallback
DHCPREQUEST on wimax1 to 255.255.255.255 port 67
DHCPACK from 10.101.152.1
bound to 10.101.155.228 -- renewal in 4297 seconds.
Более того, тот же эффект даёт попытка получить заветный внешний ip с помощью команды dhcpdc -n wimax0:
inux-jjj6:~ # dhcpcd -n wimax0
err, wimax0: timed out
err, wimax0: lease information file `/var/lib/dhcpcd/dhcpcd-wimax0.info' does not exist
warn, wimax0: using IPV4LL address 169.254.217.194
linux-jjj6:~ # dhcpcd -n wimax1
err, wimax1: ioctl SIOCGIFHWADDR: No such device
inux-jjj6:~ # dhcpcd -n wimax0
err, wimax0: timed out
err, wimax0: lease information file `/var/lib/dhcpcd/dhcpcd-wimax0.info' does not exist
warn, wimax0: using IPV4LL address 169.254.217.194
linux-jjj6:~ # dhcpcd -n wimax1
err, wimax1: ioctl SIOCGIFHWADDR: No such device
Некоторую ясность внесло. Выполнение -ifconfig -a:
linux-jjj6:~/madwimax-0.1.1 # ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:1B:38:41:A8:45
UP 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 b) TX bytes:0 (0.0 b)
Interrupt:219
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:716 errors:0 dropped:0 overruns:0 frame:0
TX packets:716 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:209729 (204.8 Kb) TX bytes:209729 (204.8 Kb)
wimax0 Link encap:Ethernet HWaddr 00:24:91:39:58:6D
UP BROADCAST RUNNING MULTICAST MTU:1386 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2319 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:682 (682.0 b) TX bytes:397547 (388.2 Kb)
wimax1 Link encap:Ethernet HWaddr 00:24:91:39:58:6D
inet addr:10.101.155.228 Bcast:10.101.155.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1386 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:341 (341.0 b) TX bytes:3630 (3.5 Kb)
wlan0 Link encap:Ethernet HWaddr 00:13:E8:81:AF:ED
UP 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 b) TX bytes:0 (0.0 b)
wmaster0 Link encap:UNSPEC HWaddr 00-13-E8-81-AF-ED-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING 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 b) TX bytes:0 (0.0 b)
linux-jjj6:~/madwimax-0.1.1 # ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:1B:38:41:A8:45
UP 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 b) TX bytes:0 (0.0 b)
Interrupt:219
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:716 errors:0 dropped:0 overruns:0 frame:0
TX packets:716 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:209729 (204.8 Kb) TX bytes:209729 (204.8 Kb)
wimax0 Link encap:Ethernet HWaddr 00:24:91:39:58:6D
UP BROADCAST RUNNING MULTICAST MTU:1386 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2319 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:682 (682.0 b) TX bytes:397547 (388.2 Kb)
wimax1 Link encap:Ethernet HWaddr 00:24:91:39:58:6D
inet addr:10.101.155.228 Bcast:10.101.155.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1386 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:341 (341.0 b) TX bytes:3630 (3.5 Kb)
wlan0 Link encap:Ethernet HWaddr 00:13:E8:81:AF:ED
UP 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 b) TX bytes:0 (0.0 b)
wmaster0 Link encap:UNSPEC HWaddr 00-13-E8-81-AF-ED-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING 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 b) TX bytes:0 (0.0 b)
Оказывается запущено сразу два wimax интерфейса.
Всё оказалось совсем просто — wimax отдельной командой запускать не надо, интерфейс подымается сам, после включения модема. Причем это включение лучше делать после установки драйвера. Затем выполняем
dhcpdc -n wimax0
И всё должно работать.
Сухой остаток
* Скачиваем драйвер (http://code.google.com/p/madwimax/ ).
* Разархивируем его в домащнею папку.
*Устанавливаем библиотеки libusb и asciidoc.
*В папке с драйвером выполняем:
./configure --prefix=/usr --without-man-pages
make
make install
make
make install
*Теперь подключаем модем, и ждём, когда мигающий оранжевый индикатор станет синим (это значит, что сеть найдена)
*выполняем
dhcpcd -n wimax0
*PROFIT!!!!
P.S Огромное спасибо авторам драйвера за проделанную работу. Насколько я понимаю, велась она метедом реверс-инжинеринга. В таком случае просто низкий поклон =)
P.S.S Не меньшее спасибо скромному одепту консоли Саше Байраку, без его советов я бы сдался.
Комментариев нет:
Отправить комментарий