Настройка USB 3G модема Huawei E620 (12d1:1001) на Ubuntu Linux
Опубликовано:
Комментариев: 2
Купил мой друг себе нетбук Asus Eeepc 1000 HG со встроенным 3G модемом Huawei E620. Все в нем казалось бы хорошо, лицензионная ХР, все настроено, но вот я заразил его вирусом Линуксоида, и он захотел себе туда линукс. Дистрибутив Убунты для нетбука Eeepc установили, но вот снова вечная беда настроить 3G модем на Linux. Но спустя пару часов издёвок над ноутом я всё же "покорил" модем, и вот пишу эту запись, спецом для друга, если он переустановит Ubuntu – то будет ему шпоргалка, да и вам может пригодиться. Пока вы читаете, я пойду поиграюсь на Samsung Galaxy в новую игру "фруктовый ниндзя". Да, есть возможность скачать fruit ninja android 2.3 от сюда. Там есть и другие бесплатные игры, но мне пока этой хватит в качестве вознаграждения за проделанный труд с 3G модемом
Итак, ядро у нас там было 2.6.32-trunk-686
Команда Lsusb выдавала модем как:
Bus 001 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Хорошо, что система сразу его видит нормально, и не пришлось ставить usb_modeswitch. Чтобы долго не парится я сразу поставил ему с флешки deb пакет програмки gnome-ppp.
Привожу пример нашего файла конфига .wvdial.conf для оператора 3G связи Utel.
Для начала откроем его для редактирования
sudo gedit /root/.wvdial.conf
и скопируйте туда сам конфиг:
[Dialer Defaults]
Modem = /dev/ttyUSB0
ISDN = off
Modem Type = Analog Modem
Baud = 9600
Init = ATX3
Init2 = ATZ
Init3 = AT+CGDCONT=1,"IP","3g.utel.ua"
Init4 =
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99***1#
Phone1 =
Phone2 =
Phone3 =
Phone4 =
Dial Prefix =
Dial Attempts = 1
Dial Command = ATM1L3DT
Ask Password = off
Password = foo
Username = foo
Auto Reconnect = on
Abort on Busy = off
Carrier Check = off
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on
;Minimize = on
;Dock = on
;Do NOT edit this file by hand!
Единственное что, если используете не Utel карточку то измените точку доступа на точку доступа вашего оператора, заменив 3g.utel.ua на вашу. И все должно работать! НО! как всегда есть большое НО, и в моем случае были проблемы у gnome-ppp с подключением. Так что пришлось поворожить.
Я нажал подключиться используя sudo gnome-ppp, но получил неожиданно ошибку от гнома:
GNOME PPP: STDERR: --> The PPP daemon has died: No root priv error (exit code = 3)
GNOME PPP: STDERR: --> man pppd explains pppd error codes in more detail.
GNOME PPP: STDERR: --> I guess that's it for now, exiting
GNOME PPP: STDERR: --> The PPP daemon has died. (exit code = 3)
если же запускать gnome-ppp без прав администратора, то вылазила такая ошибка:
GNOME PPP: Connecting...
GNOME PPP: STDERR: --> Ignoring malformed input line: ";Do NOT edit this file by hand!"
GNOME PPP: STDERR: --> WvDial: Internet dialer version 1.60
GNOME PPP: STDERR: --> Cannot get information for serial port.
GNOME PPP: STDERR: --> Initializing modem.
GNOME PPP: STDERR: --> Sending: ATX3
GNOME PPP: STDERR: ATX3
GNOME PPP: STDERR: OK
GNOME PPP: STDERR: --> Sending: ATZ
GNOME PPP: STDERR: ATZ
GNOME PPP: STDERR: OK
GNOME PPP: STDERR: --> Sending: AT+CGDCONT=1,"IP","3g.utel.ua"
GNOME PPP: STDERR: AT+CGDCONT=1,"IP","3g.utel.ua"
GNOME PPP: STDERR: OK
GNOME PPP: STDERR: --> Modem initialized.
GNOME PPP: STDERR: --> Sending: ATM1L3DT*99***1#
GNOME PPP: STDERR: --> Waiting for carrier.
GNOME PPP: STDERR: ATM1L3DT*99***1#
GNOME PPP: STDERR: CONNECT
GNOME PPP: STDERR: --> Carrier detected. Starting PPP immediately.
GNOME PPP: STDERR: --> Unable to run /usr/sbin/pppd.
GNOME PPP: STDERR: --> Check permissions, or specify a "PPPD Path" option in wvdial.conf.
GNOME PPP: STDERR: Caught signal 2: Attempting to exit gracefully...
GNOME PPP: STDERR: --> Disconnecting at Sun Mar 14 01:01:43 2010
Из этого отчета видно, что в этом случае была какаято фигня с PPPD.
Путем сравнения конфига моего ноута и его, я заметил что у него стояли неправильно разрешения для PPPD из-за чего руту было запрещено коннектится,а остальные не имели прав присоединится. Т.е. у него было так
$ ls -l /etc/ppp/{chap,pap}-secrets
-rw------- 1 root root /etc/ppp/chap-secrets
-rw------- 1 root root /etc/ppp/pap-secrets
И прописав sudo chmod 644 /etc/ppp/chap-secrets я получил то что надо:
-rw-r--r-- 1 root root /etc/ppp/chap-secrets
-rw------- 1 root root /etc/ppp/pap-secrets
Но и этого было мало. Гном все еще не мог получить доступ в /usr/sbin/pppd, написал вот что:
$ sudo chown root:dip /usr/sbin/pppd
И еще, чтобы иметь возможность запускать интернет от обычного пользователя, то нужно добавить себя в группы DIP и DIALOUT, легче всего это сделать открыв файл с групами, и дописав туда своего пользователя
sudo gedit /etc/group
Вот и все! Удачной работы!
P.S. чувак я ее написал спецом для тебя, чтобы после того как решишь перебить линукс, ты знал сам что делать :)