How to: USB EVDO Venus Fast2 Modem on Ubuntu 10.04 LTS Lucid Lynx

Venus Fast2 specification:
- Dual Band Unlocked, (Smart, Fren/Mobi, Flexi, Starone, Esia & AHA)
- EVDO Rev A ! Modem speed up to 3.1 Mbps
- Downlink 3.1 Mbps , Uplink 1.8 Mbps on EVDO network
- Downlink 153 Kbps on CDMA1X network
- Two internal antena, receive diversity
- 2G MicroSD Memory Expansion
- Plug and play installation (Without installation disc)
- Supports XP, Vista, 7
- USB 2.0 Full Speed
- RUIM card slot
- MicroSD card slot
- 1 LED indicates different status
- High performance internal antenna
- Dimensions : 81 X 25.4 X 12 mm
- Weight : 25.5 gram
- Voice call ready
- Color: white

SIM Card using AHA (link) Dinamis package.

I’m using Acer Aspire 5050 laptop (I know… I know it’s waaay to old) with Ubuntu 10.04 LTS Lucid Lynx

This modem has built it CD-Rom support — zerocd feature. On Windows, it’ll be auto-mounted once the modem plugged in. On Ubuntu, it’s a different story.

On Ubuntu, there is no new drive — nothing mounted.

Here is dmesg -c output:

root@laptop: /home/me# dmesg -c
[ 189.336303] usb 1-2.6: new full speed USB device using ehci_hcd and address 11
[ 189.430658] usb 1-2.6: configuration #1 chosen from 1 choice
[ 189.440347] scsi5 : SCSI emulation for USB Mass Storage devices
[ 189.440855] usb-storage: device found at 11
[ 189.440860] usb-storage: waiting for device to settle before scanning

nothing related after waiting for device to settle before scanning, it’s stuck there.

and here is lsusb output:

root@laptop: /home/me# lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0a5c:2101 Broadcom Corp. A-Link BlueUsbA2 Bluetooth
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 011: ID 05c6:1000 Qualcomm, Inc.
Bus 001 Device 005: ID 13ba:0017 Unknown PS/2 Keyboard+Mouse Adapter
Bus 001 Device 002: ID 1a40:0201 TERMINUS TECHNOLOGY INC.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 011: ID 05c6:1000 Qualcomm, Inc. is the modem on usb-storage mode.

So, the modem Vendor ID (vid) is 05c6 and Product ID (pid) is 1000

detailed lsusb output on 0x05c6:0x1000

root@laptop: /home/me# lsusb -v -d 0x05c6:0x1000
Bus 001 Device 011: ID 05c6:1000 Qualcomm, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x05c6 Qualcomm, Inc.
idProduct 0x1000
bcdDevice 0.00
iManufacturer 1 Qualcomm, Incorporated
iProduct 2 USB MMC Storage
iSerial 3 000000000002
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x09 EP 9 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
root@laptop: /home/me#

The built-in CD-Rom only contains software and driver for Windows boxes, thus, not needed here. We need the usb-storage mode kicked out so the modem mode can be kicked in. In short, the modem mode will active once the usb-storage mode deactivated.

How?
Of course by ejecting (or unmounting) the CD-Rom drive. Here’s come the trouble. There is no sign of any device created in /dev/. How can we ejecting something that does not exist?

We need help from usb_modeswitch.

If you want to compile it manually, download it here.
Do not forget to download usb-modeswitch-data aside of usb-modeswitch.

Ubuntu packages:
Find on universe usb-modeswitch_1.1.0-2_i386.deb and usb-modeswitch-data_20100127-1_all.deb, download and install them.

usb_modeswitch requires the following configuration:

########################################################
# Venus Fast2 (white)

DefaultVendor = [vendor ID to look for (mandatory -- storage mode)]
DefaultProduct = [product ID to look for (mandatory) -- storage mode]

TargetVendor = [target vendor (optional, for success check) — modem mode]
TargetProduct = [target model (optional, for success check) — modem mode]

CheckSuccess = [check switching result after NUM secs]


MessageContent= [command to send (hex number as string)]
MessageEndpoint= [where to direct the message (optional)]
########################################################

The unknown values are TargetVendor, TargetProduct, MessageContent & MessageEndpoint.

TargetVendor & TargetProduct is Vendor ID & Product ID after switched into modem mode. If you have a Windows boxes, you can see them in Device Manager, which are: 19f5 & 9909 respectively.

As for MessageContent & MessageEndpoint, we need to do USB sniffing to get those. I got them after a painful searching on the sniffer log. Let me help you by providing them here:
MessageContent : 55534243105c838a000000000000061e000000010000000000000000000000
MessageEndpoint : 0x09

Create a new file on /etc/usb_modeswitch_venust_fast.conf:

nano /etc/usb_modeswitch_venust_fast.conf

and fill in the details:

########################################################
# Venus Fast2 (white)

DefaultVendor = 0x05c6
DefaultProduct = 0x05c6

TargetVendor = 0x19f5
TargetProduct = 0x9909

CheckSuccess = 20


MessageContent= "55534243105c838a000000000000061e000000010000000000000000000000"
MessageEndpoint= 0x09
########################################################

Run it:

root@laptop: /home/me# usb_modeswitch -c /etc/usb_modeswitch_venust_fast.conf

Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
Found default devices (1)
Accessing device 023 on bus 001 ...
Using endpoints 0x09 (out) and 0x88 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
OK, driver found ("usbfs")
OK, driver "usbfs" detached

SCSI inquiry data (for identification)
————————-
Vendor String: Qualcomm
Model String: MMC Storage
Revision String: 2.31
————————-


USB description data (for identification)
-------------------------
Manufacturer: Qualcomm, Incorporated
Product: USB MMC Storage
Serial No.: 000000000002
-------------------------
Setting up communication with interface 0 ...
Trying to send the message to endpoint 0x09 ...
OK, message successfully sent
Reading the response to the message ...
OK, response successfully read (13 bytes).
-> Run lsusb to note any changes. Bye.
root@laptop: /home/me#

Check lsusb, you’ll see something like:

root@laptop: /home/me# lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0a5c:2101 Broadcom Corp. A-Link BlueUsbA2 Bluetooth
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 011: ID 19f5:9909
Bus 001 Device 005: ID 13ba:0017 Unknown PS/2 Keyboard+Mouse Adapter
Bus 001 Device 002: ID 1a40:0201 TERMINUS TECHNOLOGY INC.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Now it’s on modem mode (the bold line)

Simply use wvdialconf to auto configurate it with wvdial. All you need to do is fill in the blanks, ie: Phone, Username and Password. On AHA, its #777, aha.co.id and aha, respectively.

Good luck!

No Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: