From 39814a954446a6acaefcffa2b146ee28ba55596c Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Sun, 19 Feb 2012 00:00:57 +0100
Subject: [PATCH] directory restructure

---
 Devices/ConfigFileFormat.odt                  | Bin 0 -> 37157 bytes
 .../ConfigFileFormat_3PortModels.doc          | Bin 0 -> 86016 bytes
 Devices/data/eth8888-responses.formatted.txt  |  39 ++++++
 Devices/data/eth8888-responses.txt            | 124 ++++++++++++++++++
 appliance_setup/data/2012-02-09_VAP11G.conf   |   0
 .../data/2012-02-13_VAP11G_wlan.conf          |  21 +++
 .../2012-02-18_HP2101nw_001708A00BA9.conf     |  55 ++++++++
 appliance_setup/device_types.py               |   0
 appliance_setup/helpers.py                    |   0
 appliance_setup/user_interface.py             |   0
 10 files changed, 239 insertions(+)
 create mode 100644 Devices/ConfigFileFormat.odt
 create mode 100644 Devices/ConfigFileSpecification/ConfigFileFormat_3PortModels.doc
 create mode 100644 Devices/data/eth8888-responses.formatted.txt
 create mode 100644 Devices/data/eth8888-responses.txt
 delete mode 100644 appliance_setup/data/2012-02-09_VAP11G.conf
 create mode 100644 appliance_setup/data/2012-02-13_VAP11G_wlan.conf
 create mode 100644 appliance_setup/data/2012-02-18_HP2101nw_001708A00BA9.conf
 mode change 100755 => 100644 appliance_setup/device_types.py
 mode change 100755 => 100644 appliance_setup/helpers.py
 mode change 100755 => 100644 appliance_setup/user_interface.py

diff --git a/Devices/ConfigFileFormat.odt b/Devices/ConfigFileFormat.odt
new file mode 100644
index 0000000000000000000000000000000000000000..8a2313ea19a1ba83c6a8aa1f24d2eedbc82e9abf
GIT binary patch
literal 37157
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
Ri6Da@Ljel|!~7l)4*=|A8E60i

literal 0
HcmV?d00001

diff --git a/Devices/ConfigFileSpecification/ConfigFileFormat_3PortModels.doc b/Devices/ConfigFileSpecification/ConfigFileFormat_3PortModels.doc
new file mode 100644
index 0000000000000000000000000000000000000000..9cc36cc8e5b96028dcea1eb4021be8bb6c116aa0
GIT binary patch
literal 86016
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

literal 0
HcmV?d00001

diff --git a/Devices/data/eth8888-responses.formatted.txt b/Devices/data/eth8888-responses.formatted.txt
new file mode 100644
index 0000000..d71e6e0
--- /dev/null
+++ b/Devices/data/eth8888-responses.formatted.txt
@@ -0,0 +1,39 @@
+Frame 1: 30 bytes on wire (240 bits), 30 bytes captured (240 bits)
+Ethernet II, Src: CompalCo_4d:6a:09 (00:16:d4:), Dst: Broadcast
+
+0000  ff ff ff ff ff ff 00 16 d4 4d 6a 09 88 88 00 00   .........Mj.....
+0010  00 00 00 00 00 00 00 00 00 00 00 00 00 00         ..............
+
+
+
+Frame 2: 80 bytes on wire (640 bits), 80 bytes captured (640 bits)
+Ethernet II, Src: TigerNet_11:fc:d0 (00:17:13:), Dst: CompalCo_4d:6a:09 (00:16:d4:)
+
+Frame 3: 680 bytes on wire (5440 bits), 680 bytes captured (5440 bits)
+Ethernet II, Src: HewlettP_a0:0b:a9 (00:17:08:), Dst: CompalCo_4d:6a:09 (00:16:d4:)
+
+Frame 4: 680 bytes on wire (5440 bits), 680 bytes captured (5440 bits)
+Ethernet II, Src: HewlettP_9e:2d:2f (00:17:08:), Dst: CompalCo_4d:6a:09 (00:16:d4:)
+
+
+
+vap11g:    0000  00 16 d4 4d 6a 09 00 17 13 11 fc d0 88 88 00 00   ...Mj...........
+hp2101nw1: 0000  00 16 d4 4d 6a 09 00 17 08 a0 0b a9 88 88 00 00   ...Mj...........
+hp2101nw2: 0000  00 16 d4 4d 6a 09 00 17 08 9e 2d 2f 88 88 00 00   ....y.....-/....
+
+vap11g:    0010  00 00 00 00 00 00 38 00 00 01 00 00 04 e0 54 00   ......8.......T.
+hp2101nw1: 0010  00 00 00 00 00 00 38 00 00 01 00 00 59 4a 34 8c   ......8.....YJ4.
+hp2101nw2: 0010  00 00 00 00 00 00 38 00 00 01 00 00 59 4a 34 8c   ......8.....YJ4.
+
+vap11g:    0020  01 10 00 00 00 00 00 a8 98 95 a8 cb 9c e5 c9 ca   ................
+hp2101nw1: 0020  2c 00 00 60 00 00 00 00 00 00 00 00 00 00 00 00   ,..`............
+hp2101nw2: 0020  2c 00 00 60 00 00 00 00 00 00 00 00 00 00 00 00   ,..`............
+
+vap11g:    0030  e8 e5 cd cc e2 e9 cd 00 00 00 00 00 00 00 08 12   ................
+hp2101nw1: 0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+hp2101nw2: 0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+
+vap11g:    0040  00 00 80 00 00 00 00 00 00 00 10 04 00 00 00 04   ................
+hp2101nw1: 0040  00 01 80 42 00 00 00 00 00 00 14 04 00 00 00 04   ...B............
+hp2101nw2: 0040  00 01 80 42 00 00 00 00 00 00 14 03 00 00 00 04   ...B............
+
diff --git a/Devices/data/eth8888-responses.txt b/Devices/data/eth8888-responses.txt
new file mode 100644
index 0000000..1b6b9f8
--- /dev/null
+++ b/Devices/data/eth8888-responses.txt
@@ -0,0 +1,124 @@
+No.     Time        Source                Destination           
+      1 0.000000    CompalCo_4d:6a:09     Broadcast             
+
+Frame 1: 30 bytes on wire (240 bits), 30 bytes captured (240 bits)
+Ethernet II, Src: CompalCo_4d:6a:09 (00:16:d4:4d:6a:09), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
+VAP11G device configuration
+
+0000  ff ff ff ff ff ff 00 16 d4 4d 6a 09 88 88 00 00   .........Mj.....
+0010  00 00 00 00 00 00 00 00 00 00 00 00 00 00         ..............
+
+No.     Time        Source                Destination           
+      2 0.000314    TigerNet_11:fc:d0     CompalCo_4d:6a:09     
+
+Frame 2: 80 bytes on wire (640 bits), 80 bytes captured (640 bits)
+Ethernet II, Src: TigerNet_11:fc:d0 (00:17:13:11:fc:d0), Dst: CompalCo_4d:6a:09 (00:16:d4:4d:6a:09)
+VAP11G device configuration
+
+0000  00 16 d4 4d 6a 09 00 17 13 11 fc d0 88 88 00 00   ...Mj...........
+0010  00 00 00 00 00 00 38 00 00 01 00 00 04 e0 54 00   ......8.......T.
+0020  01 10 00 00 00 00 00 a8 98 95 a8 cb 9c e5 c9 ca   ................
+0030  e8 e5 cd cc e2 e9 cd 00 00 00 00 00 00 00 08 12   ................
+0040  00 00 80 00 00 00 00 00 00 00 10 04 00 00 00 04   ................
+
+No.     Time        Source                Destination           
+      4 0.070433    HewlettP_a0:0b:a9     CompalCo_4d:6a:09     
+
+Frame 4: 680 bytes on wire (5440 bits), 680 bytes captured (5440 bits)
+Ethernet II, Src: HewlettP_a0:0b:a9 (00:17:08:a0:0b:a9), Dst: CompalCo_4d:6a:09 (00:16:d4:4d:6a:09)
+VAP11G device configuration
+
+0000  00 16 d4 4d 6a 09 00 17 08 a0 0b a9 88 88 00 00   ...Mj...........
+0010  00 00 00 00 00 00 38 00 00 01 00 00 59 4a 34 8c   ......8.....YJ4.
+0020  2c 00 00 60 00 00 00 00 00 00 00 00 00 00 00 00   ,..`............
+0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0040  00 01 80 42 00 00 00 00 00 00 14 04 00 00 00 04   ...B............
+0050  06 04 00 03 00 17 08 a0 0b a9 00 00 00 00 00 17   ................
+0060  08 a0 0b a9 00 00 00 00 50 54 41 30 30 42 41 32   ........PTA00BA2
+0070  0a 30 30 31 32 20 54 43 50 49 50 5f 50 20 3a 45   .0012 TCPIP_P :E
+0080  6e 61 62 6c 65 0a 30 31 30 30 20 4c 31 5f 50 52   nable.0100 L1_PR
+0090  4f 55 54 3a 50 31 0a 30 31 30 31 20 4c 31 5f 50   OUT:P1.0101 L1_P
+00a0  52 45 53 54 3a 0a 30 31 30 32 20 4c 31 5f 50 4f   REST:.0102 L1_PO
+00b0  53 54 52 3a 0a 30 31 30 33 20 4c 31 5f 43 48 47   STR:.0103 L1_CHG
+00c0  4c 46 3a 4e 6f 0a 30 31 32 30 20 4c 32 5f 50 52   LF:No.0120 L2_PR
+00d0  4f 55 54 3a 50 31 0a 30 31 32 31 20 4c 32 5f 50   OUT:P1.0121 L2_P
+00e0  52 45 53 54 3a 0a 30 31 32 32 20 4c 32 5f 50 4f   REST:.0122 L2_PO
+00f0  53 54 52 3a 0a 30 31 32 33 20 4c 32 5f 43 48 47   STR:.0123 L2_CHG
+0100  4c 46 3a 4e 6f 0a 30 31 34 30 20 4c 33 5f 50 52   LF:No.0140 L3_PR
+0110  4f 55 54 3a 50 31 0a 30 31 34 31 20 4c 33 5f 50   OUT:P1.0141 L3_P
+0120  52 45 53 54 3a 0a 30 31 34 32 20 4c 33 5f 50 4f   REST:.0142 L3_PO
+0130  53 54 52 3a 0a 30 31 34 33 20 4c 33 5f 43 48 47   STR:.0143 L3_CHG
+0140  4c 46 3a 4e 6f 0a 34 30 30 30 20 49 50 5f 41 44   LF:No.4000 IP_AD
+0150  44 52 3a 31 30 2e 30 2e 30 2e 32 38 0a 34 30 30   DR:10.0.0.28.400
+0160  31 20 47 41 54 45 57 41 59 3a 31 30 2e 30 2e 30   1 GATEWAY:10.0.0
+0170  2e 31 33 38 0a 34 30 30 32 20 4d 41 53 4b 20 20   .138.4002 MASK  
+0180  20 3a 32 35 35 2e 32 35 35 2e 32 35 35 2e 30 0a    :255.255.255.0.
+0190  34 30 31 30 20 54 43 50 5f 49 4e 54 3a 30 0a 34   4010 TCP_INT:0.4
+01a0  30 31 31 20 54 43 50 5f 43 4e 54 3a 30 0a 34 30   011 TCP_CNT:0.40
+01b0  31 32 20 57 49 4e 53 5f 49 50 3a 30 2e 30 2e 30   12 WINS_IP:0.0.0
+01c0  2e 30 0a 34 30 32 30 20 44 48 43 50 5f 4d 4f 44   .0.4020 DHCP_MOD
+01d0  45 3a 45 6e 61 62 6c 65 0a 37 30 30 30 20 53 53   E:Enable.7000 SS
+01e0  49 44 3a 6b 61 69 6e 68 6f 66 65 72 0a 37 30 30   ID:kainhofer.700
+01f0  31 20 44 4f 4d 41 49 4e 3a 31 30 0a 37 30 30 32   1 DOMAIN:10.7002
+0200  20 43 48 41 4e 4e 45 4c 3a 36 0a 37 30 30 33 20    CHANNEL:6.7003 
+0210  53 45 43 4d 4f 44 45 3a 32 0a 37 30 30 34 20 4b   SECMODE:2.7004 K
+0220  45 59 5f 4c 45 4e 3a 30 0a 37 30 30 35 20 44 45   EY_LEN:0.7005 DE
+0230  46 41 55 4c 54 4b 45 59 3a 30 0a 37 30 30 36 20   FAULTKEY:0.7006 
+0240  4b 45 59 30 3a 0a 37 30 30 37 20 4b 45 59 31 3a   KEY0:.7007 KEY1:
+0250  0a 37 30 30 38 20 4b 45 59 32 3a 0a 37 30 30 39   .7008 KEY2:.7009
+0260  20 4b 45 59 33 3a 0a 37 30 31 32 20 41 55 54 48    KEY3:.7012 AUTH
+0270  45 4e 3a 30 0a 37 30 31 33 20 4d 4f 44 45 3a 30   EN:0.7013 MODE:0
+0280  0a 37 30 31 34 20 4c 49 4e 4b 49 4e 46 4f 3a 53   .7014 LINKINFO:S
+0290  54 41 54 45 3a 41 73 73 6f 63 69 61 74 65 64 20   TATE:Associated 
+02a0  2d 20 42 53 53 20 49 44                           - BSS ID
+
+No.     Time        Source                Destination           
+      2 0.013482    HewlettP_9e:2d:2f     IntelCor_e3:79:06     
+
+Frame 2: 680 bytes on wire (5440 bits), 680 bytes captured (5440 bits)
+Ethernet II, Src: HewlettP_9e:2d:2f (00:17:08:9e:2d:2f), Dst: IntelCor_e3:79:06 (00:13:02:e3:79:06)
+VAP11G device configuration
+
+0000  00 13 02 e3 79 06 00 17 08 9e 2d 2f 88 88 00 00   ....y.....-/....
+0010  00 00 00 00 00 00 38 00 00 01 00 00 59 4a 34 8c   ......8.....YJ4.
+0020  2c 00 00 60 00 00 00 00 00 00 00 00 00 00 00 00   ,..`............
+0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0040  00 01 80 42 00 00 00 00 00 00 14 03 00 00 00 04   ...B............
+0050  06 04 00 03 00 17 08 9e 2d 2f 00 00 00 00 00 17   ........-/......
+0060  08 9e 2d 2f 00 00 00 00 00 00 00 00 00 00 00 00   ..-/............
+0070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+00a0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+00b0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+00c0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+00d0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+00e0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+00f0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0100  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0130  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0150  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0160  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0170  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+01a0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+01b0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+01c0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+01d0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+01e0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+01f0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0200  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0210  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0220  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0230  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0240  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0250  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0260  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0270  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0280  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+0290  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
+02a0  00 00 00 00 00 00 00 00                           ........
diff --git a/appliance_setup/data/2012-02-09_VAP11G.conf b/appliance_setup/data/2012-02-09_VAP11G.conf
deleted file mode 100644
index e69de29..0000000
diff --git a/appliance_setup/data/2012-02-13_VAP11G_wlan.conf b/appliance_setup/data/2012-02-13_VAP11G_wlan.conf
new file mode 100644
index 0000000..43ab6eb
--- /dev/null
+++ b/appliance_setup/data/2012-02-13_VAP11G_wlan.conf
@@ -0,0 +1,21 @@
+0001 BOX_NAME:VAP11G
+0002 MAC_ADDR:00171311FCD0
+7000 SSID:kainhofer
+7001 DOMAIN:16
+7002 CHANNEL:6
+7003 SECMODE:2
+7004 KEY_LEN:32
+7005 DEFAULTKEY:0
+7006 KEY0:0000000000000000000000000000000000000000000000000000000000000000
+7007 KEY1:0000000000000000000000000000000000000000000000000000000000000000
+7008 KEY2:0000000000000000000000000000000000000000000000000000000000036400
+7009 KEY3:0000000000000000000000000000000364002B092A0900000000000000000000
+7012 AUTHEN:3
+7013 MODE:0
+7014 LINKINFO:SSID:kainhoferSTATE:Connected (Infrastructure)BSS ID = 00:15:F2:3D:79:06CHANNEL:6SECURITY:2TX:0RX:680QUALITY:Excellent(100%)STRENGTH:Excellent(85%)
+7017 WPA:WPA2
+7018 PSKALSET:0
+7019 PSKKEY:reinhold
+7020 PSKAL:TKIP;
+7021 SURVEY:kainhofer0015f23d7906,6,G,2,100tunetb4a4e3b4f723,5,G,0,500002a8d27414,6,G,2,10wlanipsecb4a4e3b4f721,5,G,0,60eduroamb4a4e3b4f720,5,G,3,50myLGNet74170002a8d27415,6,G,1,10CK4D002436b7918b,11,G,1,10amaci.at001d7e30d80b,6,G,3,10DSMAURORA001ae302b3a0,1,G,2,20UPC011025001e6962d1fa,1,G,3,10DSMGUEST001ae302b3a1,1,G,0,10wlanipsecb4a4e3ca30a1,1,G,0,10tunetb4a4e3ca30a3,1,G,0,10eduroamb4a4e3ca30a0,1,G,3,10SpeedTouch91C5090024d26c2572,6,G,3,10001f412a4ec0,6,G,2,10AndroidAP980c825ac6d2,6,G,3,10
+7022 BAND:0
diff --git a/appliance_setup/data/2012-02-18_HP2101nw_001708A00BA9.conf b/appliance_setup/data/2012-02-18_HP2101nw_001708A00BA9.conf
new file mode 100644
index 0000000..4737cdd
--- /dev/null
+++ b/appliance_setup/data/2012-02-18_HP2101nw_001708A00BA9.conf
@@ -0,0 +1,55 @@
+0001 BOX_NAME:WPTA00BA9
+0012 TCPIP_P :Enable
+0100 L1_PROUT:P1
+0101 L1_PREST:
+0102 L1_POSTR:
+0103 L1_CHGLF:No
+0120 L2_PROUT:P1
+0121 L2_PREST:
+0122 L2_POSTR:
+0123 L2_CHGLF:No
+0140 L3_PROUT:P1
+0141 L3_PREST:
+0142 L3_POSTR:
+0143 L3_CHGLF:No
+4000 IP_ADDR:10.0.0.3
+4001 GATEWAY:10.0.0.138
+4002 MASK   :255.255.255.0
+4010 TCP_INT:0
+4011 TCP_CNT:0
+4012 WINS_IP:0.0.0.0
+4020 DHCP_MODE:Enable
+7000 SSID:kainhofer
+7001 DOMAIN:10
+7002 CHANNEL:1
+7003 SECMODE:2
+7004 KEY_LEN:0
+7005 DEFAULTKEY:0
+7006 KEY0:
+7007 KEY1:
+7008 KEY2:
+7009 KEY3:
+7012 AUTHEN:0
+7013 MODE:0
+7014 LINKINFO:STATE:Associated - BSS ID = 30:39:F2:52:AD:76;SSID:kainhofer;CHANNEL:1;TXRATE:54;TX:0;RX:168;QUALITY:Good(50%);STRENGTH:Good(50%);
+7017 WPA:WPA2
+7018 PSKALSET:0
+7019 PSKKEY:reinhold
+7020 PSKAL:TKIP;AES;
+7021 SURVEY:
+7023 WPA2AL:TKIP;AES;
+7024 STAMODE:0
+7025 APCHANNEL:5
+7026 CHMODE:1
+7030 WLMODE:0
+7100 APSSID:kainhoc
+7103 APSECMODE:0
+7104 APKEY_LEN:0
+7105 APDEFAULTKE:0
+7106 APKEY0:
+7107 APKEY1:
+7108 APKEY2:
+7109 APKEY3:
+7112 APAUTHEN:0
+7118 APPSKALSET:1
+7119 APPSKKEY:
diff --git a/appliance_setup/device_types.py b/appliance_setup/device_types.py
old mode 100755
new mode 100644
diff --git a/appliance_setup/helpers.py b/appliance_setup/helpers.py
old mode 100755
new mode 100644
diff --git a/appliance_setup/user_interface.py b/appliance_setup/user_interface.py
old mode 100755
new mode 100644
-- 
GitLab