Zeroshell dan USB Smart EVDO

Router dengan Zeroshell-1.0-beta12 memang sudah ada option untuk menambah koneksi internet lewat modem 3G (lebih tepatnya HSPA). Dengan fitur ini, akses internet bisa didapatkan menggunakan usb modem HSDPA dan dishare ke jaringan lokal (LAN). Tapi, untuk digunakan di Indonesia (misalnya Indosat M2), tunggu dulu, masih ada masalah teknis nih :D.

Modul Linux driver yang digunakan oleh usb modem HSPA (dan juga modem EVDO) adalah usbserial, dengan wrapper menggunakan usb-modeswitch. Hanya saja, sebelum usb-modeswitch diupgrade :D, device usb tersebut tidak bisa dikenali sebagai GSM modem. (Ini masalah pertama… hehehe). Dan mungkin kernelnya juga loh. Di kernel Linux 2.6.31.4, sebagian besar modem yang beredar sudah disupport (misalnya ZTE AC8710), sehingga tidak diperlukan lagi untuk memasukkan option vendor= dan product=. Ini diperlukan saat diinginkan multiple koneksi dengan 2 modem atau lebih yang berbeda (dengan splitting: baik secara round-robin, load balancing maupun fail-over).

Setelah usb-modeswitch diupgrade dan dapat menswitch mode usb device tersebut sebagai modem, permasalahan beralih ke session ppp-nya. Session PPP ke dialin server ini dibangun menggunakan ppp chat. Modem yang berbeda, AT commandnya beda, inisialisasi modemnya beda, yang menyebabkan PPP chatnya juga berbeda (Untuk operator yang berbeda sih sudah solved, ada option APN yang bisa dimasukkan). Misalnya:

AT+CGDCONT=1,"IP","$APN","",0,0

Option di atas diset default oleh Zeroshell saat membuat koneksi 3G baru di Zeroshell (dengan APN bisa diset indosat3g, telkomsel, dll) , padahal untuk modem EVDO CDMA (misalnya ZTE AC8710) AT Command tersebut invalid. Nah, lho…. Belum lagi option ‘name’ di konfigurasi ppp chat agar tersambung ke dialup server smart yang mandatory (harus ada, walaupun sembarang). Jika tidak ada option name ini, LCP akan selalu diputus oleh server.

Satu-satunya jalan, bongkar ZeroShell 😀

Berikut snapshot usb-modeswitch dan session pppnya:

########################################################
# usb_modswitch configuration for ZTE AC8710
#
DefaultVendor=  0x19d2
DefaultProduct= 0xfff5

TargetVendor=   0x19d2
TargetProduct=  0xffff

CheckSuccess=20

MessageContent="5553424312345678c00000008000069f030000000000000000000000000000"

Saat usb_modeswitch dijalankan:

usb 5-1.4: New USB device found, idVendor=19d2, idProduct=fff1
usb 5-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 5-1.4: Product: ZTE CDMA Tech
usb 5-1.4: Manufacturer: ZTE, Incorporated
usb 5-1.4: configuration #1 chosen from 1 choice
usbserial_generic 5-1.4:1.0: generic converter detected
usb 5-1.4: generic converter now attached to ttyUSB0
usbserial_generic 5-1.4:1.1: generic converter detected
usb 5-1.4: generic converter now attached to ttyUSB1
usbserial_generic 5-1.4:1.2: generic converter detected
usb 5-1.4: generic converter now attached to ttyUSB2
usbserial_generic 5-1.4:1.3: generic converter detected
usb 5-1.4: generic converter now attached to ttyUSB3
usbserial_generic 5-1.4:1.4: generic converter detected
USB Serial support registered for GSM modem (1-port)
usb 5-1.4: generic converter now attached to ttyUSB4

Modifikasi chat untuk CDMA, dengan menghilangkan inisialisasi ‘AT+CGDCONT=1,”IP”,”$APN”,””,0,0’:

12:43:20 	ATZ^M^M
12:43:20 	OK
12:43:20 	-- got it
12:43:20 	send (ATDT#777^M)
12:43:21 	expect (CONNECT)
12:43:21 	^M
12:43:21 	ATDT#777^M^M
12:43:21 	CONNECT
12:43:21 	-- got it
12:43:21 	send (\d)

Session ppp telah terbangun 🙂

12:43:19 	pppd 2.4.4 started by root, uid 0
12:43:22 	Serial connection established.
12:43:22 	using channel 2
12:43:22 	Using interface ppp0
12:43:22 	Connect: ppp0  /udev/ttyUSB0
12:43:23 	Warning - secret file /etc/ppp/pap-secrets has world and/or group access
12:43:23 	sent [LCP ConfReq id=0x1 ]
12:43:23 	rcvd [LCP ConfAck id=0x1 ]
12:43:24 	rcvd [LCP ConfReq id=0x2 ]
12:43:24 	sent [LCP ConfAck id=0x2 ]
12:43:24 	rcvd [CHAP Challenge id=0x1 , name = ""]
12:43:24 	Warning - secret file /etc/ppp/chap-secrets has world and/or group access
12:43:24 	sent [CHAP Response id=0x1 , name = "smart0"]
12:43:24 	rcvd [CHAP Success id=0x1 ""]
12:43:24 	CHAP authentication succeeded
12:43:24 	CHAP authentication succeeded
12:43:24 	sent [CCP ConfReq id=0x1 ]
12:43:24 	sent [IPCP ConfReq id=0x1 ]
12:43:24 	rcvd [IPCP ConfReq id=0x1 ]
12:43:24 	sent [IPCP ConfAck id=0x1 ]
12:43:24 	rcvd [LCP ProtRej id=0x3 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f 00 00 00 2b 47 3f c8 0a 11 04 5b 10 64 40 61 ...]
12:43:24 	Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
12:43:24 	rcvd [IPCP ConfRej id=0x1 ]
12:43:24 	sent [IPCP ConfReq id=0x2 ]
12:43:24 	rcvd [IPCP ConfNak id=0x2 ]
12:43:24 	sent [IPCP ConfReq id=0x3 ]
12:43:25 	rcvd [IPCP ConfAck id=0x3 ]
12:43:25 	local IP address 10.11.104.19
12:43:25 	remote IP address 10.17.4.12
12:43:25 	Script /etc/ppp/ip-up started (pid 4885)
12:43:25 	Script /etc/ppp/ip-up finished (pid 4885), status = 0x7f

Zeroshell dengan USB Smart EVDO sudah beroperasi 3 hari:

Koneksi zeroshell menggunakan ppp0
Koneksi zeroshell menggunakan ppp0

16 thoughts on “Zeroshell dan USB Smart EVDO

  1. Menarik banget sharingnya Mas Eko, terutama buat yang sperti saya: awam linux, perlu router linux, dan pemakai smart evdo Haier ce100, he hee…

    Kalo bisa, mohon dituliskan langkah untuk dapat mendetksi Haier CE100 dari Zeroshell.
    Saya sudah boot Zerosheel 1.0 pake CD live versi Beta 12_4 sudah sampai di shell linux.
    Modem Haier CE100 dah di-connect di USB.
    Sudah bisa masuk setting lewat web client, tapi CE100 belum dikenal.

    Setting2 apa yang harus saya lakukan dan bagaimana caranya?
    Semoga Mas Eko bersedia membagi ilmunya.
    Terima kasih sebelumnya.

    Salam, tak lupa buat kedua putri & putranya yang manis2.

    Tedy,
    Lebak Bulus

    Like

  2. Barangkali link ini bisa membantu:
    http://forum.sabayonlinux.org/viewtopic.php?t=19229

    Saya pun harus bongkar Zeroshell agar bisa untuk evdo, mas.
    Untuk melihat apakah modem sudah terdeteksi, masuk ke consolenya saja. Trus ‘dmesg’. Modem usb akan dihandle oleh usb_modeswitch menggunakan driver usbserial. Dari web, juga bisa, lihat di connection, new3G, kalau ada device nodenya (/dev/ttyUSBx), mestinya usb modem sudah terdeteksi.

    Tapi, mudah-mudahan bisa konek yah, mas.

    Like

  3. mas di buat donk tutorial nya dari awal…gimana cara gabung beberapa koneksi modem ev-do rev.A sekaligus…banyak yang membutuhkan tuh mas terutama saya

    Like

  4. Pak, mao tanya dong, kalo device vendor, device product dll yang di script pertama itu tau nya dari mana ya?

    Kalo saya pake Axesstel MV-140 itu sama aja ya prosedurnya kaya yang di atas atau gimana?

    makasih banyak, pak.

    Like

  5. mas hayo donk kapan buat tutorial nya…sudah banyak yang menanti…saya sudah siapin 3 modem evdo smart nih…

    Like

  6. Thanks for your information, satu pertanyaan aja;
    apakah USB Modem menggunakan Zero Shell ini bisa diterapkan juga pada Router IPCOP

    Like

Leave a comment