update:大囧,终于发现死机原因可能和内存有关了(最近也升级了内核到2.6.33),因再次搬家,发现不用3G也会死机,症状类似,跑memtest86+能全pass,但是跑很多遍后偶然出现几个error,最后发现有根内存插槽可能有问题,换个地方插就好了,哈哈,冤枉了上网卡 -- 4/Apr/2010

最近搬到通县朋友家,他用的是移动的3G无线上网(中国移动G3礼品卡A套餐),一个USB接口的HUAWEI ET128上网卡,不需要特别的驱动,打开内核里的USB Modem (CDC ACM) support和PPP的相关支持就可以了,然后安装usb_modeswitch和wvdial。
插入上网卡,用lsusb可以看到设备的ID是12d1:1da1,写入配置文件/etc/usb_modeswitch.conf:

# ET128
DefaultVendor=  0x12d1;
DefaultProduct= 0x1da1

# choose one of these:
DetachStorageOnly=0
HuaweiMode=1

TargetVendor=   0x12d1
TargetProduct=  0x1d09

*TargetVendor和TargetProduct可以先不写,运行usb_modeswitch后再运行lsusb可以得到。
设备转换后会在/dev下生成ttyACM[0-2]三个文件(有时候报设备忙,就改成其他的),这时执行wvdialconf得到初始的配置文件/etc/wvdial.conf,稍作修改加上电话号码等,还有修改波特率(开始没有改波特率,怎么都连不上)
[Dialer Defaults]
Modem = /dev/ttyACM1
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Stupid Mode = 1
Modem Type = USB Modem
Phone = *99***1#
ISDN = 0
Username = any
Password = any
Baud = 2800000

最后把用户加入dialout和uucp组,就可以用wvdial拨号上网了。

可是,好梦不常有,好景不常在,正HIGH着的时候,死机了,真是晴天霹雳,我的Gentoo怎么会死机?!而且死的很彻底,MagicKey也不管用,Amarok里的歌声颤抖着反复播放最后2个音符。唉,我相信这只是一个意外,reset后痛心的看着磁盘一屏一屏的replay/omit日志,进去看日志,没有任何发现……,因为amarok的关系,看了一下usb和声卡确实共享一个中断,不过共享的是usb2.0的口,那上网卡是USB1.1口,不过为了抓住元凶,只好在寂静中等待了,这一天很好,没有再死了;第二天继续,结果还是在一段时间后出了问题,先是网络不通,想重拨一下,突然发现wvdial无法中断,lsusb也卡住没有任何输出,看来问题可能是出在USB驱动上了,无奈没有线索,日志里干干净净的。拿了个新的usb键盘插上,果然没有反映,好在原先的usb键盘还可以工作,重启了事。鉴于发作概率实在高,几乎每天都要死一次,心疼硬盘,还是通过朋友电脑共享上网算了,以后有空再研究。

最后说一下移动3G上网的质量,把卡放在离窗口近的地方,信号可以达到95%以上,连接速度是2.8M,ping电信延迟150ms,网通300ms,米国500-700ms,情况差的时候不管ping哪都可能上万甚至超时。。。也就下载电信线路的时候速度可以达到150k左右,网通的很慢也就几十k,勉强adsl 1M水平。另外严重怀疑移动的容量,晚上12点后速度明显变好一些了,网通都可以下载到100k。