diff --git a/appliance_setup/device_types.py b/appliance_setup/device_types.py
index ba237489a92f092434f79bd022bcd529943b1af3..162cbf911411eb6bc268636904e3dbd9f110c0fa 100755
--- a/appliance_setup/device_types.py
+++ b/appliance_setup/device_types.py
@@ -287,9 +287,10 @@ class Ether8888DeviceFactory (DeviceFactory):
           s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, self.proto)
           s.bind((i,self.proto))
           ifName,ifProto,pktType,hwType,hwAddr = s.getsockname()
-          txFrame = struct.pack("!6s6sH",bcAddr,hwAddr,self.proto) + "\x00"*0x10
+          packet = Ether8888Packet (localAddr = hwAddr, remoteAddr = bcAddr)
+          request = packet.encode ("\0\0", "\0\0", 0, 0, "\0"*0x10)
           # Send and wait for response
-          s.send (txFrame)
+          s.send (request)
           sockets.append (s)
 
         found = True