2010-12-14

Huawei E173 + Ubuntu. Часть 3 - или кое что надо делать быстро..

На основе метода тыка нашёл такой почти 100% способ конвертнуть его.
1. Отключаем модем.
2. Делаем
sudo rmmod option
sudo rmmod usbserial
sudo rmmod usb_storage
(последнее необязательно вроде)

3. Подключаем модем и БЫСТРО (без паузы - в течении не более 2-3 секунд)
начинаем запускать:
sudo usb_modeswitch -I -c /etc/usb_modeswitch.d/12d1\:1446
после нескольких:

Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
No default device found. Is it connected? Bye.

появляется корректный экран - а чуть позже появляются /dev/ttyUSB{0,3}
Если опоздать что-то случается..
Видимо что-то не то с модемом делает udev..
Может быть сидюк успевает замонтироваться (автозапуск вылезает).

ttyUSB0 отзывается на AT комманды,
ttyUSB3 отзывается на AT комманды и засылает RSSI коды (как и в E1550 были ttyUSB0/1 соответственно).

Что делают ttyUSB1 и ttyUSB2 - пока не придумал. На них тишина в ответ на AT.

ну и понеслось.
AT+CPIN="0000" (с включенной симкой)
ATI (получаем IMEI)
вынимаем симку - повторяем процедуру "стыковки"
получаем код разблокировки по IMEI тут (не то чтобы я против Мегафона, но чувство свободы..)
AT^CARDLOCK="123456"

AT+CGDCONT=1,"IP","internet"
ATDT*99#

Вот мой wvdial.conf - если кому пригодится (dns я сам настраиваю - потому тут отключен) :)
Звоним как:
sudo wvdial mc
или (если нужен pin-код)
sudo wvdial mc pin
или (если звонить будем через bluetooth - как настроить другой вопрос)
sudo vwdial mc bt

[Dialer defaults]
Modem = /dev/ttyUSB0

[Dialer bt]
Modem = /dev/ttyRFCOMM0

[Dialer mc]
Baud = 115200
Init2 = AT+CGDCONT=1,"IP","internet"
Phone = *99***1#
Username = *
Password = *
Stupid Mode = 1
New PPPD = yes
Auto DNS = 0

[Dialer pin]
Baud = 115200
Init1 = AT+CPIN=1234

Huawei E173

Приобрёл таки себе "Мегафон три-джи-модем" который 173 с поддержкой HSUPA (а не только HSDPA - буковки думаю от Upload/Download).

В винде завелось из коробки (ибо уже 1550 был настроенный когда-то - братов он).

В линухе не шага без сюрпризов. Не помню момента переезда с 8.04 на 10.04 - когда я настраивал этот 1550 - то ли уже проапгрейдился - то ли нет. Вроде уже переехал - и 1550 в системе настроен.
Но модем при установке сам не "обернулся" модемом - так и остался CDROM.

Ага. Модем видится как:
Bus 001 Device 008: ID 12d1:1446 Huawei Technologies Co., Ltd.

Настройки те-же. Но не прокатило. Заново повторяем процесс с начала.
Берём свежий modeswitch и modeswitch-data:
https://launchpad.net/ubuntu/+source/usb-modeswitch/
https://launchpad.net/ubuntu/+source/usb-modeswitch-data/
На момент написания под lucid 10.04/i386 взял соответственно пакеты: usb-modeswitch_1.1.0-2_i386.deb и usb-modeswitch-data_20100826-1_all.deb.
Судя по логам у меня был старый: usb-modeswitch-data 20100127-1
А поддержка E173 появилась только спустя пол-года в версии 20100623-1

Ладно. Поставил. заменил при установке /etc/usb_modeswitch.d/12d1:1446
что радовало. Ага. Модем вытащил-воткнул - ничего вроде не произошло. сделал вручную..
(Предварительно "на всякий пожарный" вынув симку - может быть это важно :))

sudo ln -s usb_modeswitch.d/12d1:1446 /etc/usb-modeswitch.conf
sudo /usr/sbin/usb_modeswitch
Ага. Что-то ожило:

Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
Found default devices (1)
Accessing device 008 on bus 001 ...
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
No driver found. Either detached before or never attached

SCSI inquiry data (for identification)
-------------------------
Vendor String: ���8
Model String: ����|� �
Revision String: |�
-------------------------

USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
Product: HUAWEI Mobile
Serial No.: not provided
-------------------------
Setting up communication with interface 0 ...
Trying to send the message to endpoint 0x01 ...
OK, message successfully sent
Device is gone, skipping any further commands

Checking for mode switch (max. 20 times, once per second) ...
Original device is gone already, not checking
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Found correct target device

Mode switch succeeded. Bye.

lsusb даёт:
Bus 001 Device 009: ID 12d1:140c Huawei Technologies Co., Ltd.
ls /dev/ttyUSB*
даёт богатый перечень:
ttyUSB0 ttyUSB1 ttyUSB2 ttyUSB3
Уже что-то. Копаем дальше :)

Часть 2.
Вытащил-воткнул. Чуда не случилось. Всё тот же "старый" 12d1:1446.
Только теперь не срабатывает sudo /usr/sbin/usb_modeswitch
Висит на сообщении:
Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
Found default devices (1)
Accessing device 010 on bus 001 ...
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
No driver found. Either detached before or never attached
^C

Накопал интересные строчки в файлике: /lib/udev/rules.d/40-usb_modeswitch.rules

# Huawei, newer modems
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'"

# Huawei E173
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1557", RUN+="usb_modeswitch '%b/%k'"

На всякий случай делаю так:
sudo rmmod option
sudo rmmod usbserial
sudo usb_modeswitch -I -c /etc/usb-modeswitch.conf
теперь заканчивается мессаджем:

Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
Found default devices (1)
Accessing device 011 on bus 001 ...

USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
Product: HUAWEI Mobile
Serial No.: not provided
-------------------------
Looking for active driver ...
No driver found. Either detached before or never attached
Setting up communication with interface 0 ...
Trying to send the message to endpoint 0x01 ...
Sending the message returned error -110. Trying to continue

Checking for mode switch (max. 20 times, once per second) ...
Waiting for original device to vanish ...
Waiting for original device to vanish ...
Waiting for original device to vanish ...
Waiting for original device to vanish ...
Waiting for original device to vanish ...
^C

Снова вынимает-втыкаем:
sudo usb_modeswitch -I -c /etc/usb-modeswitch.conf

Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
Found default devices (1)
Accessing device 012 on bus 001 ...

USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
Product: HUAWEI Mobile
Serial No.: not provided
-------------------------
Looking for active driver ...
OK, driver found ("usbfs")
OK, driver "usbfs" detached
Setting up communication with interface 0 ...
Trying to send the message to endpoint 0x01 ...
OK, message successfully sent
Device is gone, skipping any further commands

Checking for mode switch (max. 20 times, once per second) ...
Original device is gone already, not checking
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Found correct target device

Mode switch succeeded. Bye.
Ага. Думаем дальше.

2010-12-04

Ретрекер в локалке Домолинк

Сервер http://torrents.mydomolink.ru/ уже неделю не доступен. И в блоге bevice про это ни строчки.

Пока единственной альтернативой для поиска локальных пиров остаётся ретрекер.
(в дополнение к DHT и "родным" трекерам).
Это была преамбула.

Зачем это всё нужно. Ретрекер позволяет быстрее находить "локальных" пиров, с которых скорость скачивания, как правило, намного выше, чем с "внешних". То есть позволит быстрее скачать популярные файлы. Также он может служить "резервным" трекером на время недоступности "основных".

Полезен мой ретрекер будет для абонентов Рязанского Домолинка (а в связи с тестированием широкополостного локального трафика внутри всего ЦФО Центртелекома ("скорость между всеми клиентами ЦФО будет выше тарифной") - то возможно скоро будет актуален для других городов тоже).
Никакого отношения к официальному ЦТ я не имею - это лишь трекер xbt запущенный в "публичном режиме" на моём компьютере.

Чуть-чуть теории. Чтобы находить локальных пиров должны выполнятся несколько условий.
1. Торрент должен содержать адрес ретрекера: http://retracker.local/announce
Этот адрес добавляют многие торрент-сайты где разрешены "публичные" торренты (например rutracker.org). Но никто не запретит вам добавить в список трекеров раздачи мой ретрекер.
Не важно - приватный ли торрент или открытый. Как и что лучше добавлять к раздаче - об этом позже.

2. Ваш торрент клиент должен знать адрес retracker.local
Это может быть сделано на стороне провайдера (думаю дождёмся нескоро) или в файле hosts (или множеством других способов, если у вас интернет настроен через squid+dnscache/bind которыми вы можете управлять).
Попробуйте зайти по ссылке: http://retracker.local/stat
Если страничка открылась в браузере без ошибок - вам ничего делать не надо.

Теперь о том, как поправить файл hosts. Учитывайте то, что адрес динамический - но меняется он пока реже чем раз в месяц - но возможно придётся процедуру иногда повторять.

0. Проверяете работоспособность моего ретрекера. Жмёте ссылку http://bt.pwned.ru/stat - и в браузере должны увидеть статистику его использования. Если что-то не так - то или у вас неверные настройки браузера/dns - либо мой ретрекер отключен, надеюсь что временно - если ретрекер не откроется и через пару дней - то новость уже неактуальна - ищите другой ретрекер. На данный момент (декабрь 2010) я пока не вижу причин его отключать.

В windows системах.
1. Скачиваете скрипт: vgimly_retracker-2_03.zip (зеркало тут) - на авторство не претендую - скрипт найден в сети - но внесено много существенных проверок, улучшающих работу скрипта.
2. Распаковываете его хоть на рабочий стол. Запускаете (в Vista/Win7 необходимо сделать это с правами администратора - в XP и ранее - просто запускаете).
3. Закрываете окно скрипта - проверив, на отсутствие сообщений об ошибках.



В windows системах - ручной режим (если не доверяете чужим скриптам).
1. Узнаёте адрес bt.pwned.ru (ping bt.pwned.ru или nslookup bt.pwned.ru ).
2. Открываете блокнот или любой другой текстовый редактор (в vista/win7 - с правами администратора) и открываете на редактирование файл hosts.
notepad %systemroot%\system32\drivers\etc\hosts
3. Вносите запись аналогичную для linux (удаляя другие упоминания retracker.local)
95.106.xx.xx retracker.local bt

В linux системах (скрипта не делал - ибо очевидно - если надо - напишите в комменте).
1. Узнаёте адрес ретрекера (в консоли: host bt.pwned.ru и копируете полученный адрес 95.106.хх.хх).
2. Открываете gksudo gedit /etc/hosts
и добавляете строчку (удаляя другие упоминания адреса retracker.local, если есть):
95.106.xx.xx retracker.local bt

3. Сохраняете и закрываете редактор.

4. Общее для всех систем. Проверяете работоспособность изменений:
http://retracker.local/stat

Всё. В случае если заметите как-то что ретрекер слетел - проделайте всю процедуру заново.
Возможно просто сменился адрес. Теперь об адресе ретрекера.
Предыдущие записи о ретрекере попутно добавляют короткое имя "bt" - поэтому можно обращаться к серверу через него. Также работают udp анонсы на мой ретрекер - можете использовать такой короткий адрес ретрекера: udp://bt:3 . Рекомендуемые настройки для внесения в торренты ретрекера такие (размещайте их в одной группе - не разделяя друг от друга пробелами - как показано на картинке внизу):
http://retracker.local/announce
udp://bt.pwned.ru:3
http://bt.pwned.ru/announce