success
Method
1. plug the device into the usb port
2. mount it (i used dolphin from kde)
3. issue the command
touch /media/CONNMGR/wcdma.cfg
4. wait a few seconds, then issue the command (as root)
pppd call the-name-of-your-pppd-connection-script
Note: some people prefer to use wvdial for step 4
Anyhow the main point is step 3, which does the switching in this case.
I didn't invent this method myself, but stumbled across it on a message board.
The credit should go to Ethan Hsiao, who says he spent 5 months trying to figure it out.
He actually reported the method for a D-Link DWM-156 vendor=0x07d1 product=0x3e02
and just mentioned that it would also work for a Quanta Q110.
To make it clearer what is happening here is some more info
root@darkstar:/home/rl# uname -a
Linux darkstar 2.6.33.4-smp #1 SMP Wed May 12 21:39:37 CDT 2010 i686 Intel(R) Celeron(R) M CPU 440 @ 1.86GHz GenuineIntel GNU/Linux
1. plug the device into the usb port
root@darkstar:/home/rl# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0408:f000 Quanta Computer, Inc.
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
2. mount it (i used dolphin from kde)
root@darkstar:/home/rl# mount
/dev/sda8 on / type ext4 (rw,relatime,barrier=1,data=ordered)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb on /media/CONNMGR type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed,flush)
root@darkstar:/home/rl# ls /media/CONNMGR
AUTORUN.INF AspireOne EeePC Mac QSG.pdf VID0408PIDEA03.cfg icon.ico setup setup.exe
root@darkstar:/home/rl# lsmod | grep ption
root@darkstar:/home/rl# ls /dev/ttyUSB*
ls: cannot access /dev/ttyUSB*: No such file or directory
3. issue the command
root@darkstar:/home/rl# touch /media/CONNMGR/wcdma.cfg
root@darkstar:/home/rl# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0408:ea03 Quanta Computer, Inc.
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
root@darkstar:/home/rl# ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3
root@darkstar:/home/rl# lsmod | grep ption
option 14564 0
usbserial 27618 1 option
root@darkstar:/home/rl# mount
/dev/sda8 on / type ext4 (rw,relatime,barrier=1,data=ordered)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
Note that after step 3, the device switches and the option module is loaded automatically
and the ttyUSB devices are created
I think it may be the case that this is an undocumented :) method that could provide insight
into the behaviour of certain devices, but also a 2nd, more traditional method
(maybe using 2 messages separated by 500 mS or so) exists.
Just before I found this method, I had access to a windows machine and got a UsbSnoop.log
file, which I have pasted up along with my earlier files.
http://xyztw.com/usbwifi/index.php
The UsbSnoop.log file seems to have these delays.
I'm quite happy to use my semi-manual method, but I guess the next thing to do is write some
udev rules and integrate it with usb_modeswitch so that people can just plug it in
and have it work.
rrbert