Rogers Rocket Stick on OpenSUSE 11.1

Yes it works! (I was as surprised as anyone)

It didn’t take me long to get it working but google returns a lot of posts with not so good information so here is the documentation on my experience.

The USB stick is actually just a USB Serial device that acts like a regular modem (more or less). And just like a dial-up modem, you have to dial-in and then connect to the internet using PPP. That’s the basics but there are a few tricks to get it going.

1) The USB devices ships with ZeroCD enabled. This is a hack for Windows which makes the device look like a auto-run CD so it can install the software needed for the stick. There supposedly are some utilities that allow you to remove this under Linux but they would not work for me so I had to resort to using windows for this step.

Plug the device into a Windows machine (at this point it’s your choice if you want to go through the software install) and then in control panel, select “Phone & Modems”.  You should see a modem called something like “ZTE”. In the advanced section of the modem config there is a place to put additional initialization commands. Put in the string:  AT+ZCDRUN=8

Your USB modem should now act like a serial modem when you connect it to Linux.

2) Plug the device into Linux USB port.

Here are the specifics of my Rocket Stick hardware:

# lsusb
Bus 007 Device 006: ID 19d2:0031 ONDA Communication S.p.A.

Output in /var/log/messages:

Jul  7 21:23:48 vandium kernel: usb 7-6: new high speed USB device using ehci_hcd and address 6
Jul  7 21:23:48 vandium kernel: usb 7-6: configuration #1 chosen from 1 choice
Jul  7 21:23:53 vandium kernel: scsi8 : SCSI emulation for USB Mass Storage devices
Jul  7 21:23:53 vandium kernel: usb-storage: device found at 6
Jul  7 21:23:53 vandium kernel: usb-storage: waiting for device to settle before scanning
Jul  7 21:23:53 vandium kernel: usb 7-6: New USB device found, idVendor=19d2, idProduct=0031
Jul  7 21:23:53 vandium kernel: usb 7-6: New USB device strings: Mfr=2, Product=1, SerialNumber=3
Jul  7 21:23:53 vandium kernel: usb 7-6: Product: ZTE CDMA Technologies MSM
Jul  7 21:23:53 vandium kernel: usb 7-6: Manufacturer: ZTE, Incorporated
Jul  7 21:23:53 vandium kernel: usb 7-6: SerialNumber: 1234567890ABCDEF
Jul  7 21:23:53 vandium kernel: usbcore: registered new interface driver usbserial
Jul  7 21:23:53 vandium kernel: usbserial: USB Serial support registered for generic
Jul  7 21:23:53 vandium kernel: usbcore: registered new interface driver usbserial_generic
Jul  7 21:23:53 vandium kernel: usbserial: USB Serial Driver core
Jul  7 21:23:53 vandium kernel: usbserial: USB Serial support registered for GSM modem (1-port)
Jul  7 21:23:53 vandium kernel: option 7-6:1.0: GSM modem (1-port) converter detected
Jul  7 21:23:53 vandium kernel: usb 7-6: GSM modem (1-port) converter now attached to ttyUSB0
Jul  7 21:23:53 vandium kernel: option 7-6:1.1: GSM modem (1-port) converter detected
Jul  7 21:23:53 vandium kernel: usb 7-6: GSM modem (1-port) converter now attached to ttyUSB1
Jul  7 21:23:53 vandium kernel: option 7-6:1.3: GSM modem (1-port) converter detected
Jul  7 21:23:53 vandium kernel: usb 7-6: GSM modem (1-port) converter now attached to ttyUSB2
Jul  7 21:23:53 vandium kernel: usbcore: registered new interface driver option
Jul  7 21:23:53 vandium kernel: option: USB Driver for GSM modems: v0.7.2
Jul  7 21:23:54 vandium kernel: scsi 8:0:0:0: Direct-Access     ZTE      MMC Storage      322  PQ: 0 ANSI: 2
Jul  7 21:23:54 vandium kernel: sd 8:0:0:0: [sdb] Attached SCSI removable disk
Jul  7 21:23:54 vandium kernel: sd 8:0:0:0: Attached scsi generic sg2 type 0
Jul  7 21:23:54 vandium kernel: usb-storage: device scan complete

3)  install wvdial

# zypper install wvdial

4) use this /etc/wvdial.conf

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

The password is the 12 digit code on the sticker labeled “UPC:”

5) Now dial the modem:

# wvdial
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
–> Sending: AT&F &D2 &C1
AT&F &D2 &C1
OK
–> Sending: ATS7=60 S30=0 S0=0
ATS7=60 S30=0 S0=0
OK
–> Sending: AT+CGDCONT=1,”IP”,”internet.com”
AT+CGDCONT=1,”IP”,”internet.com”
OK
–> Modem initialized.
–> Sending: ATDT*99#
–> Waiting for carrier.
ATDT*99#
CONNECT
–> Carrier detected.  Starting PPP immediately.
–> Starting pppd at Tue Jul  7 22:22:05 2009
–> Pid of pppd: 12884
–> Using interface ppp0
–> pppd: &[7f]
–> pppd: &[7f]
–> pppd: &[7f]
–> pppd: &[7f]
–> pppd: &[7f]
–> local  IP address 10.179.188.43
–> pppd: &[7f]
–> remote IP address 10.64.64.64
–> pppd: &[7f]
–> primary   DNS address 64.71.255.198
–> pppd: &[7f]
–> secondary DNS address 207.181.101.5
–> pppd: &[7f]
–> Script /etc/ppp/ip-up run successful
–> Default route Ok.
–> Nameserver (DNS) Ok.
–> Connected… Press Ctrl-C to disconnect
–> pppd: &[7f]

6) This is where things get ugly. You should see some output regarding DNS and default routes. Unfortunately, if you are using network manager these entries will not get automatically updated. One solution is to disable network manager (I didn’t test this) but I don’t like doing that so I just manually made the DNS entries in /etc/resolve.conf and added my own default gateway.

# echo “nameserver 64.71.255.198″ >> /etc/resolve.conf

# route add default gw 10.179.188.1

After that everything was working. Slow (like dialup), but working.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: