<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8259944167096195443</id><updated>2011-11-28T01:39:42.516+01:00</updated><category term='Novatel u630'/><category term='installation problems'/><category term='vodafone'/><category term='drivers'/><title type='text'>Mister V tech blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mrvtech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8259944167096195443/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mrvtech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>VV the Gatt</name><uri>http://www.blogger.com/profile/15773352530707078673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8259944167096195443.post-2924838709691674343</id><published>2010-01-23T15:21:00.014+01:00</published><updated>2010-04-23T14:25:32.482+02:00</updated><title type='text'>How to use a VPN which forces routing to your employer's network AND YET access your local network at the same time</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://people.chem.umass.edu/wiki/images/thumb/7/7b/Winxp_tcpip_advanced_gateway_vpn.png/400px-Winxp_tcpip_advanced_gateway_vpn.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;My employer is paranoid.&lt;br /&gt;A lot of them are these days.&lt;br /&gt;&lt;br /&gt;This employer provides a VPN access that forces the use of the corporate gateway as the default gateway and which sets the route to this default gateway to use a metric of 1.&lt;br /&gt;&lt;br /&gt;This leads to the following result: When my laptop (provided by my employer) is connected to my employer's VPN behind my home network firewall/NAT/router, I have no access to the various devices on my home network, including local printer/scanner and various multimedia devices.&lt;br /&gt;Very annoying indeed.&lt;br /&gt;&lt;br /&gt;So I have found a way to circumvent that.&lt;br /&gt;&lt;br /&gt;Basically, what I do it that I set a standard VPN connection instead of using my employer's provided wrapper (above MS Windows VPN links). And then I change the routing table so that my default gateway is the one of my home router (or the hotel router) and all the traffic to my employers network go through the VPN link.&lt;br /&gt;&lt;br /&gt;My employers owns 2 C-Class Internet ranges so the routing to my employer's network is easy to figure out.&lt;br /&gt;&lt;br /&gt;OTOH, when specifying a route in Windows, one must know the IP address and ID of the interface to use for these packets. And a VPN interface (actually a WAN PPP interface) has the nasty habit of changing its ID each time it is launched, and usually, it will also get a different IP address each time. So I developed a small utility to recover this ID and store it in an environment variable.&lt;br /&gt;&lt;br /&gt;Then, I just have to invoke the corresponding "route change" or "route add" commands to add the routes to my employers C-Class and to make these route using the VPN interface.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It may seem more complicated than it is.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;1st thing:&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Create the VPN connexion &lt;/span&gt;&lt;/span&gt;using standard MS Windows VPN.&lt;br /&gt;In my case, my employer uses a simple PPTP tunnel, so it is very easy. But L2TP should be as easy. IPSEC might be a little more complex, but if you use IPSEC, you might skip this step and just change the routing as described below.&lt;br /&gt;&lt;br /&gt;In order to set a Windows based VPN, you can use this tutorial:&lt;br /&gt;&lt;a href="http://www.windowsecurity.com/articles/Configure-VPN-Connection-Windows-XP.html"&gt;&lt;/a&gt;&lt;a href="https://people.chem.umass.edu/wiki/index.php?title=VPN_-_Connect_from_Windows_XP"&gt;https://people.chem.umass.edu/wiki/index.php?title=VPN_-_Connect_from_Windows_XP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One thing you must NOT forget is to uncheck the "Use default gateway on remote network":&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://people.chem.umass.edu/wiki/images/thumb/7/7b/Winxp_tcpip_advanced_gateway_vpn.png/400px-Winxp_tcpip_advanced_gateway_vpn.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 482px;" src="https://people.chem.umass.edu/wiki/images/thumb/7/7b/Winxp_tcpip_advanced_gateway_vpn.png/400px-Winxp_tcpip_advanced_gateway_vpn.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the last screen of the tutorial mentioned above... If you do not know how to get there, just follow the tutorial above.&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/gattegny/LOCALS%7E1/Temp/moz-screenshot.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;2nd thing:&lt;br /&gt;Change the routing table&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I use a .bat file like this one (I changed the real network classes...) :&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;NICIndex.exe /IPPrefix=193.105.13. /Type=PPP &gt; %temp%\SetPPP.bat&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;if exist %temp%\SetPPP.bat call %temp%\SetPPP.bat&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;route add 192.105.13.0 MASK 255.255.255.0 %NICIP% Metric 50 IF %NICIDX%&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;route add 192.105.14.0 MASK 255.255.255.0 %NICIP% Metric 50 IF %NICIDX%&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;What you miss is my &lt;span style="text-decoration: underline;"&gt;NIC&lt;/span&gt;&lt;a href="http://www.filefactory.com/file/b06d2hb/n/WANPPPIndex.exe"&gt;Index&lt;/a&gt; tool that can be downloaded from this site, just following the link above.&lt;br /&gt;It is a Delphi program which uses WMI to get the network adapters information.&lt;br /&gt;It gets the ID of the first interface it founds which IP address begins with the parameter passed to it. In the example above:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;NICIndex.exe /IPPrefix=193.105.13&lt;/span&gt;. &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;/type=PPP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;will get the interface ID of the first network interface which type is "PPP" (Point to point protocol, which is the type of VPN interfaces. The other types that you might use are "Ethernet" and, maybe, "TokenRing"...) that has an IP address beginning with 193.105.13&lt;br /&gt;It will display this ID in the form&lt;br /&gt;SET NICIDX=&lt;br /&gt;&lt;interfaceid&gt;&lt;br /&gt;for instance SET NICIDX=0x2000A&lt;br /&gt;It also displays the interface IP address in the form&lt;br /&gt;SET NICIP=193.195.13.127&lt;br /&gt;&lt;br /&gt;Actually, NICPPPIndex.exe displays something like&lt;br /&gt;SET NICIDX=&lt;br /&gt;SET NICIP=&lt;br /&gt;SET NICIP=193.195.13.127&lt;br /&gt;SET NICIDX=0x2000A&lt;br /&gt;&lt;br /&gt;So calling it this way:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;NICIndex.exe /IPPrefix=193.105.13. /Type=PPP &gt;  %temp%\SetPPP.bat&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;you create a SetPPP.bat file in your temp folder.&lt;br /&gt;When you call this SetPPP.bat file, you create the NICIP and NICIDX environment variables that you need to tune your routing table.&lt;br /&gt;Thus my "VPNRoute.bat" file:&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;NICIndex.exe /IPPrefix=193.105.13. /Type=PPP &gt;  %temp%\SetPPP.bat&lt;/span&gt; &lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;if exist %temp%\SetPPP.bat call  %temp%\SetPPP.bat&lt;/span&gt; &lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;route add 192.105.13.0 MASK  255.255.255.0 %NICIP% Metric 50 IF %NICIDX%&lt;/span&gt; &lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;route add 192.105.14.0 MASK  255.255.255.0 %NICIP% Metric 50 IF %NICIDX%&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;In order for this to work, you need the NICIndex.exe file. And it must be in your PATH.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;3rd thing:&lt;br /&gt;Now connect it !&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The only thing you have to do is to launch the VPN connection. When it is OK, launch the VPNRoute.bat file (for instance copy it on your desktop, after having modified it to suit your particular networking configuration)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Open Source !&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;My &lt;a href="*%20%20%20%20%20%20%20http://www.filefactory.com/file/b13g5ag/n/NICIndex.zip"&gt;NICIndex&lt;/a&gt; source file, in Delphi, is here. Very simple.&lt;br /&gt;NICIndex Source is available for download here:&lt;br /&gt;&lt;/span&gt;&lt;/interfaceid&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.filefactory.com/file/b13g5c3/n/NICIndex.dpr"&gt;&lt;/a&gt;&lt;a href="http://www.filefactory.com/file/b13g5c3/n/NICIndex.dpr"&gt;http://www.filefactory.com/file/b13g5c3/n/NICIndex.dpr&lt;/a&gt;&lt;/span&gt;     &lt;br /&gt;&lt;interfaceid&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;I also include the full source text hereafter but blogger seems to truncate the end of lines...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family: courier new;"&gt;program NICIndex;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;{$APPTYPE CONSOLE}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;uses&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  SysUtils,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Windows;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;const&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  MAX_ADAPTER_NAME_LENGTH        = 256;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  MAX_ADAPTER_DESCRIPTION_LENGTH = 128;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  MAX_ADAPTER_ADDRESS_LENGTH     = 8;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  TnTYPE:array[0..28] of AnsiString=('','','','','','','Ethernet','','','Token ring','','','','','','FDDI','','','','','','','','PPP','Loopback','','','','Slip');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;type&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  PrIP_ADDRESS=^TrIP_ADDRESS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  TrIP_ADDRESS=record&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Next:PrIP_ADDRESS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    IpAddress:array[0..15] of Char;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    IpMask:array[0..15] of Char;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Context:DWORD;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  PrADAPTER=^TrADAPTER;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  TrADAPTER=record&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FNext:PrADAPTER;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FComboIndex:DWORD;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FAdapterName:array[0..MAX_ADAPTER_NAME_LENGTH+3] of Char;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FDescription:array[0..MAX_ADAPTER_DESCRIPTION_LENGTH+3] of Char;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FAddrLen:UINT;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FAddress:array[0..MAX_ADAPTER_ADDRESS_LENGTH-1] of Byte;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FIndex:DWORD;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FType:UINT;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FDHCPEnabled:UINT;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FCurrentIpAddress:PrIP_ADDRESS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FIpAddressList:TrIP_ADDRESS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FGatewayList:TrIP_ADDRESS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FDHCPServer:TrIP_ADDRESS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FHaveWins:BOOL;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FPrimaryWinsServer:TrIP_ADDRESS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FSecondaryWinsServer:TrIP_ADDRESS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FLeaseObtained:Longint;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FLeaseExpires:Longint;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;function GetAdaptersInfo(pAdapterInfo:PrADAPTER;pOutputBuffer:PULONG):DWORD;stdcall;external 'IPHlpAPI.dll' name 'GetAdaptersInfo';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Size:DWORD;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Info,P:PrADAPTER;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Found:Boolean=False;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  PPPIP: string;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  IPPrefix, NICType: string;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  I: byte;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Writeln(ErrOutput,ExtractFileName(ParamStr(0))+'   Usage: ');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Writeln(ErrOutput,ExtractFileName(ParamStr(0))+'   [/IPPREFIX=&lt;ip&gt; | /Type=&lt;interface&gt;]');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Writeln(ErrOutput,'Examples: '+ExtractFileName(ParamStr(0))+' /IPPREFIX=192.168.4.');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Writeln(ErrOutput,'          '+ExtractFileName(ParamStr(0))+' /Type=Ethernet');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Writeln(ErrOutput,'          '+ExtractFileName(ParamStr(0))+' /IPPREFIX=192.168.6. /Type=PPP');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Size:=0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  P:=nil;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  GetAdaptersInfo(P,@Size);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  GetMem(P,Size);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  GetAdaptersInfo(P,@Size);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  writeln('SET NICIDX=');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  writeln('SET NICIP=');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  PPPIP:='';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  IPPrefix:='';;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  NICType:='';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  for I:=1 to ParamCount do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    if Uppercase(Copy(ParamStr(I),1,Length('/IPPREFIX=')))='/IPPREFIX=' then IPPREFIX:=Copy(ParamStr(I),Length('/IPPREFIX=')+1,Length(ParamStr(I))-Length('/IPPREFIX='));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    if Uppercase(Copy(ParamStr(I),1,Length('/Type=')))='/TYPE=' then NICType:=Copy(ParamStr(I),Length('/Type=')+1,Length(ParamStr(I))-Length('/Type='));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;  try&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Info:=P;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    if Assigned(P) then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;// just printout - not needed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    repeat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      PPPIP:=PChar(@Info^.FIpAddressList.IpAddress);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      if (IPPrefix&lt;&gt;'') and (NICType&lt;&gt;'') then Found:= (UpperCase(TnTYPE[Info^.FType])=UpperCase(NICType)) and (Pos(IPPrefix,PPPIP)=1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;       if NICType&lt;&gt;'' then Found:=(UpperCase(TnTYPE[Info^.FType])=UpperCase(NICType))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;       else if IPPrefix&lt;&gt;'' then Found:=(Pos(IPPrefix,PPPIP)=1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      if (Found) then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        writeln('SET NICIP=',PPPIP);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        writeln('SET NICIDX=',Format('0x%x',[Info^.FIndex]));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        exit;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      Info:=Info^.FNext;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    until not Assigned(Info);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  finally&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    FreeMem(P);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/interfaceid&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8259944167096195443-2924838709691674343?l=mrvtech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='' href='http://www.filefactory.com/file/b06d2hb/n/WANPPPIndex.exe' length='0'/><link rel='enclosure' type='' href='http://www.filefactory.com/file/b0d77f1/n/WANPPPIndex.dpr' length='0'/><link rel='replies' type='application/atom+xml' href='http://mrvtech.blogspot.com/feeds/2924838709691674343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8259944167096195443&amp;postID=2924838709691674343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8259944167096195443/posts/default/2924838709691674343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8259944167096195443/posts/default/2924838709691674343'/><link rel='alternate' type='text/html' href='http://mrvtech.blogspot.com/2010/01/how-to-use-vpn-which-forces-routing-to.html' title='How to use a VPN which forces routing to your employer&apos;s network AND YET access your local network at the same time'/><author><name>VV the Gatt</name><uri>http://www.blogger.com/profile/15773352530707078673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8259944167096195443.post-728411469249678364</id><published>2008-05-08T22:49:00.004+02:00</published><updated>2008-05-08T23:11:32.577+02:00</updated><title type='text'>The actual reasons for merlin u630 problem</title><content type='html'>&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;_uacct = "UA-4363671-1";&lt;br /&gt;urchinTracker();&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;In my previous article, &lt;A href='http://mrvtech.blogspot.com/2008/02/novatel-merlin-u630-vodafone-drivers.html'&gt;&lt;br /&gt;http://mrvtech.blogspot.com/2008/02/novatel-merlin-u630-vodafone-drivers.html&lt;br /&gt;&lt;/A&gt;&lt;br /&gt;I made several suppositions about the reasons for the Merlin u630 modem 3G card issues that caused it not to work with default configuration (aka automatic settings in resources tab of device manager).&lt;br /&gt;&lt;br /&gt;After some more investigation I know now that it conflicts with the I/O Range for a serial port. All I had to do then was to change said I/O space used by the multifunction adapter. The one that is used by default is the one that is also used by COM2 and it fails.&lt;br /&gt;&lt;br /&gt;One configuration that works correctly and totally (even after reboots) on my HP Compaq 8510w is then this one:&lt;br /&gt;I/O Range: 02F0-02F7&lt;br /&gt;I/O Range: 0180-0187&lt;br /&gt;IRQ 16&lt;br /&gt;Memory Range 000DD000-000DDFFF&lt;br /&gt;Memory Range 000DC000-000DCFFF&lt;br /&gt;&lt;br /&gt;All I had to do was to change the default I/O range for the SECOND I/O Range.&lt;br /&gt;&lt;br /&gt;I hope it could help some other people...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8259944167096195443-728411469249678364?l=mrvtech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mrvtech.blogspot.com/feeds/728411469249678364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8259944167096195443&amp;postID=728411469249678364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8259944167096195443/posts/default/728411469249678364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8259944167096195443/posts/default/728411469249678364'/><link rel='alternate' type='text/html' href='http://mrvtech.blogspot.com/2008/05/actual-reasons-for-merlin-u630-problem.html' title='The actual reasons for merlin u630 problem'/><author><name>VV the Gatt</name><uri>http://www.blogger.com/profile/15773352530707078673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8259944167096195443.post-2252730534462598440</id><published>2008-02-10T23:24:00.001+01:00</published><updated>2008-02-19T12:25:46.510+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Novatel u630'/><category scheme='http://www.blogger.com/atom/ns#' term='vodafone'/><category scheme='http://www.blogger.com/atom/ns#' term='installation problems'/><category scheme='http://www.blogger.com/atom/ns#' term='drivers'/><title type='text'>Novatel Merlin u630 Vodafone drivers and configuration tricks</title><content type='html'>&lt;span style="font-family:arial;"&gt;I have had so many issues with my Vodafone 3G card (Novatel Merlin u630, provided by French carrier SFR) on Windows XP laptops that I thought I would create an help page for other users (I solved the issues).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;First issue, with my IBM/Lenovo laptop Thinkpad Z60m&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;It did not work, the "Novatel Wireless UMTS Modem Secondary Port" device always appeared with a yellow mark.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Hopefully, I found some indications:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;1. Insert the Merlin into the PC card slot.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;2. Go to Device Manager. Start &gt; Control Panel &gt; System &gt; Hardware &gt; Device Manager.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;3. Expand the Modems, the Multifunction adapters and the Ports category.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4. Select the Novatel Wireless UMTS Modem Parent under the Multifunction adapters category.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;5. Right click and choose properties from the available menu.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;6. Choose the resources tab.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;7. Uncheck “Use automatic settings” to manually change the resource settings.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;8. In the “Settings based on” drop down menu, choose a configuration that will eliminate the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;error code. Usually, configuration 0004 or 0005 will work.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;9. Choose OK and YES to further dialog windows.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;10. Verify that there are no markings on Modems, Multifunction adapters or Port devices in Device Manager.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I found these hints on this page:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://www.mybroadband.co.za/vb/showthread.php?t=32080"&gt;http://www.mybroadband.co.za/vb/showthread.php?t=32080&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This made the card work in my Thinkpad...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Then, my company was acquired by another company and I got an HP Compaq 8510w mobile workstation.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I could not find the original software CD to install Vodafone Mobile Connect v5 (the one on my Lenovo, that came with teh card), but I did not care because I found the latest VMC software:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://online.vodafone.co.uk/dispatch/Portal/appmanager/vodafone/wrp?_nfpb=true&amp;amp;_pageLabel=template11&amp;amp;pageID=BS_0036&amp;amp;tabIndex=2"&gt;http://online.vodafone.co.uk/dispatch/Portal/appmanager/vodafone/wrp?_nfpb=true&amp;amp;_pageLabel=template11&amp;amp;pageID=BS_0036&amp;amp;tabIndex=2&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I had to understand that Vodafone mixed up MacOS and Windows versions of the software and you had to click the MacOS link to get the Windows software (88MB).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Anyway, the software is here:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://online.vodafone.co.uk/dispatch/Portal/SimpleGetFileServlet?dDocName=VF010615&amp;amp;revisionSelectionMethod=latestReleased&amp;amp;inline=0"&gt;http://online.vodafone.co.uk/dispatch/Portal/SimpleGetFileServlet?dDocName=VF010615&amp;amp;revisionSelectionMethod=latestReleased&amp;amp;inline=0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This version of Vodafone Mobile Connect is supposed to support my 3G card and it even comes with updated drivers for the Novatel U630 card. Cool, they certainly have solved the issues there were with the previous version of the driver (I know a little about Windows driver programming and resource issues may be addressed in drivers).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;But I was not able to even use the "resources" trick mentioned above.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Then I remember that when I struggled with my Lenovo and the u630, I already tried updated drivers, that were not working (I had to stick with the drivers shipped on the CD, even if they were outdated).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;So I used DriverGenius on my Lenovo to extract the drivers for the 3 devices that the u630 installs in device Manager (Multi function parent device, Modem device and com port device). I then "upgraded" manually the drivers on the HP laptop (actually downgraded them).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;And then it worked !... Once. When I rebooted it did not work anymore !&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;However, here is what happened the first time (before I rebooted):&lt;br /&gt;&lt;br /&gt;I did not even have to enter the "advanced modem settings" that are used to connect to my phone carrier "ISP" node (you know the AT+CGDCONT=1,"IP"... stuff. Actually VMC 9 erases this value if you enter it. I guess it "knows" what value to use depending on the carrier you are connected to)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The drivers I extracted are said to be version 1.3.5.1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Actually, you need only the .inf and .cat files. I uploaded them and you can get them from &lt;a href="http://vivo.free.fr/novatel/Novatel_U630_v1.3.5.1.zip"&gt;this link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;But after I rebooted, it was still not working!&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;Same issue as previously: Novatel Wireless UMTS Secondary Port (a COM port) had a yellow mark in device manager!&lt;br /&gt;&lt;br /&gt;I tried to understand what happened.&lt;br /&gt;I re-upgraded the drivers to v 1.3.5.4 (the ones shipped with VMC 9.2.4.7868).&lt;br /&gt;I then modified again the resource settings.&lt;br /&gt;I played a little with all the resource settings and I could diagnose the following:&lt;br /&gt;The second I/O Range is the one used by the &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Novatel Wireless UMTS Secondary Port device.&lt;br /&gt;Some values for this I/O Range are causing issues, though they are not in conflict with other devices and should be supported.&lt;br /&gt;If you use a "wrong" value for the first I/O Range, then it's the Novatel Wireless UMTS Primary port device (the modem) that does not work anymore.&lt;br /&gt;Sorry I did not write down THE value that was causing issue but I am pretty sure it was 0x02E8-0x02EF (and IRQ 3... The good old Com4 values !)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;I tried several settings for this I/O Range. Some of them made Windows re-assigning resources for the WiFi adapter and Bluetooth connection. I finally managed to have a configuration that seemed to work.&lt;br /&gt;&lt;br /&gt;I rebooted then...&lt;br /&gt;&lt;br /&gt;And when I connected the u630 into my 8510w  again, it seemed that Windows re-assigned ressources again (WiFi and Bluettoth got disabled and enabled again), but finally (after approximately 5 minutes), all the devices seemed to work. I had to admitthat the Plug'n'play manager and its handling of resources in Windows (and PnP BIOSes/firmware) is really a great job. Congratulations to the teams that developed these stuff!&lt;br /&gt;&lt;br /&gt;Here are the resources used for u630 (Multi function device/Modem parent) at the time I write these lines (I  did not reboot yet...)&lt;br /&gt;&lt;br /&gt;I/O Range: 02F8-02FF&lt;br /&gt;I/O Range: 03E8-03EF&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;IRQ: 16&lt;br /&gt;Memory Range: 000DA000-000DAFFF&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;Memory Range: 000D4000-000D4FFF&lt;br /&gt;&lt;br /&gt;And &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Novatel Wireless UMTS Secondary Port device is on COM6.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;Now, we'll see what happen when I reboot the next time...&lt;br /&gt;&lt;br /&gt;However, I could use VMC with the u630 and it worked quite well to connect to the Internet, even if it sets the metric for default route to 1 (You know, this is how MS deals with the option "use default gateway on remote nework") which is not what I want (especially when testing while being connected to the internet with a cheaper connection!). I can change the metric with the "route change" command, but I would like to do it automatically... VMC sets the setting by itself it seems. I'll try to see if I can change that.&lt;br /&gt;&lt;br /&gt;Ah, and I tried to use VMC in order for it to control the Internet connection when I use my Treo 750v modem (either bluetooth or USB) but VMC does not detect the mobile phone.&lt;br /&gt;Why do I want to do that? Well VMC knows the Access Points for a lot of GPRS/EDGE/UMTS/HSPA networks, and I wanted to use the same feature when using my Treo as a modem.&lt;br /&gt;Maybe some new blog for this story... who knows?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Some more resources:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Firmware:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;At the time when I write this page, you can download the v14.5 version of the firmware for u630 from this link:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://www.vodafone.co.nz/personal/plans-services/3G-broadband/latest-downloads/firmware-releases/download-fw-4.jsp"&gt;http://www.vodafone.co.nz/personal/plans-services/3G-broadband/latest-downloads/firmware-releases/download-fw-4.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Interesting technical bulletin from Novatel:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;TECHNICAL SERVICE BULLETIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Number: TSBU530-002(EC12)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Description Summary: Installation Problem -- Error Code 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Documented: November 11th  2004&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span class="a"&gt;&lt;a href="http://www.3.dk/upload/3DataCard/TSBU530_002%28EC12%7D.pdf"&gt;http://www.3.dk/upload/3DataCard/TSBU530_002(EC12%7D.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8259944167096195443-2252730534462598440?l=mrvtech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mrvtech.blogspot.com/feeds/2252730534462598440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8259944167096195443&amp;postID=2252730534462598440' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8259944167096195443/posts/default/2252730534462598440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8259944167096195443/posts/default/2252730534462598440'/><link rel='alternate' type='text/html' href='http://mrvtech.blogspot.com/2008/02/novatel-merlin-u630-vodafone-drivers.html' title='Novatel Merlin u630 Vodafone drivers and configuration tricks'/><author><name>VV the Gatt</name><uri>http://www.blogger.com/profile/15773352530707078673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
