Lenovo ThinkPad x60s and Broadband UMTS
I’ve had my ThinkPad x60s for a few months now, but since the built-in 3G broadband device from Sierra Wireless was acting up a bit, I just got around now to actually set it up properly with OpenBSD. The device is a PCI MiniCard (in Germany the card is sim-locked to Vodafone. However, you can call IBM/Lenovo support and request the unlocking code, only effect will be, that you will not receive further support from Lenovo regarding the broadband device and configuration.).
Very common these days is, that these devices hold a USB hub behind the actual broadband chip sits:
[0:24] fkr(ripley):~ %> usbdevs -v
….
addr 1: full speed, self powered, config 1, UHCI root hub(0×0000), Intel(0×8086), rev 1.00 port 1
addr 2: full speed, self powered, config 1, Mini Card(0×6804), Sierra Wireless, Incorporated(0×1199), rev 0.01
The PCI Mini Card is a Sierra Wireless MC8755, in OpenBSD this device is driven by the umsm(4) driver that was initially written by Jonathan Grey. Since then I’ve added quite a few device ids (and have support for the Huawei E220 almost ready, but that is a different story ;)
From what I gathered, it will only work if you use a baudrate of either 115200 or 460800 when talking to it. All others yield a proper connection to the device, but ppp connections will fail.
My options file for pppd is linked here.
More interesting is actually the chat script:
ABORT BUSY
ABORT 'NO CARRIER'
ABORT VOICE
ABORT "NO DIALTONE"
'' AT
OK AT+CGDCONT=1,"IP","web.vodafone.de"
OK AT+CGQREQ=1
OK ATD*99***1#
Until I added the AT+CGQREQ=1 the connection succeeded, but was rather slow. The Sierra Wireless MC8755 is capable of HSDPA (High Speed Downlink Packet Access) that allows speeds up to 1.8 Mbit/s. Vodafone offers HSDPA in various cities in Germany and it is quite fast. The AT+CGQREQ= command sets the requested service profile. Since I added that, the connections are way better. (still not as fast as possible, but I have to digg further for that).
