connecting mobile to internet via laptop wifi

I’ve just got hold of a 4-year-old feature phone (Sony Ericsson T700) and am trying to do the opposite of what most people do regarding USB tethering, that is to let the phone access the Internet via my laptop’s wifi. The phone has basic internet functionality via 3G and the like but no wifi, and I’d like to avoid pay-as-you-go Internet charges and hook onto my broadband connection when I’m at home. This is supposed to be possible, although since Sony force the installation of some Windows software if you want to manage anything on this device, I don’t know if it’s possible in Linux. Despite the terribly uninformative manual, the phone has a USB Network setting I’ve selected that states ‘Enables the phone to use the computer Internet connection or LAN network’.

Looking in Network Manager under KDE, I see a ‘Networking Interface’ show up when I put the phone in this mode, with System Name ‘usb0’ and Driver ‘cdc-ether’. Two new connections also show up, ‘Wired Connection 1 & 2’, but clicking on #1 achieves nothing and #2 commences ‘Setting Network Address’, after which I get a Connection Failed message. With the command ‘lsusb’ I get the following:

Bus 001 Device 013: ID 0fce:d0fb Sony Ericsson Mobile Communications AB

Anybody got this working, not necessarily with the exact same phone?

No promises, but I did find this guide:

Diary of a Kenyan Geek: Accessing the Web on a Sony Ericsson W890i using my PC connection

Thanks for the tip. Can’t get it to work though, unfortunately. I applied all the steps in that post and at first it looked good because the Networking Interface showed as Connected, but there was no data transfer when I tried to do anything on the phone.

I tried going into YaST Network Devices, changed to ifup control and configured the settings for the phone interface there. Had to take some guesses, set it as ‘No IP address’. It wanted to install smppd which brought in wvdial and one or two other packages. I let it do all that, changed connection to hotplug and rebooted just for fun. Nothing working with the phone there, so I switched back to control with Network Manager in YaST. Now each time I plug the phone in it tries about three times to make a connection but fails and doesn’t even show as Connected anymore. Seems like I’ve made things worse :frowning:

I can’t really help much more unfortunately. Did ‘/sbin/ifconfig’ show the usb0 device present?

Here’s the output of /sbin/ifconfig (I’m not sure if any of this is sensitive so I’ve inserted a few x’s):

usb0      Link encap:Ethernet  HWaddr 0x:80:3x:1A:x3:00  
          inet addr:1x.42.x3.1  Bcast:1x.42.x3.255  Mask:
          inet6 addr: fex0::80:37xx:fe1a:300/64 Scope:Link
          RX packets:19 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2710 (2.6 Kb)  TX bytes:5003 (4.8 Kb)

I’ve got it back to a state of showing ‘Connected’ when plugged since I’d previously enabled IPv6 support in the Network Manager options and it evidently didn’t like that very much. The above is all meaningless to me, perhaps somebody else can spot something erroneous?

It means that the device is up, has an IPv4 address and an IPv6 address. Looks good.

I don’t know where else to go with this. I thought perhaps the firewall might be blocking it so I tried marking it as in the ‘Internal Zone’ but there’s still no data transfer.

You asked what the listing said, and I explained. IMHO that means that your device is working. And that was you main question.

Now next step when checking first LAN and then Internet connection is your routing. Please the output of

netstat -rn

(And please, do not only copy/paste the output between CODE tags, but make a little larger sweep with the mouse and copy prompt, command, output and next prompt. Thus we can also see which command you used and more).


user@domain:~> netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface         UG        0 0          0 eth1   U         0 0          0 usb0   U         0 0          0 eth1

This means that by default traffic not going to systems on your two LANs ( via the cable and via the usb) go to router on you cabled network (eth0). Thus Internet traffic is send to that router Is that correct?

BTW, I just jumped in here to clarify what you saw in post #5 above. I do not realy understand what your problem is at the moment. Do you have problems in traffic with the Internet on this system?

There’s no problem with the laptop wifi connecting via the router to the Internet, I just can’t get the phone, plugged into the laptop via USB, to hook onto this connection as it should be able to. With KDE’s Network Manager GUI alone, I don’t know if it can be done or whether there’s some way I need to hook up the usb0 connection to the router in some more explicit way.

To reaffirm: I plug the phone’s USB cable into the laptop, put the phone into the correct USB mode (which should be all that is necessary according the blog linked above; it should adopt it automatically and override any cellular Internet), and a connection shows up as ‘Connected’ in Network Manager. But when I try and commence any Internet activity on the phone, after a few seconds it produces a Connection Failed message and there’s no traffic data showing in Network Manager for usb0.

It may be a simple missing link but I have never attempted any networking before so I wouldn’t know.

When you connect a device (whatever device and whatever connection method), should’nt your first test be if you can realy talk from the device to the computer and vv? Small steps, going for the next when one works?

Can you ping between the two?

To reaffirm: I plug the phone’s USB cable into the laptop, put the phone into the correct USB mode (which should be all that is necessary according the blog linked above; it should adopt it automatically and override any cellular Internet), and a connection shows up as ‘Connected’ in Network Manager. But when I try and commence any Internet activity on the phone, after a few seconds it produces a Connection Failed message and there’s no traffic data showing in Network Manager for usb0.

The blog that I linked to, explains that the phone should be in ‘Phone mode’ in order to connect. Can you confirm that you set the connection up as a ‘Shared’ connection in NM?
Quoting from it…

All done with the NetworkManager config. Connect the phone to the PC via the USB connection, select Phone Mode, when prompted on with a menu on the phone. Wait 30 seconds, until the profile kicks in and your phone will use your internet connection.

From the laptop to the phone:

user@domain:~> ping
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=0.078 ms
64 bytes from icmp_seq=2 ttl=64 time=0.071 ms
64 bytes from icmp_seq=3 ttl=64 time=0.072 ms
64 bytes from icmp_seq=4 ttl=64 time=0.070 ms
64 bytes from icmp_seq=5 ttl=64 time=0.061 ms
64 bytes from icmp_seq=6 ttl=64 time=0.075 ms
64 bytes from icmp_seq=7 ttl=64 time=0.075 ms
[1]+  Stopped                 ping

I wouldn’t know how to initiate any tests in the other direction, since it’s a feature phone with specific closed apps that access the web and some customized browser that doesn’t offer the full functionality of a standard computer or smartphone browser. Connecting the two via USB pops up a prompt on the phone as to which USB mode to go into, e.g. Print, Mass Storage, etc. So whilst I can transfer files via mass storage without problem, that doesn’t say anything about data transfer in ‘Phone Mode’, where I can set the phone to use the Internet via the USB connection. Since the phone is designed to communicate with a Sony-specific application on a Windows PC, I don’t know if that induces some kind of wizardry or special decoding, or whether it’s just a generic bridge that should work under another OS. The blog linked previously suggests it should work regardless of OS.

Yes, it’s in Phone Mode (with the necessary ‘via Computer’ setting in the USB Network Type dialog), and I edited the connection in KDE Network Manager to ‘Shared’ under the IPv4 Method. I also tried ‘link-local’ and ‘Automatic (DHCP)’ just in case but have put it back to Shared. That blog post was regarding Ubuntu and done a few years ago (and for a different model of phone but the same generation). The author mentioned at the end that the IP address sometimes got set wrong. I’m not sure that’s what’s going wrong in my case. Everything seems to be constant with the same settings each time I connect.

The fact that you can ping the phone is a good sign. Are you saying that you don’t get the dialogue mentioned in the blog? I think that maybe it has to do with dnsmaq is not running. (This is essential to provide DHCP services to the phone). The blog suggests that the ‘shared’ connection should do this automatically. Try running it manually


I’ve not familiar with using it, so some reading and configuration may be required first

man dnsmasq

and this Ubuntu documantation may be useful


I note that it mentions

NetworkManager NetworkManager has the ability to start dnsmasq from it’s configuration file. It handles the configuration (calling the program with correct arguments) so a configuration file isn’t necessary

The fact that the ping is OK is indeed something good. That you do not know how to ping the other way is not omportant, one way is sufficient to tell us the devices talk to each other.

For the rest I leave it to @deano_ferrari because he he seem sto have knowledge about that (or generaly) phone.
Normaly I would say that now you must see that the computer is forwarding traffic fom the phone to the router (and thus the Internet) and vv. And of course thht the firewall iis not blocking the traffic from the phone.

Henk raises a good point about the firewall. For test purposes, you may want to disable it briefly, before connecting with the phone. Since the laptop has dnsmasq (DHCP/DNS server) active, it is useful to know that it listens on UDP port 67 for DHCP, and on TCP and UDP ports 53 for DNS. I also read the DHCP requests from the phone come via UDP port 68, so that will be crucial to getting an address.

Got sidetracked by more serious issues with the laptop and an upgrade to 12.2. I’ve had a look at those links regarding DNSmasq but I might as well be reading up on how to dissect a horse, it’s a load of info that doesn’t make much sense to me and doesn’t really explain how I would use it in what I’m trying to achieve. There’s a million and one forum and blog posts about connecting such a phone via USB to access the net from the computer, but practically nothing relating to doing it the other way around.

As per the firewall, as I mentioned I had already placed the phone in the Internal Zone so all ports are open, but I now find that I can’t even disable the firewall anymore from within YaST. Not sure if this is a bug and whether it was the same in 12.1, but when I try to stop it running or disable it and then OK the dialog, it makes no difference and it just keeps running.

Thanks for the help so far, but to be honest, on further reflection, I think I’ll abandon this idea. It was only so I could download and install the latest phone updates without paying hefty PAYG data charges to do it over the air, but I can’t envisage any other reason in future that I’ll want to sit surfing the net on this tiny phone screen hooked up via a short USB cable to the laptop which would be more useful for that purpose anyway. It will probably be simpler to ask somebody with a Windows machine to install the software and download the updates for me.