Linux, 3G/4G dongles and QMI …

Always curious about new stuff, I thought I’ll give the wwan stuff for USB data modems a try, as, well, PPP emulation isn’t really state of the art these days anymore, where mobile data hits the 100 MBit/sec mark. But ..

wwan0: connection failed - status=0x000e, type=0x0006, reason=0021

That’s all I get on “ifup wwan0” on my Raspberry Pi, running “Linux 3.6.11+ #371 PREEMPT” (Raspian) currently.

This is with a modified version of the perl script to start/stop connections via QMI (basically ‘s%class/usbc%class/usbmisc%g’), using an Vodafone K5005 (Huawei E398 with VF firmware). /etc/network/interfaces is set up straighforward I think:

iface wwan0 inet dhcp
   wwan_apn  "web.vodafonde.de"
   # enable script debugging
   wwan_debug 1

Any hints on what’s wrong here?

Executing …

(echo -e "AT^CURC=1\r\n" ; sleep 1 ; echo -e "AT^NDISDUP=1,1,\"web.vodafone.de\"\r\n") >/dev/ttyUSB0

… in a (separate) shell does seem to connect the stick to the mobile network, but firing “dhcpcd wwan0” manually does not provide that interface with an mobile network’s address.

Googling for above’s message I couldn’t find any proper hint, and in general QMI seems to not yet have reached userland in Linux — the “echo” command above was inspired by a post on an ArchLinux forum.

So, back to udev-aliasing the up to 5 /dev/ttyUSBx ports per 3G/4G USB modem (yes, I will run multiple of them on one box and dynamically route traffic over the connection that works best), which is said to limit usable bandwidth to something around 10 MBit/sec?

Any hints on getting QMI to work on Debian Wheezy are highly appreciated; those that don’t involve compilation (e. g. of libqmi) doubly so ;-)

[Update 1:] You know these awkward times you think you just lost a day’s work due to a typo? Well, of course the APN configured above is wrong, it is “web.vodafone.de” (strike the “d” in there):

iface wwan0 inet dhcp
   wwan_apn  "web.vodafonde.de"
   # enable script debugging
   wwan_debug 1

But, well, at least I did not loose a day because of this bloody typo — which I never noticed in the file before copying it over for the blogpost :( –, since the above mentioned error message is gone now, but “ifup wwan0” still fails:

No DHCPOFFERS received.
Unable to obtain a lease on first try.  Exiting.

So, same as with the manual “echo”, the K5005 connects to the mobile network (according to it’s LED), but the wwan0 interface just does not start to speak DHCP :( So, what magic I’m still missing?!