Toon posts:

[WINXP]Voorkeur voor LAN verbinding bij actieve GPRS conn.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Nu breekt mn klomp. Je zou denken dat auto metric in XP er voor zorgt dat de PC automatisch de snelste (goedkoopste) verbinding kiest. Auto metric kent namelijk een lagere metric toe aan een interface met een hogere beschikbare bandbreedte.

Dat werkt prima met een Wireless LAN en een normale LAN verbinding maar het gaat effe mis met een GPRS dial up. Deze krijgt namelijk een metric van 1 toegekend en XP plet dan alle verkeer over deze verbinding.

De metric is niet handmatig aan te passen in de verbinding, wel is het zo dat het in het register is aan te passen maar deze gegevens staan in een dynamische key.

Ook is er een script wat dit kan doen op How to change the binding order of network adapters in Windows XP and in Windows 2000
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
On Error Resume Next

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

regValueDataMetric = "35"

Set colItems = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapter Where NetConnectionID = 'Wireless Network Connection'")

For Each objItem in colItems
strMACAddress = objItem.MACAddress
Wscript.Echo "MACAddress: " & strMACAddress
Next

Set colNetCard = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each objNetCard in colNetCard
If objNetCard.MACAddress = strMACAddress Then
For Each strIPAddress in objNetCard.IPAddress
Wscript.Echo "Description: " & objNetCard.Description
Wscript.Echo "IP Address: " & strIPAddress
Wscript.Echo "IPConnectionMetric: " & objNetCard.IPConnectionMetric
objNetCard.SetIPConnectionMetric(regValueDataMetric)
Next
End If
Next


Dit werkt perfect met echte interfaces maar met dial-up verbinding gaat dit scheef.

Andere ideeen of vaker met dit bijltje gehakt?

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
wrs niet de oplossing die je zoekt, maar wel lekker low-tech:

zien dat je geen gprs connectie hebt op de moment dat je lan hebt ?
(wat heeft het nut die gprs open te houden als je toch de kabel eraan hebt hangen? :+

offtopic:
(en mss iets meer voor netwerken ipv pns)


aan onderbuur, dat was me al duidelijk geworden dat zoiets de bron kan zijn, maar mits er ook voor mij niet dadelijk iets te boven kwam ...

buiten: grps -> dailup... (als ik vooral 't einde herlees)

ik denk ergens aan de optie:
"don't use this connecting when connected to lan" of
"dail whenver a network connection is not present" in Internet options.
mss al mogelijkheid ?
(niet zeker of je pc het ook ziet als dailup, of gewoon als connectie naar iets dat er wel voor zorgt dat 't net bereikbaar is - zoals die adsl-modem/routers)

[ Voor 63% gewijzigd door soulrider op 19-12-2006 12:53 ]


  • hufkes
  • Registratie: Maart 2000
  • Laatst online: 09-03 21:25

hufkes

nee, daar staat niet hufter!

soulrider schreef op dinsdag 19 december 2006 @ 12:40:
wrs niet de oplossing die je zoekt, maar wel lekker low-tech:

zien dat je geen gprs connectie hebt op de moment dat je lan hebt ?
(wat heeft het nut die gprs open te houden als je toch de kabel eraan hebt hangen?0
Waarschijnlijk heeft hij gewoon een telefoon met altijd open GPRS verbinding en omdat windows dan die als laatste toegevoegde netwerk ziet na inpluggen van de telefoon gaat hij blijkbaar die proberen te gebruiken.. Beetje vreemd van windows en het is niet logisch om dat dan op de telefoongebruiker af te schuiven aangezien het op de telefoon best wel handig kan zijn om de GPRS-verbinding open te houden :)

@TS: sorry geen constructieve input anders dan dat hij het hier bij mij niet doet.. beetje vreemd. Wat je nog kan proberen is of je met behulp van netlimiter of een goede firewall alléén active synch toegang tot die "netwerkkaart" kan geven. Eventueel natuurlijk ook de explorer wanneer je wilt browsen op je telefoon.

Onderstaande signature is al >20jr oud ***hoe dan***
---
Het internet is een veelbelovend medium
....dat maar heel weinig van zijn beloftes nakomt.
Wat weg is... raak je nooit meer kwijt :P


Verwijderd

Topicstarter
In de door ons gebruikte tablets zit een geintegreerde GPRS modem, bij het opstarten van het systeem wordt automatisch de GPRS verbinding opengetrokken en 90 % van de tijd werkt het systeem over GPRS.

Echter als de tablet een LAN verbinding aangeboden krijgt moet automatisch de LAN verbinding gebruikt worden zodat de tablet een snellere en goedkopere verbinding gebruikt.

Wss. had ik bovenstaande iets duidelijker uit moeten leggen.

@hufkes: begrijp ik goed dat je de GPRS verbinding actief houdt en de LAN kabel erin steekt en dat daarna automatisch de LAN verbinding word gebruikt? Welke metric heeft jouw GPRS verbinding dan?

Verwijderd

Topicstarter
Gevonden:

A dial-up connection takes priority. Windows assumes that when you
connect to the Internet through a dial-up connection, you want to use
that connection instead of other ones.

Here's how it works:

1. Each Internet connection has an associated default route in the TCP/IP route table.
2. Each default route has an associated value called "metric". The value is in the range 1-9999.
3. When there's more than one default route, Windows uses the one that has the lowest metric.
4. When a dial-up connection is established, its metric is set to 1, and the metric of every other connection is increased by 1. That guarantees that the dial-up connection's metric is the lowest.
5. When a dial-up connection is disconnected, the metric value of every other connection is decreased by 1.

An Explanation of the Automatic Metric Feature for Internet Protocol Routes An explanation of the Automatic Metric feature for Internet Protocol routes

Zucht...

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
mss kan m'n edit van hierboven nog helpen:
voorkomen dat ie gaat gprs inbellen als er lan is ?

(of is die gprs "always on" ?)

Verwijderd

Topicstarter
@soulrider: de GPRS staat altijd open, het is de bedoeling dat de tablet zonder te herstarten of zonder het stoppen van de GPRS verbinding overschakeld op de LAN verbinding.

Verwijderd

Topicstarter
Denk dat ik het maar met tools op ga lossen. B.v. Diginet Multinet http://multinet.diginext.com/

  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Je zou een CommandLineEventConsumer kunnen registreren die op basis van het MSNdis_StatusMediaConnect event de command line RASDIAL <GPRS entry> /DISCONNECT uitvoert. Analoog daaraan zo'n zelfde registratie die op basis van een MSNdis_StatusMediaDisconnect event de GPRS verbinding weer activeert.

'k Schat zo dat je een weekje aan het knutselen bent om e.e.a. fool-proof aan de praat te krijgen.
Dus even je uurtarief afzetten tegen het aantal licenties van een commerciele oplossing

QnJhaGlld2FoaWV3YQ==


  • Equator
  • Registratie: April 2001
  • Laatst online: 17:43

Equator

Crew Council

#whisky #barista

Move naar Netwerken :)

Verwijderd

Topicstarter
Toch maar even een update. Uiteindelijk heb ik ervoor gekozen om het zelf te scripten. Onderstaand scriptje detecteerd de status van de LAN interface en brengt de GPRS verbinding up of down naar gelang de status van de interface.

Doe er je voordeel mee!

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Dim Shell, Hell, GPRS, ExecuteObj, strcmd, GPRSConnected

On error resume next

Set Shell = CreateObject("WScript.Shell")
strComputer = "." 
GPRS = "0"

Do
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_NetworkAdapter Where NetConnectionID = 'Local Area Connection'")

For Each objItem in colItems 
    If objItem.NetConnectionStatus = 7 Then
      If GPRS = "0" Then
'   Wscript.Echo "LAN verbinding verbroken!"
        Shell.Run ("rasdial GPRS"), 0
    GPRS = "1"
      End if
    Else
      If GPRS = "1" Then
'   Wscript.Echo "LAN verbinding actief!"
        Shell.Run ("rasdial GPRS /DISCONNECT"), 0
        GPRS = "0"
      End if
    End if
Next

If GPRS = "1" Then
    Set ExecuteObj = Shell.Exec("ipconfig.exe")
    Do While Not ExecuteObj.StdOut.AtEndOfStream 
      strcmd = ExecuteObj.StdOut.ReadLine() 
        If Instr(strcmd, "PPP") > 0 Then 
          GPRSConnected = "1"
        End if
    Loop
If not GPRSConnected = "1" Then
'   Wscript.Echo "GPRS verbinding verbroken!"
    Shell.Run ("rasdial GPRS"), 0
End if
Set ExecuteObj = nothing
Set GPRSConnected = nothing
End if

Wscript.Sleep 10000

Loop Until Hell="Freezes over!"
Pagina: 1