|mRouter and Series 60 phones
||[Jul. 10th, 2004|01:39 pm]
This is something that has bugged me for a while. Since I got an email about it a few days ago, I've decided to write a post on what I know.|
The series 60 phones (eg Nokia 6600 and 3650) support various "Access Points" for their IP connectivity. These are configured from within the phone's settings, and may use any of dial up, ISDN dial up or GPRS. There is apparently no support for IP connectivity via BlueTooth or IR.
The phone themselves will quite happily initiate IP sessions on behalf of a computer, connected via IR or BlueTooth. You connect to them over a suitable Obex Serial session (rfcomm channel 1, serial, is normally the best, but DUN (2) is also an option), send them AT modem commands, and away they go. They even support setting up GPRS connections.
What the phone won't do is talk the other way. With BlueTooth, there are several Obex connection types for exchanging data. One option is serial, another is DUN (dial up networking), another is BlueTooth Lan. Apparently, the phone supports none of these as a client, only the first two as a server.
Because of this, it isn't possible to have your broadband and BlueTooth connected computer offer IP connectivity for your phone. That is, or so you think.
As it turns out, there is another built in access point on the phones - mRouter. Using this, the phone connects to a nearby bluetooth computer, initiates a PPP session, and sends data out over this.
Unsurprisingly, the mobile networks want you to do all your IP traffic over their networks, rather than using free nearby broadband connections. Because of this, all the default applications refuse to offer the mRouter access point as a connection option. Unless you get one of a small number of third party apps which do, you wouldn't know it existed.
Having discovered the mRouter access point, there's a few tricks to getting it to work. Again to thwart would be users of this handy option, you can't just set up pppd on the end of a rfcomm socket. You have to listen on rfcomm channel 2 (DUN), and have PPPD listening on this. Then, the dns server you give to the phone must be able to resolve the special domain "mrouter", and two hosts inside of it (wsockhost.mrouter. -> 192.168.2.1, 192.168.2.1.mrouter. -> wsockhost). Finally, you must configure pppd to give your phone an address in the 192.168.1 range. All being well, you should now be able to connect, and at least some of your applications will use the mRouter access point and work.
There is an excellent guide to doing this here. Some time soon, I might get around to trying it....