GeorgeVita


Σημειώσεις για χρήση ZTE MF636 (USB 3G modem) σε Ubuntu 8.04

(Χρήση σε Linux του USB stick που δίνει ο Cosmote στο Internet On the Go)

Τo ZTE MF636 δεν αναγνωρίζεται από το Ubuntu (σύστημα ή Network Manager) και δεν μπορεί να χρησιμοποιηθεί σαν 3G modem. Στην αρχική του κατάσταση εμφανίζεται στην εντολή lsusb ως 19d2:2000 που ίσως αφορούν τον εσωτερικό autorun δίσκο ή το εσωτερικό USB HUB.

Να σημειώσω ότι με τις παρακάτω οδηγίες χρησιμοποιούμε το ZTE MF636 για σύνδεση μέσω wvdial ενώ ο firefox ξεκινά σε offline mode. Αρα δεν πρόκειται για "κομψή" ή "αυτόματη" διαδικασία όπως έχει γίνει στο Ubuntu 8.10 η χρήση των Huawei E170/E220 (βλέπε http://forum.huawei.com/jive4/thread.jspa?threadID=322982).

Οι δοκιμές γίνονται καθημερινά με σύνδεση Cosmote On the Go σε Toshiba Satellite L30-113 με εγκατεστημένο Ubuntu 8.04 (είναι η μοναδική μου σύνδεση internet).


Συνοπτικά πρέπει να γίνουν οι παρακάτω 5 ενέργειες:

1. μεταγωγή του MF636 σε 19d2:0031
2. ρύθμιση του αρχείου /etc/wvdial.conf
3. δημιουργία αρχείου για αναγνώριση του modem και ρύθμιση της σειριακής επικοινωνίας
4. σύνδεση με wvdial
5. αφαίρεση του Offline Mode στον Firefox

Αναλυτικά

1. μεταγωγή του MF636 σε 19d2:0031 (1 φορά από περιβάλλον windows)

Για να γίνει η εσωτερική μεταγωγή στο modem και να εμφανιστεί ως 19d2:0031 στην εντολή lsusb, δίνουμε την εντολή AT+ZCDRUN=8 στο modem από περιβάλλον windows (μέσω hyperterminal ή άλλου προγράμματος σειριακής επικοινωνίας). Από το Control Panel των windows θα βρούμε την πόρτα (com7, com8, κλπ.) στην οποία έχει τοποθετηθεί το modem.

Εναλλακτικά κάνουμε το παρακάτω "τρυκ":
- από το control panel των vista προσθέτουμε την extra εντολή (στο init string) AT+ZCDRUN=8
- προσπαθούμε να συνδεθούμε μέσω της εφαρμογής που μας έδωσε ο πάροχος Mobile Broadband
- αφαιρούμε την παραπάνω εντολή (μέσω control panel)

ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ: μετά την εκτέλεση της εντολής AT+ZCDRUN=8 μπορούμε να λειτουργήσουμε το modem στα windows και στο Ubuntu αλλά ΔΕΝ μπορούμε να εγκαταστήσουμε το modem σε άλλο windows PC! Για την επιστροφή στην αρχική κατάσταση πρέπει να δώσουμε την εντολή AT+ZCDRUN=9 με την παραπάνω διαδικασία.

Στο www.matt-barrett.com υπάρχουν χρήσιμα στοιχεία που περιγράφουν τα παραπάνω.

2. ρύθμιση του αρχείου /etc/wvdial.conf (1 φορά στο Ubuntu)

Στο Ubuntu ανοίγουμε παράθυρο τερματικού και τρέχουμε: sudo gedit /etc/wvdial.conf
Δίνουμε το password άν το ζητήσει και διορθώνουμε το αρχείο και να γίνει:

[Dialer Defaults]
Modem = /dev/ttyUSB2
Modem Type = Analog Modem
ISDN = 0
Baud = 460800
Dial Attempts = 1
Username = user
Password = pass
Init1 = ATZ
Init2 = AT&F &D2 &C1
Init3 = ATS7=60 S30=0 S0=0
Init4 = AT+CGDCONT=1,"IP","internet"
Phone = *99***1#
Stupid Mode = 1

Αποθηκεύουμε και κλείνουμε το gedit.

ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ: Η γραμμή Modem = /dev/ttyUSB2 καθορίζει τη θύρα επικοινωνίας με το 3G modem. Με την εντολή ls /dev/ttyU* θα ελέγξετε και θα τοποθετήσετε τη θύρα με το μεγαλύτερο αριθμό (λ.χ. /dev/ttyUSB3). Ειναι πιθανό η θύρα να είναι διαφορετική με το modem τοποθετημένο πριν ή μετά το boot.

3. δημιουργία αρχείου για αναγνώριση του modem και ρύθμιση της σειριακής επικοινωνίας (1 φορά στο Ubuntu)

Από παράθυρο τερματικού τρέχουμε:
sudo gedit /etc/udev/rules.d/ZTEMF636.rules

Αντιγράφουμε τα παρακάτω στο αρχείο:

ACTION!="add", GOTO="ZTE_End"
#
# Is this the actual modem?
SUBSYSTEM=="usb", SYSFS{idProduct}=="0031",
SYSFS{idVendor}=="19d2", GOTO="ZTE_Modem"
#
LABEL="ZTE_Modem"
# This is the Modem part of the card, let's
# load usbserial with the correct vendor
# and product ID's so we get our usb serial devices
RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0x0031",
# Make users belonging to the dialout group
# able to use the usb serial devices.
MODE="660", GROUP="dialout"
#
LABEL="ZTE_End"

Αποθηκεύουμε και κλείνουμε το gedit.

Το παραπάνω είναι παραλλαγή του post #4 (JimmyI) στο:
http://ubuntuforums.org/showthread.php?t=665332

4. σύνδεση με [B]sudo wvdial[/B]

Τοποθετούμε το modem σε οποιαδήποτε θύρα USB, περιμένουμε μέχρι να ανάψει σταθερά το γαλάζιο LED στο modem (βρήκε δίκτυο 3G) και απο παράθυρο τερματικού εκτελούμε:
sudo wvdial
Θα εμφανιστούν διάφορα μηνύματα, μεταξύ των οποίων:

CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Tue Feb 24 22:17:24 2009
--> Pid of pppd: 7714
...
--> primary DNS address 195.167.65.195
--> secondary DNS address 10.11.12.14

Αν δείτε 10.11.12.13 στo primary DNS πατήστε CTRL-C και ξαναδοκιμάστε sudo wvdial. Κατα τη διάρκεια της σύνδεσης το γαλάζιο LED στο modem αναβοσβήνει. Πράσινο LED σημαίνει σύνδεση GPRS.

Αποσύνδεση γίνεται πατώντας CTRL-C στο παράθυρο τερματικού που έγινε η σύνδεση.

5. αφαίρεση του Offline Mode στον Firefox

Τρέξτε τον firefox και ακυρώστε το offline mode με ALT-F και μετά W
... καλή περιήγηση!



Test για πιθανό debugging (με το modem συνδεδεμένο):

- Από τερματικό εκτελούμε lsusb και πρέπει να δούμε 19d2:0031 σε κάποια γραμμή

- Η εντολή τερματικού ls /dev/ttyU* πρέπει να δίνει /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2
Η χρήσιμη πόρτα είναι αυτή με το μεγαλύτερο αριθμό (/dev/ttyUSB2 στην περίπτωσή μου), άν ειναι διαφορετική δοκιμάστε να αλλάξετε αντίστοιχα τη γραμμή Modem=... στο αρχείο /etc/wvdial.conf

Σημειώσεις για τα AT Commands στο αρχείο /etc/wvdial.conf:
ATZ s/w reset του modem
AT&F επαναφορά εργοστασιακών ρυθμίσεων
AT&D2&C1 χρήση h/w handshake
ATS7=60 αναμονή έως 60 δευτερολέπτων γιά σύνδεση (άν δεν γίνει τερματίζει το wvdial)
ATS30=0 ΔΕΝ θελουμε τερματισμό λόγω αδράνειας (δεν μας αποσυνδέει όταν δεν κάνουμε περιήγηση)
ATS0=0 ΔΕΝ θέλουμε απάντηση σε εισερχόμενες κλήσεις

Χρήσιμες αναφορές (εντολές τερματικού):
man wvdial
man wvdial.conf


Χρήσιμες αναφορές (στο internet):
forum.ubuntu-gr.org
www.ubuntuforums.org
www.matt-barrett.com






brains