Xperia X1 as a 3G Router
Maybe the best feature in Xperia X1 is its Internet connection sharing. This feature is easy to use and quick to setup. You can share the connection through bluetooth or USB cable. X1 has quite high transfer rate (HSDPA with download transfer rate up to 7.2 Mbit/s). And now we have to remember that X1 is not a modem, but router, because it is sharing its internet connection. Same way those router/firewall boxes do. So you do not neet wvdial or any other ppp-connection applications. Connection is “active”, and usually system will acquire IP address and routing information with DHCP.
And the best thing is that both of these methods work in Linux (of course). I have tested this in Kubuntu 9.10 and 10.04, but I think they should work in most modern distros (at least the USB).
It is best to use a good quality USB 2.0 cable, otherwise sharing might not work at all. You will notice it if eth1 interface does not come up automatically.
In some cases it is possible that you have to select ActiveSync in USB-to-PC settings, but at least for me sharing has worked fine without it (meaning the phone is recognized as disk drive).
Connect the cable to phone and choose Internet Connection Sharing from Programs. Select USB and press Start Sharing. Now plug the USB cable into the computer. In a moment eth1 interface should be activated and you KNetworkManager should show that you are connected to network.
Only problem is that MTU is not correct in eth1 settings, but you can change it manually. If you do not change, the connection is jammed after couple of seconds (it is alive, but nothing is transferred). So, open a terminal and write
sudo ifconfig eth1 mtu 1394
Now connection should work. It is possible that interface was not activated. You can see this with ifconfig. It eth1 interface has no assigned IP address, then you have activate it manually.
sudo dhclient eth1
If connection “jams” like I described above, then use the same mtu-change with ifconfig.
I found out that KBluetooth could not handle this, at least not in Kubuntu 9.04 or 9.10. So, I experimented with Blueman, and found out that it worked perfectly. In Kubuntu blueman is not installed by default so you have install it yourself. Then you should pair X1 with Blueman, and maybe test BT connection with file transfer.
Procedure for connection is similar but.. no cables and no tinkering with MTU. Instead of selecting USB you must select Bluetooth in connection option. And then press Share Connection. Now in Blueman press Scan to find X1. Assuming that you have previously paired the devices, you can now right-click X1 in the list and select Connect to: Access Point from the menu. Now you should be connected through interface bt0.
If connection is not on, check if interface bt0 has IP address (with ifconfig). If it has not, then do this
sudo dhclient bt0