Hardware > Hardware-Tips

Wake-On-Lan mit Suns

<< < (2/3) > >>

astronom:
Hallo,

danke für eure Antworten. Da ich nicht so wirklich in die hier genannte Netzwerkkarte investieren möchte, muss ich mir wohl etwas anderes ausdenken.

llothar:
Also, ich bin mal über das hier gestolpert, wenn jemand ausprobieren möchte ob WakeOnLan klappt:
--------------------------------------------------------------------------------------------------------------------

import java.io.*;
import java.net.*;

public class WakeOnLan {
   
    public static final int PORT = 9;     
   
    public static void main(String[] args) {
       
        if (args.length != 2) {
            System.out.println("Usage: java WakeOnLan <broadcast-ip> <mac-address>");
            System.out.println("Example: java WakeOnLan 192.168.0.255 00:0D:61:08:22:4A");
            System.out.println("Example: java WakeOnLan 192.168.0.255 00-0D-61-08-22-4A");
            System.exit(1);
        }
       
        String ipStr = args[0];
        String macStr = args[1];
       
        try {
            byte[] macBytes = getMacBytes(macStr);
            byte[] bytes = new byte[6 + 16 * macBytes.length];
            for (int i = 0; i < 6; i++) {
                bytes = (byte) 0xff;
            }
            for (int i = 6; i < bytes.length; i += macBytes.length) {
                System.arraycopy(macBytes, 0, bytes, i, macBytes.length);
            }
           
            InetAddress address = InetAddress.getByName(ipStr);
            DatagramPacket packet = new DatagramPacket(bytes, bytes.length, address, PORT);
            DatagramSocket socket = new DatagramSocket();
            socket.send(packet);
            socket.close();
           
            System.out.println("Wake-on-LAN packet sent.");
        }
        catch (Exception e) {
            System.out.println("Failed to send Wake-on-LAN packet: + e");
            System.exit(1);
        }
       
    }
   
    private static byte[] getMacBytes(String macStr) throws IllegalArgumentException {
        byte[] bytes = new byte[6];
        String[] hex = macStr.split("(\\:|\\-)");
        if (hex.length != 6) {
            throw new IllegalArgumentException("Invalid MAC address.");
        }
        try {
            for (int i = 0; i < 6; i++) {
                bytes = (byte) Integer.parseInt(hex, 16);
            }
        }
        catch (NumberFormatException e) {
            throw new IllegalArgumentException("Invalid hex digit in MAC address.");
        }
        return bytes;
    }
   
   
}

astronom:
Diese Klasse schickt soweit ich das überblicken kann nur ein Magic-Paket auf die Reise, was einen WOL-fähigen Rechner dann aufweckt. Das gleiche kann auch etherboot (oder wie das Programm auch immer hiess). Hier haptert es an der anderen Seite - Suns sind wohl einfach nicht Wake-On-Lan-fähig.

llothar:
Ist schon klar was da gesendet wird. Hab im ersten Posting ja schon gesagt das Sun sicher nicht die AMD Technik benutzt.
Wenn du was machen willst dann nimm für deinen Master Rechner:

http://www.trendwarenhandel.de/xanario_pinfo.php?shop_ID=3&products_id=1225&sessID=39c94e31fad68f2cf42f296f8915c323

Der Linux Treiber kompiliert und funktioniert auch unter Solaris.

burki:
Hi,

--- Zitat ---Suns sind wohl einfach nicht Wake-On-Lan-fähig.
--- Ende Zitat ---
ich schreibe es nochmals: Im OEM-Handbuch vom Ultra-AXi-Board steht schwarz auf weiss, dass der NIC Wake-On-Lan unterstuetzt.
Leider wird aber nicht weiters darauf eingegangen, d.h. die notwendigen Einstellmoeglichkeiten werden nicht erwaehnt (oder wurden halt nicht - z.B. im OBP - realisiert).
Mit der von mir genannten Karte sollte es aber funktionieren.
Gruss
   Burkhardt

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln