Archive for the ‘UMTS’ Category

PAN/NAP made even easier…

Tuesday, March 23rd, 2010

I wrote last year about how to use bluetooth networking to connect to the internet via a mobile phone. Since then, I had heard rumours that NetworkManager was now able to do this as well, but I actually never managed to find out how to do that (admittedly, I never looked too hard).
Today I checked again.
Since those are the “reference implementations”, I started GNOME’s nm-applet and bluetooth-applet instead of knetworkmanager and kbluetooth. I still could not find anything related to bluetooth in nm-applet’s UI. Then I looked a bit farther and found Dan Williams’ post about it.
Long story short: I deleted my phone from bluetooth-applet’s “known hosts” and re-paired it again. There it asked me if I want to access the internet via my mobile phone, which I confirmed. After that, nm-applet has now an entry for “PANU” which is the Phone’s connection.
Working well and pretty cool, too. One more workaround that’s not needed anymore.

For completeness, I also tried to remove and pair the phone with kbluetooth, but apart from it not working at all (never asking for a PIN), it also did not ask for the internet connection stuff. So for now, if you want Bluetooth networking, just use nm-applet and bluetooth-applet.

Using PAN/NAP instead of rfcomm/ppd

Monday, August 10th, 2009

I finally got a new mobile phone - one that not only supports rfcomm (”serial port” via bluetooth) but also the “PAN Network Access Point” profile - which allows a computer to connect to the internet easily, without many extra layers like PPP etc.

It’s actually quite easy to use. (Note: I’m doing all that on recent openSUSE Factory, but I am pretty sure that it would work just as good on plain 11.1)

It is very handy to have the bluez-test package installed, many of the tools I am using are in that package.
First, we need to create a connection to the phone, exchange PIN numbers etc. I use bluetooth-applet from the gnome-bluetooth package (or the one from bluez-gnome) for that, it’s just the best maintained tool for the task, even if you are a KDE guy like I am, I’d highly recommend it.

Now we need to find out the phones Bluetooth-Address (bdaddr):

seife@stoetzler:~> test-discovery
[ 00:24:EF:xx:xx:xx ]
    Name = seife C510
    Paired = 1
    LegacyPairing = 1
    Alias = seife C510
    Address = 00:24:EF:xx:xx:xx
    RSSI = -54
    Class = 0x5a0204
    Icon = phone

The hex number after “Address” is the bdaddr of your device.

Now we can create a network device:

seife@stoetzler:~> test-network 00:24:EF:xx:xx:xx nap
Connected /org/bluez/16833/hci0/dev_00_24_EF_XX_XX_XX to 00:24:EF:xx:xx:xx
Press CTRL-C to disconnect

Now you should have a bnep0 network interface and can (as root) either run dhcpcd directly on it, or create a config file “ifcfg-bnep0″ in /etc/sysconfig/network like this:

BOOTPROTO='dhcp'
NAME='pand network device'
STARTMODE='auto'
USERCONTROL='no'

and then call “ifup-dhcp bnep0″.

Two things to consider:
First, if your system is using NetworkManager, you don’t get DNS addresses into resolv.conv. See this post for details. I now have

NETCONFIG_DNS_POLICY="STATIC_FALLBACK ppp0 bnep0 NetworkManager"

in my /etc/sysconfig/network/config

Second, test-network will terminate the connection after 1000 seconds (it is only a test tool), but it is easy to fix, just copy it to ~/bin/my-test-network (or whatever name you like) and apply the following trivial diff:

--- /usr/bin/test-network
+++ ~/bin/my-test-network
@@ -35,9 +35,10 @@
 print "Press CTRL-C to disconnect"

 try:
-       time.sleep(1000)
-       print "Terminating connection"
+       while 1:
+               time.sleep(1000)
 except:
        pass

+print "Terminating connection"
 network.Disconnect()

I’m not a python wizard, so I’m pretty sure you can do better, but it works well for me.

UMTS/GPRS Image compression

Thursday, September 18th, 2008

While reading another of Frank’s blog posts, I remembered that I had the same problem some time ago and used bmctl.pl, a perl script that I had found somewhere on the web to disable image compression on 3G connections. Maybe it is useful for someone…

Bad HP, bad…

Thursday, July 24th, 2008

My cool new machine was already sent back for warranty repair. The external display, connected to the docking station, did not get a signal anymore, so the motherboard had to be replaced. Ok, bad luck, but nothing to worry about. I had another similar machine (nc2400, the predecessor of the 2510p) to use during repair, so it was not that bad. But what really pisses me off is the fact, that i needed to boot Vista, just to reactivate the built-in UMTS card. When I first had to do it after fitting the card into the machine, I was thinking that it might be Sierra Wireless who needs the card to be “activated” or that I just had overlooked some BIOS setting in my eagerness to use the new toy, so I did not bother too much.
But today - I had of course booted Linux and wondered where the ttyUSB* devices had gone - I searched all the BIOS settings and everything, but there was just no device appearing on the USB bus. So I finally had to boot Vista, start HP’s “Wireless Manager” and switch it on there.

That’s 10GB of valuable harddisk space wasted, just for an UMTS activator program. I hate that.

Shame on you, HP guys. I’m really pissed.

Cool new machine for me

Friday, May 16th, 2008

My boss was a good easter bunny. A little bit late, but the gift he brought was all the better: a brand new HP Compaq 2510p notebook (see e.g. Notebookcheck.com for the gory technical details).

It came with the “small” 6 cell battery, which lasts for over 5 hours without any aggressive power management employed, later i got the “big” 9 cell battery which lasts well over 8 hours. Who says size doesn’t matter? ;)

I additionally got the HP hs2300 HSDPA Wireless module (which is very much just a rebranded Sierra Wireless MC8775 with different USB IDs) for which i already sent patches upstream for the Linux kernel and HAL, so that it will work out of the box with openSUSE 11.0.

What can i say? This is an amazing little machine.
LED backlit 12.1″ display (why do the HP marketing guys call it “illumi-lite” instead of just plain saying “LED backlight”? It has an ambient light sensor which adjusts the display brightness automatically and works very well for me, but it can be switched off with a key combination.
The internal HSDPA card has an amazingly good reception - much better than all the external PCMCIA / ExpressCard cards i had so far. This might be due to the better antenna built into the display, but i don’t care why - it just works much better. Additionally, it does not consume a noticeable amount of the battery unless it is really used for transmitting data. I cannot say this of any of the external solutions.
The Ultra Low Voltage Processor is not a performance monster, but it performs at least as well as the ThinkPad X32 (Pentium M 1.8GHz) i had before, and it additionally has VT extensions nicely usable with KVM and qemu-kvm, combined with the 2GB of RAM it is more than suitable for my needs.

Everything on this machine works just fine: the intel 4965 wireless, the bluetooth adapter, suspend to RAM and suspend to disk - everything. Apart from that, it is really portable and still has a built in DVD burner - what else can you demand from your friendly easter bunny?

Thanks!

P.S.: of course, all this is with the current openSUSE Factory. There was a Vista Business installed on the machine, but after fiddling around with that for a few hours, to get it small enough to resize the Partition to less than 10GB, i never booted that again, i just was not impressed by it at all.

Activation Of Internal UMTS/3G Datacards

Tuesday, March 18th, 2008

What to do if you got a brand-new ThinkPad X300, but the internal 3G data card (a SierraWireless device with the USB ID 1199:6813) simply refuses to find a network, and as a result cannot connect?
Well, maybe the card is just deactivated by default to save battery. You can enable it easily by sending:

at+cfun?
+CFUN: 0

OK
at+cfun=1
OK

to it (AT+CFUN? returns the current state, AT+CFUN=1 enables the device) with a terminal program of your choice (i always use “screen /dev/ttyUSB0″ for such tasks). At least the card remembers this setting, so you don’t have to repeat it every time. However, a setting somewhere in UMTSmon to automatically deactivate the card when the program exits would be cool to save some more battery power… I will have to look into that.

New toy: Novatel Merlin XU870

Friday, July 20th, 2007

After i had been using an Option GT 3+ (nozomi driver) and an GT Fusion (with an useless Marvell WLAN chip inside), i today got a Novatel Merlin XU870 ExpressCard to play with.
After plugging it in its ExpressCard->CardBus adapter and into my Notebook running openSUSE 10.3alpha6, two usb-serial ports appear, of which you can only use the first one, the second port needs some magic, so it is not usable yet.
This is the only major disadvantage of this card vs. the Option cards: with the Option cards you can monitor signal strength and network status while being online, using umtsmon for example, with the Novatel you can’t.
On the pro side, i like the non-blinking Novatel status LED much more than Option’s nervously blinking 2 LEDs. It has 5 colors for different network states:

    yellow: HSDPA
    blue: UMTS (3G)
    magenta: EDGE (”2.5G”)
    green: GPRS
    red: error (no network)

Which is almost as good as monitoring via umtsmon. Also, the Novatel seems to do much less random disconnects, but this has to be proven in longer sessions before i can tell this for sure.
All in all, the first impression is pretty good and it works without any problems in Linux, at least on distributions that ship a somewhat recent kernel.