Verizon UMW-190 and Arch Linux

Published 2010-10-22

I got the Verizon dongle to overcome hotel wifi craziness. It’s one of those new USB devices that mode switch — it initially presents itself as a CD-ROM (/dev/sr1 on my HP6910P laptop), then after mount‘ing and umount‘ing it, it presents itself as /dev/ttyACM0 (cdc-acm.ko gets added by modprobe). I wanted to figure out how to bypass the mount/umount dance, and like all things Linux, someone smarter than me has already figured it out at USB ModeSwitch.

Before it shows(via lsusb):

Bus 002 Device 005: ID 106c:3b05 Curitel Communications, Inc.

After the dance it presents as:

Bus 002 Device 006: ID 106c:3716 Curitel Communications, Inc.

The hand-rolled usb_modeswitch command is:

sudo usb_modeswitch -v 106c -p 3b05 -V 106c -P 3716 -W -s 20 \
-M "555342431234567824000000800008ff024445564348470000000000000000"

In order to get your automagic on, here are the entries:

Add to /lib/udev/rules.d/40-usb_modeswitch.rules:

# Pantech UMW-190
ATTRS{idVendor}=="106c", ATTRS{idProduct}=="3b05", RUN+="usb_modeswitch '%b/%k'"

Add the following as /etc/usb_modeswitch.d/106c:3b05:

# Pantech UMW-190
DefaultVendor= 0x106c
DefaultProduct=0x3b05
TargetVendor= 0x106c
TargetProduct= 0x3716
CheckSuccess=20
MessageContent="555342431234567824000000800008ff024445564348470000000000000000"

Reload the rules:

sudo udevadm control --reload-rules

Try plugging in the device. You should see something like the following in dmesg output:

usb 2-1: new high speed USB device using ehci_hcd and address 5
scsi8 : usb-storage 2-1:1.5
cdc_acm 2-1:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
scsi 8:0:0:0: CD-ROM UMW190 CD-ROM 2.31 PQ: 0 ANSI: 2
sr1: scsi3-mmc drive: 24x/24x xa/form2 caddy
sr 8:0:0:0: Attached scsi CD-ROM sr1
sr 8:0:0:0: Attached scsi generic sg2 type 5

Both /dev/ttyACM0 and /dev/sr1 are available at this point.