Wednesday, July 30

EV-DO Glory: Setting up an Alltel UM150


That's right readers, I finally got off my lazy butt and decided to start writing in my Vostro blog. Now before you say "Finally! Why have you kept us post-less for the last 4 months you jerk?! You know, if I met you in real life, I'd kick you six ways from Sunday", I've been pretty busy at work in an internship and designing several websites on the side. One thing I can promise is that I will update the blog periodically for as long as I own my Vostro 1500 (probably a few more years). I mean, how else will I recover everything I installed on here if I didn't document how I did it?

Going back to the topic at hand... One of the issues I ran into while working on the road was the use of the Alltel UM150 wireless adapter. The software could not be emulated in Wine and there was no native linux support by Alltel (what a surprise). Thankfully, there were several posts on forums and blogs (visit the Ubuntu thread here). What works is using a dialer called 'wvdial' and manually configuring settings for the device.

To begin, I had to install wvdial along with its dependencies.

>sudo apt-get install wvdial

Once installed, I had to tell wvdial specific information about the adapter (e.g. Vendor info, interface, etc). To find the interface the device was supported on, I had to run the following command:

>diff /proc/bus/usb/devices devices | grep Vendor

It was supposed to list the Product ID and Vendor. For whatever reason, my device did no cooperate with the command and I had to use other means to find the Product ID and Vendor.

To get around this, I mounted the entire USB filesystem to '/media/USB1' and looked at the devices:

>sudo mount -tusbfs /dev/sdb /media/USB1

>sudo vim /media/USB1/devices

Then I looked in there for UM150 Device (Look for UTStartcom UM150). I found the Product ID and Vendor and then set the device as a usb serial device:

>modprobe usbserial vendor=0x1234 product=0x5678

Note: Make sure to change '1234' and 5678' to the actual vendor and product id's. Also, make sure you include the '0x' before both. It has something to do with the hex value of the ID and without it, the device won't register properly.

Now I had to configure wvdial to work with my new modem. I edited the configuration file:

>sudo vim /etc/wvdial.conf

And put in the following:

[Dialer Defaults]
Stupid Mode = on
Modem = /dev/ttyACM0
Baud = 9216000
Init = ATZ
Init2 = ATQ0 E1 S0=0 &C1 &D2 +FCLASS=0
Phone = #777
Username = 1234567890@alltel.net
Password = Alltel
Init1 = ATZ
ISDN = 0
Modem Type = Analog Modem
Auto Reconnect = on
Carrier Check = no
[Dialer shh]
Init3 = ATM0
[Dialer pulse]
Dial Command = ATDP

Note: For '1234567890' you will need to put in your actual phone number for the device. The settings for this modem ONLY work for Alltel. For other services like Verizon or AT&T, you will need to change the settings in this file. You can find out specifically here.

Now I had to test the device:

>sudo wvdial

It took a moment to register, but then terminal started spitting out all sorts of verbose data. I then opened up Iceweasel and sure enough, my home page showed up.

To be fancy, I made an icon on my desktop to make it easy to launch. I created a new launcher from terminal and made the launch code 'sudo wvdial'. Then I gave it unrestricted permissions (You may not want to do this) so I could open it without typing my password:

>sudo chmod 777 AllTel_UM150.desktop