Network doesn't work after standby in Vista

Help
2008-08-05
2013-05-09
  • Paul Kaletta
    Paul Kaletta
    2008-08-05

    Hi,

    I'm using colinux on top of Vista, and I must say that I'm quite happy and nearly everything works as advertised.

    I have set up my network according to the recommendations from the wiki.

    I use tap for eth0, and winpcap for eth1.  eth0 always works and I can reach my colinux vm with ssh from the Vista host at any time.

    However eth1 (used to connect the colinux vm to the internet), doesn't seem to work, after Vista wakes up from standby mode.  As soon as I restart colinux, everything works fine.

    As you might have guessed, restarting colinux anytime I wake up my computer is quite anoying.

    If you need any more technical details, I'd be glad to provide them.

    Best regards,
    nadaman

     
    • Henry N.
      Henry N.
      2008-08-05

      Thanks for this good news, because on Vista I was only testing Slirp months ago.

      Please start coLinux in your normal case, open Task manager (or ProcessExplorer from www.sysinternals.com), locate the process colinux-bridged-net-daemon.exe, and note the parameters how the this process is currently running. Kill (or terminate) this daemon from taskmanager, open a fresh Windows command prompt as adminiastrator, change into coLinux directory and type "colinux-bridged-net-daemon.exe -i ... -u 1 -n ... -mac ... -p ..." with all parameters, you have seen before.

      The network should be work now again. Check it!

      Lets power save or sleep your machine now. Wakeup it.
      I assume, after the wakeup the task is not longer running. It would depend on the hardware reset of the network adapter.
      A message, an error code or what ever from crashed colinux-bridged-net-daemon.exe we need to know.

      Try to restart colinux-bridged-net-daemon from the same command prompt again (same parameters).
      Works the network again now?

      Please give me also a note about the used Libpcap version, and the used coLinux version ("colinux-daemon --status-driver").

      Henry

       
    • Paul Kaletta
      Paul Kaletta
      2008-08-06

      Hi Henry,

      for one reason or another colinux-bridged-net-daemon.exe doesn't show up in the task manager.  In ProcessExplorer it shows up as a subtask of colinux-daemon.exe.  I had to run Process-Explorer as Administrator to figure out the command line:

      colinux-bridged-net-daemon -i 5804 -u 1 -n "LAN-Verbindung" -mac 00:ff:ac:76:00:00 -p 1

      "LAN-Verbindung" is the name of my LAN connection because I use a German version of Vista.

      When I ping some host on the Internet and kill the colinux-bridged-net-daemon task, the ping program freezes.  When I start the daemon again, ping resumes working.  A few ICMP packages are lost.

      C:\Programme\colinux>colinux-bridged-net-daemon -i 5804 -u 1 -n "LAN-Verbindung"
      -mac 00:ff:ac:76:00:00 -p 1
      conet-bridged-daemon: Looking for interface "LAN-Verbindung"
      conet-bridged-daemon: checking connection: LAN-Verbindung* 6
      conet-bridged-daemon: checking connection: LAN-Verbindung
      conet-bridged-daemon: listening on: Realtek...
      conet-bridged-daemon: listening for: (ether dst 00:ff:ac:76:00:00) or (ether broadcast or multicast) or (ip broadcast or multicast)

      When I put Vista into standby, the c-b-n-daemon is killed or crashes, however no error is displayed.  When I restart it, the network inside the VM works flawlessly again.

      Is there anything I can do to find out why c-b-n-daemon crashes?

      I use Winpcap 4.0.2, and

      C:\Programme\colinux>colinux-daemon --status-driver
      Cooperative Linux Daemon, 0.7.2
      Compiled on Jan 18 2008 21:47:09

      checking if the driver is installed
      current state: 4 (fully initialized)
      current number of monitors: 1
      current linux api version: 10
      current periphery api version: 20

      Best regards,
      nadaman

       
      • Henry N.
        Henry N.
        2008-08-06

        Good, a restart does continue the network. This would be a last idea for a workarround we can do later. But is not easy. Better, we find the error.

        Please check the entries of event manager (German Ereignissanzeige). Any entry about a crashing application?

        For more error traceing, please open an additional command prompt and run the debuger:
        colinux-debug-daemon.exe -d -p -s prints=31,misc=31 -f debug.xml
        Than do the same procedure again: Lets Vista go into standby and wake it up. Please wait a minute or so in the standby, so we later can see if it is crashing on sleep down or wakeup.
        After it is waked up completely, please stop the debugger with CTRL-C.

        Now you can grep into this file and locate for some text messages near the bridged daemon. No worries, it is xml, but the text statements you can also read with notepad.

        Mail me the complete file (zipped please) or the post some messages here, if you found an interesting entry.

        Question: What does the bridged daemon, if you unplug the cable, or if you "disable" and "enable" the network adapter? In such case the daemon also ends?

        PS: In private mail, you cad write german.

        Henry

         
        • Paul Kaletta
          Paul Kaletta
          2008-08-07

          Hey,

          I had a look at the entries in the event manager, but I don't see
          anything suspicious.  Nothing seems to crash (except pulseaudio), I
          have two log messages about my network devices going up after wakeup.

          Unfortunatelly also running "colinux-debug-daemon.exe -d -p -s
          prints=31,misc=31 -f debug.xml" from a cmd-shell with administrative
          privileges doesn't produce anything interesting.

          After suspending the computer, waiting a minute or two, and turning it
          on again, debug.xml only contains:

          <?xml version="1.0" encoding="iso-8859-1"?> <dump> </dump>

          Is this because I'm running colinux as a service?  Do I need to start
          colinux and the debugger from the same shell, or something?

          Another peculiar effect is this: after I terminated the debugger with
          Ctrl-C, I can stop colinux with 'net stop "Cooperative Linux"', but
          firing it up again with 'net start "Cooperative Linux"' doesn't work.

          I get this:
          Der Dienst reagiert auf die Kontrollfunktion nicht.

          Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2186 eingeben.

          This is something like:
          The service does not react to control functions.

          You get further help, if you type in NET HELPMSG 2186.

          I don't know why this is.

          Unplugging the Ethernet cable does not crash
          colinux-bridged-net-daemon.exe.  If I ping a host on the Internet from
          within Colinux a few ICMP packages are lost, while the Ethernet cable
          isn't plugged in, but nothing else happens.

          However when I deactivate the network connection
          colinux-bridged-net-daemon.exe disappears in Process Explorer, and I cannot reach the Internet from within colinux.

          nadaman

           
    • Paul Kaletta
      Paul Kaletta
      2008-09-07

      Hi Henry,

      do you think that there is a chance that the problem I have described will be fixed sooner or later?  The last message is one month old, and nothing happened.  The thing is that it's really annoying to restart Colinux all the time just to get the Internet working again, and it would be really cool if this could be fixed.  Then again I don't want to be pushy or annoying, as I really appreciate the hard work you put into CoLinux.

      Thank you,
      nadaman

       
      • Henry N.
        Henry N.
        2008-09-09

        Hello Nadaman,

        nobody is working on this problem. I personally have no Vista, and under XP no such problem I have.

        You can try to replace pcap-brigde with ndis-bridge. You needs only change the word in your config file. This is an in kernel implementation for bridging and available in version 0.8.0 from http://www.colinux.org/snapshots/

        Henry

         
        • Paul Kaletta
          Paul Kaletta
          2008-09-15

          Hey Henry,

          I updated conlinx to 0.8.0 according to the instructions at http://www.henrynestler.com/colinux/testing/devel-0.8.0/20080907-Snapshot/packages/.

          I replaced the word pcap-bridge with ncap-bridge in the config file.  However when colinux is running I can't put my computer to sleep anymore.  I just get a bluescreen eighter just after pressing the 'sleep-button' or just after wakeup.  Setting it back to pcap-bridge fixes that, but after a wakeup I can't acces the internet from within colinux.

          Paul

           
          • Henry N.
            Henry N.
            2008-09-15

            That is not good.

            Do you have followed the step guide and you runs the "colinux-daemon.exe --remove-driver" and "colinux-daemon.exe --install-driver" after replacing the linux.sys?

            For the pcap-bridge we need to know why the program stops or exits.
            It would be nice, if you can give us the instruction pointer or the line number from where this daemon exists. For this you needs to run the daemon inside a debugger.
            I wrote some basic steps:
            http://wiki.colinux.org/Debug_coLinux_daemons_with_GDB

            I'm not an expert for GDB. Please change it, if something is incorrect or misspelled.

            Henry

             
            • Paul Kaletta
              Paul Kaletta
              2008-09-23

              Hi Henry,

              today I had some time on my hands and I played a little bit.  To answer your question: yes, I followed the instructions step by step and i did --remove-driver and --install-driver, as indicated in the instructions.

              Originally I wanted to try to debug the colinux daemons today, but I get a 404 HTTP error on the website you mentioned, so I do not know how to do this.  Also the wiki seems to be down.  As soon as the instructions are back up again, I will try to do this.

              As I mentioned neighter pcap-bridge nor ndis-bridge work perfectly for me (pcap: daemon quits after suspend, ndis: bluescreen before sleep or just after wakeup).

              Today I was playing around a little bit, and discovered a peculiar phenomenon that I can't explain.

              In my configuration file I have the following entries:
              eth0=tuntap
              eth1=pcap-bridge,"LAN-Verbindung",,
              #The following entry causes a bluescreen
              #eth1=ndis-bridge,"LAN-Verbindung",,

              I tried to comment out the entry for eth1 only leaving in the eth0 entry.  When I do this however I can't ssh into colinux anymore.  I can ping it just fine, and from colinux I can also ping my host system.

              I wonder why this is, because the eth1 interface shouldn't be involved at all.  Also when I leave in both the tuntap entry for eth0 and the pcap entry for eth1, start colinux and do

              ifconfig eth1 down

              there, I can still ssh into colinux without any problems.

              I really don't understand this.

               
    • David Reuveni
      David Reuveni
      2008-11-22

      Hi guys,

      I see no activity on this question since September. Has this issue been resolved?
      I have two systems running Vista with this problem. After standby, colinux needs to be restarted to get networking back up again.

      Initially, I tried investigating this as a windows problem and found that there are a number of open issues with vista related to devices not working after standby. There was no hint or response (aside from shared frustration) to indicate a fix is coming.

      If you have any news about this issue, please post it. I really like working with colinux and would go back to XP if no other solution is available.

      Thanks and regards, David

       
    • Henry N.
      Henry N.
      2009-01-13

      Hello all,

      I have simulated exactly the same problems with XP by disable and enable the adapter in Windows network Neighborhood.

      The todays devel snapshot on http://www.colinux.org/snapshots/ should solve the suspend/resume problems with pcap-bridge. The daemon tries to re-open the adapter after faulting from reading. For this the daemon use interval from 1 to 19 seconds between the opens. So, the total time of ~190 seconds should have enouth time to have the adapter running up again after resume the Vista.

      A small problem can be, that the daemon start the "re-open" only, after Linux tries to send any packet to the host or to the internet. You will see the status as "offline" and "online" from the colinux-daemon prints. Please tell my your experiments with this workaround.

      The BSOD for kernel driver "ndis-bridge" in same scenario is not solved yet.

       
      • Paul Kaletta
        Paul Kaletta
        2009-01-13

        Hey Henry,

        that was it.  Now it works flawlessly.

        I'm really really grateful!  Thanks lot!

        All the best,
        Paul