Go Back   xda-developers > Windows Mobile Development and Hacking > Windows Mobile Software Development


Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 29th October 2007, 11:58 PM
famewolf's Avatar
famewolf famewolf is offline
Senior Member
 
Join Date: Jul 2006
Posts: 989
Default Howto: Use internet sharing on USB with Linux and WM6

I have been trying to find out for months how to use internet sharing via usb on a windows mobile 6 device under linux. I had managed in a prior post to get bluetooth PAND working and even to get bluetooth DUN and USB DUN working but had been unsuccessful with the USB internet sharing..until now!

This is based on information found here:

http://ohioloco.ubuntuforums.org/sho...7&postcount=54


To connect your WM6 device via usb to your linux pc do the following:

On your phone enable internet sharing via usb but do not connect the usb cable yet.

Run the following commands..you may need to install "svn" for this to work:

*note* If you run a kernel 2.6.31 or higher you will need to run the following patch before running make (provided by LordLanden):

Code:
wget -qO- http://sprunge.us/BSjF | patch
Code:
svn co https://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
cd usb-rndis-lite/
make
sudo ./clean.sh
sudo make install
Create an /etc/sysconfig/network/ifcfg-rndis0 with the following contents:

Code:
BOOTPROTO='dhcp'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU='1460'
MRU='1500'
NAME=''
PEERDNS=no
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='hotplug'
USERCONTROL='no'
_nm_name='static-0'
I basically copied the ifcfg-bnep0 I had previously created over to ifcfg-rndis0. It needs to already exist so when the interface comes up it will grab an ip address and set up routing.

Now plug the phone into the usb cable going to the pc and if you do a "dmesg" you should see the following (or something similar):

ohci_hcd 0000:02:02.0: wakeup
usb 3-2: new full speed USB device using ohci_hcd and address 4
usb 3-2: new device found, idVendor=0bb4, idProduct=0303
usb 3-2: new device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-2: Product: Generic RNDIS
usb 3-2: Manufacturer: HTC
usb 3-2: SerialNumber: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
usb 3-2: configuration #1 chosen from 1 choice
rndis0: register 'rndis_host' at usb-0000:02:02.0-2, RNDIS device, xx:xx:xx:xx:xx:xx

and if you do an ifconfig you should have a new rndis0 device:

rndis0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.0.102 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: 2002:48fa:7644:19:8200:60ff:fe0f:e800/64 Scope:Global
inet6 addr: fec0::19:8200:60ff:fe0f:e800/64 Scope:Site
inet6 addr: fe80::8200:60ff:fe0f:e800/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1460 Metric:1
RX packets:761 errors:737 dropped:0 overruns:0 frame:0
TX packets:729 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:405771 (396.2 Kb) TX bytes:120796 (117.9 Kb)

----
The rndis0 device will exist both when internet sharing is enabled via usb and when it is NOT....here is how it works:

If internet sharing IS enabled via usb you have access to the internet and will get an IP...default route will be set.

If internet sharing is NOT enabled via usb then the rndis0 device will exist and can be used by programs such as syncE to manage your contact list or transfer files but you will not have internet access (from the phone) and more than likely you will not get an ip address auto assigned (it may keep the ip it used last).

I know this works as I'm connected at the moment via the rndis0 device. I find it to be more responsive than the connection via bluetooth. Hope this helps someone.

These instructions were specific for Opensuse but about the only thing you should have to change is making sure you have kernel-source installed so you can compile the module needed and you may have to define the rndis0 device somewhere other than /etc/sysconfig/network.
__________________
AT&T Tilt on T-mobile
ROM: WM 6.5.3 | TPC 28002 "Stock-Like" Rom


T-Mobile MDA
T-Mobile USA
IPL/SPL: 2.26
GSM: 2.71.11
ROM: XM6.1 Developer Edition [XM6r5 + wm6.1 hybrid]

Qtek 8500 - WM6.1 PRO 5.2.19199

Last edited by famewolf; 10th November 2009 at 04:09 PM.. Reason: Patch for Kernel 2.6.31 and greater provided by LordLanden
Reply With Quote
Sponsored Links

  #2  
Old 4th November 2007, 08:09 PM
scheich scheich is offline
Junior Member
 
Join Date: Jan 2007
Posts: 17
Default

hi famewolf!

really like your idea. And I wanted to use it aswell, but I didnt get it started under Ubuntu 7.10.

First step with "svn" seems to be sucessfull.
But I can't find that /etc/sysconfig/network/ifcfg-rndis0.
I found out, that Ubuntu makes the settings in the /etc/network/interfaces.
Is that right? And what do I have to write in it? Thanks for feedback, and sry for my bad english.

greetz

scheich
Reply With Quote

  #3  
Old 4th November 2007, 08:52 PM
famewolf's Avatar
famewolf famewolf is offline
Senior Member
 
Join Date: Jul 2006
Posts: 989
Default

Quote:
Originally Posted by scheich View Post
hi famewolf!

really like your idea. And I wanted to use it aswell, but I didnt get it started under Ubuntu 7.10.

First step with "svn" seems to be sucessfull.
But I can't find that /etc/sysconfig/network/ifcfg-rndis0.
I found out, that Ubuntu makes the settings in the /etc/network/interfaces.
Is that right? And what do I have to write in it? Thanks for feedback, and sry for my bad english.

greetz

scheich
You will need to configure a file similar to your eth0 file, wherever that is located...you can probably copy the eth0 config file over and rename it.

Try installing the usb driver, hooking up your phone and see if you have a new ethernet device to configure.
__________________
AT&T Tilt on T-mobile
ROM: WM 6.5.3 | TPC 28002 "Stock-Like" Rom


T-Mobile MDA
T-Mobile USA
IPL/SPL: 2.26
GSM: 2.71.11
ROM: XM6.1 Developer Edition [XM6r5 + wm6.1 hybrid]

Qtek 8500 - WM6.1 PRO 5.2.19199

Last edited by famewolf; 4th November 2007 at 10:02 PM..
Reply With Quote

  #4  
Old 5th November 2007, 04:06 PM
scheich scheich is offline
Junior Member
 
Join Date: Jan 2007
Posts: 17
Default

Ok, works fine now. Thx, Had just some problems with my usb hub.

for Ubuntu its very easy, just add in the /etc/network/interfaces:

Code:
auto rndis0 
iface rndis0 inet dhcp
I now have the problem( but I have it with bluetooth, too) when the pocketpc disconnects, I have to restart my pc, because I dont know, how to restart the network services, or so...
Everytime I want to reconnect, the pocket pc/ifconfig say fine, you are connected, but I get no ping reply.
Reply With Quote

  #5  
Old 5th November 2007, 04:13 PM
scheich scheich is offline
Junior Member
 
Join Date: Jan 2007
Posts: 17
Default

yess, just 30 seconds in google, and I know it.

sudo /etc/init.d/networking restart
Reply With Quote

  #6  
Old 13th November 2007, 04:41 PM
evilc evilc is offline
Senior Member
 
Join Date: Mar 2005
Location: London
Posts: 456
Default

Thanks ever so much for this, exactly what I was looking for.
Unfortunately, I am trying to get this working on Puppy Linux which does not come with a compiler, and the SVN package for it will not work with SSL (svn: SSL not supported error).

I really wanna get this going though as it would mean I could carry around a USB flash drive, a sync cable and my Kaiser - boot puppy linux off the USB flash drive and access the internet through my Kaiser - from any x86 based PC.
I
__________________
HTC Raphael/Touch Pro

Stock ROM (Not for long!)

TomTom Navigator 7
Memory-Map OS V5 Landranger 1:50,000 Southern UK
Conduits Pocket Player 3
XIAMultiTheme + My own skin ("SaFF")
UltimateLaunch
SPB Today Suite (Only using SPB Weather atm)
Finger-Friendly Friends
WMWiFiRouter 0.91
Sprite Backup
Reply With Quote

  #7  
Old 13th November 2007, 06:25 PM
famewolf's Avatar
famewolf famewolf is offline
Senior Member
 
Join Date: Jul 2006
Posts: 989
Default

Quote:
Originally Posted by evilc View Post
Thanks ever so much for this, exactly what I was looking for.
Unfortunately, I am trying to get this working on Puppy Linux which does not come with a compiler, and the SVN package for it will not work with SSL (svn: SSL not supported error).

I really wanna get this going though as it would mean I could carry around a USB flash drive, a sync cable and my Kaiser - boot puppy linux off the USB flash drive and access the internet through my Kaiser - from any x86 based PC.
I
Svn = source...you are compiling a kernel module..this requires you to have both a compiler and the kernel source that matches the kernel you are running installed. svn comes from the packages subversion but just getting the source isn't gonna help you. See if one of the puppy linux developers will compile it for you.
__________________
AT&T Tilt on T-mobile
ROM: WM 6.5.3 | TPC 28002 "Stock-Like" Rom


T-Mobile MDA
T-Mobile USA
IPL/SPL: 2.26
GSM: 2.71.11
ROM: XM6.1 Developer Edition [XM6r5 + wm6.1 hybrid]

Qtek 8500 - WM6.1 PRO 5.2.19199
Reply With Quote

  #8  
Old 14th November 2007, 06:13 PM
evilc evilc is offline
Senior Member
 
Join Date: Mar 2005
Location: London
Posts: 456
Default

Yeah, I have asked, but no joy yet.

Also, I have no /etc/sysconfig dir, I am not sure where the Puppy equivalent would be.
__________________
HTC Raphael/Touch Pro

Stock ROM (Not for long!)

TomTom Navigator 7
Memory-Map OS V5 Landranger 1:50,000 Southern UK
Conduits Pocket Player 3
XIAMultiTheme + My own skin ("SaFF")
UltimateLaunch
SPB Today Suite (Only using SPB Weather atm)
Finger-Friendly Friends
WMWiFiRouter 0.91
Sprite Backup
Reply With Quote

  #9  
Old 20th November 2007, 03:07 PM
evilc evilc is offline
Senior Member
 
Join Date: Mar 2005
Location: London
Posts: 456
Default

I just got this working in ubuntu 7.10

Do
Code:
apt-get install subversion
Then (I changed https: to http: cause I couldn't get https working on various linux OSes)
Code:
svn co http://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
cd usb-rndis-lite/
make
sudo ./clean.sh
sudo make install
I then set Internet Sharing on my Kaiser, plugged it in, and it worked immediately.
__________________
HTC Raphael/Touch Pro

Stock ROM (Not for long!)

TomTom Navigator 7
Memory-Map OS V5 Landranger 1:50,000 Southern UK
Conduits Pocket Player 3
XIAMultiTheme + My own skin ("SaFF")
UltimateLaunch
SPB Today Suite (Only using SPB Weather atm)
Finger-Friendly Friends
WMWiFiRouter 0.91
Sprite Backup
Reply With Quote

  #10  
Old 20th November 2007, 03:49 PM
famewolf's Avatar
famewolf famewolf is offline
Senior Member
 
Join Date: Jul 2006
Posts: 989
Default

Quote:
Originally Posted by evilc View Post
I just got this working in ubuntu 7.10

Do
Code:
apt-get install subversion
Then (I changed https: to http: cause I couldn't get https working on various linux OSes)
Code:
svn co http://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
cd usb-rndis-lite/
make
sudo ./clean.sh
sudo make install
I then set Internet Sharing on my Kaiser, plugged it in, and it worked immediately.
Glad you are finding it useful! It's faster then bluetooth connections and uses a MTU of 8050 instead of the normal 1500 for ethernet which seems to help alot with latency.
__________________
AT&T Tilt on T-mobile
ROM: WM 6.5.3 | TPC 28002 "Stock-Like" Rom


T-Mobile MDA
T-Mobile USA
IPL/SPL: 2.26
GSM: 2.71.11
ROM: XM6.1 Developer Edition [XM6r5 + wm6.1 hybrid]

Qtek 8500 - WM6.1 PRO 5.2.19199
Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 12:41 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.