I've got a Huawei E870 ExpressCard which is actually just one of their regular USB data cards but in ExpressCard shape. It is supported under Windows and OSX officially but apparently you can make it work under Linux as well. It doesn't require firmware to make it work. You just need to send it the correct command to switch from MSC only mode.

The annoying part is that its a composite USB device. You plug it in and it will appear as a USB flash drive in one mode. The software and drivers you need to operate it are on there so you don't normally need a CD. Once you have the software and drivers installed, it will appear as 2 serial ports and the previously mentioned flash drive.

The issue is if you want to try and uninstall the software that gets installed. It will let you do it but then you're stuck because it'll refuse to enumerate the USB flash drive again. I had to actually do a system restore to get it working again.

Bit of a long shot but anybody know how to uninstall properly?

On a side note, I'm using the mobile broadband service from Vodafone for when I'm out and about. The latency is high during the day but apart from that it is okay. £15 a month for 3GB a month and the modem was free. 3GB is enough for what I need to do when not near WiFi.