+2005-03-07 Roman Festchook
+ * src/ap-rrd.c: changed format of error messages
+ * configure.in, NEWS: version 1.5
+
+2005-03-06 Jan Rafaj
+ Since one of the users has provided me with SmartBridges APPO,
+ the support for latest APPO firmware (1.4k5) can now hopefully
+ be finished as originally intended.
+ * TODO: updated
+ * Documentation/FAQ: updated
+ * ap-gl/Makefile.am:
+ - bugfix: added missing @CURSESLIBS@ to the target
+ * lib/ap-utils.h:
+ - Q_HELP is gone
+ - added dbmconv() macro to correctly handle dBm computing for
+ smartBridges firmware
+ * lib/ap_search.c:
+ - 'Wireless' OID is really 'sysDescr' OID
+ - no longer ask for community, since device will respond to
+ sysDescr query no matter what community is currently being used
+ (Roman, thanks for notifying!)
+ - bugfix: 'AP NAME' changed to 'FW TYPE (VERSION) AP NAME', to
+ reflect better whats being displayed
+ - bugfix: scan_local_segment() now triggers screen-width truncation
+ limit correctly
+ * lib/common.c:
+ - cosmetics: screen is now properly cleared with exit_program()
+ * lib/input.c:
+ - bugfix: exclusive use of getch() in wait_key() instead of
+ escape-sequences-not-aware getc() results in greater robustness
+ of input code (it is now a lot harder to end up with buffered
+ content in stdin, that would otherwise lead to odd results
+ elsewhere)
+ - get_value() almost completely rewritten. switched from getchar()
+ to getch() to get correct output on older terminals, as well as
+ to avoid displaying of escape-sequences and to interpret escape-
+ sequences for the following usual keys, that now work:
+ INSERT (toggles Insert/Overwrite mode)
+ DELETE (rightside delete)
+ BACKSPACE (leftside delete)
+ LEFT ARROW (move cursor back 1 character)
+ RIGHT ARROW (advance cursor forward 1 character)
+ HOME (move to the beginning of the string)
+ END (move to the end of the string)
+ - bugfix: get_value() will now omit leading zeros from correct number
+ given by the user (they will be eaten upon user's ENTER keypress)
+ - bugfix: in get_mask(), trans_count must be always reset upon
+ failure to validate user input, or after single failure, all
+ subsequent attempts would (previously) fail
+ * lib/oui.c: added OUIs:
+ - 000E2E (Edimax Technology Co., Ltd.)
+ - 000F66 (Cisco-Linksys)
+ - 00117C (e-zy.net) :)
+ * lib/set_oeminfo.c:
+ - prepended 'USB ' in front of 'Vendor ID' and 'Product ID'
+ (cosmetic)
+ * lib/snmp.c:
+ - bugfix: eliminated leak by unfreed malloc'ed memory in snmp() using
+ static buffer
+ - introduced three new functions: close_sockfd(), open_sockfd()
+ and reopen_sockfd(). They should really be in common.c, but then
+ again, they are low-level stuff that should primarily be used
+ only in snmp(), and snmp.c itself contains no ncurses stuff
+ so functions it defines can be reused by external non-ncurses-
+ - in snmp(), switched from sig*jmp()/alarm() timeout code to select()
+ in favor of simplicity and possibility to monitor stdin read-state
+ change at the same time
+ - snmp() will now return with 0 immediately upon keypress, if
+ snmp_quit_by_keypress = 1 and type = GET. This has been added
+ to allow user-requested last-resort quit from blocking state
+ (for example when the target AP does not respond). The decision
+ of what to do is up to the calling code, that has to check
+ stdin content and act accordingly (currently this is used for
+ immediate quit using q/Q key from otherwise blocking snmp() calls).
+ - sockfd is now globally defined here
+ - snmp() now always 'flushes' sockfd prior further network processing
+ so that eventual packet received on sockfd prior snmp() call
+ wont cause desync errors
+ - snmp_retries global is gone. We need to wait at least 1 second
+ past sendto() for response packet, and do everything necessary
+ to avoid 'response for previous request received in next snmp()
+ call' => extra TODO: check, whether the OID part of received packet
+ matches with OID of preceding request, and if not, flush sockfd
+ and do an extra retry of sendto()/recv()
+ dependant programs.
+ * Documentation/ap-tftp.8:
+ - (introduced in previous patchset)
+ - added warning that it is unsafe to try upgrading devices for whose
+ there's no vendor firmware nor upgrade utilities (such as
+ Tellus A13 a.k.a. i-Tec AP GOLD with blue front)
+ * src/Makefile.am:
+ - ap-tftp needs to be linked to libap.a from now on
+ * src/ap-tftp.c:
+ - bugfix: computation of percentage was not really correct in v1.0
+ - bugfix: fixed memleak caused by unfreed strdup()
+ - cleanup; use of float type eliminated
+ - it should be now possible to reuse tftp() for .cfg upload, too
+ (.cfg upload code still not there)
+ - revamp of config. parameters
+ - added capability to upgrade all AT76C510-based SmartBridges
+ devices (those with FCC ID 'PWG DOLPHIN')
+ * src/aplink.c:
+ - polling mode is now always enforced
+ - LQ top value is now computed/shown for devices with ATMEL410
+ SBRIDGES MIB
+ - bugfix: screen is now correctly cleaned up upon transition
+ from 'associated: yes' to 'associated: no' state
+ - added pause possibility (using 'q' or 'Q' key)
+ - big facelift: added RSSI 'rounding' (a.k.a. RSSI average / last
+ 20 samples) gauge, and a general side-scrolling bargraph
+ showing the history of RSSI, RSSI average, RSSI rounding, and,
+ in case of smartBridges firmware, also Link Quality. Views
+ can be toggled using 't' or 'T' key. At the moment, all values
+ are presented in percentage, since this (compared to dBm)
+ does not fluctuate a lot among different firmware versions.
+ User may just pause the polling process and see the corresponding
+ dBm value for the bar currently shown in graph, near the
+ corresponding gauge.
+ * src/auth.c:
+ - bugfixes: shown ea_dest_port, ea_time and ea_port values are now
+ properly decoded
+ * src/bridge.c:
+ - renamed cf_trap_ports to cf_ports (cosmetic)
+ - bugfix: fixed up order of cf_ports to respect MIB-defined order.
+ Interresting note: ATMEL12350 EZYNET MIB firmware actually
+ returns config_port = 0 when it should return 3 ('Both' ports) =>
+ this case is now taken care of.
+ * lib/common.c:
+ - screen is now cleared upon exiting ap-config
+ * bugfix: fixed rare ap-config crash when sysDeviceInfo OID query
+ would return structure length of 92 bytes instead of 128. Suspection:
+ returning 128 might be a snmp() state machinery error?
+ * squashed any sockfd lowlevel-manipulating stuff (socket(), bind(),
+ close()) everywhere in favour of already globally declared sockfd
+ in snmp.c and eventual reopen_sockfd() call. Lets forget about
+ sockfd if we use just snmp(). TODO: re-evaluate necessity to use
+ reopen_sockfd() in common.c and file.c .
+ * dbmconv() is now used in every place that handles raw->dBm
+ conversion - TODO: just the ap_mrtg needs to be fixed (add
+ detection for SBRIDGES ap_vendorext, then dbmconv())
+ * cosmetics: highlighting over changed values will now disappear,
+ once they are written (using 'W' key)
+ * ERR_CREATING_SOCKET and ERR_BINDING_SOCKET replaced with one single,
+ more generic ERR_SOCKET
+ * new feature: it is now possible to change polling interval in
+ range from <0,1;86400> seconds (default is 1 second)
+
+2005-01-16 Jan Rafaj
+ * ap-gl/auth.c: small bugfix
+
+2005-01-15 Roman Festchook
+ * src/ap-rrd.c: added utility to store stats from AP into RRD database
+ * src/wlan.c: added 'ACK timeout' additional info into [T] SIFS time (msec)
+ option description
+ * configure.in, NEWS: version 1.5pre2
+
+2005-01-11 Jan Rafaj
+ Note to SmartBridges PTE: you could have nice support in ap-utils
+ at cost of sending me one APPO sample. Since I actually have
+ no sample to test & verify on, all my support for airPoints is on
+ blind or 'someones trial and error report' basis. You should really
+ support OSS developers better way. Info about how to reliably load
+ airPoint PRO firmware to non-SB brand devices, based on the same HW
+ ref. design, would of course help too.
+
+ NOTE TO ALL USERS: IF YOU HAVE SMARTBRIDGES airPoint PRO (indoor or
+ outdoor) AND WANT BETTER AP-UTILS SUPPORT, YOU CAN SEND ME ONE SAMPLE
+ OF THIS DEVICE. OTHERWISE THERE WILL APPARENTLY BE _INCOMPLETE_ SUPPORT
+ EVEN IN FUTURE! THE LAST APPO I I'VE SEEN IN BAZAAR THAT I WAS PLANNING
+ TO GET IN ORDER TO IMPROVE SUPPORT IN AP-UTILS, HAS BEEN JUST SOLD
+ OUT, SO MY PLANS ARE GONE. I'M NOT WILLING TO PAY LIKE $350
+ FOR ONE SAMPLE JUST TO SUPPORT THE WORLD. SO UNTIL SOMEONE SUPPORTS
+ ME WITH SAMPLE DEVICE TO TEST ON, MY SUPPORT FOR SmartBridges
+ APPO in AP-UTILS IS _OVER_ (and this round of patches is apparently
+ the last effort to improve support in this area).
+ I'LL ALSO ACCEPT ANY DEVICE THAT USES THE SAME FIRMWARE / MIB
+ AS SMARTBRIDGES airPoint PRO.
+
+ You can contact me about the subjects above via e-mail at
+ <jr-aputils at cedric dot unob dot cz>.
+
+ Dedicated to memory of cat Micka, my pet.
+ * EZYNET-enhanced AP firmware is now freely available! Read more about
+ its availability, upgrade possibilities and caveats in README,
+ section 'Firmware available free of charge for ATMEL12350 MIB
+ devices' !!!
+ * renamed all references of 'VERNET' to 'EZYNET' (true vendor name)
+ * renamed all references of 'TELLUS' to 'GEMTEK' (Tellus, SparkLan,
+ etc. appear to be GemTek subsidiaries or at least they seem to use
+ firmware from GemTek. If someone knows I'm wrong with this
+ conclusion, please let me know).
+ * note: my primary focus is on support for devices running firmware
+ 0.2.x.x, equipped with flash memory AT29LV040A (TSOP1), and
+ second SRAM, such as Tellus A14, SparkLan WX-1590L, etc.
+ Easy way of how to tell that the device has second SRAM, is
+ presence of (poor, locky) web management interface. Older devices
+ with single SRAM may be supported too, but my older test equipment
+ is restricted to W-Link WEN2021 and I-TEC AP GOLD / blue, which means
+ that support for other old ATMEL flavours may or may not work,
+ despite all effort towards supporting them.
+ * README:
+ - added entries for supported APs: i-Tec AP GOLD (black front),
+ InterEpoch IWE1000A, OSBRiDGE m2410/p2410, SparkLAN WX-1590,
+ SparkLAN WX-1590L, D-com WX-1590 web, BOSSWAP
+ - the supported AP table is now sorted according to manufacturer name
+ - added section 'Firmware available free of charge for ATMEL12350 MIB
+ devices'
+ - made WARNING notices more accurate
+ * THANKS:
+ - added entry with thanks to EZYNET
+ * Makefile.am:
+ - reordered directory components so that 'intl' and 'po' will be
+ built as last ones. This helps on systems with old/broken auto*
+ tools, where building 'po' may fail (it still will do, but its
+ failure now wont prevent building other components).
+ * Documentation/mibs-atmel:
+ - created & populated with all AT76C510 MIB prototypes that should
+ be supported by ap-utils
+ * ap-gl/ap-gl.c, ap-gl/stations.c:
+ - backport of few changes from respective counterparts in src/,
+ to stay compatible with changed color scheme definitions
+ and format of 'Stations' output (btw, there is now no difference!)
+ * ap-gl/auth.c:
+ - backported few non-invasive changes from auth.c
+ * lib/ap-utils.h:
+ - added DONE_WRITING_APCONF & ERR_WRITING_APCONF, since they are
+ now referred from connect_options() as well as get_opts()
+ - added new structs AssociatedSTAsInfo_ATMEL410,
+ AssociatedSTAsInfo_ATMEL12350, NetworkSettings_ATMEL410_SBRIDGES
+ and NetworkSettings_ATMEL12350_EZYNET in favour of unified support
+ across most available vendor-enhanced MIBs
+ * lib/common.c:
+ - connect_options() is now verbose about status of writing
+ ~/.ap-config file, through DONE_WRITING_APCONF & ERR_WRITING_APCONF
+ - bugfix: fixed ap_vendorexts[ap_type][] boundary check error;
+ no more segfaults when manually specifying MIB type as "ATMEL12350"
+ - bugfix: get_mib_details() no longer relies on OUI part of device's
+ eth. MAC address as authoritative info for MIB vendor extension
+ determination. This was 1. giving totally fake results
+ if someone changed device's MAC, and 2. giving false results
+ for people with devices whose firmware has had certain MIB vendor
+ extensions available (for example SparkLan users with GEMTEK
+ firmware). Autodetection should now work for much broader range
+ of devices with AP firmware.
+ * lib/file.c:
+ - added functionality for HOME, END, PGUP and PGDN keys
+ * lib/input.c:
+ - bugfix: in get_value(), use wmove()/wrefresh() instead of wechochar
+ with 0x08 char. (backspace) as parameter - this fixes visual effect
+ of disrespecting leftmost bound on platforms with older ncurses
+ - bugfix: get_mac() now forces user to specify all 12 numbers of MAC,
+ avoiding ambiguous results
+ * lib/menu.c:
+ - squeezed the number of wrefresh(menu) calls to a minimum
+ - mark and highlighting of current menu item are now
+ cleared/restored upon entering/leaving atmel_set_oeminfo()
+ * lib/oui.c: added OUIs:
+ - 000F3D (D-Link Corporation)
+ - 00112F (ASUSTek Computer Inc.)
+ * lib/scr.c:
+ - simplified & unified 'Stations' menu output section in
+ scroll_rows() - it is now used for all ATMEL AP types.
+ Part separately dealing with APs using SmartBridges firmware
+ has been eliminated.
+ - shorten screen output of print_top_rssi()
+ - bugfix: in scroll_rows(), clear_main(3) changed to
+ clear_main(row), to make the first-row offset of scroll list
+ really configurable (required by auth.c)
+ * lib/set_community.c:
+ - left boundaries of community fields now start at offset 37
+ * lib/set_oeminfo.c:
+ - now also shows board VID & PID
+ - added possibility to configure # of calibrated channels
+ Reached 100% compatibility with original utility.
+ * lib/snmp.c:
+ - removed RETRIES constant. Instead, snmp_retries now keeps
+ the default amount of retries. This was somewhat necessary,
+ as we may eventually influence amount of retries one snmp() call
+ will attempt, in src/aplink.c
+ * lib/test.c:
+ - since test() is not yet ATMEL12350-ready, temporary kludge
+ has been added to disable this menu for devices with
+ such a MIB
+ * lib/wlan.c:
+ - bugfix: fix utility crash, that could previously happen if
+ someone changed value of Fragm. threshold from default to
+ value < length of typical expected SNMP response packet,
+ on device managed with ap-config via wireless port.
+ The return value of snmp() is now checked against the number
+ of varbinds members entering snmp() (it covers return value
+ <= 0 as well).
+ NOTE: IT IS _VERY_ UNWISE AND RISKY TO CHANGE 'RTS threshold'
+ AND 'Fragmentation threshold' VALUES ON DEVICE MANAGED VIA
+ WIRELESS PORT, SINCE THEY HAVE DIRECT IMPACT ON PACKETS TRANSMITTED
+ VIA WIRELESS PORT, AND IF THE VALUE IS BEHIND CERTAIN THRESHOLD,
+ THE DEVICE MAY BECOME COMPLETELY _UNMANAGEABLE_ VIA WIRELESS PORT.
+ If this happens and you have management access to the device
+ via wireless port only, you may try your favourite *-snmp tools to
+ restore RTS threshold and Frag. threshold settings to their
+ default value (2346), but if this fails, the only real way left
+ to fix these values would be through ethernet or USB port. Beware!
+ * lib/set_oeminfo.c, lib/sysinfo.c, lib/wlan.c:
+ - bugfix: changed assumption about selection of proper length
+ sysDeviceInfo OID - this cant be distinguished based on ATMEL MIB
+ type, since, for example, NETGEAR ME102 MIB has ATMEL12350 MIB, but
+ has length of this structure 128 bytes (which most ATMEL410 MIB
+ equipped devices have). Now the proper structure is selected
+ based purely on length of response returned on SysDeviceInfo
+ SNMP query - should 'fix' all places that deal with values
+ generated by query to SysDeviceInfo OID
+ * src/aplink.c:
+ - newly introduced. Embeds atmel_aplink(), which is bound
+ to 'AP link' entry in the 'Info' menu. This entry allows to
+ monitor link state of the device in APclient or WRepeater mode.
+ It will inform user whether the APclient device is actually
+ associated to the AP or not, and if yes, what is the RSSI level of
+ the link (as well as Link Quality in case of device with
+ SmartBridges firmware, or actual connection speed in case of device
+ with EZYNET firmware), MAC of joined BSSID, ESSID, and used
+ RF channel.
+ RSSI top value per entire measurement session is also available.
+ Since the RSSI indication may be somewhat unstable (at least
+ with EZYNET firmware), showing of RSSI average from up to
+ 99999 samples has also been implemented.
+ Note that the code will currently only work for ATMEL410 / SBRIDGES
+ or ATMEL12350 / EZYNET MIB devices, as MIBs of firmware from
+ other vendors does not seem to support NetworkSettings OID.
+ Exception is ATMEL12350 / NONE (NetGear ME102), whose APCLientInfo
+ OID is capable to give connection status too, but is not currently
+ implemented, since it uses different OID & structure and I do not
+ possess ME102 board to test with (TODO).
+ * src/ap-auth.c:
+ - hardened input validation for the '-i <ip>' parameter (according to
+ get_ip() in lib/input.c)
+ - added AP MIB type autodetection => utility will now also work
+ for devices with ATMEL12350 MIB. Devices with NWN MIB are yet
+ to be supported (TODO).
+ - assigned credits to Teemu
+ * src/ap-config.c:
+ - added definitions for several 'should be defined by default' color
+ pairs, that are actually used in bargraph code of aplink.c .
+ Previous pairs 1,2,3,4 were redefined to 11,12,13,14 to avoid
+ clash with 'standard' color pairs above. This change has been
+ propagated to all files dealing with color pairs.
+ * src/ap-mrtg.c:
+ - the same level of changes as in src/ap-auth.c. As side result,
+ it is no longer needed to specify AP MIB type (it will be
+ autodetected).
+ - bugfix: take into account different length of wirelessStatistics
+ structure in ATMEL12350 MIB & EZYNET extensions => '-t w'
+ will now also work for devices with this MIB & extensions.
+ - bugfix: restrict the '-t l' to ATMEL410 MIB devices in APClient
+ mode (ATMEL12350 MIB devices usually do not return any LinkQuality
+ indicators in wirelessKnownAPs structure).
+ * src/ap-tftp.c:
+ - introduced tftp client for upgrading ATMEL-based AP firmware.
+ Should work with boards utilising either 1.4x.y firmware (generally
+ AT76C510+INTERSIL boards, such as D-Link 1150, W-Link WEN-2021,
+ SmartBridges APPO, etc.), and boards utilising 0.x.y.z firmware
+ (generally AT76C510+RFMD boards, such as Tellus A14, Sparklan
+ WX-1590L, NetGear ME-102, OSBRiDGE p2410/m2410, etc.).
+ Use with care and NEVER EVER try to use this utility to upload
+ firmware that is from different vendor than your AP, unless you
+ perfectly know what you are doing, of course - otherwise,
+ you may irreversibly turn your AP into paperweight quite easily.
+ ATMEL APs are well known for their general firmware upload
+ design flaw (no authorization necessary for firmware upgrade),
+ that has caused many destroyed APs by joe-blow users uploading
+ incorrect firmware, and even APs destroyed by malicious users
+ that have intentionally uploaded incorrect firmware. See manpage
+ for details.
+ You have been warned.
+ * src/ap-trapd.c:
+ - recognise ATMEL12350 enterprise ID => will now react to traps
+ sent by devices with ATMEL 12350 enterprise MIB
+ - will now also print Trap number along with its string
+ representation
+ - bugfix: fixed problem with printing trap strings from
+ non-SmartBridges traplist when '-s' given, and vice versa
+ * src/auth.c:
+ - introduced as replacement for old 'auth_mac.c'. Simple 'auth'
+ name reflects its purpose better - it now contains not just
+ MAC-based "auth.", but also other auth. types (Radius, 802.1x)
+ based on the available MIB vendor "extensions".
+ - now properly distinguishes between authorization error and
+ invalid data error for SET snmp() operation. Particularly imporant
+ when user tries to enter Config/MAC Auth menu with user community
+ (which only permits reading, but not writing, and since writing
+ is basically required even for pure showing of authorized MAC
+ addresses, we need to distinguish these errors).
+ If the AP is accessed with 'user' community and it has record(s)
+ in MAC auth. list, it will print '(insufficient community used)'
+ in the first row of the MAC auth. list field.
+ public
+ - bugfix: it is now possible to delete last MAC entry too
+ - bugfix: when no MAC address left on the list, disallow 'Delete'
+ function
+ - should now be ready for move to lib/. (and purging in src/)
+ - it is now possible to 'escape' from prompt that appears after
+ pressing 'd' (delete MAC), upon entering '0'
+ - by default, if number of defined MACs is greater than the
+ visible scrolling area, the list tail will be shown
+ - if adding new MAC addresses, the list will advance to the last
+ (currently added) MAC entry to show its position in the MAC table
+ - added functionality for HOME, END, PGUP and PGDN keys
+ - added functionality for extra Auth. enhancements present in
+ ATMEL410 MIB with SBRIDGES extensions (Radius auth.), and
+ in ATMEL12350 MIBs with EZYNET extensions (802.1X auth.)
+ - now properly distinguishes MIBs with 2-mode AuthorizationMacEnable
+ OID, and those with 3-mode AuthorizationMacEnable OID
+ - added check against entering duplicated MAC to the MAC table
+ * src/bridge.c:
+ - bugfixes: since SBRIDGES and GEMTEK represent same lvalue, each
+ occurence of ap_vendorext comparison with value SBRIDGES or GEMTEK
+ must be and-ed with result of comparison against ap_type value
+ or all sorts of weirdness may occur (such as non-working options
+ for specific vendor extensions, although they normally should)
+ - bugfixes: revised presence of all OIDs in all actually supported
+ vendor-extended MIBs. Result: all available OIDs relevant to
+ this menu should now also be correctly supported on devices
+ with SmartBridges APPO firmware and NetGear ME102 device firmware.
+ - Label 'Wireless' for config-enabled port mode changed to
+ 'Wireless (can be risky)'. I've finally made a resolution
+ to step forward in this - setting config-enabled port to
+ wireless-only can even be deadly for non-USB equipped devices,
+ if configured improperly, if no second ATMEL-based device
+ is handy for fixing conf. on the peer via its wireless port,
+ for outdoor installations, and in couple of other scenarios.
+ REALLY THINK MANY TIMES PRIOR SETTING THIS TO wireless-only !!!
+ * configure.in, src/Makefile.am:
+ - avoid needless linking with curses library for several utilities
+ (ap-auth, ap-mrtg, ap-tftp, ap-trapd).
+ * Sysinfo menu will now also show current 'Operational mode'
+ * bugfix: all conditions that check return value of to snmp(,i,GET)
+ with i > 1, changed from '<= 0' condition to '< i' condition.
+ This is very important in cases when the device does not return _all_
+ the requested varbinds members filled up, which would usually lead
+ either to memory corruption often followed by ap-config crash
+ with 'segmentation fault' reason. If there's unreliable media
+ between the managed device and ap-config, this could previously
+ happen - typically, devices managed via their wireless port
+ or incorrectly configured devices (bad Frag. threshold and/or
+ RTS threshold) may respond with incomplete replies.
+ * naming convention of many variables, structures and OID names changed
+ to respect this scheme (cosmetics, intended coding standard):
+ - names of several #defines changed to be descriptive as
+ 'STATUS_DESCRIPTION'
+ - OID names, unless absolutely necessary, should be always named
+ EXACTLY after the corresponding OID name in MIBs for easier
+ referencing
+ - names of structures named after OID, should end with '_s' or
+ '_' followed by something reasonable
+ - variable names should reflect their whole purpose
+
+2004-12-09 Roman Festchook
+ * lib/common.c: fixed getting additional character into AP label during autodetection
+
+2004-12-09 Michel Robitaille
+ * po/fr.po: updated translation
+
+2004-11-28 Roman Festchook
+ * Documentation/ap-gl.8, Documentation/README.ap-gl: info from
+ Documentation/README.ap-gl moved to ap-gl man page, removed
+ Documentation/README.ap-gl
+ * Documentation/README.ap-auth:
+ removed because all info now in ap-auth man page
+
2004-11-28 Roman Festchook
* lib/common.c: added checking then function called from ap-gl utility
in connect_options() automatic detecting MIB, extention. Now community
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=259645)
* po/uk.po: updated translation
* ap-gl/stations.c: fixed RSSI dBm representation
+ * configure.in: version 1.5pre1_FreedomOfUkraine
2004-11-24 Jan Rafaj
* README:
-Q.
-> I try to install Access Point SNMP Config utility, but i can't find
-> menu.h file.
-> [root@server src]# make
-> gcc -O2 -Wall -c -o ap-cnf.o ap-cnf.c
-> ap-cnf.c:24:18: menu.h: No such file or directory
-> make: *** [ap-cnf.o] Error 1
-A.
+Q:
+I try to compile ap-utils, but it complains that it can't find the menu.h
+file:
+[root@server src]# make
+gcc -O2 -Wall -c -o ap-cnf.o ap-cnf.c
+ap-cnf.c:24:18: menu.h: No such file or directory
+make: *** [ap-cnf.o] Error 1
+
+A:
You need to install ncurses and ncurses-devel packages from your distro.
Or just build and install ncurses libs from sources.
-Q.
-> I bought a access point. Unfortunately, the
-> documentation does not have the default community string used by the
-> product. Do you know what it is, or where I could find it out?
-A.
-I'm give you default communities from my equipment, may be you may use
-it with your AP: "public", "private", "linksys".
-Also consult documentation to your AP.
-
-Q.
-> The wireless & ethernet stats are reset to zero each time I grab
-> the KnownAP signal and quality stats. The same issue happens when
-> performing KnownAP's running your AP-CNF program without modification.
-A.
-Because only way to see KnownAPs info its to put AP to client mode with master
-AP mac set to 0000000000. When setting this AP resets. Only one way to get
-signal and quality stats not resetting AP - its to get this stat from AP
-setted in client mode all time.
+Q:
+I try to compile ap-utils, but the compilation suddenly breaks with the
+following errors:
+gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I../lib -I../intl -I.. -g -O2 -Wall -W -c bridge.c
+bridge.c:46: initializer element is not constant
+bridge.c:46: (near initialization for `bridge_modes[0]')
+bridge.c:47: initializer element is not constant
+bridge.c:47: (near initialization for `bridge_modes[1]')
+bridge.c:48: initializer element is not constant
+bridge.c:48: (near initialization for `bridge_modes[2]')
+bridge.c:49: initializer element is not constant
+bridge.c:49: (near initialization for `bridge_modes[3]')
+bridge.c:50: initializer element is not constant
+bridge.c:50: (near initialization for `bridge_modes[4]')
+bridge.c:52: initializer element is not constant
+bridge.c:52: (near initialization for `bridge_modes[5]')
+
+A:
+Your gettext is not up-to-date. You need to either update gettext package
+for your distro, or you'll need to completely disable NLS support for
+ap-utils by appending '--disable-nls' to configure. If you do so,
+the compilation may still end with an error like this:
+
+make[2]: Entering directory `/root/work/ap-utils-1.5/po'
+make[2]: *** No rule to make target `all'. Stop.
+make[2]: Leaving directory `/root/work/ap-utils-1.5/po'
+make[1]: *** [all-recursive] Error 1
+make[1]: Leaving directory `/root/work/ap-utils-1.5'
+make: *** [all-recursive-am] Error 2
+
+You may safely ignore this one.
-Q.
->Can someone give me the "newbe" answer to what's the
->relationship/difference between RSSI and Link Quality?
+Q:
+I bought an access point. Unfortunately, the documentation does not state
+what are the default community strings defined within the device.
+Do you know what it is, or where I could find it out?
+
+A:
+It should be in your AP's documentation, really.
+For example, the default communities for Linksys WAP11 are:
+"public", "private", "linksys".
+Most other devices have all three communities predefined to the same
+value, such as "public", "public", "public".
+If you just got an AP from someone who didnt provide you with the currently
+configured community strings, and your AP has no reset button,
+but has an USB port, you may try to reset AP to its default (manufacturer)
+configuration using "DFU" utility (in Windows), provided by the manufacturer
+of your device. *NIX variant of DFU utility is currently in progress
+and should be available in one of upcomming releases.
+
+Q:
+The wireless & ethernet stats counters are reset to zero each time I grab
+the KnownAP signal and quality stats. The same issue happens when
+performing KnownAP scan using the ap-config program without modification.
A.
+This happens because the only way to see updated KnownAPs info is to put
+your device to the AP-client mode with preferred BSSID 000000000000. Device
+needs to be rebooted so that this change goes into effect. As side effect
+of this reboot, all counters in the device are, of course, zeroed.
+After this, the utility also takes care to reconfigure device back
+to its previous setting (second reset). Unability to perform KnownAP
+scan while in different than AP-client mode is generally a feature
+of all firmware versions for devices with INTERSIL radio.
+All in all, it is a firmware feature, not a bug.
+The RSSI and LQ stats may be retrieved without AP reboot (and thus
+without reset of wireless & ethernet statistics counters) only if the device
+is permanently set to the AP-client mode.
+
+Q:
+Can someone give me the "newbie" answer to what's the relationship/difference
+between RSSI and Link Quality?
+
+A:
RSSI = Received Signal Strength Indication. Measures only the signal
amplitude. This plays a major role in calculating the fade margin of the
link.
-The Signal Quality represents how clean the signal is. Interference,
-Multi path Reflections etc. This measure plays a major role in
+The Link Quality value represents how clean the signal is - it reflects
+eventual degradation of radio signal transmision conditions, such as
+interference, multipath reflections, etc. This measure plays a major role in
determining the data throughput. Low Signal Quality would normally mean
-retransmissions, dropped packets etc.
+frequent retransmissions, dropped packets etc.
+Note, that firmware for ATMEL-based devices with RFMD radio does not provide
+Link Quality value (and this is a firmware feature, not a bug).
+
+Q:
+I have an ATMEL-based device with RFMD radio, use the firmware from E-ZY.NET
+and the graph of RSSI value history looks very jumpy. Is this normal, or is
+my link really so bad?
+
+A:
+It is normal, you dont need to be afraid. Also this is why 'RSSI average'
+and 'RSSI rounding' graphs are provided for - they allow you to see
+the averaged value of the RSSI over certain period of samples. Apparently,
+the actual RSSI value shown reflects also the signal phase conditions
+(influenced by signal reflections, and interference). So you may eventually
+think of it as 'RSSI + LQ aggregated'.
## Process this file with automake to produce Makefile.in
-man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8 ap-gl.8 ap-auth.8
-EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.*
+man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8 ap-gl.8 ap-auth.8 ap-tftp.8
+EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.* mibs-atmel/*
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CURSESLIBS = @CURSESLIBS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8 ap-gl.8 ap-auth.8
-EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.*
+man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8 ap-gl.8 ap-auth.8 ap-tftp.8
+EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.* mibs-atmel/*
subdir = Documentation
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
- $(mkinstalldirs) $(distdir)/Ukrainian
+ $(mkinstalldirs) $(distdir)/Ukrainian $(distdir)/mibs-atmel
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
+++ /dev/null
-Subject: [ap-utils] mac auth updates from command line (patch)
-Date: Monday 19 July 2004 18:06
-From: Teemu Kiviniemi <teemuki AT fotokone DOT fi>
-To: ap-utils AT lists DOT polesye DOT net
-
-
-Hi,
-
-I couldn't find a command line utility to change the list of authorised MAC
-addresses, so I did one myself. I combined some of the existing code found in
-ap-mrtg.c and auth_mac.c to make ap-auth.c.
-
-Usage:
-ap-auth -i ip -c community -d filename
-or
-ap-auth -i ip -c community -u filename
-
-
--i ip - AP ip address
--c community - SNMP community string
--d filename - download list of authorised MAC addresses from AP to a file
--u filename - upload list of authorised MAC addresses from a file to AP
-
-
-Here is a patch against ap-utils 1.4.1:
-http://teemuki.fotokone.fi/ap-utils/ap-utils-1.4.1-ap-auth.patch
-
-
-It has only support for ATMEL410, because I can't test the code on other
-accesspoints. I've tested it and it works with smartBridges Airpoint Pro.
+++ /dev/null
-Client stations Status:
-status 3 - normal connected
-status 9 - awaiting authorization
.TP
.B Stations (atmel)
Under this menu the user will be able to see the Associated Stations that are currently associated with the Access Point. For each associated station the user will be able to see the MAC Address. From version 0.7.3-pre1 you may save mac addresses list to file ~/<util_name>.stations.
-Stations on NWN AP:
For each associated station the user will be able to see the MAC Address, Link Quality, RSSI and Idle time.
* Mac address: If the association is pending (that is, the Client is scanning, authenticating or associating), assocAddress contains the MAC address of that Client with the group bit set to indicate that the Access Point is aware of the presence of that Client. The other objects of the entry will be updated based on the information extracted from the received Probe Requests.
* Link Quality: An indicator for the quality of the Client. If the association is still pending, the quality is calculated over the received Probe Requests from the Client. If the Client is associated, the quality derived from any activity with the Client. The actual quality source depends on the selected quality indicator. The semantics of the indicator is 'low is good quality' and 'high is bad quality'.
* IdleTime: An indicator (in seconds) for the age of the information on the Client. The age is reset to 0 if any activity of this Client is detected.
* RSSI: An indicator for the RSSI of the Client. If the association is still pending, the RSSI is calculated over the received Probe Requests from the Client. If the Client is associated, the RSSI derived from any activity with the Client.
+ * Client stations Status: status 3 - normal connected, status 9 - awaiting authorization.
+
.TP
.B KnownAP
By using option APs from info menu you may see all Access Points thats visible by your AP.
--- /dev/null
+.\" Manpage for ap-tftp utility
+.\" from Wireless Access Point Utilitess for Unix
+.\"
+.\" Copyright (c) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License Version 2 from
+.\" June 1991 as published by the Free Software Foundation.
+.\"
+.\" This program is distributed in the hope that it will be useful, but
+.\" WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+.TH ap-tftp 8 "Wireless Access Point Utilites for Unix"
+.SH NAME
+ap-tftp \- TFTP client for upgrading ATMEL AT76C510 WiSOC-based APs
+.TP
+.B Please read the entire manpage prior using this utility. It may prevent you from problems arising later.
+.SH SYNOPSIS
+.B ap-tftp
+.B -i
+.IR IP
+.B -f
+.IR firmware.rom
+.B [-c
+.IR community
+.B ]
+.SH DESCRIPTION
+The
+.B ap-tftp
+utility is used to upgrade or downgrade firmware in Access Points based on ATMEL AT76C510 VNET-B WiSOC (Wireless System On Chip). It should work for most (if not all) models with INTERSIL radio chipset, as well as those based on RFMD radio. However, so far it has only been tested on the following hardware: WLink WEN-2021, i-Tec AP GOLD, smartBridges airPOINT PRO (all with INTERSIL radio), and Tellus A14 (RFMD radio). If you have an AP with ATMEL AT76C510 and either INTERSIL or RFMD radio chipset, there's near 100% chance it will work for you, too.
+.SH PREFACE: FIRMWARE TYPES
+Functionally, there basically exist 2 types of firmware for ATMEL-based APs: an "
+.B Access Point
+firmware (often referred to as
+.B AP firmware
+), and
+.B Wireless Adapter
+firmware (referred to as
+.B WA firmware
+). Many hardware vendors produce their own more or less modified firmware derivatives, but usually they keep up with the naming scheme introduced by ATMEL:
+.SS APs with INTERSIL radios
+For APs with INTERSIL radios, the AP firmware file typically uses naming scheme such as "1.4x.y.rom" (for example "1.4j.1.rom", "1.4k.2.rom", etc.), while the WA firmware files typically exist under names such as "0.01.ab.rom" (for example "0.01.09.rom", "0.01.11.rom", etc.). The values "x", "y", and "ab" indicate the firmware revision.
+.SS APs with RFMD radios
+For APs with RFMD radios, the AP firmware files are known under names like "0.2.x.yz.rom" (such as "0.2.2.11.rom", "0.2.2.18.rom", etc.), while the WA firmware uses names as "0.3.b.c.rom" (for example "0.3.2.5.rom", "0.3.2.6.rom"), or "0.4.b.c.rom" for WA+ firmware (which is a variant of WA firmware that offers limited multiple MACs transparency in client mode) - for example "0.4.2.7.rom". Again, the numbers change according to the firmware revision.
+
+To descend in even greater complexity, there usually exist 2 files for each firmware revision in the ATMEL+RFMD world: one so-called
+.B primary firmware
+(the bigger file of the two; it contains base firmware as well as the embedded webserver), and a second file with so-called
+.B backup firmware
+(the smaller file of the two, it contains just the base firmware).
+The name of secondary firmware always uses '0' in the third number field (such as "0.2.0.18.rom").
+.B You'll always need to upgrade with backup firmware FIRST, unless its manufacturer states otherwise.
+.TP
+.RE 4
+.B WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!
+.RS 4
+.IP o 3
+.B WA firmwares
+and their derivatives
+.B ARE _NOT_ SUPPORTED
+by ap-utils!!! They may appear to partially work with ap-utils, but you
+can cause harm to your AP if you use ap-config with such firmware. Do not
+complain if you use ap-config with such firmware and it damages your AP!
+.IP o
+Since some hardware vendors keep up the bad habit of producing their own firmwares using the original ATMEL firmware naming scheme, it is easy to find firmwares from different hardware vendors for ATMEL-based APs with
+.B exactly the same name and sometimes even the length
+(for example, firmware "1.4j.1.rom" exists in many incarnations, but their content differs). They may use different structures and offsets for reading configuration data in the flash memory without content validity checks, so
+.B NEVER EVER USE FIRMWARE FROM ANOTHER HARDWARE VENDOR THAN THE ONE THAT IS MANUFACTURING YOUR AP, UNLESS EXPLICITLY STATED OTHERWISE! IF YOU DO SO, YOU MAY IRREVERSIBLY DAMAGE YOUR AP!
+.IP o
+BEWARE! AP boards from several vendors may contain hardware design bugs, that will totally prevent it from successfull upgrade.
+.B Any attempt to upgrade such device, either via TFTP or DFU utility will fail and irreversibly damage content of its flash memory! If your vendor does NOT provide ANY firmware nor tools to perform upgrade for your device, it means (unless stated otherwise), that IT IS UNSAFE TO TRY UPGRADING and YOU SHOULD NOT ATTEMPT TO UPGRADE YOUR DEVICE AT ALL!
+Example of such board with bug in hardware design is Tellus A13 (also sold as i-Tec AP GOLD with blue front).
+.IP o
+ATMEL AT76C510-based APs are notoriously known for their firmware upgrade design flaw: firmware validation checks and subsequent permission for upgrade are not performed by the AP itself, but in the TFTP upgrade client. This means that anyone with proper TFTP client, having access to your AP via its ethernet port, may _try_ to upload incorrect firmware (or even no-firmware file!) to your AP, causing irreversible damage to your AP. Hence:
+.RS 3
+.IP \- 3
+.B SECURE YOUR AP ON IP (LAYER 3) BASIS! SET UP YOUR AP (AND ITS WIRELESS CLIENTS) WITH IP FROM A DIFFERENT IP SEGMENT THAN THE ONE IT IS PHYSICALLY ON. TO ACCESS AP ON SUCH DIFFERENT SEGMENT, YOU MAY USE IP-ALIAS INTERFACE (on Linux).
+.IP \-
+.B FOR APs IN "Access Point client" MODE, USE ap-config AND IN 'Config -> Bridge' MENU, CHANGE THE VALUE OF 'Configuration-enabled port(s):' TO 'Wireless'. THIS WAY, USER BEHIND Access Point client DEVICE WONT BE ABLE TO REACH ITS MANAGEMENT IP, AND SUBSEQUENTLY (S)HE WONT BE ABLE TO CAUSE ANY DAMAGE WITH TFTP.
+Note that setting Conf.-enabled port to 'Wireless' may be risky if you intend to reconfigure the device through Wireless media (bad values could be written to the AP due to wireless media unreliability). You should choose what is of greater risk for you.
+.RE 1
+.RS 4
+.IP o 3
+.B Users of ATMEL+INTERSIL devices:
+If your AP firmware vendor extensions are auto-detected as
+.B SBRIDGES
+by ap-config, it means that your AP uses firmware made by smartBridges PTE: you will need to pass extra '-c community' to ap-tftp in order to perform actual upgrade.
+.B BY ALL MEANS, AVOID UPGRADE OF DEVICE THAT CONTAINS smartBridges FIRMWARE, with non-smartBridges FIRMWARE, AND VICE VERSA, even if the firmware names may look similar (see the warning above).
+Although there are checks in ap-tftp, that should avoid something such, be careful, and DO NOT TRY, UNDER ANY CIRCUMSTANCES, to circumvent this protection - if you do, you'd most likely end up with damaged flash content in your device. You got the warning.
+.TP
+.BR
+Remember: All firmware files with revision "1.4j.4" onwards are from smartBridges: unless you possess a device that is autodetected with 'SBRIDGES' vendor extension, DO NOT TRY TO UPGRADE TO smartBridges FIRMWARE!
+.IP o 3
+.B Users of ATMEL+RFMD devices:
+If you are running
+.B primary
+firmware < 0.2.2.20, you
+.B should upgrade as soon as possible! AP
+firmware of version 0.2.2.19 and lower contains serious 'death by reconfiguration' bug, which, if triggered, may irreversibly damage content in flash memory of your AP. The event to trigger is usually changing & writing some settings in the 'Bridge' menu. So if you run such firmware, please upgrade. You may also look into README to see whether 'Firmware available free of charge for ATMEL12350 MIB devices' (section) applies to your AP.
+.TP
+.RE 1
+.B GENERAL HINTS AND RECOMMENDATIONS PRIOR UPGRADING
+.RS 4
+.IP \- 3
+IF POSSIBLE, PLACE YOUR AP BEHIND A FIREWALL SO THAT YOU PREVENT ACCESS TO ITS MANAGEMENT IP FOR UNWANTED THIRD PARTIES
+.IP \-
+Avoid upgrading your AP via its wireless port, if possible. Due to the unreliable nature of wireless media and UDP protocol used for upgrade, anything could happen - although there is CRC-like check in the firmware, that prevents flashing of (firmware) file that has possibly been altered during transmission, upgrade process interruption might cause damage (but even this is not very likely). You may upgrade AP via its wireless port only if you're 101% sure the wireless connection to the target device is reliable.
+.IP \-
+If you experience upgrade timeout in the 'middle' of the upgrade progress, it is usually ok to wait until the utility completely times out, and repeat the command afterwards. You may also experience 'catch up' (very short network break, so utility will resume uploading firmware to your AP).
+.IP \-
+In case when firmware upgrade fails,
+.B ap-tftp
+will show an error code returned by the TFTP server in AP. Note that although RFC 1350 defines 8 TFTP error messages, the TFTP server in the AP is not compliant to this RFC and the error codes returned may NOT correspond to those messages (but ap-tftp will always display corresponding RFC-defined error message, if possible, although it may really have nothing to do with the returned error code meaning). In the case the message for error code returned is not defined in RFC 1350, just the error code alone will be displayed.
+.IP \-
+If you want to upgrade firmware in an AP on a network where no DHCP server is available, it is advisable to assign static IP address and disable DHCP option on the device, so that you can verify, whether it is alive, using 'ping' command immediately after the upgrade succeeds (generally immediately after the device boots up), and you dont have to wait until AP's attempts to contact DHCP server time out. This is also especially useful if you need to do 2-step upgrade (using 'backup' and 'primary' firmware) - see above.
+.IP \-
+Firmware of APs based on ATMEL AT76C510 provides an interresting 'arp ping' feature. After AP boot-up, it is possible to remotely and TEMPORARILY (to next AP reboot) reconfigure its IP address, provided that within certain time period (several tens of seconds after boot-up), the AP receives ICMP ECHO request with target MAC address equal to its own. To set up IP in the AP using this method, do the following:
+.RS 3
+.IP 1\. 4
+From the IP range your AP is connected to, pick up an unused IP you want to set on the AP using 'arp ping'.
+.IP 2\.
+Set up static ARP entry associating the MAC address of your AP with the IP you selected in paragraph 1. Typically, you need to issue (as root) something like: 'arp -s required_AP_IP AP_MAC'. Consult manpage for 'arp' utility, if your 'arp' utility uses different syntax.
+.IP 3\.
+Right after the AP boots, run 'ping required_AP_IP'. You need to wait few seconds prior seeing first AP response.
+.RE 1
+.RS 4
+.IP \- 3
+.B Users of ATMEL+RFMD devices:
+To
+.B DOWNGRADE
+to
+.B AP
+firmware with lower revision number than the one thats currently in the device, you'll need to temporarily 'upgrade' to any
+.B WA
+firmware available for your device (as step-in-the-middle). This will 'unlock' your device for downgrading to previous
+.B AP
+firmware version.
+.SH OPTIONS
+.TP
+.B -i IP
+IP address of the AP you want upgrade firmware in.
+.TP
+.B -f firmware.rom
+Full path to and name of the firmware file for your AP.
+.TP
+.B -c community
+To be used ONLY with APs manufactured by smartBridges PTE. The given community
+must match with any of three three communities currently defined in the AP
+configuration - firmware upgrade will be allowed only upon the match.
+matches
+.RE
+.SH EXAMPLES OF USE
+.PD 0
+
+.SS Upgrading AP firmware in a device with INTERSIL radio and non-smartBridges firmware
+.BR
+.TP
+ap-tftp -i 192.168.0.1 -f 1.4j.3.rom
+
+.SS Upgrading AP firmware in a device with INTERSIL radio and smartBridges firmware
+.BR
+.TP
+ap-tftp -i 192.168.0.24 -f 1.4k.5.rom -c private
+
+.SS Upgrading AP firmware in a device with RFMD radio:
+.BR
+.TP
+ap-tftp -i 192.168.1.100 -f 0.2.0.20.rom
+.TP
+ap-tftp -i 192.168.1.100 -f 0.2.2.20.rom
+
+.SS Downgrading AP firmware in a device with RFMD radio:
+.BR
+.TP
+ap-tftp -i 192.168.1.100 -f 0.3.0.6.rom
+.TP
+ap-tftp -i 192.168.1.100 -f 0.3.2.6.rom
+.TP
+ap-tftp -i 192.168.1.100 -f 0.2.0.19.rom
+.TP
+ap-tftp -i 192.168.1.100 -f 0.2.2.19.rom
+
+.SH KNOWN BUGS
+This utility has not been verified on and will probably not work on big-endian architectures. Its use is discouraged in such environment.
+
+.SH AUTHOR
+Jan Rafaj <jr-aputils at cedric dot unob dot cz>
+.br
+http://ap-utils.polesye.net
+
+.SH SEE ALSO
+ap-config(8), ap-trapd(8), ap-auth(8), ap-mrtg(8)
+
--- /dev/null
+This is a collection of different AP firmware "reference prototype" MIBs,
+that are (or are planned to be) supported by ap-utils.
+
--- /dev/null
+-- Title: ATMEL Private MIB \r
+\r
+\r
+--Firmaware Version 1.4 14/5/2001\r
+\r
+\r
+ATMEL-MIB DEFINITIONS ::= BEGIN\r
+\r
+--IMPORTS\r
+-- enterprises,Counter\r
+--FROM RFC1155-SMI\r
+-- DisplayString\r
+--FROM RFC1213-MIB;\r
+-- TRAP-TYPE\r
+--FROM RFC-1215;\r
+\r
+\r
+--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))\r
+DisplayString ::= OCTET STRING\r
+\r
+internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }\r
+directory OBJECT IDENTIFIER ::= { internet 1 }\r
+mgmt OBJECT IDENTIFIER ::= { internet 2 }\r
+experimental OBJECT IDENTIFIER ::= { internet 3 }\r
+private OBJECT IDENTIFIER ::= { internet 4 }\r
+enterprises OBJECT IDENTIFIER ::= { private 1 }\r
+\r
+--atmel OBJECT IDENTIFIER ::= { enterprises 410 } \r
+atmel OBJECT IDENTIFIER ::= { enterprises 12350 }\r
+atmelmib OBJECT IDENTIFIER ::= { atmel 1}\r
+atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}\r
+wireless OBJECT IDENTIFIER ::= {atmelmib 2}\r
+traps OBJECT IDENTIFIER ::= {atmelmib 3 }\r
+\r
+\r
+\r
+--*************************** System***************************\r
+--****************************************************************\r
+\r
+\r
+\r
+sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}\r
+\r
+sysDescr OBJECT-TYPE\r
+ SYNTAX DisplayString (SIZE (0..255))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A textual description of the entity. This value\r
+ should include the full name and version\r
+ identification of the system's hardware type,\r
+ software operating-system, and networking\r
+ software. It is mandatory that this only contain\r
+ printable ASCII characters."\r
+ ::= { sysCtrlGRP 1 } \r
+\r
+\r
+sysReset OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "By setting this attribute enable(1), a reset command to \r
+ the system is issued." \r
+ ::= { sysCtrlGRP 2 } \r
+\r
+sysTrapSwitch OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This attribute enables the transmission of SNMP.V1 TRAPs."\r
+ ::= {sysCtrlGRP 3}\r
+\r
+sysLoadDefaults OBJECT-TYPE\r
+ SYNTAX INTEGER { enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Setting this attribute to enable(1), will cause the system to load\r
+ the factory default values of all the operational parameters." \r
+ ::= { sysCtrlGRP 4 }\r
+\r
+sysDeviceInfo OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (92))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "First 92 bytes of Hardware device configuration struct.\r
+ HARD_CONFIGURATION_STUCT{\r
+ unsigned long StructVersion;\r
+ \r
+ unsigned char MacAddress[6];\r
+ unsigned char Channel;\r
+ unsigned char RegulatoryDomain;\r
+ \r
+ unsigned long ProductType;\r
+ unsigned char OEMname[32];\r
+ unsigned long OEMID;\r
+ unsigned char ProductName[32];\r
+ unsigned long HardwareRevision;\r
+\r
+ unsigned char PID_VID[4]; //Product ID/ Vendor ID\r
+ \r
+ unsigned int sysOIDSize;\r
+ unsigned short sysOID[16];\r
+ \r
+ unsigned char CountryCode[3];\r
+ unsigned char Reserved1;\r
+ unsigned short ChannelInformation;\r
+ unsigned char Reserved2[2];\r
+ char TxPower[14]; \r
+\r
+ unsigned char Reserved3[10];\r
+ } "\r
+\r
+ ::= {sysCtrlGRP 5 }\r
+\r
+sysUpload OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "By setting this attribute enable(1), a Upload configuration command to \r
+ the system is issued." \r
+ ::= { sysCtrlGRP 6 } \r
+ \r
+SiteSurveyCommand OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "By setting this attribute enable(1), a Site Survey command to \r
+ the system is issued." \r
+ ::= { sysCtrlGRP 7 } \r
+\r
+sysDeviceMoreInfo OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Last 32 bytes of Hardware device configuration struct.\r
+ HARD_CONFIGURATION_STUCT{\r
+ unsigned long StructVersion;\r
+ \r
+ unsigned char MacAddress[6];\r
+ unsigned char Channel;\r
+ unsigned char RegulatoryDomain;\r
+ \r
+ unsigned long ProductType;\r
+ unsigned char OEMname[32];\r
+ unsigned long OEMID;\r
+ unsigned char ProductName[32];\r
+ unsigned long HardwareRevision;\r
+\r
+ unsigned char PID_VID[4]; //Product ID/ Vendor ID\r
+ \r
+ unsigned int sysOIDSize;\r
+ unsigned short sysOID[16];\r
+ \r
+ unsigned char CountryCode[3];\r
+ unsigned char Reserved1;\r
+ unsigned short ChannelInformation;\r
+ unsigned char Reserved2[2];\r
+ char TxPower[14]; \r
+\r
+ unsigned char Reserved3[10];\r
+ } "\r
+\r
+ ::= {sysCtrlGRP 8 }\r
+\r
+\r
+ \r
+\r
+-----------------------------BridgingLevel-----------------------------\r
+\r
+operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}\r
+\r
+operIPAddress OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The IP address of this device used over its Ethernet\r
+ or Wireless LAN port."\r
+ ::= { operBridgingLevel 1 }\r
+\r
+operIPMask OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The IP Network mask used by the IP entity when accessing\r
+ devices through any of its LAN Ports (Ethernet or WLAN)."\r
+ ::= { operBridgingLevel 2}\r
+\r
+operEthernetAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The MAC Address of the Ethernet interface."\r
+ ::= { operBridgingLevel 3}\r
+\r
+\r
+operGateway OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Gateway default IP address."\r
+ ::= { operBridgingLevel 4 }\r
+\r
+operDHCP OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the system will\r
+ enable DHCP protocol."\r
+ ::= { operBridgingLevel 5 }\r
+\r
+operPrimaryPort OBJECT-TYPE\r
+ SYNTAX INTEGER {Ethernet(1),Wireless(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the primaty port.Ethernet or Wireless."\r
+ ::= { operBridgingLevel 6 }\r
+\r
+operConfigurationPort OBJECT-TYPE\r
+ SYNTAX INTEGER {Ethernet(1),Wireless(2),Both(3)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the Configuration port.Ethernet or Wireless or Both of them."\r
+ ::= { operBridgingLevel 7 }\r
+\r
+operTrapPort OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the Trap port."\r
+ ::= { operBridgingLevel 8 }\r
+\r
+\r
+\r
+-----------------------------Filtering-----------------------------\r
+\r
+\r
+\r
+operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}\r
+\r
+operIPFilter OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the system will\r
+ filter out all non IP-traffic."\r
+ ::= { operFiltering 1 }\r
+ \r
+operForwarbBcast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ forward broadcast traffic to the Wireless Port."\r
+ ::= { operFiltering 2 }\r
+ \r
+operSendBackBcast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ send back broadcast traffic to the Wireless Port."\r
+ ::= { operFiltering 3 }\r
+ \r
+operSendBackUnicast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ send back unicast traffic to the Wireless Port."\r
+ ::= { operFiltering 4 }\r
+\r
+\r
+-----------------------------Bridge Operational Mode -----------------------------\r
+\r
+\r
+operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}\r
+\r
+\r
+bridgeOperationalMode OBJECT-TYPE\r
+ SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(4), WRepeater(5)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint."\r
+ ::= { operBridgeOperationalMode 1 }\r
+\r
+bridgeRemoteBridgeBSSID OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The Preferred BSSID if the device is at Access Point client mode\r
+ or the remote Mac if the device is at Wireless Bridge Point to Point mode."\r
+ ::= { operBridgeOperationalMode 2 }\r
+\r
+\r
+\r
+-----------------------------Static-----------------------------\r
+\r
+\r
+dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}\r
+\r
+\r
+StaticMacFilterNum OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ static MAC filters."\r
+ ::= { dot1dStatic 1 }\r
+\r
+\r
+ dot1dStaticTable OBJECT-TYPE\r
+ SYNTAX SEQUENCE OF Dot1dStaticEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A table containing filtering information\r
+ configured into the bridge by (local or network)\r
+ management specifying the set of ports to which\r
+ frames received from specific ports and containing\r
+ specific destination addresses are allowed to be\r
+ forwarded. The value of zero in this table as the\r
+ port number from which frames with a specific\r
+ destination address are received, is used to\r
+ specify all ports for which there is no specific\r
+ entry in this table for that particular\r
+ destination address. Entries are valid for\r
+ unicast and for group/broadcast addresses."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 6.7.2"\r
+ ::= { dot1dStatic 2 }\r
+\r
+ dot1dStaticEntry OBJECT-TYPE\r
+ SYNTAX Dot1dStaticEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "Filtering information configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of ports to which frames received from a\r
+ specific port and containing a specific\r
+ destination address are allowed to be forwarded."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 6.7.2"\r
+ INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }\r
+ ::= { dot1dStaticTable 1 }\r
+\r
+ Dot1dStaticEntry ::=\r
+ SEQUENCE {\r
+ dot1dStaticAddress\r
+ OCTET STRING (SIZE (6))\r
+-- dot1dStaticReceivePort\r
+-- INTEGER,\r
+-- dot1dStaticAllowedToGoTo\r
+-- INTEGER,\r
+-- dot1dStaticStatus\r
+-- INTEGER\r
+ }\r
+\r
+ dot1dStaticAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The destination MAC address in a frame to which\r
+ this entry's filtering information applies. This\r
+ object can take the value of a unicast address, a\r
+ group address or the broadcast address."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"\r
+ ::= { dot1dStaticEntry 1 }\r
+\r
+-- dot1dStaticReceivePort OBJECT-TYPE\r
+-- SYNTAX INTEGER\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "Either the value '0', or the port number of the\r
+-- port from which a frame must be received in order\r
+-- for this entry's filtering information to apply.\r
+-- A value of zero indicates that this entry applies\r
+-- on all ports of the bridge for which there is no\r
+-- other applicable entry."\r
+-- ::= { dot1dStaticEntry 2 }\r
+\r
+-- dot1dStaticAllowedToGoTo OBJECT-TYPE\r
+-- SYNTAX INTEGER\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "The set of ports to which frames received from a\r
+-- specific port and destined for a specific MAC\r
+-- address, are allowed to be forwarded. Each octet\r
+-- within the value of this object specifies a set of\r
+-- eight ports, with the first octet specifying ports\r
+-- 1 through 8, the second octet specifying ports 9\r
+-- through 16, etc. Within each octet, the most\r
+-- significant bit represents the lowest numbered\r
+-- port, and the least significant bit represents the\r
+-- highest numbered port. Thus, each port of the\r
+-- bridge is represented by a single bit within the\r
+-- value of this object. If that bit has a value of\r
+-- '1' then that port is included in the set of\r
+-- ports; the port is not included if its bit has a\r
+-- value of '0'. (Note that the setting of the bit\r
+-- corresponding to the port from which a frame is\r
+-- received is irrelevant.) The default value of\r
+-- this object is a string of ones of appropriate\r
+-- length."\r
+-- ::= { dot1dStaticEntry 3 }\r
+--\r
+-- dot1dStaticStatus OBJECT-TYPE\r
+-- SYNTAX INTEGER {\r
+-- other(1),\r
+-- invalid(2),\r
+-- permanent(3),\r
+-- deleteOnReset(4),\r
+-- deleteOnTimeout(5)\r
+-- }\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "This object indicates the status of this entry.\r
+-- The default value is permanent(3).\r
+-- other(1) - this entry is currently in use but\r
+-- the conditions under which it will\r
+-- remain so are different from each of the\r
+-- following values.\r
+-- invalid(2) - writing this value to the object\r
+-- removes the corresponding entry.\r
+-- permanent(3) - this entry is currently in use\r
+-- and will remain so after the next reset\r
+-- of the bridge.\r
+-- deleteOnReset(4) - this entry is currently in\r
+-- use and will remain so until the next\r
+-- reset of the bridge.\r
+-- deleteOnTimeout(5) - this entry is currently\r
+-- in use and will remain so until it is\r
+-- aged out."\r
+-- ::= { dot1dStaticEntry 4 }\r
+\r
+\r
+\r
+----------------------------------Protocol Filtering-------------------\r
+\r
+\r
+ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}\r
+\r
+ProtocolFilterNum OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ protocol filters."\r
+ ::= { ProtocolFilterGRP 1 }\r
+\r
+\r
+\r
+\r
+ ProtocolFilterTable OBJECT-TYPE\r
+ SYNTAX SEQUENCE OF ProtocolFilterEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A table containing filtering information\r
+ configured into the bridge by (local or network)\r
+ management specifying the set of protocol filter."\r
+ ::= { ProtocolFilterGRP 2 }\r
+\r
+ protocolFilterEntry OBJECT-TYPE\r
+ SYNTAX ProtocolFilterEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "Filtering information configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of protocol filter."\r
+ INDEX { ProtocolFilterCode }\r
+ ::= { ProtocolFilterTable 1 }\r
+\r
+ ProtocolFilterEntry ::=\r
+ SEQUENCE {\r
+ ProtocolFilterCode\r
+ OCTET STRING (SIZE (2)),\r
+ ProtocolFilterDescription\r
+ DisplayString (SIZE (0..255)),\r
+ ProtocolFilterActivity\r
+ INTEGER\r
+ }\r
+\r
+ ProtocolFilterCode OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (2))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The protocol code configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of protocol filter."\r
+ ::= { protocolFilterEntry 1 }\r
+\r
+ ProtocolFilterDescription OBJECT-TYPE\r
+ SYNTAX DisplayString (SIZE (0..255))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A textual description of the protocol."\r
+ ::= { protocolFilterEntry 2 }\r
+\r
+ ProtocolFilterActivity OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This object indicates the status of this filter."\r
+ ::= { protocolFilterEntry 3 }\r
+\r
+\r
+\r
+-----------------------------Ethernet STATISTICS-----------------------------\r
+\r
+\r
+EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}\r
+\r
+EthRxStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (64))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Ethernet Rx Statistics\r
+ EthernetRxStatistics{\r
+ unsigned long TotalBytesRx;\r
+ unsigned long TotalPacketsRx;\r
+ unsigned long PacketCRCErrorRx;\r
+ unsigned long MulticastPacketRx;\r
+ unsigned long BroadcastPacketRx;\r
+ unsigned long ControlFramesRx;\r
+ unsigned long PauseFramesRx;\r
+ unsigned long UnknownOPCodeRx;\r
+ unsigned long AlignmentRxError;\r
+ unsigned long LengthOutOfRangeRx;\r
+ unsigned long CodeErrorRx;\r
+ unsigned long FalseCarrierRx;\r
+ unsigned long UndersizePacketsRx;\r
+ unsigned long OversizePacketsRx;\r
+ unsigned long TotalFragmentsRx;\r
+ unsigned long TotalJabberRx;\r
+ }"\r
+ ::= {EthStatisticsGRP 1 }\r
+\r
+EthTxStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (56))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Ethernet Tx Statistics\r
+ EthernetTxStatistics{\r
+ unsigned long TotalBytesTx;\r
+ unsigned long TotalPacketsTx;\r
+ unsigned long PacketCRCErrorTx;\r
+ unsigned long MulticastPacketTx;\r
+ unsigned long BroadcastPacketTx;\r
+ unsigned long UnicastPacketTx;\r
+ unsigned long PauseFramesTx;\r
+ unsigned long SingleDeferPacketTx;\r
+ unsigned long MultiDeferPacketsTx;\r
+ unsigned long SingleCollisionsTx;\r
+ unsigned long MultiCollisionsTx;\r
+ unsigned long LateCollisionsTx;\r
+ unsigned long ExcessiveCollisionTx;\r
+ unsigned long TotalCollisionsTx;\r
+ }"\r
+\r
+ ::= {EthStatisticsGRP 2 }\r
+\r
+\r
+\r
+\r
+\r
+-----------------------------Test Mode Settings-----------------------------\r
+\r
+\r
+TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}\r
+\r
+TestModeOnOff OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the device be\r
+ at test mode."\r
+ ::= { TestModeSettingsGRP 1 }\r
+\r
+\r
+TestModeCommandStruct OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (20))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "\r
+ typedef struct __CONT_PKT_TX\r
+ {\r
+ UINT8 Channel;\r
+ UINT8 Antenna;\r
+ UINT8 TxPower;\r
+ UINT8 TxRate;\r
+ \r
+ UINT8 TxFilter;\r
+ UINT8 Reserved;\r
+ UINT16 IFrameTime;\r
+ \r
+ UINT32 FrameLength;\r
+ UINT32 FramesToTransmit;\r
+ \r
+ UINT8 Pattern;\r
+ UINT8 Reserved1[3];\r
+ }CONT_PKT_TX;\r
+ "\r
+ ::= {TestModeSettingsGRP 2 }\r
+\r
+TestModeRadioConfiguration OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (47))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Configuration of radio derived from tests. CR17 Reg 1-14, CR20 Reg 1-14, CR21 Reg 1-14, CR1, CR2, CR3, CR28, CR29"\r
+ ::= {TestModeSettingsGRP 8 }\r
+\r
+TestModeStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (12))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Statistics derive from tests\r
+ TestModeStatistics{\r
+ unsigned long SuccessFrames;\r
+ unsigned long FailedFrames;\r
+ unsigned long PacketsTx;\r
+ } "\r
+\r
+ ::= {TestModeSettingsGRP 9 }\r
+\r
+\r
+\r
+\r
+-----------------------------Authorized Settings-----------------------------\r
+\r
+\r
+AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}\r
+\r
+AuthorizedUserPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of User."\r
+ ::= {AuthorizedSettingsGRP 1 }\r
+\r
+\r
+AuthorizedAdminPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of Administrator."\r
+ ::= {AuthorizedSettingsGRP 2 }\r
+\r
+\r
+AuthorizedManufactPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of Manufacturer."\r
+ ::= {AuthorizedSettingsGRP 3 }\r
+\r
+\r
+--*************************** wireless ***************************\r
+--****************************************************************\r
+\r
+-----------------------------Operational Settings-----------------------------\r
+\r
+\r
+OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}\r
+\r
+\r
+operChannelID OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ channel1(1),\r
+ channel2(2),\r
+ channel3(3),\r
+ channel4(4),\r
+ channel5(5),\r
+ channel6(6),\r
+ channel7(7),\r
+ channel8(8),\r
+ channel9(9),\r
+ channel10(10),\r
+ channel11(11),\r
+ channel12(12),\r
+ channel13(13),\r
+ channel14(14)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The operating frequency channel. Valid numbers\r
+ are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."\r
+ ::= { OperationalSettingsGRP 1 }\r
+\r
+\r
+operESSIDLength OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The ESSID Length"\r
+ ::= {OperationalSettingsGRP 2 } \r
+\r
+operESSID OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The network name. The size of the network name\r
+ should not be more than 32 characters long."\r
+ ::= {OperationalSettingsGRP 3 } \r
+\r
+\r
+operRTSThreshold OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the number of bytes in an \r
+ MPDU (frame), above which an RTS/CTS handshake will be\r
+ performed. Setting this attribute to be larger than the\r
+ maximum frame size, will prevent the RTS/CTS handshake \r
+ for frames trassmitted by this station."\r
+ ::= {OperationalSettingsGRP 4 }\r
+\r
+\r
+operFragmentationThreshold OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the number of bytes in an \r
+ MPDU (frame), above which MPDU fragmentation will be\r
+ performed."\r
+ ::= {OperationalSettingsGRP 5 }\r
+ \r
+\r
+operPreambleType OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ ShortPreamble(1),\r
+ LongPreamble(2)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the Preamble Type of device. Short or Long."\r
+ ::= {OperationalSettingsGRP 6 }\r
+\r
+\r
+operAuthenticationType OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ openSystem(1),\r
+ sharedKey(2),\r
+ BothType(3)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the authentication algorithm\r
+ used during the authentication sequence.\r
+ The value of this attribute is one of the following:\r
+ 1 - Open System,\r
+ 2 - Shared Key\r
+ 3 - Both Type "\r
+ ::= {OperationalSettingsGRP 7 }\r
+\r
+\r
+operBasicRates OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (4))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the basic and supported rates of Access Point.Valid format\r
+ is as defind in ISO/IEC 8802-11:1999"\r
+ ::= { OperationalSettingsGRP 8 }\r
+\r
+\r
+operAutoRateFallBack OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates if Auto Rate Fall Back is enable or disable."\r
+ ::= {OperationalSettingsGRP 9 }\r
+\r
+operAccessPointName OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The AP name."\r
+ ::= {OperationalSettingsGRP 10 } \r
+\r
+operSSIDBroadcasting OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates if SSID is broadcasting or not."\r
+ ::= {OperationalSettingsGRP 11 }\r
+\r
+operAntennaSettings OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 12 }\r
+\r
+operInterRoaming OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 13 }\r
+\r
+operBeaconPeriod OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 14 }\r
+\r
+operDTIM OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 15 }\r
+\r
+\r
+operSIFSTIME OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 16 }\r
+\r
+\r
+-----------------------------Privacy-----------------------------\r
+\r
+\r
+privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }\r
+\r
+\r
+\r
+defaultWEPKey1 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 1 } \r
+\r
+defaultWEPKey2 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 2 } \r
+\r
+defaultWEPKey3 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 3 } \r
+\r
+defaultWEPKey4 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 4 } \r
+\r
+\r
+\r
+privacyWEPEnable OBJECT-TYPE\r
+ SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute, when enable64(1) or enable128(3), indicates that the 802.11\r
+ standard encryption mechanism (WEP) is implemented. WEP64, WEP128 or disable"\r
+ ::= {privacyGRP 5}\r
+\r
+\r
+privacyDefaultWEPKeyID OBJECT-TYPE\r
+ SYNTAX INTEGER (1..4)\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This attribute shall indicate the use of the first, second,\r
+ third or fourth DefaultWEPKey when set to values of one, two,\r
+ three or four."\r
+ ::= {privacyGRP 6}\r
+\r
+\r
+-----------------------------STATISTICS-----------------------------\r
+\r
+\r
+WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}\r
+\r
+wirelessStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (104))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Wireless Statistics. 26 elements(ULONG)\r
+ WirelessStatistics{\r
+ unsigned long UnicastTransmittedPackets;\r
+ unsigned long BroadcastTransmittedPacets;\r
+ unsigned long MulticastTransmittedPackets;\r
+ unsigned long TransmittedBeacon;\r
+ unsigned long TransmittedACK;\r
+ unsigned long TransmittedRTS;\r
+ unsigned long TransmittedCTS;\r
+ unsigned long UnicastReceivedPackets;\r
+ unsigned long BroadcastReceivedPackets;\r
+ unsigned long MulticastReceivedPackets;\r
+ unsigned long ReceivedBeacon;\r
+ unsigned long ReceivedACK;\r
+ unsigned long ReceivedRTS;\r
+ unsigned long ReceivedCTS;\r
+ unsigned long ACKFailure;\r
+ unsigned long CTSFailure;\r
+ unsigned long RetryPackets;\r
+ unsigned long ReceivedDuplicate;\r
+ unsigned long FailedPackets;\r
+ unsigned long AgedPackets;\r
+ unsigned long FCSError;\r
+ unsigned long InvalidPLCP;\r
+ unsigned long TransmittedPackets_11Mbps;\r
+ unsigned long TransmittedPackets_55Mbps;\r
+ unsigned long TransmittedPackets_2Mbps;\r
+ unsigned long TransmittedPackets_1Mbps;\r
+ } "\r
+ ::= {WLstatisticsGRP 1 }\r
+\r
+\r
+-------------------------------Site Survey----------------------\r
+\r
+WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}\r
+\r
+ChannelStatus OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (14))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {WLSiteSurveyGRP 1}\r
+\r
+\r
+\r
+-------------------------------Associated Station----------------------\r
+-----------------------------------------------------------------------\r
+\r
+AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}\r
+\r
+AssociatedSTAsNum OBJECT-TYPE\r
+ SYNTAX INTEGER (1..2007)\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ associated STAtions. Associated STAtions should not be more\r
+ than 2007."\r
+ ::= { AssociatedStationsGRP 1 }\r
+\r
+ \r
+AssociatedSTAsInfo OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (24))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The associated STAtion's Information.\r
+ AssociatedSTAsInfo{\r
+ unsigned short Index;\r
+ unsigned char MacAddress[6];\r
+ unsigned char Status;\r
+ unsigned char Port;\r
+ unsigned char ParentMacAddress[6];\r
+ unsigned char RSSI;\r
+ unsigned char IP[4];\r
+ unsigned char Reserved1[3];\r
+ \r
+ } "\r
+ ::= { AssociatedStationsGRP 2 }\r
+ \r
+\r
+-------------------------------Authorized Mac Addresses----------------------\r
+\r
+AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}\r
+\r
+AuthorizationMacEnable OBJECT-TYPE\r
+ SYNTAX INTEGER (1..3)\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to 1, the Authorization Mac Address Table will be enabled in allow mode.\r
+ When setting this attribute to 3, the Authorization Mac Address Table will be enabled in deny mode."\r
+ ::= {AuthorizedMacAddressesGRP 1}\r
+\r
+\r
+AuthorizedMac OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (12))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The Authorized Wireless Mac Addresses\r
+ AuthorizedMacTableString{\r
+ unsigned sort Action; //Set 0x01 or Get 0x02\r
+ unsigned sort NumOfAllTableAddresses;\r
+ unsigned sort NumOfCurrentAddress;\r
+ unsigned char MacAddress[6];\r
+ } "\r
+\r
+ ::= { AuthorizedMacAddressesGRP 2 }\r
+\r
+-----------------------------KNOWN ACCESS POINTS----------------------\r
+\r
+\r
+WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}\r
+\r
+wirelessKnownAPs OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (160))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {WLKnownAPGRP 1 }\r
+\r
+SelectedBSSListNumber OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {WLKnownAPGRP 2 }\r
+\r
+NetworkSettings OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (56))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Network Settings.\r
+ struct NETWORK_SETTINGS {\r
+ unsigned short reserved1;\r
+ unsigned char BSSID[6];\r
+ unsigned short InfoCapability;\r
+ unsigned char Rssi;\r
+ unsigned char Channel;\r
+ unsigned char reserved2[2];\r
+ unsigned char CurrentRate;\r
+ unsigned char reserved3[5];\r
+ unsigned char ESSID[32];\r
+ unsigned long ESSLEN;\r
+ }"\r
+ ::= {WLKnownAPGRP 4}\r
+\r
+\r
+\r
+-----------------------------Advanced Privacy-----------------------------\r
+\r
+\r
+AdvancedPrivacyGRP OBJECT IDENTIFIER ::= { wireless 8 }\r
+\r
+Dot1xEnable OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2), mixed environment(3)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {AdvancedPrivacyGRP 1}\r
+\r
+BroadcastKeyPeriod OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {AdvancedPrivacyGRP 2}\r
+\r
+ServerIP OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {AdvancedPrivacyGRP 3}\r
+\r
+ServerSecret OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {AdvancedPrivacyGRP 4} \r
+\r
+\r
+\r
+-----------------------------Device Info-----------------------------\r
+\r
+\r
+DeviceInfoGRP OBJECT IDENTIFIER ::= { wireless 9 }\r
+\r
+UpTime OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-only \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The Device Uptime."\r
+ ::= {DeviceInfoGRP 1 } \r
+\r
+FirmwareVersion OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-only \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The Firmware Version."\r
+ ::= {DeviceInfoGRP 2 } \r
+\r
+\r
+\r
+--*************************** Traps ***************************\r
+--*************************************************************\r
+\r
+trapSTAMacAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The MAC address of a station device"\r
+\r
+ ::= {traps 1}\r
+\r
+\r
+trapReassociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when a STAtion's reassosiation\r
+ request is received."\r
+ ::= 1\r
+\r
+trapRoamOut TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is used to indicate that a STAtion has\r
+ roamed out of the Wireless bridge's coverage area."\r
+ ::= 2\r
+\r
+trapAssociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "Indicates the reception of an association request packet\r
+ and the sender STAtion's successful association with the\r
+ Access Point."\r
+ ::= 3\r
+ \r
+trapDisassociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when a disassociation notification\r
+ packet is received from a STAtion."\r
+ ::= 4\r
+\r
+trapAssociationExpire TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when the association's maximum time interval expires for\r
+ an associated STAtion."\r
+ ::= 5\r
+\r
+trapReset TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ sysReset\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Resets."\r
+ ::= 6\r
+\r
+trapSettingPingIPAddress TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ operIPAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when the Access Point IP address\r
+ is set with the transmition of a ping message."\r
+ ::= 7\r
+\r
+trapStartUp TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Starts Up."\r
+ ::= 8\r
+\r
+trapFailedToEraseFlash TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Failed To Erase Flash."\r
+ ::= 9\r
+\r
+trapAPClientScanning TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is scanning..."\r
+ ::= 10\r
+\r
+trapAPClientAuthenticating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is authenticating with the AP."\r
+ ::= 11\r
+\r
+trapAPClientAssociating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is associating with the AP."\r
+ ::= 12\r
+\r
+trapAPClientReAssociating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is reassociating with the AP."\r
+ ::= 13\r
+\r
+trapAPClientAuthenticationFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed authenticating with the AP."\r
+ ::= 14\r
+\r
+trapAPClientAssociationFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed associating with the AP."\r
+ ::= 15\r
+\r
+trapAPClientConnected TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has been connected with the AP."\r
+ ::= 16\r
+\r
+trapAPClientDisconnected TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has been disconnected from the AP."\r
+ ::= 17 \r
+ \r
+trapAPClientScanFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed scanning!"\r
+ ::= 18 \r
+ \r
+trapAPClientJoinFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed joining!"\r
+ ::= 19 \r
+\r
+trapAPClientJoining TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is in join state."\r
+ ::= 20 \r
+\r
+END
\ No newline at end of file
--- /dev/null
+-- Title: ATMEL Private MIB \r
+\r
+\r
+--Firmaware Version 1.4 14/5/2001\r
+\r
+\r
+ATMEL-MIB DEFINITIONS ::= BEGIN\r
+\r
+--IMPORTS\r
+-- enterprises,Counter\r
+--FROM RFC1155-SMI\r
+-- DisplayString\r
+--FROM RFC1213-MIB;\r
+-- TRAP-TYPE\r
+--FROM RFC-1215;\r
+\r
+\r
+--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))\r
+DisplayString ::= OCTET STRING\r
+\r
+internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }\r
+directory OBJECT IDENTIFIER ::= { internet 1 }\r
+mgmt OBJECT IDENTIFIER ::= { internet 2 }\r
+experimental OBJECT IDENTIFIER ::= { internet 3 }\r
+private OBJECT IDENTIFIER ::= { internet 4 }\r
+enterprises OBJECT IDENTIFIER ::= { private 1 }\r
+\r
+--atmel OBJECT IDENTIFIER ::= { enterprises 410 } \r
+atmel OBJECT IDENTIFIER ::= { enterprises 12350 }\r
+atmelmib OBJECT IDENTIFIER ::= { atmel 1}\r
+atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}\r
+wireless OBJECT IDENTIFIER ::= {atmelmib 2}\r
+traps OBJECT IDENTIFIER ::= {atmelmib 3 }\r
+\r
+\r
+\r
+--*************************** System***************************\r
+--****************************************************************\r
+\r
+\r
+\r
+sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}\r
+\r
+sysDescr OBJECT-TYPE\r
+ SYNTAX DisplayString (SIZE (0..255))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A textual description of the entity. This value\r
+ should include the full name and version\r
+ identification of the system's hardware type,\r
+ software operating-system, and networking\r
+ software. It is mandatory that this only contain\r
+ printable ASCII characters."\r
+ ::= { sysCtrlGRP 1 } \r
+\r
+\r
+sysReset OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "By setting this attribute enable(1), a reset command to \r
+ the system is issued." \r
+ ::= { sysCtrlGRP 2 } \r
+\r
+sysTrapSwitch OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This attribute enables the transmission of SNMP.V1 TRAPs."\r
+ ::= {sysCtrlGRP 3}\r
+\r
+sysLoadDefaults OBJECT-TYPE\r
+ SYNTAX INTEGER { enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Setting this attribute to enable(1), will cause the system to load\r
+ the factory default values of all the operational parameters." \r
+ ::= { sysCtrlGRP 4 }\r
+\r
+sysDeviceInfo OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (92))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "First 92 bytes of Hardware device configuration struct.\r
+ HARD_CONFIGURATION_STUCT{\r
+ unsigned long StructVersion;\r
+ \r
+ unsigned char MacAddress[6];\r
+ unsigned char Channel;\r
+ unsigned char RegulatoryDomain;\r
+ \r
+ unsigned long ProductType;\r
+ unsigned char OEMname[32];\r
+ unsigned long OEMID;\r
+ unsigned char ProductName[32];\r
+ unsigned long HardwareRevision;\r
+\r
+ unsigned char PID_VID[4]; //Product ID/ Vendor ID\r
+ \r
+ unsigned int sysOIDSize;\r
+ unsigned short sysOID[16];\r
+ \r
+ unsigned char CountryCode[3];\r
+ unsigned char Reserved1;\r
+ unsigned short ChannelInformation;\r
+ unsigned char Reserved2[2];\r
+ char TxPower[14]; \r
+\r
+ unsigned char Reserved3[10];\r
+ } "\r
+\r
+ ::= {sysCtrlGRP 5 }\r
+\r
+sysUpload OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "By setting this attribute enable(1), a Upload configuration command to \r
+ the system is issued." \r
+ ::= { sysCtrlGRP 6 } \r
+ \r
+SiteSurveyCommand OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "By setting this attribute enable(1), a Site Survey command to \r
+ the system is issued." \r
+ ::= { sysCtrlGRP 7 } \r
+\r
+sysDeviceMoreInfo OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Last 32 bytes of Hardware device configuration struct.\r
+ HARD_CONFIGURATION_STUCT{\r
+ unsigned long StructVersion;\r
+ \r
+ unsigned char MacAddress[6];\r
+ unsigned char Channel;\r
+ unsigned char RegulatoryDomain;\r
+ \r
+ unsigned long ProductType;\r
+ unsigned char OEMname[32];\r
+ unsigned long OEMID;\r
+ unsigned char ProductName[32];\r
+ unsigned long HardwareRevision;\r
+\r
+ unsigned char PID_VID[4]; //Product ID/ Vendor ID\r
+ \r
+ unsigned int sysOIDSize;\r
+ unsigned short sysOID[16];\r
+ \r
+ unsigned char CountryCode[3];\r
+ unsigned char Reserved1;\r
+ unsigned short ChannelInformation;\r
+ unsigned char Reserved2[2];\r
+ char TxPower[14]; \r
+\r
+ unsigned char Reserved3[10];\r
+ } "\r
+\r
+ ::= {sysCtrlGRP 8 }\r
+\r
+\r
+ \r
+\r
+-----------------------------BridgingLevel-----------------------------\r
+\r
+operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}\r
+\r
+operIPAddress OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The IP address of this device used over its Ethernet\r
+ or Wireless LAN port."\r
+ ::= { operBridgingLevel 1 }\r
+\r
+operIPMask OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The IP Network mask used by the IP entity when accessing\r
+ devices through any of its LAN Ports (Ethernet or WLAN)."\r
+ ::= { operBridgingLevel 2}\r
+\r
+operEthernetAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The MAC Address of the Ethernet interface."\r
+ ::= { operBridgingLevel 3}\r
+\r
+\r
+operGateway OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Gateway default IP address."\r
+ ::= { operBridgingLevel 4 }\r
+\r
+operDHCP OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the system will\r
+ enable DHCP protocol."\r
+ ::= { operBridgingLevel 5 }\r
+\r
+operPrimaryPort OBJECT-TYPE\r
+ SYNTAX INTEGER {Ethernet(1),Wireless(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the primaty port.Ethernet or Wireless."\r
+ ::= { operBridgingLevel 6 }\r
+\r
+operConfigurationPort OBJECT-TYPE\r
+ SYNTAX INTEGER {Ethernet(1),Wireless(2),Both(3)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the Configuration port.Ethernet or Wireless or Both of them."\r
+ ::= { operBridgingLevel 7 }\r
+\r
+operTrapPort OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the Trap port."\r
+ ::= { operBridgingLevel 8 }\r
+\r
+\r
+\r
+-----------------------------Filtering-----------------------------\r
+\r
+\r
+\r
+operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}\r
+\r
+operIPFilter OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the system will\r
+ filter out all non IP-traffic."\r
+ ::= { operFiltering 1 }\r
+ \r
+operForwarbBcast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ forward broadcast traffic to the Wireless Port."\r
+ ::= { operFiltering 2 }\r
+ \r
+operSendBackBcast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ send back broadcast traffic to the Wireless Port."\r
+ ::= { operFiltering 3 }\r
+ \r
+operSendBackUnicast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ send back unicast traffic to the Wireless Port."\r
+ ::= { operFiltering 4 }\r
+\r
+\r
+-----------------------------Bridge Operational Mode -----------------------------\r
+\r
+\r
+operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}\r
+\r
+\r
+bridgeOperationalMode OBJECT-TYPE\r
+ SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(4), WRepeater(5)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint."\r
+ ::= { operBridgeOperationalMode 1 }\r
+\r
+bridgeRemoteBridgeBSSID OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The Preferred BSSID if the device is at Access Point client mode\r
+ or the remote Mac if the device is at Wireless Bridge Point to Point mode."\r
+ ::= { operBridgeOperationalMode 2 }\r
+\r
+\r
+\r
+-----------------------------Static-----------------------------\r
+\r
+\r
+dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}\r
+\r
+\r
+StaticMacFilterNum OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ static MAC filters."\r
+ ::= { dot1dStatic 1 }\r
+\r
+\r
+ dot1dStaticTable OBJECT-TYPE\r
+ SYNTAX SEQUENCE OF Dot1dStaticEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A table containing filtering information\r
+ configured into the bridge by (local or network)\r
+ management specifying the set of ports to which\r
+ frames received from specific ports and containing\r
+ specific destination addresses are allowed to be\r
+ forwarded. The value of zero in this table as the\r
+ port number from which frames with a specific\r
+ destination address are received, is used to\r
+ specify all ports for which there is no specific\r
+ entry in this table for that particular\r
+ destination address. Entries are valid for\r
+ unicast and for group/broadcast addresses."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 6.7.2"\r
+ ::= { dot1dStatic 2 }\r
+\r
+ dot1dStaticEntry OBJECT-TYPE\r
+ SYNTAX Dot1dStaticEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "Filtering information configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of ports to which frames received from a\r
+ specific port and containing a specific\r
+ destination address are allowed to be forwarded."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 6.7.2"\r
+ INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }\r
+ ::= { dot1dStaticTable 1 }\r
+\r
+ Dot1dStaticEntry ::=\r
+ SEQUENCE {\r
+ dot1dStaticAddress\r
+ OCTET STRING (SIZE (6))\r
+-- dot1dStaticReceivePort\r
+-- INTEGER,\r
+-- dot1dStaticAllowedToGoTo\r
+-- INTEGER,\r
+-- dot1dStaticStatus\r
+-- INTEGER\r
+ }\r
+\r
+ dot1dStaticAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The destination MAC address in a frame to which\r
+ this entry's filtering information applies. This\r
+ object can take the value of a unicast address, a\r
+ group address or the broadcast address."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"\r
+ ::= { dot1dStaticEntry 1 }\r
+\r
+-- dot1dStaticReceivePort OBJECT-TYPE\r
+-- SYNTAX INTEGER\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "Either the value '0', or the port number of the\r
+-- port from which a frame must be received in order\r
+-- for this entry's filtering information to apply.\r
+-- A value of zero indicates that this entry applies\r
+-- on all ports of the bridge for which there is no\r
+-- other applicable entry."\r
+-- ::= { dot1dStaticEntry 2 }\r
+\r
+-- dot1dStaticAllowedToGoTo OBJECT-TYPE\r
+-- SYNTAX INTEGER\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "The set of ports to which frames received from a\r
+-- specific port and destined for a specific MAC\r
+-- address, are allowed to be forwarded. Each octet\r
+-- within the value of this object specifies a set of\r
+-- eight ports, with the first octet specifying ports\r
+-- 1 through 8, the second octet specifying ports 9\r
+-- through 16, etc. Within each octet, the most\r
+-- significant bit represents the lowest numbered\r
+-- port, and the least significant bit represents the\r
+-- highest numbered port. Thus, each port of the\r
+-- bridge is represented by a single bit within the\r
+-- value of this object. If that bit has a value of\r
+-- '1' then that port is included in the set of\r
+-- ports; the port is not included if its bit has a\r
+-- value of '0'. (Note that the setting of the bit\r
+-- corresponding to the port from which a frame is\r
+-- received is irrelevant.) The default value of\r
+-- this object is a string of ones of appropriate\r
+-- length."\r
+-- ::= { dot1dStaticEntry 3 }\r
+--\r
+-- dot1dStaticStatus OBJECT-TYPE\r
+-- SYNTAX INTEGER {\r
+-- other(1),\r
+-- invalid(2),\r
+-- permanent(3),\r
+-- deleteOnReset(4),\r
+-- deleteOnTimeout(5)\r
+-- }\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "This object indicates the status of this entry.\r
+-- The default value is permanent(3).\r
+-- other(1) - this entry is currently in use but\r
+-- the conditions under which it will\r
+-- remain so are different from each of the\r
+-- following values.\r
+-- invalid(2) - writing this value to the object\r
+-- removes the corresponding entry.\r
+-- permanent(3) - this entry is currently in use\r
+-- and will remain so after the next reset\r
+-- of the bridge.\r
+-- deleteOnReset(4) - this entry is currently in\r
+-- use and will remain so until the next\r
+-- reset of the bridge.\r
+-- deleteOnTimeout(5) - this entry is currently\r
+-- in use and will remain so until it is\r
+-- aged out."\r
+-- ::= { dot1dStaticEntry 4 }\r
+\r
+\r
+\r
+----------------------------------Protocol Filtering-------------------\r
+\r
+\r
+ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}\r
+\r
+ProtocolFilterNum OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ protocol filters."\r
+ ::= { ProtocolFilterGRP 1 }\r
+\r
+\r
+\r
+\r
+ ProtocolFilterTable OBJECT-TYPE\r
+ SYNTAX SEQUENCE OF ProtocolFilterEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A table containing filtering information\r
+ configured into the bridge by (local or network)\r
+ management specifying the set of protocol filter."\r
+ ::= { ProtocolFilterGRP 2 }\r
+\r
+ protocolFilterEntry OBJECT-TYPE\r
+ SYNTAX ProtocolFilterEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "Filtering information configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of protocol filter."\r
+ INDEX { ProtocolFilterCode }\r
+ ::= { ProtocolFilterTable 1 }\r
+\r
+ ProtocolFilterEntry ::=\r
+ SEQUENCE {\r
+ ProtocolFilterCode\r
+ OCTET STRING (SIZE (2)),\r
+ ProtocolFilterDescription\r
+ DisplayString (SIZE (0..255)),\r
+ ProtocolFilterActivity\r
+ INTEGER\r
+ }\r
+\r
+ ProtocolFilterCode OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (2))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The protocol code configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of protocol filter."\r
+ ::= { protocolFilterEntry 1 }\r
+\r
+ ProtocolFilterDescription OBJECT-TYPE\r
+ SYNTAX DisplayString (SIZE (0..255))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A textual description of the protocol."\r
+ ::= { protocolFilterEntry 2 }\r
+\r
+ ProtocolFilterActivity OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This object indicates the status of this filter."\r
+ ::= { protocolFilterEntry 3 }\r
+\r
+\r
+\r
+-----------------------------Ethernet STATISTICS-----------------------------\r
+\r
+\r
+EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}\r
+\r
+EthRxStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (64))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Ethernet Rx Statistics\r
+ EthernetRxStatistics{\r
+ unsigned long TotalBytesRx;\r
+ unsigned long TotalPacketsRx;\r
+ unsigned long PacketCRCErrorRx;\r
+ unsigned long MulticastPacketRx;\r
+ unsigned long BroadcastPacketRx;\r
+ unsigned long ControlFramesRx;\r
+ unsigned long PauseFramesRx;\r
+ unsigned long UnknownOPCodeRx;\r
+ unsigned long AlignmentRxError;\r
+ unsigned long LengthOutOfRangeRx;\r
+ unsigned long CodeErrorRx;\r
+ unsigned long FalseCarrierRx;\r
+ unsigned long UndersizePacketsRx;\r
+ unsigned long OversizePacketsRx;\r
+ unsigned long TotalFragmentsRx;\r
+ unsigned long TotalJabberRx;\r
+ }"\r
+ ::= {EthStatisticsGRP 1 }\r
+\r
+EthTxStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (56))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Ethernet Tx Statistics\r
+ EthernetTxStatistics{\r
+ unsigned long TotalBytesTx;\r
+ unsigned long TotalPacketsTx;\r
+ unsigned long PacketCRCErrorTx;\r
+ unsigned long MulticastPacketTx;\r
+ unsigned long BroadcastPacketTx;\r
+ unsigned long UnicastPacketTx;\r
+ unsigned long PauseFramesTx;\r
+ unsigned long SingleDeferPacketTx;\r
+ unsigned long MultiDeferPacketsTx;\r
+ unsigned long SingleCollisionsTx;\r
+ unsigned long MultiCollisionsTx;\r
+ unsigned long LateCollisionsTx;\r
+ unsigned long ExcessiveCollisionTx;\r
+ unsigned long TotalCollisionsTx;\r
+ }"\r
+\r
+ ::= {EthStatisticsGRP 2 }\r
+\r
+\r
+\r
+\r
+\r
+-----------------------------Test Mode Settings-----------------------------\r
+\r
+\r
+TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}\r
+\r
+TestModeOnOff OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the device be\r
+ at test mode."\r
+ ::= { TestModeSettingsGRP 1 }\r
+\r
+\r
+TestModeCommandStruct OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (20))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "\r
+ typedef struct __CONT_PKT_TX\r
+ {\r
+ UINT8 Channel;\r
+ UINT8 Antenna;\r
+ UINT8 TxPower;\r
+ UINT8 TxRate;\r
+ \r
+ UINT8 TxFilter;\r
+ UINT8 Reserved;\r
+ UINT16 IFrameTime;\r
+ \r
+ UINT32 FrameLength;\r
+ UINT32 FramesToTransmit;\r
+ \r
+ UINT8 Pattern;\r
+ UINT8 Reserved1[3];\r
+ }CONT_PKT_TX;\r
+ "\r
+ ::= {TestModeSettingsGRP 2 }\r
+\r
+TestModeRadioConfiguration OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (47))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Configuration of radio derived from tests. CR17 Reg 1-14, CR20 Reg 1-14, CR21 Reg 1-14, CR1, CR2, CR3, CR28, CR29"\r
+ ::= {TestModeSettingsGRP 8 }\r
+\r
+TestModeStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (12))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Statistics derive from tests\r
+ TestModeStatistics{\r
+ unsigned long SuccessFrames;\r
+ unsigned long FailedFrames;\r
+ unsigned long PacketsTx;\r
+ } "\r
+\r
+ ::= {TestModeSettingsGRP 9 }\r
+\r
+\r
+\r
+\r
+-----------------------------Authorized Settings-----------------------------\r
+\r
+\r
+AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}\r
+\r
+AuthorizedUserPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of User."\r
+ ::= {AuthorizedSettingsGRP 1 }\r
+\r
+\r
+AuthorizedAdminPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of Administrator."\r
+ ::= {AuthorizedSettingsGRP 2 }\r
+\r
+\r
+AuthorizedManufactPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of Manufacturer."\r
+ ::= {AuthorizedSettingsGRP 3 }\r
+\r
+\r
+--*************************** wireless ***************************\r
+--****************************************************************\r
+\r
+-----------------------------Operational Settings-----------------------------\r
+\r
+\r
+OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}\r
+\r
+\r
+operChannelID OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ channel1(1),\r
+ channel2(2),\r
+ channel3(3),\r
+ channel4(4),\r
+ channel5(5),\r
+ channel6(6),\r
+ channel7(7),\r
+ channel8(8),\r
+ channel9(9),\r
+ channel10(10),\r
+ channel11(11),\r
+ channel12(12),\r
+ channel13(13),\r
+ channel14(14)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The operating frequency channel. Valid numbers\r
+ are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."\r
+ ::= { OperationalSettingsGRP 1 }\r
+\r
+\r
+operESSIDLength OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The ESSID Length"\r
+ ::= {OperationalSettingsGRP 2 } \r
+\r
+operESSID OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The network name. The size of the network name\r
+ should not be more than 32 characters long."\r
+ ::= {OperationalSettingsGRP 3 } \r
+\r
+\r
+operRTSThreshold OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the number of bytes in an \r
+ MPDU (frame), above which an RTS/CTS handshake will be\r
+ performed. Setting this attribute to be larger than the\r
+ maximum frame size, will prevent the RTS/CTS handshake \r
+ for frames trassmitted by this station."\r
+ ::= {OperationalSettingsGRP 4 }\r
+\r
+\r
+operFragmentationThreshold OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the number of bytes in an \r
+ MPDU (frame), above which MPDU fragmentation will be\r
+ performed."\r
+ ::= {OperationalSettingsGRP 5 }\r
+ \r
+\r
+operPreambleType OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ ShortPreamble(1),\r
+ LongPreamble(2)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the Preamble Type of device. Short or Long."\r
+ ::= {OperationalSettingsGRP 6 }\r
+\r
+\r
+operAuthenticationType OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ openSystem(1),\r
+ sharedKey(2),\r
+ BothType(3)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the authentication algorithm\r
+ used during the authentication sequence.\r
+ The value of this attribute is one of the following:\r
+ 1 - Open System,\r
+ 2 - Shared Key\r
+ 3 - Both Type "\r
+ ::= {OperationalSettingsGRP 7 }\r
+\r
+\r
+operBasicRates OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (4))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the basic and supported rates of Access Point.Valid format\r
+ is as defind in ISO/IEC 8802-11:1999"\r
+ ::= { OperationalSettingsGRP 8 }\r
+\r
+\r
+operAutoRateFallBack OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates if Auto Rate Fall Back is enable or disable."\r
+ ::= {OperationalSettingsGRP 9 }\r
+\r
+operAccessPointName OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The AP name."\r
+ ::= {OperationalSettingsGRP 10 } \r
+\r
+operSSIDBroadcasting OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates if SSID is broadcasting or not."\r
+ ::= {OperationalSettingsGRP 11 }\r
+\r
+operAntennaSettings OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 12 }\r
+\r
+operInterRoaming OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 13 }\r
+\r
+operBeaconPeriod OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 14 }\r
+\r
+operDTIM OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 15 }\r
+\r
+\r
+\r
+-----------------------------Privacy-----------------------------\r
+\r
+\r
+privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }\r
+\r
+\r
+\r
+defaultWEPKey1 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 1 } \r
+\r
+defaultWEPKey2 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 2 } \r
+\r
+defaultWEPKey3 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 3 } \r
+\r
+defaultWEPKey4 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 4 } \r
+\r
+\r
+\r
+privacyWEPEnable OBJECT-TYPE\r
+ SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute, when enable64(1) or enable128(3), indicates that the 802.11\r
+ standard encryption mechanism (WEP) is implemented. WEP64, WEP128 or disable"\r
+ ::= {privacyGRP 5}\r
+\r
+\r
+privacyDefaultWEPKeyID OBJECT-TYPE\r
+ SYNTAX INTEGER (1..4)\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This attribute shall indicate the use of the first, second,\r
+ third or fourth DefaultWEPKey when set to values of one, two,\r
+ three or four."\r
+ ::= {privacyGRP 6}\r
+\r
+\r
+-----------------------------STATISTICS-----------------------------\r
+\r
+\r
+WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}\r
+\r
+wirelessStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (88))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Wireless Statistics. 22 elements(ULONG)\r
+ WirelessStatistics{\r
+ unsigned long UnicastTransmittedPackets;\r
+ unsigned long BroadcastTransmittedPacets;\r
+ unsigned long MulticastTransmittedPackets;\r
+ unsigned long TransmittedBeacon;\r
+ unsigned long TransmittedACK;\r
+ unsigned long TransmittedRTS;\r
+ unsigned long TransmittedCTS;\r
+ unsigned long UnicastReceivedPackets;\r
+ unsigned long BroadcastReceivedPackets;\r
+ unsigned long MulticastReceivedPackets;\r
+ unsigned long ReceivedBeacon;\r
+ unsigned long ReceivedACK;\r
+ unsigned long ReceivedRTS;\r
+ unsigned long ReceivedCTS;\r
+ unsigned long ACKFailure;\r
+ unsigned long CTSFailure;\r
+ unsigned long RetryPackets;\r
+ unsigned long ReceivedDuplicate;\r
+ unsigned long FailedPackets;\r
+ unsigned long AgedPackets;\r
+ unsigned long FCSError;\r
+ unsigned long InvalidPLCP;\r
+ } "\r
+ ::= {WLstatisticsGRP 1 }\r
+\r
+\r
+-------------------------------Site Survey----------------------\r
+\r
+WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}\r
+\r
+ChannelStatus OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (14))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {WLSiteSurveyGRP 1}\r
+\r
+\r
+-------------------------------Associated Station----------------------\r
+-----------------------------------------------------------------------\r
+\r
+AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}\r
+\r
+AssociatedSTAsNum OBJECT-TYPE\r
+ SYNTAX INTEGER (1..2007)\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ associated STAtions. Associated STAtions should not be more\r
+ than 2007."\r
+ ::= { AssociatedStationsGRP 1 }\r
+\r
+ \r
+AssociatedSTAsInfo OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (24))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The associated STAtion's Information.\r
+ AssociatedSTAsInfo{\r
+ unsigned sort Num;\r
+ unsigned char MacAddress[6];\r
+ } "\r
+ ::= { AssociatedStationsGRP 2 }\r
+ \r
+\r
+-------------------------------Authorized Mac Addresses----------------------\r
+\r
+AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}\r
+\r
+AuthorizationMacEnable OBJECT-TYPE\r
+ SYNTAX INTEGER (1..3)\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to 1, the Authorization Mac Address Table will be enabled in allow mode.\r
+ When setting this attribute to 3, the Authorization Mac Address Table will be enabled in deny mode."\r
+ ::= {AuthorizedMacAddressesGRP 1}\r
+\r
+\r
+AuthorizedMac OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (12))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The Authorized Wireless Mac Addresses\r
+ AuthorizedMacTableString{\r
+ unsigned sort Action; //Set 0x01 or Get 0x02\r
+ unsigned sort NumOfAllTableAddresses;\r
+ unsigned sort NumOfCurrentAddress;\r
+ unsigned char MacAddress[6];\r
+ } "\r
+\r
+ ::= { AuthorizedMacAddressesGRP 2 }\r
+\r
+-----------------------------KNOWN ACCESS POINTS----------------------\r
+\r
+\r
+WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}\r
+\r
+wirelessKnownAPs OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (160))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {WLKnownAPGRP 1 }\r
+\r
+SelectedBSSListNumber OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {WLKnownAPGRP 2 }\r
+\r
+\r
+-----------------------------Advanced Privacy-----------------------------\r
+\r
+\r
+AdvancedPrivacyGRP OBJECT IDENTIFIER ::= { wireless 8 }\r
+\r
+Dot1xEnable OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2), mixed environment(3)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {AdvancedPrivacyGRP 1}\r
+\r
+BroadcastKeyPeriod OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {AdvancedPrivacyGRP 2}\r
+\r
+ServerIP OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {AdvancedPrivacyGRP 3}\r
+\r
+ServerSecret OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {AdvancedPrivacyGRP 4} \r
+\r
+\r
+\r
+--*************************** Traps ***************************\r
+--*************************************************************\r
+\r
+trapSTAMacAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The MAC address of a station device"\r
+\r
+ ::= {traps 1}\r
+\r
+\r
+\r
+BroadcastKeyPeriod\r
+\r
+trapReassociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when a STAtion's reassosiation\r
+ request is received."\r
+ ::= 1\r
+\r
+trapRoamOut TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is used to indicate that a STAtion has\r
+ roamed out of the Wireless bridge's coverage area."\r
+ ::= 2\r
+\r
+trapAssociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "Indicates the reception of an association request packet\r
+ and the sender STAtion's successful association with the\r
+ Access Point."\r
+ ::= 3\r
+ \r
+trapDisassociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when a disassociation notification\r
+ packet is received from a STAtion."\r
+ ::= 4\r
+\r
+trapAssociationExpire TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when the association's maximum time interval expires for\r
+ an associated STAtion."\r
+ ::= 5\r
+\r
+trapReset TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ sysReset\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Resets."\r
+ ::= 6\r
+\r
+trapSettingPingIPAddress TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ operIPAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when the Access Point IP address\r
+ is set with the transmition of a ping message."\r
+ ::= 7\r
+\r
+trapStartUp TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Starts Up."\r
+ ::= 8\r
+\r
+trapFailedToEraseFlash TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Failed To Erase Flash."\r
+ ::= 9\r
+\r
+trapAPClientScanning TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is scanning..."\r
+ ::= 10\r
+\r
+trapAPClientAuthenticating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is authenticating with the AP."\r
+ ::= 11\r
+\r
+trapAPClientAssociating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is associating with the AP."\r
+ ::= 12\r
+\r
+trapAPClientReAssociating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is reassociating with the AP."\r
+ ::= 13\r
+\r
+trapAPClientAuthenticationFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed authenticating with the AP."\r
+ ::= 14\r
+\r
+trapAPClientAssociationFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed associating with the AP."\r
+ ::= 15\r
+\r
+trapAPClientConnected TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has been connected with the AP."\r
+ ::= 16\r
+\r
+trapAPClientDisconnected TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has been disconnected from the AP."\r
+ ::= 17 \r
+ \r
+trapAPClientScanFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed scanning!"\r
+ ::= 18 \r
+ \r
+trapAPClientJoinFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed joining!"\r
+ ::= 19 \r
+\r
+trapAPClientJoining TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is in join state."\r
+ ::= 20 \r
+\r
+END
\ No newline at end of file
--- /dev/null
+-- Title: ATMEL Private MIB
+
+
+--Firmaware Version 1.4 14/5/2001
+
+
+ATMEL-MIB DEFINITIONS ::= BEGIN
+
+--IMPORTS
+-- enterprises,Counter
+--FROM RFC1155-SMI
+-- DisplayString
+--FROM RFC1213-MIB;
+-- TRAP-TYPE
+--FROM RFC-1215;
+
+
+--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))
+DisplayString ::= OCTET STRING
+
+internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
+directory OBJECT IDENTIFIER ::= { internet 1 }
+mgmt OBJECT IDENTIFIER ::= { internet 2 }
+experimental OBJECT IDENTIFIER ::= { internet 3 }
+private OBJECT IDENTIFIER ::= { internet 4 }
+enterprises OBJECT IDENTIFIER ::= { private 1 }
+
+--atmel OBJECT IDENTIFIER ::= { enterprises 410 }
+atmel OBJECT IDENTIFIER ::= { enterprises 12350 }
+atmelmib OBJECT IDENTIFIER ::= { atmel 1}
+atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}
+wireless OBJECT IDENTIFIER ::= {atmelmib 2}
+traps OBJECT IDENTIFIER ::= {atmelmib 3 }
+
+
+
+--*************************** System***************************
+--****************************************************************
+
+
+
+sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}
+
+sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A textual description of the entity. This value
+ should include the full name and version
+ identification of the system's hardware type,
+ software operating-system, and networking
+ software. It is mandatory that this only contain
+ printable ASCII characters."
+ ::= { sysCtrlGRP 1 }
+
+
+sysReset OBJECT-TYPE
+ SYNTAX INTEGER {enable(1)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "By setting this attribute enable(1), a reset command to
+ the system is issued."
+ ::= { sysCtrlGRP 2 }
+
+sysTrapSwitch OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute enables the transmission of SNMP.V1 TRAPs."
+ ::= {sysCtrlGRP 3}
+
+sysLoadDefaults OBJECT-TYPE
+ SYNTAX INTEGER { enable(1)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this attribute to enable(1), will cause the system to load
+ the factory default values of all the operational parameters."
+ ::= { sysCtrlGRP 4 }
+
+sysDeviceInfo OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (92))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Hardware device configuration struct.
+ HARD_CONFIGURATION_STUCT{
+ unsigned long StructVersion;
+ unsigned char MacAddress[6];
+ unsigned short Reserved;
+ unsigned long RegulationDomain;
+ unsigned long ProductType;
+ unsigned char OEMName[32];
+ unsigned long OEMID;
+ unsigned char ProductName[32];
+ unsigned long HardwareRevision;
+ } "
+
+
+ ::= {sysCtrlGRP 5 }
+
+sysUpload OBJECT-TYPE
+ SYNTAX INTEGER {enable(1)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "By setting this attribute enable(1), a Upload configuration command to
+ the system is issued."
+ ::= { sysCtrlGRP 6 }
+
+SiteSurveyCommand OBJECT-TYPE
+ SYNTAX INTEGER {enable(1)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "By setting this attribute enable(1), a Site Survey command to
+ the system is issued."
+ ::= { sysCtrlGRP 7 }
+
+
+
+-----------------------------BridgingLevel-----------------------------
+
+operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}
+
+operIPAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of this device used over its Ethernet
+ or Wireless LAN port."
+ ::= { operBridgingLevel 1 }
+
+operIPMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP Network mask used by the IP entity when accessing
+ devices through any of its LAN Ports (Ethernet or WLAN)."
+ ::= { operBridgingLevel 2}
+
+operEthernetAddress OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (6))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The MAC Address of the Ethernet interface."
+ ::= { operBridgingLevel 3}
+
+
+operGateway OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Gateway default IP address."
+ ::= { operBridgingLevel 4 }
+
+operDHCP OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to enable(1), the system will
+ enable DHCP protocol."
+ ::= { operBridgingLevel 5 }
+
+operPrimaryPort OBJECT-TYPE
+ SYNTAX INTEGER {Ethernet(1),Wireless(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the primaty port.Ethernet or Wireless."
+ ::= { operBridgingLevel 6 }
+
+operConfigurationPort OBJECT-TYPE
+ SYNTAX INTEGER {Ethernet(1),Wireless(2),Both(3)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the Configuration port.Ethernet or Wireless or Both of them."
+ ::= { operBridgingLevel 7 }
+
+
+
+-----------------------------Filtering-----------------------------
+
+
+
+operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}
+
+operIPFilter OBJECT-TYPE
+ SYNTAX INTEGER {enable(1), disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to enable(1), the system will
+ filter out all non IP-traffic."
+ ::= { operFiltering 1 }
+
+operForwarbBcast OBJECT-TYPE
+ SYNTAX INTEGER {enable(1), disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to disable(2), the system will not
+ forward broadcast traffic to the Wireless Port."
+ ::= { operFiltering 2 }
+
+operSendBackBcast OBJECT-TYPE
+ SYNTAX INTEGER {enable(1), disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to disable(2), the system will not
+ send back broadcast traffic to the Wireless Port."
+ ::= { operFiltering 3 }
+
+operSendBackUnicast OBJECT-TYPE
+ SYNTAX INTEGER {enable(1), disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to disable(2), the system will not
+ send back unicast traffic to the Wireless Port."
+ ::= { operFiltering 4 }
+
+
+-----------------------------Bridge Operational Mode -----------------------------
+
+
+operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}
+
+
+bridgeOperationalMode OBJECT-TYPE
+ SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(4), WRepeater(5)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint."
+ ::= { operBridgeOperationalMode 1 }
+
+bridgeRemoteBridgeBSSID OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (6))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The Preferred BSSID if the device is at Access Point client mode
+ or the remote Mac if the device is at Wireless Bridge Point to Point mode."
+ ::= { operBridgeOperationalMode 2 }
+
+
+
+-----------------------------Static-----------------------------
+
+
+dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}
+
+
+StaticMacFilterNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This parameter's value indicates the number of the currently
+ static MAC filters."
+ ::= { dot1dStatic 1 }
+
+
+ dot1dStaticTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dStaticEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table containing filtering information
+ configured into the bridge by (local or network)
+ management specifying the set of ports to which
+ frames received from specific ports and containing
+ specific destination addresses are allowed to be
+ forwarded. The value of zero in this table as the
+ port number from which frames with a specific
+ destination address are received, is used to
+ specify all ports for which there is no specific
+ entry in this table for that particular
+ destination address. Entries are valid for
+ unicast and for group/broadcast addresses."
+ REFERENCE
+ "IEEE 802.1D-1990: Section 6.7.2"
+ ::= { dot1dStatic 2 }
+
+ dot1dStaticEntry OBJECT-TYPE
+ SYNTAX Dot1dStaticEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Filtering information configured into the bridge
+ by (local or network) management specifying the
+ set of ports to which frames received from a
+ specific port and containing a specific
+ destination address are allowed to be forwarded."
+ REFERENCE
+ "IEEE 802.1D-1990: Section 6.7.2"
+ INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }
+ ::= { dot1dStaticTable 1 }
+
+ Dot1dStaticEntry ::=
+ SEQUENCE {
+ dot1dStaticAddress
+ OCTET STRING (SIZE (6))
+-- dot1dStaticReceivePort
+-- INTEGER,
+-- dot1dStaticAllowedToGoTo
+-- INTEGER,
+-- dot1dStaticStatus
+-- INTEGER
+ }
+
+ dot1dStaticAddress OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (6))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The destination MAC address in a frame to which
+ this entry's filtering information applies. This
+ object can take the value of a unicast address, a
+ group address or the broadcast address."
+ REFERENCE
+ "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
+ ::= { dot1dStaticEntry 1 }
+
+-- dot1dStaticReceivePort OBJECT-TYPE
+-- SYNTAX INTEGER
+-- ACCESS read-write
+-- STATUS mandatory
+-- DESCRIPTION
+-- "Either the value '0', or the port number of the
+-- port from which a frame must be received in order
+-- for this entry's filtering information to apply.
+-- A value of zero indicates that this entry applies
+-- on all ports of the bridge for which there is no
+-- other applicable entry."
+-- ::= { dot1dStaticEntry 2 }
+
+-- dot1dStaticAllowedToGoTo OBJECT-TYPE
+-- SYNTAX INTEGER
+-- ACCESS read-write
+-- STATUS mandatory
+-- DESCRIPTION
+-- "The set of ports to which frames received from a
+-- specific port and destined for a specific MAC
+-- address, are allowed to be forwarded. Each octet
+-- within the value of this object specifies a set of
+-- eight ports, with the first octet specifying ports
+-- 1 through 8, the second octet specifying ports 9
+-- through 16, etc. Within each octet, the most
+-- significant bit represents the lowest numbered
+-- port, and the least significant bit represents the
+-- highest numbered port. Thus, each port of the
+-- bridge is represented by a single bit within the
+-- value of this object. If that bit has a value of
+-- '1' then that port is included in the set of
+-- ports; the port is not included if its bit has a
+-- value of '0'. (Note that the setting of the bit
+-- corresponding to the port from which a frame is
+-- received is irrelevant.) The default value of
+-- this object is a string of ones of appropriate
+-- length."
+-- ::= { dot1dStaticEntry 3 }
+--
+-- dot1dStaticStatus OBJECT-TYPE
+-- SYNTAX INTEGER {
+-- other(1),
+-- invalid(2),
+-- permanent(3),
+-- deleteOnReset(4),
+-- deleteOnTimeout(5)
+-- }
+-- ACCESS read-write
+-- STATUS mandatory
+-- DESCRIPTION
+-- "This object indicates the status of this entry.
+-- The default value is permanent(3).
+-- other(1) - this entry is currently in use but
+-- the conditions under which it will
+-- remain so are different from each of the
+-- following values.
+-- invalid(2) - writing this value to the object
+-- removes the corresponding entry.
+-- permanent(3) - this entry is currently in use
+-- and will remain so after the next reset
+-- of the bridge.
+-- deleteOnReset(4) - this entry is currently in
+-- use and will remain so until the next
+-- reset of the bridge.
+-- deleteOnTimeout(5) - this entry is currently
+-- in use and will remain so until it is
+-- aged out."
+-- ::= { dot1dStaticEntry 4 }
+
+
+
+----------------------------------Protocol Filtering-------------------
+
+
+ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}
+
+ProtocolFilterNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This parameter's value indicates the number of the currently
+ protocol filters."
+ ::= { ProtocolFilterGRP 1 }
+
+
+
+
+ ProtocolFilterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ProtocolFilterEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table containing filtering information
+ configured into the bridge by (local or network)
+ management specifying the set of protocol filter."
+ ::= { ProtocolFilterGRP 2 }
+
+ protocolFilterEntry OBJECT-TYPE
+ SYNTAX ProtocolFilterEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Filtering information configured into the bridge
+ by (local or network) management specifying the
+ set of protocol filter."
+ INDEX { ProtocolFilterCode }
+ ::= { ProtocolFilterTable 1 }
+
+ ProtocolFilterEntry ::=
+ SEQUENCE {
+ ProtocolFilterCode
+ OCTET STRING (SIZE (2)),
+ ProtocolFilterDescription
+ DisplayString (SIZE (0..255)),
+ ProtocolFilterActivity
+ INTEGER
+ }
+
+ ProtocolFilterCode OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (2))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The protocol code configured into the bridge
+ by (local or network) management specifying the
+ set of protocol filter."
+ ::= { protocolFilterEntry 1 }
+
+ ProtocolFilterDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual description of the protocol."
+ ::= { protocolFilterEntry 2 }
+
+ ProtocolFilterActivity OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object indicates the status of this filter."
+ ::= { protocolFilterEntry 3 }
+
+
+
+-----------------------------Ethernet STATISTICS-----------------------------
+
+
+EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}
+
+EthRxStatistics OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (64))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Ethernet Rx Statistics
+ EthernetRxStatistics{
+ unsigned long TotalBytesRx;
+ unsigned long TotalPacketsRx;
+ unsigned long PacketCRCErrorRx;
+ unsigned long MulticastPacketRx;
+ unsigned long BroadcastPacketRx;
+ unsigned long ControlFramesRx;
+ unsigned long PauseFramesRx;
+ unsigned long UnknownOPCodeRx;
+ unsigned long AlignmentRxError;
+ unsigned long LengthOutOfRangeRx;
+ unsigned long CodeErrorRx;
+ unsigned long FalseCarrierRx;
+ unsigned long UndersizePacketsRx;
+ unsigned long OversizePacketsRx;
+ unsigned long TotalFragmentsRx;
+ unsigned long TotalJabberRx;
+ }"
+ ::= {EthStatisticsGRP 1 }
+
+EthTxStatistics OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (56))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Ethernet Tx Statistics
+ EthernetTxStatistics{
+ unsigned long TotalBytesTx;
+ unsigned long TotalPacketsTx;
+ unsigned long PacketCRCErrorTx;
+ unsigned long MulticastPacketTx;
+ unsigned long BroadcastPacketTx;
+ unsigned long UnicastPacketTx;
+ unsigned long PauseFramesTx;
+ unsigned long SingleDeferPacketTx;
+ unsigned long MultiDeferPacketsTx;
+ unsigned long SingleCollisionsTx;
+ unsigned long MultiCollisionsTx;
+ unsigned long LateCollisionsTx;
+ unsigned long ExcessiveCollisionTx;
+ unsigned long TotalCollisionsTx;
+ }"
+
+ ::= {EthStatisticsGRP 2 }
+
+
+
+
+
+-----------------------------Test Mode Settings-----------------------------
+
+
+TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}
+
+TestModeOnOff OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to enable(1), the device be
+ at test mode."
+ ::= { TestModeSettingsGRP 1 }
+
+
+TestModeCommandStruct OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (20))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "
+ typedef struct __CONT_PKT_TX
+ {
+ UINT8 Channel;
+ UINT8 Antenna;
+ UINT8 TxPower;
+ UINT8 TxRate;
+
+ UINT8 TxFilter;
+ UINT8 Reserved;
+ UINT16 IFrameTime;
+
+ UINT32 FrameLength;
+ UINT32 FramesToTransmit;
+
+ UINT8 Pattern;
+ UINT8 Reserved1[3];
+ }CONT_PKT_TX;
+ "
+ ::= {TestModeSettingsGRP 2 }
+
+TestModeRadioConfiguration OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (47))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Configuration of radio derived from tests. CR17 Reg 1-14, CR20 Reg 1-14, CR21 Reg 1-14, CR1, CR2, CR3, CR28, CR29"
+ ::= {TestModeSettingsGRP 8 }
+
+TestModeStatistics OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (12))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Statistics derive from tests
+ TestModeStatistics{
+ unsigned long SuccessFrames;
+ unsigned long FailedFrames;
+ unsigned long PacketsTx;
+ } "
+
+ ::= {TestModeSettingsGRP 9 }
+
+
+
+
+-----------------------------Authorized Settings-----------------------------
+
+
+AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}
+
+AuthorizedUserPass OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (16))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The community name of User."
+ ::= {AuthorizedSettingsGRP 1 }
+
+
+AuthorizedAdminPass OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (16))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The community name of Administrator."
+ ::= {AuthorizedSettingsGRP 2 }
+
+
+AuthorizedManufactPass OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (16))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The community name of Manufacturer."
+ ::= {AuthorizedSettingsGRP 3 }
+
+
+--*************************** wireless ***************************
+--****************************************************************
+
+-----------------------------Operational Settings-----------------------------
+
+
+OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}
+
+
+operChannelID OBJECT-TYPE
+ SYNTAX INTEGER {
+ channel1(1),
+ channel2(2),
+ channel3(3),
+ channel4(4),
+ channel5(5),
+ channel6(6),
+ channel7(7),
+ channel8(8),
+ channel9(9),
+ channel10(10),
+ channel11(11),
+ channel12(12),
+ channel13(13),
+ channel14(14)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The operating frequency channel. Valid numbers
+ are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."
+ ::= { OperationalSettingsGRP 1 }
+
+
+operESSIDLength OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The ESSID Length"
+ ::= {OperationalSettingsGRP 2 }
+
+operESSID OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The network name. The size of the network name
+ should not be more than 32 characters long."
+ ::= {OperationalSettingsGRP 3 }
+
+
+operRTSThreshold OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the number of bytes in an
+ MPDU (frame), above which an RTS/CTS handshake will be
+ performed. Setting this attribute to be larger than the
+ maximum frame size, will prevent the RTS/CTS handshake
+ for frames trassmitted by this station."
+ ::= {OperationalSettingsGRP 4 }
+
+
+operFragmentationThreshold OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the number of bytes in an
+ MPDU (frame), above which MPDU fragmentation will be
+ performed."
+ ::= {OperationalSettingsGRP 5 }
+
+
+operPreambleType OBJECT-TYPE
+ SYNTAX INTEGER {
+ ShortPreamble(1),
+ LongPreamble(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This parameter's value indicates the Preamble Type of device. Short or Long."
+ ::= {OperationalSettingsGRP 6 }
+
+
+operAuthenticationType OBJECT-TYPE
+ SYNTAX INTEGER {
+ openSystem(1),
+ sharedKey(2),
+ BothType(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the authentication algorithm
+ used during the authentication sequence.
+ The value of this attribute is one of the following:
+ 1 - Open System,
+ 2 - Shared Key
+ 3 - Both Type "
+ ::= {OperationalSettingsGRP 7 }
+
+
+operBasicRates OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (4))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the basic and supported rates of Access Point.Valid format
+ is as defind in ISO/IEC 8802-11:1999"
+ ::= { OperationalSettingsGRP 8 }
+
+
+operAutoRateFallBack OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates if Auto Rate Fall Back is enable or disable."
+ ::= {OperationalSettingsGRP 9 }
+
+operAccessPointName OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The AP name."
+ ::= {OperationalSettingsGRP 10 }
+
+operSSIDBroadcasting OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates if SSID is broadcasting or not."
+ ::= {OperationalSettingsGRP 11 }
+
+operAntennaSettings OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {OperationalSettingsGRP 12 }
+
+operInterRoaming OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {OperationalSettingsGRP 13 }
+
+
+-----------------------------Privacy-----------------------------
+
+
+privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }
+
+
+
+defaultWEPKey1 OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (13))
+ ACCESS write-only
+ STATUS mandatory
+ DESCRIPTION
+ "A WEP default secret key value."
+ ::= { privacyGRP 1 }
+
+defaultWEPKey2 OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (13))
+ ACCESS write-only
+ STATUS mandatory
+ DESCRIPTION
+ "A WEP default secret key value."
+ ::= { privacyGRP 2 }
+
+defaultWEPKey3 OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (13))
+ ACCESS write-only
+ STATUS mandatory
+ DESCRIPTION
+ "A WEP default secret key value."
+ ::= { privacyGRP 3 }
+
+defaultWEPKey4 OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (13))
+ ACCESS write-only
+ STATUS mandatory
+ DESCRIPTION
+ "A WEP default secret key value."
+ ::= { privacyGRP 4 }
+
+
+
+privacyWEPEnable OBJECT-TYPE
+ SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute, when enable64(1) or enable128(3), indicates that the 802.11
+ standard encryption mechanism (WEP) is implemented. WEP64, WEP128 or disable"
+ ::= {privacyGRP 5}
+
+
+privacyDefaultWEPKeyID OBJECT-TYPE
+ SYNTAX INTEGER (1..4)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute shall indicate the use of the first, second,
+ third or fourth DefaultWEPKey when set to values of one, two,
+ three or four."
+ ::= {privacyGRP 6}
+
+
+-----------------------------STATISTICS-----------------------------
+
+
+WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}
+
+wirelessStatistics OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (88))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Wireless Statistics. 22 elements(ULONG)
+ WirelessStatistics{
+ unsigned long UnicastTransmittedPackets;
+ unsigned long BroadcastTransmittedPacets;
+ unsigned long MulticastTransmittedPackets;
+ unsigned long TransmittedBeacon;
+ unsigned long TransmittedACK;
+ unsigned long TransmittedRTS;
+ unsigned long TransmittedCTS;
+ unsigned long UnicastReceivedPackets;
+ unsigned long BroadcastReceivedPackets;
+ unsigned long MulticastReceivedPackets;
+ unsigned long ReceivedBeacon;
+ unsigned long ReceivedACK;
+ unsigned long ReceivedRTS;
+ unsigned long ReceivedCTS;
+ unsigned long ACKFailure;
+ unsigned long CTSFailure;
+ unsigned long RetryPackets;
+ unsigned long ReceivedDuplicate;
+ unsigned long FailedPackets;
+ unsigned long AgedPackets;
+ unsigned long FCSError;
+ unsigned long InvalidPLCP;
+ } "
+ ::= {WLstatisticsGRP 1 }
+
+
+-------------------------------Site Survey----------------------
+
+WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}
+
+ChannelStatus OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (14))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {WLSiteSurveyGRP 1}
+
+
+-------------------------------Associated Station----------------------
+-----------------------------------------------------------------------
+
+AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}
+
+AssociatedSTAsNum OBJECT-TYPE
+ SYNTAX INTEGER (1..2007)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "This parameter's value indicates the number of the currently
+ associated STAtions. Associated STAtions should not be more
+ than 2007."
+ ::= { AssociatedStationsGRP 1 }
+
+
+AssociatedSTAsInfo OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (24))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The associated STAtion's Information.
+ AssociatedSTAsInfo{
+ unsigned short Num;
+ unsigned char MacAddress[6];
+ } "
+ ::= { AssociatedStationsGRP 2 }
+
+
+-------------------------------Authorized Mac Addresses----------------------
+
+AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}
+
+AuthorizationMacEnable OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to enable(1), the Authorization Mac Address Table will be enable."
+ ::= {AuthorizedMacAddressesGRP 1}
+
+
+AuthorizedMac OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (12))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The Authorized Wireless Mac Addresses
+ AuthorizedMacTableString{
+ unsigned short Action; //Set 0x01 or Get 0x02
+ unsigned short NumOfAllTableAddresses;
+ unsigned short NumOfCurrentAddress;
+ unsigned char MacAddress[6];
+ } "
+
+ ::= { AuthorizedMacAddressesGRP 2 }
+
+-----------------------------KNOWN ACCESS POINTS----------------------
+
+
+WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}
+
+wirelessKnownAPs OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (160))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {WLKnownAPGRP 1 }
+
+SelectedBSSListNumber OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS write-only
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {WLKnownAPGRP 2 }
+
+
+-----------------------------ACCESS POINT CLIENT INFO----------------------
+
+WLAPClientGRP OBJECT IDENTIFIER ::= {wireless 8}
+
+APCLientInfo OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (8))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The AP Client Info
+ {
+ unsigned char reserved;
+ unsigned char State; // 0->Idle State, 1->Scan State, 2->Scan Completed, 3->Join State, 4->Join Completed State,
+ // 5->Authentication Request1 Pending, 6->Authentication Request2 Pending,
+ // 7->Authenticated State, 8->Association Request Pending, 9->Associated State
+ unsigned char BSSID[6];
+ } "
+ ::= {WLAPClientGRP 1 }
+
+--*************************** Traps ***************************
+--*************************************************************
+
+trapSTAMacAddress OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (6))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The MAC address of a station device"
+
+ ::= {traps 1}
+
+
+trapReassociation TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "This trap message is sent when a STAtion's reassosiation
+ request is received."
+ ::= 1
+
+trapRoamOut TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "This trap message is used to indicate tha a STAtion has
+ roamed out of the Wireless bridge's coverage area."
+ ::= 2
+
+trapAssociation TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "Indicates the reception of an association request packet
+ and the sender STAtion's successful association with the
+ Access Point."
+ ::= 3
+
+trapDisassociation TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "This trap message is sent when a dissasociation notification
+ packet is received from a STAtion."
+ ::= 4
+
+trapAssociationExpire TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "This trap message is sent when the association's maximum time interval expires for
+ an associated STAtion."
+ ::= 5
+
+trapReset TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ sysReset
+ }
+ DESCRIPTION
+ "This trap message is sent when Access Point Resets."
+ ::= 6
+
+trapSettingPingIPAddress TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ operIPAddress
+ }
+ DESCRIPTION
+ "This trap message is sent when the Access Point IP address
+ is set with the transmition of a ping message."
+ ::= 7
+
+trapStartUp TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "This trap message is sent when Access Point Starts Up."
+ ::= 8
+
+trapFailedToEraseFlash TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "This trap message is sent when Access Point Failed To Erase Flash."
+ ::= 9
+
+trapAPClientScanning TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client is scanning..."
+ ::= 10
+
+trapAPClientAuthenticating TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client is authenticating with the AP."
+ ::= 11
+
+trapAPClientAssociating TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client is associating with the AP."
+ ::= 12
+
+trapAPClientReAssociating TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client is reassociating with the AP."
+ ::= 13
+
+trapAPClientAuthenticationFailed TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client has failed authenticating with the AP."
+ ::= 14
+
+trapAPClientAssociationFailed TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client has failed associating with the AP."
+ ::= 15
+
+trapAPClientConnected TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client has been connected with the AP."
+ ::= 16
+
+trapAPClientDisconnected TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client has been disconnected from the AP."
+ ::= 17
+
+trapAPClientScanFailed TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client has failed scanning!"
+ ::= 18
+
+trapAPClientJoinFailed TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client has failed joining!"
+ ::= 19
+
+trapAPClientJoining TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ }
+ DESCRIPTION
+ "Access Point Client is in join state."
+ ::= 20
+
+END
\ No newline at end of file
--- /dev/null
+-- Title: ATMEL Private MIB
+
+ATMEL-MIB DEFINITIONS ::= BEGIN
+
+--IMPORTS
+-- enterprises,Counter
+--FROM RFC1155-SMI
+-- DisplayString
+--FROM RFC1213-MIB;
+-- TRAP-TYPE
+--FROM RFC-1215;
+
+
+--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))
+DisplayString ::= OCTET STRING
+
+internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
+directory OBJECT IDENTIFIER ::= { internet 1 }
+mgmt OBJECT IDENTIFIER ::= { internet 2 }
+experimental OBJECT IDENTIFIER ::= { internet 3 }
+private OBJECT IDENTIFIER ::= { internet 4 }
+enterprises OBJECT IDENTIFIER ::= { private 1 }
+
+atmel OBJECT IDENTIFIER ::= { enterprises 410 }
+atmelmib OBJECT IDENTIFIER ::= { atmel 1}
+atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}
+wireless OBJECT IDENTIFIER ::= {atmelmib 2}
+traps OBJECT IDENTIFIER ::= {atmelmib 3 }
+
+
+
+--*************************** System***************************
+--****************************************************************
+
+
+
+sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}
+
+sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A textual description of the entity. This value
+ should include the full name and version
+ identification of the system's hardware type,
+ software operating-system, and networking
+ software. It is mandatory that this only contain
+ printable ASCII characters."
+ ::= { sysCtrlGRP 1 }
+
+
+sysReset OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "By setting this attribute enable(1), a reset command to
+ the system is issued."
+ ::= { sysCtrlGRP 2 }
+
+sysTrapSwitch OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute enables the transmission of SNMP.V1 TRAPs."
+ ::= {sysCtrlGRP 3}
+
+sysLoadDefaults OBJECT-TYPE
+ SYNTAX INTEGER { enable(1), disable(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this attribute to enable(1), will cause the system to load
+ the factory default values of all the operational parameters."
+ ::= { sysCtrlGRP 4 }
+
+sysDeviceInfo OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (92))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Hardware device configuration struct."
+ ::= {sysCtrlGRP 5 }
+
+sysUpload OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "By setting this attribute enable(1), a Upload configuration command to
+ the system is issued."
+ ::= { sysCtrlGRP 6 }
+
+
+
+
+operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}
+
+operIPAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of this device used over its Ethernet
+ or Wireless LAN port."
+ ::= { operBridgingLevel 1 }
+
+operIPMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP Network mask used by the IP entity when accessing
+ devices through any of its LAN Ports (Ethernet or WLAN)."
+ ::= { operBridgingLevel 2}
+
+operEthernetAddress OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (6))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The MAC Address of the Ethernet interface."
+ ::= { operBridgingLevel 3}
+
+
+operGateway OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= { operBridgingLevel 4 }
+
+operDHCP OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to ENABLE, the system will
+ enable DHCP protocol."
+ ::= { operBridgingLevel 5 }
+
+operPrimaryPort OBJECT-TYPE
+ SYNTAX INTEGER {Ethernet(1),Wireless(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the primaty port."
+ ::= { operBridgingLevel 6 }
+
+
+
+
+
+
+operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}
+
+operIPFilter OBJECT-TYPE
+ SYNTAX INTEGER {enable(1), disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "When setting this attribute to ENABLE, the system will
+ filter out all non IP-traffic."
+ ::= { operFiltering 1 }
+
+
+
+
+
+operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}
+
+
+bridgeOperationalMode OBJECT-TYPE
+ SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(3)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint."
+ ::= { operBridgeOperationalMode 1 }
+
+bridgeRemoteBridgeBSSID OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (6))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The Preferred BSSID if the device is at Access Point client mode
+ or the remote Mac if the device is at Wireless Bridge Point to Point mode."
+ ::= { operBridgeOperationalMode 2 }
+
+
+
+
+
+dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}
+
+
+StaticMacFilterNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This parameter's value indicates the number of the currently
+ static MAC filters."
+ ::= { dot1dStatic 1 }
+
+
+ dot1dStaticTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dStaticEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table containing filtering information
+ configured into the bridge by (local or network)
+ management specifying the set of ports to which
+ frames received from specific ports and containing
+ specific destination addresses are allowed to be
+ forwarded. The value of zero in this table as the
+ port number from which frames with a specific
+ destination address are received, is used to
+ specify all ports for which there is no specific
+ entry in this table for that particular
+ destination address. Entries are valid for
+ unicast and for group/broadcast addresses."
+ REFERENCE
+ "IEEE 802.1D-1990: Section 6.7.2"
+ ::= { dot1dStatic 2 }
+
+ dot1dStaticEntry OBJECT-TYPE
+ SYNTAX Dot1dStaticEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Filtering information configured into the bridge
+ by (local or network) management specifying the
+ set of ports to which frames received from a
+ specific port and containing a specific
+ destination address are allowed to be forwarded."
+ REFERENCE
+ "IEEE 802.1D-1990: Section 6.7.2"
+ INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }
+ ::= { dot1dStaticTable 1 }
+
+ Dot1dStaticEntry ::=
+ SEQUENCE {
+ dot1dStaticAddress
+ OCTET STRING (SIZE (6))
+-- dot1dStaticReceivePort
+-- INTEGER,
+-- dot1dStaticAllowedToGoTo
+-- INTEGER,
+-- dot1dStaticStatus
+-- INTEGER
+ }
+
+ dot1dStaticAddress OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (6))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The destination MAC address in a frame to which
+ this entry's filtering information applies. This
+ object can take the value of a unicast address, a
+ group address or the broadcast address."
+ REFERENCE
+ "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
+ ::= { dot1dStaticEntry 1 }
+
+-- dot1dStaticReceivePort OBJECT-TYPE
+-- SYNTAX INTEGER
+-- ACCESS read-write
+-- STATUS mandatory
+-- DESCRIPTION
+-- "Either the value '0', or the port number of the
+-- port from which a frame must be received in order
+-- for this entry's filtering information to apply.
+-- A value of zero indicates that this entry applies
+-- on all ports of the bridge for which there is no
+-- other applicable entry."
+-- ::= { dot1dStaticEntry 2 }
+
+-- dot1dStaticAllowedToGoTo OBJECT-TYPE
+-- SYNTAX INTEGER
+-- ACCESS read-write
+-- STATUS mandatory
+-- DESCRIPTION
+-- "The set of ports to which frames received from a
+-- specific port and destined for a specific MAC
+-- address, are allowed to be forwarded. Each octet
+-- within the value of this object specifies a set of
+-- eight ports, with the first octet specifying ports
+-- 1 through 8, the second octet specifying ports 9
+-- through 16, etc. Within each octet, the most
+-- significant bit represents the lowest numbered
+-- port, and the least significant bit represents the
+-- highest numbered port. Thus, each port of the
+-- bridge is represented by a single bit within the
+-- value of this object. If that bit has a value of
+-- '1' then that port is included in the set of
+-- ports; the port is not included if its bit has a
+-- value of '0'. (Note that the setting of the bit
+-- corresponding to the port from which a frame is
+-- received is irrelevant.) The default value of
+-- this object is a string of ones of appropriate
+-- length."
+-- ::= { dot1dStaticEntry 3 }
+--
+-- dot1dStaticStatus OBJECT-TYPE
+-- SYNTAX INTEGER {
+-- other(1),
+-- invalid(2),
+-- permanent(3),
+-- deleteOnReset(4),
+-- deleteOnTimeout(5)
+-- }
+-- ACCESS read-write
+-- STATUS mandatory
+-- DESCRIPTION
+-- "This object indicates the status of this entry.
+-- The default value is permanent(3).
+-- other(1) - this entry is currently in use but
+-- the conditions under which it will
+-- remain so are different from each of the
+-- following values.
+-- invalid(2) - writing this value to the object
+-- removes the corresponding entry.
+-- permanent(3) - this entry is currently in use
+-- and will remain so after the next reset
+-- of the bridge.
+-- deleteOnReset(4) - this entry is currently in
+-- use and will remain so until the next
+-- reset of the bridge.
+-- deleteOnTimeout(5) - this entry is currently
+-- in use and will remain so until it is
+-- aged out."
+-- ::= { dot1dStaticEntry 4 }
+
+
+
+
+
+ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}
+
+ProtocolFilterNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This parameter's value indicates the number of the currently
+ protocol filters."
+ ::= { ProtocolFilterGRP 1 }
+
+
+
+
+ ProtocolFilterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ProtocolFilterEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table containing filtering information
+ configured into the bridge by (local or network)
+ management specifying the set of protocol filter."
+ ::= { ProtocolFilterGRP 2 }
+
+ protocolFilterEntry OBJECT-TYPE
+ SYNTAX ProtocolFilterEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Filtering information configured into the bridge
+ by (local or network) management specifying the
+ set of protocol filter."
+ INDEX { ProtocolFilterCode }
+ ::= { ProtocolFilterTable 1 }
+
+ ProtocolFilterEntry ::=
+ SEQUENCE {
+ ProtocolFilterCode
+ OCTET STRING (SIZE (2)),
+ ProtocolFilterDescription
+ DisplayString (SIZE (0..255)),
+ ProtocolFilterActivity
+ INTEGER
+ }
+
+ ProtocolFilterCode OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (2))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The protocol code configured into the bridge
+ by (local or network) management specifying the
+ set of protocol filter."
+ ::= { protocolFilterEntry 1 }
+
+ ProtocolFilterDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual description of the protocol."
+ ::= { protocolFilterEntry 2 }
+
+ ProtocolFilterActivity OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object indicates the status of this filter."
+ ::= { protocolFilterEntry 3 }
+
+
+
+
+
+EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}
+
+EthRxStatistics OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (64))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Ethernet Rx Statistics."
+ ::= {EthStatisticsGRP 1 }
+
+EthTxStatistics OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (56))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Ethernet Tx Statistics."
+ ::= {EthStatisticsGRP 2 }
+
+
+
+
+
+
+
+TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}
+
+TestModeOnOff OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= { TestModeSettingsGRP 1 }
+
+
+TestModeCommandStruct OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (8))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {TestModeSettingsGRP 2 }
+
+TestModeRadioConfiguration OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (14))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Configuration of radio derive from tests."
+ ::= {TestModeSettingsGRP 8 }
+
+TestModeStatistics OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (8))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Statistics derive from tests."
+ ::= {TestModeSettingsGRP 9 }
+
+
+
+
+
+
+AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}
+
+AuthorizedUserPass OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (16))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {AuthorizedSettingsGRP 1 }
+
+
+AuthorizedAdminPass OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (16))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {AuthorizedSettingsGRP 2 }
+
+
+AuthorizedManufactPass OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (16))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {AuthorizedSettingsGRP 3 }
+
+
+--*************************** wireless ***************************
+--****************************************************************
+
+
+
+OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}
+
+
+
+
+operChannelID OBJECT-TYPE
+ SYNTAX INTEGER {
+ channel1(1),
+ channel2(2),
+ channel3(3),
+ channel4(4),
+ channel5(5),
+ channel6(6),
+ channel7(7),
+ channel8(8),
+ channel9(9),
+ channel10(10),
+ channel11(11),
+ channel12(12),
+ channel13(13),
+ channel14(14)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The operating frequency channel. Valid numbers
+ are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."
+ ::= { OperationalSettingsGRP 1 }
+
+
+operESSIDLength OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The ESSID Length"
+ ::= {OperationalSettingsGRP 2 }
+
+operESSID OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The network name. The size of the network name
+ should not be more than 32 characters long."
+ ::= {OperationalSettingsGRP 3 }
+
+
+operRTSThreshold OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the number of bytes in an
+ MPDU (frame), above which an RTS/CTS handshake will be
+ performed. Setting this attribute to be larger than the
+ maximum frame size, will prevent the RTS/CTS handshake
+ for frames trassmitted by this station."
+ ::= {OperationalSettingsGRP 4 }
+
+
+operFragmentationThreshold OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the number of bytes in an
+ MPDU (frame), above which MPDU fragmentation will be
+ performed."
+ ::= {OperationalSettingsGRP 5 }
+
+
+operPreambleType OBJECT-TYPE
+ SYNTAX INTEGER {
+ ShortPreamble(1),
+ LongPreamble(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This parameter's value indicates the number of the currently
+ associated STAtions. Associated STAtions should not be more
+ than 2007."
+ ::= {OperationalSettingsGRP 6 }
+
+
+operAuthenticationType OBJECT-TYPE
+ SYNTAX INTEGER {
+ openSystem(1),
+ sharedKey(2),
+ BothType(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the authentication algorithm
+ used during the authentication sequence.
+ The value of this attribute is one of the following:
+ 1 - Open System,
+ 2 - Shared Key
+ 3 - Both Type "
+ ::= {OperationalSettingsGRP 7 }
+
+
+operBasicRates OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (4))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates the basic rates of AP-Bridge."
+ ::= { OperationalSettingsGRP 8 }
+
+
+operAutoRateFallBack OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute indicates if Auto Rate Fall Back is enable or disable."
+ ::= {OperationalSettingsGRP 9 }
+
+operAccessPointName OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The AP name."
+ ::= {OperationalSettingsGRP 10 }
+
+
+
+
+
+privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }
+
+
+
+defaultWEPKey1 OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (13))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A WEP default secret key value."
+ ::= { privacyGRP 1 }
+
+defaultWEPKey2 OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (13))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A WEP default secret key value."
+ ::= { privacyGRP 2 }
+
+defaultWEPKey3 OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (13))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A WEP default secret key value."
+ ::= { privacyGRP 3 }
+
+defaultWEPKey4 OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (13))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A WEP default secret key value."
+ ::= { privacyGRP 4 }
+
+
+
+privacyWEPEnable OBJECT-TYPE
+ SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute, when true, indicates that the 802.11
+ standard encryption mechanism (WEP) is implemented."
+ ::= {privacyGRP 5}
+
+
+privacyDefaultWEPKeyID OBJECT-TYPE
+ SYNTAX INTEGER (1..4)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This attribute shall indicate the use of the first, second,
+ third or fourth DefaultWEPKey when set to values of one, two,
+ three or four."
+ ::= {privacyGRP 6}
+
+
+
+
+WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}
+
+wirelessStatistics OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (88))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Wireless Statistics. 22 elements(ULONG)."
+ ::= {WLstatisticsGRP 1 }
+
+
+
+WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}
+
+ChannelStatus OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (14))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {WLSiteSurveyGRP 1}
+
+
+
+AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}
+
+AssociatedSTAsNum OBJECT-TYPE
+ SYNTAX INTEGER (1..2007)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "This parameter's value indicates the number of the currently
+ associated STAtions. Associated STAtions should not be more
+ than 2007."
+ ::= { AssociatedStationsGRP 1 }
+
+
+AssociatedSTAsInfo OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (24))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The associated STAtion's Information."
+ ::= { AssociatedStationsGRP 2 }
+
+
+
+AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}
+
+AuthorizationMacEnable OBJECT-TYPE
+ SYNTAX INTEGER {enable(1),disable(2)}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {AuthorizedMacAddressesGRP 1}
+
+
+
+AuthorizedMac OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (64))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The Authorized Wireless Mac Addresses."
+ ::= { AuthorizedMacAddressesGRP 2 }
+
+
+
+
+WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}
+
+wirelessKnownAPsNum OBJECT-TYPE
+ SYNTAX INTEGER (1..8)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {WLKnownAPGRP 1 }
+
+
+
+wirelessKnownAPs OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (32))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "."
+ ::= {WLKnownAPGRP 2 }
+
+
+
+--*************************** Traps ***************************
+--*************************************************************
+
+trapSTAMacAddress OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (6))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The MAC address of a station device"
+
+ ::= {traps 1}
+
+
+trapReassociation TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "This trap message is sent when a STAtion's reassosiation
+ request is received."
+ ::= 1
+
+trapRoamOut TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "This trap message is used to indicate tha a STAtion has
+ roamed out of the Wireless bridge's coverage area."
+ ::= 2
+
+trapAssociation TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "Indicates the reception of an association request packet
+ and the sender STAtion's successful association with the
+ Wireless Bridge."
+ ::= 3
+
+trapDisassociation TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "This trap message is sent when a dissasociation notification
+ packet is received from a STAtion."
+ ::= 4
+
+trapAssociationExpire TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ trapSTAMacAddress
+ }
+ DESCRIPTION
+ "When the association's maximum time interval expires for
+ an associated STAtion this trap message is sent."
+ ::= 5
+
+trapReset TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ sysReset
+ }
+ DESCRIPTION
+ "This trap message is sent when Bridge Resets."
+ ::= 6
+
+trapSettingPingIPAddress TRAP-TYPE
+ ENTERPRISE atmel
+ VARIABLES {
+ operIPAddress
+ }
+ DESCRIPTION
+ "This trap message is sent when the ATMEL Bridge IP address
+ is set with the transmition of a ping message."
+ ::= 7
+
+trapStartUp TRAP-TYPE
+ ENTERPRISE atmel
+-- apparently the 4.2.1 ucd-snmp tools do not liek
+-- empty variable blocks - msp 9jul2001
+-- VARIABLES {
+-- }
+ DESCRIPTION
+ "This trap message is sent when Bridge Starts Up."
+ ::= 8
+
+trapFailedToEraseFlash TRAP-TYPE
+ ENTERPRISE atmel
+-- apparently the 4.2.1 ucd-snmp tools do not liek
+-- empty variable blocks - msp 9jul2001
+ --VARIABLES {
+ --}
+ DESCRIPTION
+ "This trap message is sent when Bridge Failed To Erase Flash."
+ ::= 9
+
+
+END
--- /dev/null
+-- Title: ATMEL Private MIB \r
+\r
+\r
+--Firmaware Version 1.4 14/5/2001\r
+\r
+\r
+ATMEL-MIB DEFINITIONS ::= BEGIN\r
+\r
+--IMPORTS\r
+-- enterprises,Counter\r
+--FROM RFC1155-SMI\r
+-- DisplayString\r
+--FROM RFC1213-MIB;\r
+-- TRAP-TYPE\r
+--FROM RFC-1215;\r
+\r
+\r
+--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))\r
+DisplayString ::= OCTET STRING\r
+\r
+internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }\r
+directory OBJECT IDENTIFIER ::= { internet 1 }\r
+mgmt OBJECT IDENTIFIER ::= { internet 2 }\r
+experimental OBJECT IDENTIFIER ::= { internet 3 }\r
+private OBJECT IDENTIFIER ::= { internet 4 }\r
+enterprises OBJECT IDENTIFIER ::= { private 1 }\r
+\r
+atmel OBJECT IDENTIFIER ::= { enterprises 410 }\r
+atmelmib OBJECT IDENTIFIER ::= { atmel 1}\r
+atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}\r
+wireless OBJECT IDENTIFIER ::= {atmelmib 2}\r
+traps OBJECT IDENTIFIER ::= {atmelmib 3 }\r
+\r
+\r
+\r
+--*************************** System***************************\r
+--****************************************************************\r
+\r
+\r
+\r
+sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}\r
+\r
+sysDescr OBJECT-TYPE\r
+ SYNTAX DisplayString (SIZE (0..255))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A textual description of the entity. This value\r
+ should include the full name and version\r
+ identification of the system's hardware type,\r
+ software operating-system, and networking\r
+ software. It is mandatory that this only contain\r
+ printable ASCII characters."\r
+ ::= { sysCtrlGRP 1 } \r
+\r
+\r
+sysReset OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "By setting this attribute enable(1), a reset command to \r
+ the system is issued." \r
+ ::= { sysCtrlGRP 2 } \r
+\r
+sysTrapSwitch OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This attribute enables the transmission of SNMP.V1 TRAPs."\r
+ ::= {sysCtrlGRP 3}\r
+\r
+sysLoadDefaults OBJECT-TYPE\r
+ SYNTAX INTEGER { enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Setting this attribute to enable(1), will cause the system to load\r
+ the factory default values of all the operational parameters." \r
+ ::= { sysCtrlGRP 4 }\r
+\r
+sysDeviceInfo OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (92))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Hardware device configuration struct.\r
+ HARD_CONFIGURATION_STUCT{\r
+ unsigned long StructVersion;\r
+ unsigned char MacAddress[6];\r
+ unsigned short Reserved;\r
+ unsigned long RegulationDomain;\r
+ unsigned long ProductType; \r
+ unsigned char OEMName[32];\r
+ unsigned long OEMID;\r
+ unsigned char ProductName[32];\r
+ unsigned long HardwareRevision; \r
+ } "\r
+\r
+\r
+ ::= {sysCtrlGRP 5 }\r
+\r
+sysUpload OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "By setting this attribute enable(1), a Upload configuration command to \r
+ the system is issued." \r
+ ::= { sysCtrlGRP 6 } \r
+\r
+\r
+\r
+-----------------------------BridgingLevel-----------------------------\r
+\r
+operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}\r
+\r
+operIPAddress OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The IP address of this device used over its Ethernet\r
+ or Wireless LAN port."\r
+ ::= { operBridgingLevel 1 }\r
+\r
+operIPMask OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The IP Network mask used by the IP entity when accessing\r
+ devices through any of its LAN Ports (Ethernet or WLAN)."\r
+ ::= { operBridgingLevel 2}\r
+\r
+operEthernetAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The MAC Address of the Ethernet interface."\r
+ ::= { operBridgingLevel 3}\r
+\r
+\r
+operGateway OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Gateway default IP address."\r
+ ::= { operBridgingLevel 4 }\r
+\r
+operDHCP OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the system will\r
+ enable DHCP protocol."\r
+ ::= { operBridgingLevel 5 }\r
+\r
+operPrimaryPort OBJECT-TYPE\r
+ SYNTAX INTEGER {Ethernet(1),Wireless(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the primaty port.Ethernet or Wireless."\r
+ ::= { operBridgingLevel 6 }\r
+\r
+operConfigurationPort OBJECT-TYPE\r
+ SYNTAX INTEGER {Ethernet(1),Wireless(2),Both(3)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the Configuration port.Ethernet or Wireless or Both of them."\r
+ ::= { operBridgingLevel 7 }\r
+\r
+operDHCPtimeout OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the system will\r
+ enable DHCP timeout."\r
+ ::= { operBridgingLevel 8 }\r
+\r
+\r
+\r
+\r
+-----------------------------Filtering-----------------------------\r
+\r
+\r
+\r
+operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}\r
+\r
+operIPFilter OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the system will\r
+ filter out all non IP-traffic."\r
+ ::= { operFiltering 1 }\r
+\r
+operForwarbBcast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ forward broadcast traffic to the Wireless Port."\r
+ ::= { operFiltering 2 }\r
+ \r
+operSendBackBcast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ send back broadcast traffic to the Wireless Port."\r
+ ::= { operFiltering 3 }\r
+ \r
+operSendBackUnicast OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1), disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to disable(2), the system will not\r
+ send back unicast traffic to the Wireless Port."\r
+ ::= { operFiltering 4 }\r
+\r
+\r
+\r
+-----------------------------Bridge Operational Mode -----------------------------\r
+\r
+\r
+operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}\r
+\r
+\r
+bridgeOperationalMode OBJECT-TYPE\r
+ SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(4), WRepeater(5)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint, Wireless Repeater."\r
+ ::= { operBridgeOperationalMode 1 }\r
+\r
+bridgeRemoteBridgeBSSID OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The Preferred BSSID if the device is at Access Point client mode or at Wireless Repeater mode\r
+ or the remote Mac if the device is at Wireless Bridge Point to Point mode."\r
+ ::= { operBridgeOperationalMode 2 }\r
+\r
+\r
+\r
+-----------------------------Static-----------------------------\r
+\r
+\r
+dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}\r
+\r
+\r
+StaticMacFilterNum OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ static MAC filters."\r
+ ::= { dot1dStatic 1 }\r
+\r
+\r
+ dot1dStaticTable OBJECT-TYPE\r
+ SYNTAX SEQUENCE OF Dot1dStaticEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A table containing filtering information\r
+ configured into the bridge by (local or network)\r
+ management specifying the set of ports to which\r
+ frames received from specific ports and containing\r
+ specific destination addresses are allowed to be\r
+ forwarded. The value of zero in this table as the\r
+ port number from which frames with a specific\r
+ destination address are received, is used to\r
+ specify all ports for which there is no specific\r
+ entry in this table for that particular\r
+ destination address. Entries are valid for\r
+ unicast and for group/broadcast addresses."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 6.7.2"\r
+ ::= { dot1dStatic 2 }\r
+\r
+ dot1dStaticEntry OBJECT-TYPE\r
+ SYNTAX Dot1dStaticEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "Filtering information configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of ports to which frames received from a\r
+ specific port and containing a specific\r
+ destination address are allowed to be forwarded."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 6.7.2"\r
+ INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }\r
+ ::= { dot1dStaticTable 1 }\r
+\r
+ Dot1dStaticEntry ::=\r
+ SEQUENCE {\r
+ dot1dStaticAddress\r
+ OCTET STRING (SIZE (6))\r
+-- dot1dStaticReceivePort\r
+-- INTEGER,\r
+-- dot1dStaticAllowedToGoTo\r
+-- INTEGER,\r
+-- dot1dStaticStatus\r
+-- INTEGER\r
+ }\r
+\r
+ dot1dStaticAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The destination MAC address in a frame to which\r
+ this entry's filtering information applies. This\r
+ object can take the value of a unicast address, a\r
+ group address or the broadcast address."\r
+ REFERENCE\r
+ "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"\r
+ ::= { dot1dStaticEntry 1 }\r
+\r
+-- dot1dStaticReceivePort OBJECT-TYPE\r
+-- SYNTAX INTEGER\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "Either the value '0', or the port number of the\r
+-- port from which a frame must be received in order\r
+-- for this entry's filtering information to apply.\r
+-- A value of zero indicates that this entry applies\r
+-- on all ports of the bridge for which there is no\r
+-- other applicable entry."\r
+-- ::= { dot1dStaticEntry 2 }\r
+\r
+-- dot1dStaticAllowedToGoTo OBJECT-TYPE\r
+-- SYNTAX INTEGER\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "The set of ports to which frames received from a\r
+-- specific port and destined for a specific MAC\r
+-- address, are allowed to be forwarded. Each octet\r
+-- within the value of this object specifies a set of\r
+-- eight ports, with the first octet specifying ports\r
+-- 1 through 8, the second octet specifying ports 9\r
+-- through 16, etc. Within each octet, the most\r
+-- significant bit represents the lowest numbered\r
+-- port, and the least significant bit represents the\r
+-- highest numbered port. Thus, each port of the\r
+-- bridge is represented by a single bit within the\r
+-- value of this object. If that bit has a value of\r
+-- '1' then that port is included in the set of\r
+-- ports; the port is not included if its bit has a\r
+-- value of '0'. (Note that the setting of the bit\r
+-- corresponding to the port from which a frame is\r
+-- received is irrelevant.) The default value of\r
+-- this object is a string of ones of appropriate\r
+-- length."\r
+-- ::= { dot1dStaticEntry 3 }\r
+--\r
+-- dot1dStaticStatus OBJECT-TYPE\r
+-- SYNTAX INTEGER {\r
+-- other(1),\r
+-- invalid(2),\r
+-- permanent(3),\r
+-- deleteOnReset(4),\r
+-- deleteOnTimeout(5)\r
+-- }\r
+-- ACCESS read-write\r
+-- STATUS mandatory\r
+-- DESCRIPTION\r
+-- "This object indicates the status of this entry.\r
+-- The default value is permanent(3).\r
+-- other(1) - this entry is currently in use but\r
+-- the conditions under which it will\r
+-- remain so are different from each of the\r
+-- following values.\r
+-- invalid(2) - writing this value to the object\r
+-- removes the corresponding entry.\r
+-- permanent(3) - this entry is currently in use\r
+-- and will remain so after the next reset\r
+-- of the bridge.\r
+-- deleteOnReset(4) - this entry is currently in\r
+-- use and will remain so until the next\r
+-- reset of the bridge.\r
+-- deleteOnTimeout(5) - this entry is currently\r
+-- in use and will remain so until it is\r
+-- aged out."\r
+-- ::= { dot1dStaticEntry 4 }\r
+\r
+\r
+\r
+----------------------------------Protocol Filtering-------------------\r
+\r
+\r
+ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}\r
+\r
+ProtocolFilterNum OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ protocol filters."\r
+ ::= { ProtocolFilterGRP 1 }\r
+\r
+\r
+\r
+\r
+ ProtocolFilterTable OBJECT-TYPE\r
+ SYNTAX SEQUENCE OF ProtocolFilterEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A table containing filtering information\r
+ configured into the bridge by (local or network)\r
+ management specifying the set of protocol filter."\r
+ ::= { ProtocolFilterGRP 2 }\r
+\r
+ protocolFilterEntry OBJECT-TYPE\r
+ SYNTAX ProtocolFilterEntry\r
+ ACCESS not-accessible\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "Filtering information configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of protocol filter."\r
+ INDEX { ProtocolFilterCode }\r
+ ::= { ProtocolFilterTable 1 }\r
+\r
+ ProtocolFilterEntry ::=\r
+ SEQUENCE {\r
+ ProtocolFilterCode\r
+ OCTET STRING (SIZE (2)),\r
+ ProtocolFilterDescription\r
+ DisplayString (SIZE (0..255)),\r
+ ProtocolFilterActivity\r
+ INTEGER\r
+ }\r
+\r
+ ProtocolFilterCode OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (2))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The protocol code configured into the bridge\r
+ by (local or network) management specifying the\r
+ set of protocol filter."\r
+ ::= { protocolFilterEntry 1 }\r
+\r
+ ProtocolFilterDescription OBJECT-TYPE\r
+ SYNTAX DisplayString (SIZE (0..255))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "A textual description of the protocol."\r
+ ::= { protocolFilterEntry 2 }\r
+\r
+ ProtocolFilterActivity OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This object indicates the status of this filter."\r
+ ::= { protocolFilterEntry 3 }\r
+\r
+\r
+\r
+-----------------------------Ethernet STATISTICS-----------------------------\r
+\r
+\r
+EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}\r
+\r
+EthRxStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (64))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Ethernet Rx Statistics\r
+ EthernetRxStatistics{\r
+ unsigned long TotalBytesRx;\r
+ unsigned long TotalPacketsRx;\r
+ unsigned long PacketCRCErrorRx;\r
+ unsigned long MulticastPacketRx;\r
+ unsigned long BroadcastPacketRx;\r
+ unsigned long ControlFramesRx;\r
+ unsigned long PauseFramesRx;\r
+ unsigned long UnknownOPCodeRx;\r
+ unsigned long AlignmentRxError;\r
+ unsigned long LengthOutOfRangeRx;\r
+ unsigned long CodeErrorRx;\r
+ unsigned long FalseCarrierRx;\r
+ unsigned long UndersizePacketsRx;\r
+ unsigned long OversizePacketsRx;\r
+ unsigned long TotalFragmentsRx;\r
+ unsigned long TotalJabberRx;\r
+ }"\r
+ ::= {EthStatisticsGRP 1 }\r
+\r
+EthTxStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (56))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Ethernet Tx Statistics\r
+ EthernetTxStatistics{\r
+ unsigned long TotalBytesTx;\r
+ unsigned long TotalPacketsTx;\r
+ unsigned long PacketCRCErrorTx;\r
+ unsigned long MulticastPacketTx;\r
+ unsigned long BroadcastPacketTx;\r
+ unsigned long UnicastPacketTx;\r
+ unsigned long PauseFramesTx;\r
+ unsigned long SingleDeferPacketTx;\r
+ unsigned long MultiDeferPacketsTx;\r
+ unsigned long SingleCollisionsTx;\r
+ unsigned long MultiCollisionsTx;\r
+ unsigned long LateCollisionsTx;\r
+ unsigned long ExcessiveCollisionTx;\r
+ unsigned long TotalCollisionsTx;\r
+ }"\r
+\r
+ ::= {EthStatisticsGRP 2 }\r
+\r
+\r
+\r
+\r
+\r
+-----------------------------Test Mode Settings-----------------------------\r
+\r
+\r
+TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}\r
+\r
+TestModeOnOff OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to enable(1), the device be\r
+ at test mode."\r
+ ::= { TestModeSettingsGRP 1 }\r
+\r
+\r
+TestModeCommandStruct OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (8))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "\r
+ TestModeCommandStruct{\r
+ unsigned char Channel;\r
+ unsigned char Antenna;\r
+ unsigned char RegCR31;\r
+ unsigned char Rate;\r
+ unsigned char TxFiler; //US - JPN\r
+ unsigned char Command; //CMD_CONTINUOUS_TX 0x01, CMD_CONTINUOUS_RX 0x02, CMD_CARRIER_ACCURACY 0x03, CMD_IDLE 0x04\r
+ unsigned char Res1;\r
+ unsigned char Res2;\r
+ } "\r
+\r
+ ::= {TestModeSettingsGRP 2 }\r
+\r
+TestModeRadioConfiguration OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (14))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Configuration of radio derive from tests. CR31 Reg 1-14"\r
+ ::= {TestModeSettingsGRP 8 }\r
+\r
+TestModeStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (8))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Statistics derive from tests\r
+ TestModeStatistics{\r
+ unsigned long SuccessFrames;\r
+ unsigned long FailedFrames;\r
+ } "\r
+\r
+ ::= {TestModeSettingsGRP 9 }\r
+\r
+SleepModeOnOff OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When this attribute is set to enable(1), the device is at sleep mode."\r
+ ::= {TestModeSettingsGRP 10 }\r
+\r
+\r
+-----------------------------Authorized Settings-----------------------------\r
+\r
+\r
+AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}\r
+\r
+AuthorizedUserPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of User."\r
+ ::= {AuthorizedSettingsGRP 1 }\r
+\r
+\r
+AuthorizedAdminPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of Administrator."\r
+ ::= {AuthorizedSettingsGRP 2 }\r
+\r
+\r
+AuthorizedManufactPass OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (16))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The community name of Manufacturer."\r
+ ::= {AuthorizedSettingsGRP 3 }\r
+\r
+\r
+--*************************** wireless ***************************\r
+--****************************************************************\r
+\r
+-----------------------------Operational Settings-----------------------------\r
+\r
+\r
+OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}\r
+\r
+\r
+\r
+\r
+operChannelID OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ channel1(1),\r
+ channel2(2),\r
+ channel3(3),\r
+ channel4(4),\r
+ channel5(5),\r
+ channel6(6),\r
+ channel7(7),\r
+ channel8(8),\r
+ channel9(9),\r
+ channel10(10),\r
+ channel11(11),\r
+ channel12(12),\r
+ channel13(13),\r
+ channel14(14)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The operating frequency channel. Valid numbers\r
+ are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."\r
+ ::= { OperationalSettingsGRP 1 }\r
+\r
+\r
+operESSIDLength OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The ESSID Length"\r
+ ::= {OperationalSettingsGRP 2 } \r
+\r
+operESSID OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The network name. The size of the network name\r
+ should not be more than 32 characters long."\r
+ ::= {OperationalSettingsGRP 3 } \r
+\r
+\r
+operRTSThreshold OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the number of bytes in an \r
+ MPDU (frame), above which an RTS/CTS handshake will be\r
+ performed. Setting this attribute to be larger than the\r
+ maximum frame size, will prevent the RTS/CTS handshake \r
+ for frames trassmitted by this station."\r
+ ::= {OperationalSettingsGRP 4 }\r
+\r
+\r
+operFragmentationThreshold OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the number of bytes in an \r
+ MPDU (frame), above which MPDU fragmentation will be\r
+ performed."\r
+ ::= {OperationalSettingsGRP 5 }\r
+ \r
+\r
+operPreambleType OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ ShortPreamble(1),\r
+ LongPreamble(2)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the Preamble Type of device. Short or Long."\r
+ ::= {OperationalSettingsGRP 6 }\r
+\r
+\r
+operAuthenticationType OBJECT-TYPE\r
+ SYNTAX INTEGER {\r
+ openSystem(1),\r
+ sharedKey(2),\r
+ BothType(3)\r
+ }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the authentication algorithm\r
+ used during the authentication sequence.\r
+ The value of this attribute is one of the following:\r
+ 1 - Open System,\r
+ 2 - Shared Key\r
+ 3 - Both Type "\r
+ ::= {OperationalSettingsGRP 7 }\r
+\r
+\r
+operBasicRates OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (4))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates the basic and supported rates of Access Point.Valid format\r
+ is as defind in ISO/IEC 8802-11:1999"\r
+ ::= { OperationalSettingsGRP 8 }\r
+\r
+\r
+operAutoRateFallBack OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates if Auto Rate Fall Back is enable or disable."\r
+ ::= {OperationalSettingsGRP 9 }\r
+\r
+operAccessPointName OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The AP name."\r
+ ::= {OperationalSettingsGRP 10 } \r
+\r
+operSSIDBroadcasting OBJECT-TYPE\r
+ SYNTAX INTEGER {enable(1),disable(2)}\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute indicates if SSID is broadcasting or not."\r
+ ::= {OperationalSettingsGRP 11 }\r
+\r
+operAntennaSettings OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {OperationalSettingsGRP 12 }\r
+\r
+\r
+\r
+-----------------------------Privacy-----------------------------\r
+\r
+\r
+privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }\r
+\r
+\r
+\r
+defaultWEPKey1 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 1 } \r
+\r
+defaultWEPKey2 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 2 } \r
+\r
+defaultWEPKey3 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 3 } \r
+\r
+defaultWEPKey4 OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (13))\r
+ ACCESS write-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "A WEP default secret key value."\r
+ ::= { privacyGRP 4 } \r
+\r
+\r
+\r
+privacyWEPEnable OBJECT-TYPE\r
+ SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "This attribute, when enable64(1) or enable128(3), indicates that the 802.11\r
+ standard encryption mechanism (WEP) is implemented. WEP64, WEP128 or disable"\r
+ ::= {privacyGRP 5}\r
+\r
+\r
+privacyDefaultWEPKeyID OBJECT-TYPE\r
+ SYNTAX INTEGER (1..4)\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This attribute shall indicate the use of the first, second,\r
+ third or fourth DefaultWEPKey when set to values of one, two,\r
+ three or four."\r
+ ::= {privacyGRP 6}\r
+\r
+\r
+-----------------------------STATISTICS-----------------------------\r
+\r
+\r
+WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}\r
+\r
+wirelessStatistics OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (88))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Wireless Statistics. 22 elements(ULONG)\r
+ WirelessStatistics{\r
+ unsigned long UnicastTransmittedPackets;\r
+ unsigned long BroadcastTransmittedPacets;\r
+ unsigned long MulticastTransmittedPackets;\r
+ unsigned long TransmittedBeacon;\r
+ unsigned long TransmittedACK;\r
+ unsigned long TransmittedRTS;\r
+ unsigned long TransmittedCTS;\r
+ unsigned long UnicastReceivedPackets;\r
+ unsigned long BroadcastReceivedPackets;\r
+ unsigned long MulticastReceivedPackets;\r
+ unsigned long ReceivedBeacon;\r
+ unsigned long ReceivedACK;\r
+ unsigned long ReceivedRTS;\r
+ unsigned long ReceivedCTS;\r
+ unsigned long ACKFailure;\r
+ unsigned long CTSFailure;\r
+ unsigned long RetryPackets;\r
+ unsigned long ReceivedDuplicate;\r
+ unsigned long FailedPackets;\r
+ unsigned long AgedPackets;\r
+ unsigned long FCSError;\r
+ unsigned long InvalidPLCP;\r
+ } "\r
+ ::= {WLstatisticsGRP 1 }\r
+\r
+\r
+-------------------------------Site Survey----------------------\r
+\r
+WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}\r
+\r
+ChannelStatus OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (14))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {WLSiteSurveyGRP 1}\r
+\r
+\r
+-------------------------------Associated Stations---------------------\r
+-----------------------------------------------------------------------\r
+\r
+AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}\r
+\r
+AssociatedSTAsNum OBJECT-TYPE\r
+ SYNTAX INTEGER (0..2007)\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "This parameter's value indicates the number of the currently\r
+ associated STAtions. Associated STAtions should not be more\r
+ than 2007."\r
+ ::= { AssociatedStationsGRP 1 }\r
+\r
+ \r
+AssociatedSTAsInfo OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (24))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The associated STAtion's Information.\r
+ AssociatedSTAsInfo{\r
+ unsigned short Index;\r
+ unsigned char MacAddress[6];\r
+ unsigned char Status;\r
+ unsigned char Port;\r
+ unsigned char ParentMacAddress[6];\r
+ unsigned char RSSI;\r
+ unsigned char LinkQuality;\r
+ unsigned char IP[4];\r
+ unsigned char Reserved1[2];\r
+ } "\r
+ ::= { AssociatedStationsGRP 2 }\r
+ \r
+\r
+-------------------------------Authorized Mac Addresses----------------------\r
+\r
+AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}\r
+\r
+AuthorizationMacEnable OBJECT-TYPE\r
+ SYNTAX INTEGER (1..3)\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "When setting this attribute to 1, Internal MAC Authorization will be applied.\r
+ When setting this attribute to 2, no MAC Authorization will be applied.\r
+ When setting this attribute to 3, External MAC Authorization will be applied."\r
+ ::= {AuthorizedMacAddressesGRP 1}\r
+\r
+\r
+AuthorizedMac OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (12))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The Authorized Wireless Mac Addresses\r
+ AuthorizedMacTableString{\r
+ unsigned sort Action; //Set 0x01 or Get 0x02\r
+ unsigned sort NumOfAllTableAddresses;\r
+ unsigned sort NumOfCurrentAddress;\r
+ unsigned char MacAddress[6];\r
+ } "\r
+\r
+ ::= { AuthorizedMacAddressesGRP 2 }\r
+\r
+AuthRadiusIP OBJECT-TYPE\r
+ SYNTAX IpAddress\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The Radius Server IP Address."\r
+ ::= {AuthorizedMacAddressesGRP 3}\r
+\r
+AuthRadiusSecret OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (32))\r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The Radius Server Secret Key."\r
+ ::= {AuthorizedMacAddressesGRP 4}\r
+\r
+AuthRadiusSecretLength OBJECT-TYPE\r
+ SYNTAX INTEGER\r
+ ACCESS read-write \r
+ STATUS mandatory\r
+ DESCRIPTION\r
+ "The Radius Server Secret Key Length."\r
+ ::= {AuthorizedMacAddressesGRP 5} \r
+\r
+AuthRadiusPort OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The source port for Radius Protocol packets."\r
+ ::= {AuthorizedMacAddressesGRP 6}\r
+\r
+AuthRadiusReauthorizationTime OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The time for Radius Server Reauthorization."\r
+ ::= {AuthorizedMacAddressesGRP 7}\r
+\r
+AuthRadiusDestinPort OBJECT-TYPE\r
+ SYNTAX INTEGER \r
+ ACCESS read-write\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The destination port for Radius Protocol packets."\r
+ ::= {AuthorizedMacAddressesGRP 8}\r
+\r
+\r
+-----------------------------KNOWN ACCESS POINTS----------------------\r
+\r
+\r
+WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}\r
+\r
+wirelessKnownAPs OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (160))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "."\r
+ ::= {WLKnownAPGRP 1 }\r
+\r
+\r
+-----------------------------Network Settings----------------------\r
+\r
+\r
+NetworkSettingsGRP OBJECT IDENTIFIER ::= {wireless 8}\r
+\r
+NetworkSettings OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (53))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "Network Settings.\r
+ struct NETWORK_SETTINGS {\r
+ unsigned short reserved1;\r
+ unsigned char BSSID[6];\r
+ unsigned short InfoCapability;\r
+ unsigned char Rssi;\r
+ unsigned char Channel;\r
+ unsigned char reserved2[2];\r
+ unsigned char LinkQuality;\r
+ unsigned char reserved3[5];\r
+ unsigned char ESSID[32];\r
+ unsigned char ESSLEN;\r
+ }"\r
+ ::= {NetworkSettingsGRP 1}\r
+\r
+\r
+\r
+--*************************** Traps ***************************\r
+--*************************************************************\r
+\r
+trapSTAMacAddress OBJECT-TYPE\r
+ SYNTAX OCTET STRING (SIZE (6))\r
+ ACCESS read-only\r
+ STATUS mandatory\r
+ DESCRIPTION \r
+ "The MAC address of a station device"\r
+\r
+ ::= {traps 1}\r
+\r
+\r
+trapReassociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when a STAtion's reassosiation\r
+ request is received."\r
+ ::= 1\r
+\r
+trapRoamOut TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is used to indicate that a STAtion has\r
+ roamed out of the Wireless bridge's coverage area."\r
+ ::= 2\r
+\r
+trapAssociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "Indicates the reception of an association request packet\r
+ and the sender STAtion's successful association with the\r
+ Access Point."\r
+ ::= 3\r
+ \r
+trapDisassociation TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when a disassociation notification\r
+ packet is received from a STAtion."\r
+ ::= 4\r
+\r
+trapAssociationExpire TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ trapSTAMacAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when the association's maximum time interval expires for\r
+ an associated STAtion."\r
+ ::= 5\r
+\r
+trapReset TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ sysReset\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Resets."\r
+ ::= 6\r
+\r
+trapSettingPingIPAddress TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ operIPAddress\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when the Access Point IP address\r
+ is set with the transmition of a ping message."\r
+ ::= 7\r
+\r
+trapStartUp TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Starts Up."\r
+ ::= 8\r
+\r
+trapFailedToEraseFlash TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "This trap message is sent when Access Point Failed To Erase Flash."\r
+ ::= 9\r
+\r
+trapAPClientScanning TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is scanning..."\r
+ ::= 10\r
+\r
+trapAPClientAuthenticating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is authenticating with the AP."\r
+ ::= 11\r
+\r
+trapAPClientAssociating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is associating with the AP."\r
+ ::= 12\r
+\r
+trapAPClientReAssociating TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is reassociating with the AP."\r
+ ::= 13\r
+\r
+trapAPClientAuthenticationFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed authenticating with the AP."\r
+ ::= 14\r
+\r
+trapAPClientAssociationFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed associating with the AP."\r
+ ::= 15\r
+\r
+trapAPClientConnected TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has been connected with the AP."\r
+ ::= 16\r
+\r
+trapAPClientDisconnected TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ bridgeRemoteBridgeBSSID\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has been disconnected from the AP."\r
+ ::= 17 \r
+ \r
+trapAPClientScanFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed scanning!"\r
+ ::= 18 \r
+ \r
+trapAPClientJoinFailed TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client has failed joining!"\r
+ ::= 19 \r
+\r
+trapAPClientJoining TRAP-TYPE\r
+ ENTERPRISE atmel\r
+ VARIABLES {\r
+ }\r
+ DESCRIPTION\r
+ "Access Point Client is in join state."\r
+ ::= 20 \r
+\r
+END
\ No newline at end of file
## Process this file with automake to produce Makefile.in
-SUBDIRS = intl lib src po Documentation ap-gl
+SUBDIRS = lib src ap-gl Documentation intl po
AUTOMAKE_OPTIONS = gnu
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CURSESLIBS = @CURSESLIBS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-SUBDIRS = intl lib src po Documentation ap-gl
+SUBDIRS = lib src ap-gl Documentation intl po
AUTOMAKE_OPTIONS = gnu
+ap-utils-1.4.1 => ap-utils-1.5
+ * New utilites: ap-rrd: to store stats from AP into RRD database,
+ ap-auth: command line utility to change the list of authorised MAC addresses,
+ ap-tftp: tftp client for upgrading ATMEL-based AP firmware.
+ * Now ap-config allow to change OEM information stored within the AP.
+ * Enhanced functionality and many bugfixes of existing utilites.
+ * Documentation and translation updates, Turkish translation added.
+
ap-utils-1.4 => ap-utils-1.4.1
* Decreaset timeouts in SNMP engine;
* updates to build on Solaris, also now ap-utils works with SysV curses lib;
+------------------------------------------------------------------------------+
| Supported Access Points |
+------------------------------------------------------------------------------+
-| Manufacturer | Models | Type |
+| Manufacturer (OEM) | Model | AP MIB type |
+-------------------------------+-----------------------+----------------------+
-| Global Sun | ProWave GL2411AP | ATMEL410 |
-| Linksys | WAP11 pre2 version | ATMEL410 |
-| SMC | MC2655W | ATMEL410 |
-| Netgear | ME102 | ATMEL12350, ATMEL410 |
-| Eumitcom | WA3001A | ATMEL410 |
-| Edimax | EW-7205 | ATMEL410 |
-| Target | WLAP 24212 | ATMEL410 |
-| Micronet | SP918 | ATMEL410 |
-| Smartbridges | airPoint, airBridge | ATMEL410 |
-| Belkin Components | F5D6130 | ATMEL410 |
-| GemTek | TEW-210APB | ATMEL410 |
-| GemTek | WX-1500 | NWN |
-| Intellinet | AP, Wireless Bridge | ATMEL410 |
-| D-Link | DWL 900AP | ATMEL410 |
-| D-Link | DWL 1000AP | NWN |
-| WLink Syst. (D-Link subs.) | Wen-2021 | ATMEL410 |
-| Advantek Networks | AWN-AP128 | ATMEL410 |
-| Compex | WavePort WP11 | NWN |
-| Zoom | ZoomAir11AP | NWN |
-| Telecom | T-Sinus 130X | ATMEL410 |
-| Ovislink | Airlive WL-1100AP | ATMEL410 |
-| CC&C Technologies | Access Point | ATMEL410 |
+| Acer | Warplink EJA-A | NWN |
+| Advantek Networks | AWN-AP128 | ATMEL410 |
+| Ark | SOHO-WLAP | ATMEL410 |
+| Asus | WL-300 | ATMEL410 |
+| Belkin Components | F5D6130 | ATMEL410 |
+| BOSSLAN | BOSSWAP | ATMEL12350, ATMEL410 |
+| CC&C Technologies | Access Point | ATMEL410 |
+| CNet | CNAP-711 | ATMEL410 |
+| Cameo Communications | WLB-2000/2001 | ATMEL410 |
| Compaq | WL-400 | NWN (mostly works) |
-| Asus | WL-300 | ATMEL410 |
-| Topcom | SkyLanR@cer 500 | ATMEL410 |
-| Fiberline | WL-1200AP | ATMEL12350 |
-| CNet | CNAP-711 | ATMEL410 |
-| Yakumo | Access Point | ATMEL410 |
-| Dynalink (Askey) | RTW020 | ATMEL410 |
-| Acer | Warplink EJA-A | NWN |
+| Compex | WavePort WP11 | NWN |
+| D-Link | DWL 900AP (rev. 1) | ATMEL410 |
+| D-Link | DWL 1000AP | NWN |
+| D-com | WX-1590 web | ATMEL12350 |
+| Dynalink (Askey) | RTW020 | ATMEL410 |
+| Edimax | EW-7205APB | ATMEL410 |
+| Eumitcom | WA3001A | ATMEL410 |
+| Fiberline | WL-1200AP | ATMEL12350 |
+| GemTek | TEW-210APB | ATMEL410 |
+| GemTek | WX-1500 | NWN |
+| GigaFast | WF711-AP | ATMEL12350 |
+| Global Sun Technology | ProWave GL2411AP | ATMEL410 |
+| i-Tec | AP SILVER | ATMEL410 |
+| i-Tec (Tellus A13 OEM) | AP GOLD (blue front) | ATMEL410 |
+| i-Tec (Tellus A14 OEM) | AP GOLD (black front) | ATMEL12350 |
+| Infosmart | INAP88 | ATMEL410 |
+| Intellinet | AP, Wireless Bridge | ATMEL410 |
+| InterEpoch | IWE1000A | ATMEL410 |
+| Linksys (GL2411AP OEM) | WAP11 pre2 version | ATMEL410 |
+| Micronet | SP918 | ATMEL410 |
+| Netgear | ME102 | ATMEL12350, ATMEL410 |
+| OSBRiDGE | m2410 | ATMEL12350 |
+| OSBRiDGE | p2410 | ATMEL12350 |
+| OSBRiDGE | p2410i | ATMEL12350 |
+| Ovislink | Airlive WL-1100AP | ATMEL410 |
+| SMC | MC2655W | ATMEL410 |
+| smartBridges | airPoint, airBridge | ATMEL410 |
+| SparkLAN (Gemtek subs.) | WX-1590 | ATMEL410 |
+| SparkLAN (Gemtek subs.) | WX-1590L | ATMEL12350 |
| Svec | FD1811 | ATMEL12350, ATMEL410 |
-| Tellus Group Corp | A14 | ATMEL12350 |
-| Wline | A14 | ATMEL12350 |
-| i-Tec | i-Tec AP SILVER | ATMEL410 |
-| i-Tec | i-Tec AP GOLD | ATMEL410 |
-| Infosmart | INAP88 | ATMEL410 |
-| Ark | SOHO-WLAP | ATMEL410 |
-| Svec | SOHO-WLAP | ATMEL410 |
-| GigaFast | WF711-AP | ATMEL12350 |
-| Cameo Communications | WLB-2000/2001 | ATMEL410 |
-| Wline | W-2000 | ATMEL410 |
+| Svec | SOHO-WLAP | ATMEL410 |
+| Target | WLAP 24212 | ATMEL410 |
+| Telecom | T-Sinus 130X | ATMEL410 |
+| Tellus Group Corp | A14 | ATMEL12350 |
+| Topcom | SkyLanR@cer 500 | ATMEL410 |
+| Wline | A14 | ATMEL12350 |
+| Wline | W-2000 | ATMEL410 |
+| WLink Syst. (D-Link subs.) | Wen-2021 | ATMEL410 |
+| Yakumo | Access Point | ATMEL410 |
+| Zoom | ZoomAir11AP | NWN |
+-------------------------------+-----------------------+----------------------+
Please note that although many of these devices may use the same MIB enterprise
identification, the actual MIBs may slightly differ, depending on whether
-the manufacturer has decided upon hardware modifications.
+the manufacturer has decided upon firmware modifications.
In ap-config, an effort has been made to only include functionality
for features that are common to 2 or more MIBs with the same enterprise
ID. If you have qualms, then please send us the MIB file that came
with your device!
+
WARNING 1: There actually exist two different kinds of ATMEL private MIBs,
-regardless of its enterprise ID - each with a different set of operational
-modes.
-One type the private MIB comes with is often referred to as "Access Point"
-firmware, often marked with shortcut "AP". Another one is referred to as
-"Wireless Adapter firmware", marked with shortcut "WA".
-"WA" firmware has questionable advantage that it is claimed to allow APs
-equipped with this firmware to connect with non-ATMEL-based APs of other
-manufacturers using "AP-client (Infrastructure)" mode (in reality, this is,
-unfortunately, often false), at cost of supporting no true "AP" mode
-(only Ad-Hoc and AP-client modes are available).
+regardless of its enterprise ID - each with different set of operational modes.
+The first MIB type comes with firmware referred to as 'Access Point firmware'
+('AP firmware').
+Second MIB type comes with firmware referred to as 'Wireless Adapter firmware'
+('WA firmware').
+WA firmwares have questionable advantage of being able to connect
+to WDS-equipped APs (some non-ATMEL-based APs) using "AP-Client
+(Infrastructure)" mode (in reality, this is, unfortunately, often false),
+at cost of supporting no true "AP" mode (only Ad-Hoc and AP-client modes
+are available).
Whenever you can, use firmware labelled as "AP" and not "WA".
"AP" version supports most networking modes, compared to "WA" version.
-MIBs AND FIRMWARES WITH "WA" LABEL ARE NOT SUPPORTED WITH AP-UTILS!
+!!!!!!!!! "WA" FIRMWARES ARE _NOT_ SUPPORTED BY AP-UTILS !!!!!!!!!
They may appear to _partially_ work with ap-utils, but you
can cause harm to your AP if you use ap-utils with such firmware.
Do not complain if you use ap-utils with such firmware and it damages
your AP!
+The only thing you may eventually use "WA" firmware for, is to downgrade
+your device to "AP" firmware with number lower than the one used previously
+- see below. This applies to devices with RFMD radio only.
+
+To understand firmware naming schemes better, it is highly recommended
+that you'll read the ap-tftp manpage.
+
+
WARNING 2: Users of Tellus A14 and its OEM versions (Wline A14, Veriplus
-WL-A14, etc. - ATMEL12350 AP "types"): Beware. Firmwares up to (including)
-version 0.2.2.19 for these APs contain a SERIOUS BUG that may
-result in unpredictable and persistent lock-up of your AP, when configured
-over SNMP or even via its web interface. There's unfortunately no way
-of how to "resurrect" such a locked-up AP - the only option is to return
-the AP to its supplier for replacement.
+WL-A14, etc. - generally all AP types with ATMEL12350 MIB, equipped with
+web interface):
+Beware! Firmwares up to (including) version 0.2.2.19 for these APs contain
+a SERIOUS BUG that may result in unpredictable and persistent lock-up
+of your AP, when configured over SNMP or even via its web interface.
+There's unfortunately no way of how to "resurrect" such a locked-up AP
+- the only option is to return the AP to its supplier for replacement.
+
To be on the safe side, we recommend everyone to upgrade to any firmware
-version above 0.2.2.19. At the time of this writing,
-you should be able to download firmware v. 0.2.2.21 including
-the corresponding TFTP utility for example from the following link:
+version above 0.2.2.19. More on firmware upgrade subject see next section.
+
+
+WARNING 3: Users of smartBridges equipment ("airPoint" and "airBridge"
+models): pay close attention to the WARNING 1 - only the "AP" firmware
+is supported! Do not expect "airBridge" models with their native
+firmware to work properly with ap-utils - only "airPoint" device
+firmware is supported. Future support for "airBridge" device firmware
+is very unlikely, becouse it really supports a subset of "airPoint"
+(AP) firmware functionality.
+
+All named devices use identical hardware with differences only in
+in connector types used, casing and use of industrial-grade components.
+This also means that the firmware for "airPoint" and "airBridge" models
+could be used interchangeably among these kinds of devices, however,
+loading of airPoint firmware into airBridge device has not been verified
+yet, so unless this warning disappears or states otherwise, flashing
+your (airBridge) device with AP firmware for different (airPoint)
+model (in order to gain ap-utils support) is discouraged.
+
+
+Firmware available free of charge for ATMEL12350 MIB devices:
+-------------------------------------------------------------
+If you own device that is detected as 'ATMEL12350 MIB' by ap-utils, chances
+are that free-of-charge EZYNET-enhanced firmware upgrade is eligible for you!
+Upgrading firmware in your AP may have following advantages for you:
+
+- supporting more options; apparently the richest set of them available
+ for ATMEL+RFMD devices to day
+
+- preventing 'death by reconfiguration bug' present in older firmwares.
+
+- RSSI diagnostics in both AP and client modes at no cost!
+
+Your device will qualify for free-of-charge firmware upgrade in case
+it would satisfy the following (SATISFYING ALL POINTS IS MANDATORY!):
+
+1. It is detected as 'ATMEL12350' MIB and 'GEMTEK' vendor MIB extension
+ by ap-utils.
+
+2. It has second SRAM chip. The sign of second SRAM chip availability
+ is presence of (poor, locky) web management interface.
+
+3. it runs firmware 0.2.x.x except 0.2.1.1
+
+Should it satisfy all three points above, you may now perform upgrading.
+
+0. READ ENTIRE MANPAGE FOR ap-tftp !!!
+
+1. download the AP firmware (*.rom files) by EZYNET from one of the following
+ URLs:
+
+ ftp://ftp.unob.cz/pub/firmware/wlan/atmel+rfmd/
+
+ http://www.e-zy.net/ (descend through sections: Support -> AT510 based
+ units -> Firmware -> AP)
+
+2. perform AP upgrade either by original windows-based ATMEL tftp client,
+ or by 'ap-tftp' utility supplied with ap-utils:
+
+ First, upgrade with 0.2.0.20.rom image. This one is so-called 'backup'
+ firmware. It lacks (needless) web, and is activated only if so-called
+ 'primary' firmware fails for some reason.
+
+ Second, upgrade with 0.2.2.20.rom image. This is the 'primary' firmware
+ with web interface (which you apparently wont use at all).
+
+3. You now have device with ATMEL12350 MIB & EZYNET extensions !!!
+
+Should you observe that the device suddenly switched to 0.2.0.20 firmware
+after some time, it means that the 'primary' firmware has been damaged
+in flash by some odd circumstances, and you should repeat step 2. above
+to fix it.
+[Note: this may only happen under _extremely_ rare circumstances, when,
+for example, lightning stroke appears too close to the AP, or when AP
+power supply voltage suddenly drops below sane level and returns back]
-http://www.sparklan.com/download.htm
+Should you need firmware downgrade for any reason, it is possible, provided
+that you have the original firmware *.rom file(s) for your devices.
+If your firmware was 0.2.2.19 or lower, you'll also need to temporarily
+upgrade to the following WA firmware, which will allow you to subsequently
+downgrade to AP firmware release with lower number than (EZYNET's) 0.2.2.20:
-or send your AP to its supplier for firmware replacement in case
-he's able to supply you with customarily enhanced firmware version
-above 0.2.2.19.
+http://www.sparklan.com/Downloads/11b/AP/WX-1590_Client-Mode/Firmware/
+Client_Mode_firmware_WX-1590_v0.3.2.6.zip
Frequently Asked Questions
--------------------------
Try to install the accompanying Windows SNMP setup utility, and
browse the directory to which you have got it installed.
If you find the mentioned file, send this file via e-mail
-to <aputils-wmibs at cedric dot vabo dot cz> or <roma at polesye dot net>.
+to <jr-aputils at cedric dot vabo dot cz> or <roma at polesye dot net>.
Chances are, that this file matches more or less the MIBs
of other devices already being supported by ap-utils, and thus the
utility code can be tailored accordingly to support your AP
Where to get more information
-----------------------------
-You can find info about utils from this README and from man pages
-for utilites; as well as in INSTALL and TODO files at toplevel directory.
+You can find info about utilities from this README and from respective
+man pages (see Documentation directory), as well as from INSTALL and TODO
+files in the toplevel directory.
+Documentation/FAQ file may be of some interrest to you too.
Additional info and useful links may be found in the Documentation
directory of this package and on our web page http://ap-utils.polesye.net/ .
+Note, however, that informations on the web may somewhat lag behind this
+source.
+You may also peek into ChangeLog file if you are more of a technical person,
+for a list of changes and developer notes.
We also run maillist to discuss any related topics - for more info please
visit http://ap-utils.polesye.net/ .
Any help in developing, bugfixing and testing is welcome. Also any
additional documentation, free hardware to support this project and job offers
are greatly welcome.
-Please send your comments, if any, to my email -
-roma at polesye.net or to the maillist.
+Please send your comments, if any, to my email - roma at polesye.net
+or to the maillist.
Before sending bugreports please be sure to read docs (firstly, README and FAQ)
and upgrade to the latest version of ap-utils. If problem still exists, then
Andy Igoshin <ai at vsu.ru> - AIX 4.3.3 and AIX native compiler port, a lot of big_endian and code fixes
Rahul G <rahul at smartbridges.com> - sources to encode object identifiers
Wojciech Puchar <wojtek at tensor.3miasto.net> - polish localization, hardware for testing
-Jan Rafaj <jr-aputils at cedric.vabo.cz> - spelling fixes, bugfixes, functionality enhancements, Q/A
+Jan Rafaj <jr-aputils at cedric.vabo.cz> - spelling fixes, bugfixes, many functionality enhancements, testing, further development and Q/A
+E-ZY.NET for very kind permission to freely use their functionally enhanced firmware for ATMEL+RFMD boards
Ashley Gittins <ap-utils at purple dot dropbear dot id dot au> - ap-mrtg changes to support ATMEL12350/ME-102
Daniel E. Eisenbud <eisenbud at cbio dot mskcc dot org> - MacOS X and Solaris porting
* porting to other Unix'es and platforms (ALWAYS)
* support new AP's (ALWAYS)
-* (maybe): move S_DEFCHAN message up to screen beginning in set_oeminfo.c
+* try to implement an ap-dfu utility [already scheduled for next release!]
+ - ap-dfu, ap-dfu.8 (internal developer's notes):
+ - what DFU really stands for (and that ap-dfu contains some extra
+ Atmel-specific functionality)
+ - only for ATMEL AT76C510-based hardware
+ - *hci stuff - at least on Linux (prerequisities)
+ - PIDs and VIDs for INTERSIL & RFMD based boards.
+ If the AP does not present itself with PID & VID in kernel
+ ring buffer (use dmesg for displaying) after it has been plugged
+ to USB interface, it means that the flash content is apparently
+ damaged and AP dead (the only solution in such case is to return
+ AP to the reseller for replacement).
+ - mandate user to read ap-tftp.8 warning sections first!
+ - it is safe (?) if AP experiences power outtage during upgrade, or
+ if ap-dfu bails out with error due to USB interface inconsistency.
+ In such case, it is safe to start ap-dfu again, and it will continue
+ where it left off - typically, when the AP is stuck in DFU mode with
+ steady LEDs light.
+* (WA* firmware support?): get_mib_details(): rename to get_fw_details(); add
+ FW (AP, WA) type detection (fw_type); rename ap_type to fw_eprises;
+ rename ap_vendorext to fw_vendorext; enterprises should be named
+ 410, 12350, NWN (strip down length)
+* make the screen appearance of deletion order same as for MAC auth. list
+* implement 'Insert' function for places where item lists are used (MAC
+ auth. list, list of APs from ~/.ap-config)
* add S Search key in get_opts that would allow - instead of connecting -
searching for APs first
-
-* implement displaying of 'NetworkSettings' OID structure in place of
- 'Stations' submenu, if the target AP using VERNET ATMEL12350 MIB
- is in STA mode. This would finally bring us client-mode diagnostics
- (client-side RSSI and wireless connection status), that has been
- been missing so badly for a long time (for other ATMEL12350 MIBs
- and ATMEL410 non-SB MIBs, it will apparently stay missing forever,
- unfortunately)
+* WISHLIST (and very unlikely this will happen): assemble JTAG interface
+ documentation (and try to implement ap-jflash utility as last-resort flash
+ for APs with 'dead' flash memory content)
+* try to assemble table of configuration value names & corresponding offsets
+ in *.cfg (default conf.) files (may be different among different firmwares!)
* switch the 'Status' field in 'Stations' from numeric to verbose representation
-* add 802.1X support for ATMEL12350 APs
* patch test.c so that it works with ATMEL12350 devices
-* update src/ap-gl.c to reflect changes made in src/stations.c during 1.4.1pre*
- transition
* try to not rely on actually configured subnet information on each
network interface in ap scan
* implement rssi view toggling for nwn_stations()
* update manpages
-* increase/disable knownAPs limit
+* increase/disable KnownAPs limit
* use iptraf like ethernet.desc file to store stations description
* add per client LQ and RSSI stats to ap-mrtg
+* add man page for ap-rrd
bin_PROGRAMS = ap-gl
-ap_gl_SOURCES = ap-gl.c auth_mac.c bridge.c stations.c
-ap_gl_LDADD = ../lib/libap.a -lmenu
+ap_gl_SOURCES = ap-gl.c auth.c bridge.c stations.c
+ap_gl_LDADD = ../lib/libap.a -lmenu @CURSESLIBS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CURSESLIBS = @CURSESLIBS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
bin_PROGRAMS = ap-gl
-ap_gl_SOURCES = ap-gl.c auth_mac.c bridge.c stations.c
-ap_gl_LDADD = ../lib/libap.a -lmenu
+ap_gl_SOURCES = ap-gl.c auth.c bridge.c stations.c
+ap_gl_LDADD = ../lib/libap.a -lmenu @CURSESLIBS@
subdir = ap-gl
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
bin_PROGRAMS = ap-gl$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
-am_ap_gl_OBJECTS = ap-gl.$(OBJEXT) auth_mac.$(OBJEXT) bridge.$(OBJEXT) \
+am_ap_gl_OBJECTS = ap-gl.$(OBJEXT) auth.$(OBJEXT) bridge.$(OBJEXT) \
stations.$(OBJEXT)
ap_gl_OBJECTS = $(am_ap_gl_OBJECTS)
ap_gl_DEPENDENCIES = ../lib/libap.a
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ap-gl.Po ./$(DEPDIR)/auth_mac.Po \
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ap-gl.Po ./$(DEPDIR)/auth.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/bridge.Po ./$(DEPDIR)/stations.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ap-gl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_mac.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bridge.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stations.Po@am__quote@
/*
- * ap-config.c from Wireless Access Point Utilites for Unix
+ * ap-gl.c from Wireless Access Point Utilites for Unix
*
* Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
*
WINDOW *win_for_menu, *sub_for_menu, *win_for_help, *main_win, *main_sub;
char *community, *name;
-int sockfd, atmel410_filter = 1, wait_mode = WAIT_FOREVER;
+int atmel410_filter = 1, wait_mode = WAIT_FOREVER;
struct in_addr ap_ip;
char *prog_title = "Wireless AP Configurator for GlobalSun";
char set_oeminfo_allowed = 0;
0},
{_("Wireless"), _("Set wireless options"), atmel_wireless, 0},
{_("Privacy"), MENU_ENCRYPT, wep, 0},
- {_("MAC auth"), MENU_MAC, atmel_auth_mac, 0},
+ {_("Auth"), MENU_AUTH, atmel_auth, 0},
{_("Community"), MENU_COMMUNITY, AuthorizedSettings, 0},
{_("Radio"), _("Set radio signal power and antenna options"),
power, 0},
initscr();
if (has_colors()) {
start_color();
- init_pair(1, COLOR_BLACK, COLOR_CYAN);
- init_pair(2, COLOR_BLACK, COLOR_WHITE);
- init_pair(3, COLOR_BLACK, COLOR_GREEN);
- init_pair(4, COLOR_WHITE, COLOR_RED);
+
+ /* Never trust that these are defined by default. */
+ init_pair (COLOR_RED, COLOR_RED, COLOR_BLACK );
+ init_pair (COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
+ init_pair (COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);
+ init_pair (COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);
+ init_pair (COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK );
+ init_pair (COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
+
+ init_pair(11, COLOR_BLACK, COLOR_CYAN);
+ init_pair(12, COLOR_BLACK, COLOR_WHITE);
+ init_pair(13, COLOR_BLACK, COLOR_GREEN);
+ init_pair(14, COLOR_WHITE, COLOR_RED);
}
noraw();
/* draw help win */
win_for_help = newwin(1, COLS, LINES - 1, 0);
- wattrset(win_for_help, COLOR_PAIR(1));
+ wattrset(win_for_help, COLOR_PAIR(11));
print_help("");
/* draw title win */
win_for_title = newwin(1, COLS, 0, 0);
- wattrset(win_for_title, COLOR_PAIR(1));
+ wattrset(win_for_title, COLOR_PAIR(11));
for (i = 0; i < COLS; i++)
waddch(win_for_title, ' ');
sprintf(message, _("Wireless Access Point Configurator ver. %s"),
sub_for_menu = derwin(win_for_menu, LINES - 5, MCOLS - 2, 2, 1);
set_menu_win(NULL, win_for_menu);
set_menu_sub(NULL, sub_for_menu);
- attrset(COLOR_PAIR(1));
+ attrset(COLOR_PAIR(11));
/* íÁÌÀÀ ÒÁÍËÕ */
waddch(win_for_menu, ACS_BSSB);
--- /dev/null
+/*
+ * auth.c from Access Point SNMP Utils for Linux
+ *
+ * Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License Version 2 from
+ * June 1991 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include "ap-utils.h"
+
+#define MAX_LINES LINES-6
+#define PACKET_ERROR _("AuthorizedMacTableString packet error")
+
+#define AUTH_TITLE _("APClient authorization credentials")
+
+#define MAC_AUTH _("[A] MAC authorization: ")
+#define MAC_ADD _("Enter MAC: ")
+#define MAC_DEL _("Delete Num: ")
+#define MAC_HEADER _("NUM MAC address")
+#define MAC_HELP _("A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit")
+#define MAC_RADIUS_HELP _("A - auth; IPSTF - set; W - write conf; Q - quit")
+#define MAC_NONE_HELP _("A - auth; W - write conf; Q - quit")
+
+#define RADIUS_IP _("[I] RADIUS SERVER IP: ")
+#define RADIUS_DEST_PORT _("[P] RADIUS SERVER PORT: ")
+#define RADIUS_SECRET _("[S] RADIUS SERVER SECRET: ")
+#define RADIUS_TIME _("[T] REAUTHORIZATION TIME: ")
+#define RADIUS_PORT _("[F] RADIUS SOURCE PORT: ")
+
+extern WINDOW *main_sub;
+extern int LINES;
+extern short ap_type;
+
+void atmel_auth()
+{
+ struct AuthorizedMacTableString {
+ unsigned int short Action;
+ unsigned int short NumOfAllTableAddresses;
+ unsigned int short NumOfCurrentAddress;
+ unsigned char MacAddress[6];
+ } *AuthMac = NULL, get;
+
+ struct MacListStat *pmac, *first = NULL, *curr = NULL;
+ uint32_t auth_mac_hw;
+
+ char EnableAuthMAC[] =
+ { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x02, 0x06, 0x01, 0x00
+ };
+ char AutorizedMac[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x02, 0x06, 0x02, 0x00
+ };
+
+ char AuthRadiusIP[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x02, 0x06, 0x03, 0x00
+ };
+ char AuthRadiusSecret[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x02, 0x06, 0x04, 0x00
+ };
+ char AuthRadiusSecretLength[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x02, 0x06, 0x05, 0x00
+ };
+ char AuthRadiusPort[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x02, 0x06, 0x06, 0x00
+ };
+ char AuthRadiusReauthorizationTime[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x02, 0x06, 0x07, 0x00
+ };
+ char AuthRadiusDestinPort[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x02, 0x06, 0x08, 0x00
+ };
+
+ char *auth_types[] = { _("Internal"), OFF, "RADIUS" };
+
+ struct in_addr radius_ip;
+ char message[1024], m_authmac = 0, radius_secret[32], m_radius_secret=0, m_radius_ip=0;
+ int radius_port, radius_time, radius_dest_port, m_radius_port=0, m_radius_time=0, m_radius_dest_port=0;
+ int i, total_mac, auth_mac = 0, mac_num = 0, begin=0, end=0, c=0;
+ varbind varbinds[7];
+
+ memcpy(radius_secret, _("<hidden>"), 32);
+
+ varbinds[0].oid = EnableAuthMAC;
+ varbinds[0].len_oid = sizeof(EnableAuthMAC);
+ varbinds[0].type = NULL_VALUE;
+ varbinds[0].len_val = 0;
+
+ varbinds[1].oid = AuthRadiusIP;
+ varbinds[1].len_oid = sizeof(AuthRadiusIP);
+ varbinds[1].type = NULL_VALUE;
+ varbinds[1].len_val = 0;
+
+ varbinds[3].oid = AuthRadiusPort;
+ varbinds[3].len_oid = sizeof(AuthRadiusPort);
+ varbinds[3].type = NULL_VALUE;
+ varbinds[3].len_val = 0;
+
+ varbinds[4].oid = AuthRadiusReauthorizationTime;
+ varbinds[4].len_oid = sizeof(AuthRadiusReauthorizationTime);
+ varbinds[4].type = NULL_VALUE;
+ varbinds[4].len_val = 0;
+
+ varbinds[2].oid = AuthRadiusDestinPort;
+ varbinds[2].len_oid = sizeof(AuthRadiusDestinPort);
+ varbinds[2].type = NULL_VALUE;
+ varbinds[2].len_val = 0;
+
+ print_help(WAIT_RET);
+ if (snmp(varbinds, 5, GET) < 5) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+ print_top(NULL, AUTH_TITLE);
+
+ auth_mac = *(varbinds[0].value);
+ memcpy(&radius_ip.s_addr, varbinds[1].value, 4);
+ memcpy(&radius_dest_port, varbinds[2].value, 2);
+ radius_dest_port = ntohs(radius_dest_port);
+ memcpy(&radius_port, varbinds[3].value, 2);
+ radius_port = ntohs(radius_port);
+ memcpy(&radius_time, varbinds[4].value, 2);
+ radius_time = ntohs(radius_time);
+
+ sprintf(message, "%s%s", MAC_AUTH, auth_types[auth_mac-1]);
+ mvwaddstr(main_sub, 0, 0, message);
+ wrefresh(main_sub);
+
+ total_mac = 0;
+ mac_num = 0;
+
+ while (mac_num <= total_mac) {
+ get.Action = 0x02; rshort(get.Action);
+ get.NumOfAllTableAddresses = total_mac; rshort(get.NumOfAllTableAddresses);
+ get.NumOfCurrentAddress = mac_num; rshort(get.NumOfCurrentAddress);
+
+ varbinds[0].oid = AutorizedMac;
+ varbinds[0].len_oid = sizeof(AutorizedMac);
+ varbinds[0].value = (char *) &get;
+ varbinds[0].len_val = 12;
+ varbinds[0].type = STRING_VALUE;
+
+ i = snmp(varbinds, 1, SET);
+ if (i == 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+ if (i < 0)
+ break;
+
+ if (varbinds[0].len_val == 12) {
+ if (AuthMac)
+ free(AuthMac);
+ AuthMac =
+ (struct AuthorizedMacTableString *) malloc(varbinds[0].
+ len_val);
+ memcpy(AuthMac, varbinds[0].value, varbinds[0].len_val);
+/* AuthMac =
+ (struct AuthorizedMacTableString *) varbinds[0].value;*/
+ } else {
+ print_helperr(PACKET_ERROR);
+ goto exit;
+ }
+
+ rshort(AuthMac->NumOfAllTableAddresses);
+ total_mac =
+ (AuthMac->NumOfAllTableAddresses ==
+ 65535) ? 0 : AuthMac->NumOfAllTableAddresses;
+
+ if (mac_num) {
+ if (first == NULL) {
+ first = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = first;
+ } else {
+ curr->next = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = curr->next;
+ }
+ memcpy(curr->addr, AuthMac->MacAddress, 6);
+ curr->next = NULL;
+ }
+ mac_num++;
+ }
+
+choose_view:
+ clear_main(2);
+ if (auth_mac == 1) {
+ mvwaddstr(main_sub, 2, 1, MAC_HEADER);
+ begin = 1;
+ end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
+ scroll_rows(first, begin, end, 3, 0);
+ print_help(MAC_HELP);
+ } else if(auth_mac == 3) {
+ sprintf(message, "%s%s", RADIUS_IP, inet_ntoa(radius_ip));
+ mvwaddstr(main_sub, 2, 0, message);
+ sprintf(message, "%s%d", RADIUS_DEST_PORT, radius_dest_port);
+ mvwaddstr(main_sub, 3, 0, message);
+ sprintf(message, "%s%s", RADIUS_SECRET, radius_secret);
+ mvwaddstr(main_sub, 4, 0, message);
+ sprintf(message, "%s%d", RADIUS_TIME, radius_time);
+ mvwaddstr(main_sub, 5, 0, message);
+ sprintf(message, "%s%d", RADIUS_PORT, radius_port);
+ mvwaddstr(main_sub, 6, 0, message);
+
+ wrefresh(main_sub);
+ print_help(MAC_RADIUS_HELP);
+ } else {
+ print_help(MAC_NONE_HELP);
+ }
+
+ if (i < 0) {
+ mvwaddstr(main_sub, 3, 1, _("(insufficient community used)"));
+ wrefresh(main_sub);
+ }
+
+ noecho();
+
+ while (1) {
+ switch (getch()) {
+ case 'q':
+ case 'Q':
+ goto quit;
+ case 'a':
+ case 'A':
+ auth_mac = menu_choose(0, strlen(MAC_AUTH), auth_types, 3)+1;
+ clear_main_new(0, 1);
+ print_menusel(0, 0, MAC_AUTH, auth_types[auth_mac-1]);
+ m_authmac = 1;
+ goto choose_view;
+ case 'S':
+ case 's':
+ if (auth_mac != 3) {
+ continue;
+ }
+ get_value(radius_secret, 4, strlen(RADIUS_SECRET), 32, ANY_STRING, 0, 0, NULL);
+ m_radius_secret = 1;
+ continue;
+ case 'P':
+ case 'p':
+ if (auth_mac != 3) {
+ continue;
+ }
+ get_value(message, 3, strlen(RADIUS_DEST_PORT), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
+ radius_dest_port = atoi(message);
+ m_radius_dest_port = 1;
+ continue;
+ case 'T':
+ case 't':
+ if (auth_mac != 3) {
+ continue;
+ }
+ get_value(message, 5, strlen(RADIUS_TIME), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
+ radius_time = atoi(message);
+ m_radius_time = 1;
+ continue;
+ case 'F':
+ case 'f':
+ if (auth_mac != 3) {
+ continue;
+ }
+ get_value(message, 6, strlen(RADIUS_PORT), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
+ radius_port = atoi(message);
+ m_radius_port = 1;
+ continue;
+ case 'I':
+ case 'i':
+ if (auth_mac != 3) {
+ continue;
+ }
+ get_ip(&radius_ip, 2, strlen(RADIUS_IP), MAC_RADIUS_HELP);
+ m_radius_ip = 1;
+ continue;
+ case 'd':
+ case 'D':
+ if (auth_mac != 1) {
+ continue;
+ }
+ mvwaddstr(main_sub, 1, 0, MAC_DEL);
+ get_value(message, 1, strlen(MAC_DEL), 5, INT_STRING,
+ 1, mac_num - 1, NULL);
+ i = atoi(message);
+ if (i == 1) {
+ pmac = first;
+ first = first->next;
+ free(pmac);
+ } else {
+ curr = first;
+ while (--i > 1)
+ curr = curr->next;
+ pmac = curr->next;
+ curr->next = pmac->next;
+ free(pmac);
+ }
+ mac_num--;
+ begin = 1;
+ end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
+ scroll_rows(first, begin, end, 3, 0);
+ clear_main_new(1, 2);
+ continue;
+ case 'n':
+ case 'N':
+ if (auth_mac != 1) {
+ continue;
+ }
+ mvwaddstr(main_sub, 1, 0, MAC_ADD);
+ curr = first;
+ while (curr && curr->next)
+ curr = curr->next;
+ if (first == NULL) {
+ first = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = first;
+ } else {
+ curr->next = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = curr->next;
+ }
+ curr->next = NULL;
+ mac_num++;
+ get_mac(curr->addr, 1, strlen(MAC_ADD));
+ begin = 1;
+ end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
+ scroll_rows(first, begin, end, 3, 0);
+ clear_main_new(1, 2);
+ continue;
+ case 'w':
+ case 'W':
+ i=0;
+ if (m_authmac) {
+ auth_mac_hw = swap4(auth_mac);
+ varbinds[i].oid = EnableAuthMAC;
+ varbinds[i].len_oid = sizeof(EnableAuthMAC);
+ varbinds[i].type = INT_VALUE;
+ varbinds[i].value = (char *) &auth_mac_hw;
+ varbinds[i].len_val = 1;
+ i++;
+ }
+
+ if (m_radius_ip) {
+ radius_ip.s_addr = htonl(radius_ip.s_addr);
+ radius_ip.s_addr = swap4(radius_ip.s_addr);
+ varbinds[i].oid = AuthRadiusIP;
+ varbinds[i].len_oid = sizeof(AuthRadiusIP);
+ varbinds[i].value = (char *) &radius_ip.s_addr;
+ varbinds[i].len_val = 4;
+ varbinds[i].type = INT_VALUE;
+ i++;
+ }
+
+ if (m_radius_dest_port) {
+ varbinds[i].oid = AuthRadiusDestinPort;
+ varbinds[i].len_oid = sizeof(AuthRadiusDestinPort);
+ radius_dest_port = htons(radius_dest_port);
+ varbinds[i].value = (char *) &radius_dest_port;
+ varbinds[i].len_val = 2;
+ varbinds[i].type = 0x02;
+ i++;
+ }
+
+ if (m_radius_time) {
+ varbinds[i].oid = AuthRadiusReauthorizationTime;
+ varbinds[i].len_oid = sizeof(AuthRadiusReauthorizationTime);
+ radius_time = htons(radius_time);
+ varbinds[i].value = (char *) &radius_time;
+ varbinds[i].len_val = 2;
+ varbinds[i].type = 0x02;
+ i++;
+ }
+
+ if (m_radius_port) {
+ varbinds[i].oid = AuthRadiusPort;
+ varbinds[i].len_oid = sizeof(AuthRadiusPort);
+ radius_port = htons(radius_port);
+ varbinds[i].value = (char *) &radius_port;
+ varbinds[i].len_val = 2;
+ varbinds[i].type = 0x02;
+ i++;
+ }
+ if (m_radius_secret) {
+ c = strlen(radius_secret);
+ varbinds[i].oid = AuthRadiusSecretLength;
+ varbinds[i].len_oid = sizeof(AuthRadiusSecretLength);
+ varbinds[i].value = (char *)&c;
+ varbinds[i].len_val = 1;
+ varbinds[i].type = INT_VALUE;
+ i++;
+ varbinds[i].oid = AuthRadiusSecret;
+ varbinds[i].len_oid = sizeof(AuthRadiusSecret);
+ varbinds[i].value = radius_secret;
+ varbinds[i].len_val = c;
+ varbinds[i].type = STRING_VALUE;
+ i++;
+ }
+
+ print_help(WAIT_SET);
+ if (snmp(varbinds, i, SET) <= 0) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+
+ curr = first;
+ i = 1;
+ while (curr != NULL) {
+ get.Action = 0x01; rshort(get.Action);
+ get.NumOfAllTableAddresses = mac_num - 1; rshort(get.NumOfAllTableAddresses);
+ get.NumOfCurrentAddress = i; rshort(get.NumOfCurrentAddress);
+ memcpy(get.MacAddress, curr->addr, 6);
+ varbinds[0].oid = AutorizedMac;
+ varbinds[0].len_oid = sizeof(AutorizedMac);
+ varbinds[0].value = (char *) &get;
+ varbinds[0].len_val = 12;
+ varbinds[0].type = STRING_VALUE;
+ print_help(WAIT_SET);
+ if (snmp(varbinds, 1, SET) <= 0) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+ if (varbinds[0].len_val != 12) {
+ print_helperr(PACKET_ERROR);
+ goto exit;
+ }
+ curr = curr->next;
+ i++;
+ }
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
+ print_help(DONE_SET);
+ goto exit;
+ case KEY_DOWN:
+ case KEY_RIGHT:
+ if (auth_mac != 1) {
+ continue;
+ }
+ if (end < mac_num) {
+ begin++;
+ end++;
+ scroll_rows(first, begin, end, 3, 0);
+ }
+ continue;
+ case KEY_UP:
+ case KEY_LEFT:
+ if (auth_mac != 1) {
+ continue;
+ }
+ if (begin > 1) {
+ begin--;
+ end--;
+ scroll_rows(first, begin, end, 3, 0);
+ }
+ continue;
+ }
+ continue;
+ }
+
+ print_help(ANY_KEY);
+ exit:
+ getch();
+ quit:
+ while ((curr = first)) {
+ first = curr->next;
+ free(curr);
+ }
+ if (AuthMac)
+ free(AuthMac);
+ print_top(NULL, NULL);
+ clear_main(0);
+}
+++ /dev/null
-/*
- * auth.c from Access Point SNMP Utils for Linux
- *
- * Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License Version 2 from
- * June 1991 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include "ap-utils.h"
-
-#define MAX_LINES LINES-6
-#define PACKET_ERROR _("AuthorizedMacTableString packet error")
-
-#define MAC_AUTH _("[A] MAC authorization: ")
-#define MAC_ADD _("Enter MAC: ")
-#define MAC_DEL _("Delete Num: ")
-#define MAC_TITLE _("Authorized MAC addresses")
-#define MAC_HEADER _("NUM MAC address")
-#define MAC_HELP _("A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit")
-#define MAC_RADIUS_HELP _("A - auth; IPSTF - set; W - write conf; Q - quit")
-#define MAC_NONE_HELP _("A - auth; W - write conf; Q - quit")
-
-#define RADIUS_IP _("[I] RADIUS SERVER IP: ")
-#define RADIUS_DEST_PORT _("[P] RADIUS SERVER PORT: ")
-#define RADIUS_SECRET _("[S] RADIUS SERVER SECRET: ")
-#define RADIUS_TIME _("[T] REAUTHORIZATION TIME: ")
-#define RADIUS_PORT _("[F] RADIUS SOURCE PORT: ")
-
-extern WINDOW *main_sub;
-extern int LINES;
-extern short ap_type;
-
-void atmel_auth_mac()
-{
- struct AuthorizedMacTableString {
- unsigned int short Action;
- unsigned int short NumOfAllTableAddresses;
- unsigned int short NumOfCurrentAddress;
- unsigned char MacAddress[6];
- } *AuthMac = NULL, get;
-
- struct MacListStat *pmac, *first = NULL, *curr = NULL;
- uint32_t auth_mac_hw;
-
- char EnableAuthMAC[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x01, 0x00
- };
- char AutorizedMac[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x02, 0x00
- };
-
- char AuthRadiusIP[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x03, 0x00
- };
- char AuthRadiusSecret[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x04, 0x00
- };
- char AuthRadiusSecretLength[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x05, 0x00
- };
- char AuthRadiusPort[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x06, 0x00
- };
- char AuthRadiusReauthorizationTime[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x07, 0x00
- };
- char AuthRadiusDestinPort[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x08, 0x00
- };
-
- char *auth_types[] = { _("Internal"), OFF, "RADIUS" };
-
- struct in_addr radius_ip;
- char message[1024], m_authmac = 0, radius_secret[32], m_radius_secret=0, m_radius_ip=0;
- int radius_port, radius_time, radius_dest_port, m_radius_port=0, m_radius_time=0, m_radius_dest_port=0;
- int i, total_mac, auth_mac = 0, mac_num = 0, begin=0, end=0, c=0;
- varbind varbinds[7];
-
- memcpy(radius_secret, _("<hidden>"), 32);
-
- varbinds[0].oid = EnableAuthMAC;
- varbinds[0].len_oid = sizeof(EnableAuthMAC);
- varbinds[0].type = NULL_VALUE;
- varbinds[0].len_val = 0;
-
- varbinds[1].oid = AuthRadiusIP;
- varbinds[1].len_oid = sizeof(AuthRadiusIP);
- varbinds[1].type = NULL_VALUE;
- varbinds[1].len_val = 0;
-
- varbinds[3].oid = AuthRadiusPort;
- varbinds[3].len_oid = sizeof(AuthRadiusPort);
- varbinds[3].type = NULL_VALUE;
- varbinds[3].len_val = 0;
-
- varbinds[4].oid = AuthRadiusReauthorizationTime;
- varbinds[4].len_oid = sizeof(AuthRadiusReauthorizationTime);
- varbinds[4].type = NULL_VALUE;
- varbinds[4].len_val = 0;
-
- varbinds[2].oid = AuthRadiusDestinPort;
- varbinds[2].len_oid = sizeof(AuthRadiusDestinPort);
- varbinds[2].type = NULL_VALUE;
- varbinds[2].len_val = 0;
-
- print_help(WAIT_RET);
- if (snmp(varbinds, 5, GET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- print_top(NULL, MAC_TITLE);
-
- auth_mac = *(varbinds[0].value);
- memcpy(&radius_ip.s_addr, varbinds[1].value, 4);
- memcpy(&radius_dest_port, varbinds[2].value, 2);
- radius_dest_port = ntohs(radius_dest_port);
- memcpy(&radius_port, varbinds[3].value, 2);
- radius_port = ntohs(radius_port);
- memcpy(&radius_time, varbinds[4].value, 2);
- radius_time = ntohs(radius_time);
-
- sprintf(message, "%s%s", MAC_AUTH, auth_types[auth_mac-1]);
- mvwaddstr(main_sub, 0, 0, message);
- wrefresh(main_sub);
-
- total_mac = 0;
- mac_num = 0;
-
- while (mac_num <= total_mac) {
- get.Action = 0x02; rshort(get.Action);
- get.NumOfAllTableAddresses = total_mac; rshort(get.NumOfAllTableAddresses);
- get.NumOfCurrentAddress = mac_num; rshort(get.NumOfCurrentAddress);
-
- varbinds[0].oid = AutorizedMac;
- varbinds[0].len_oid = sizeof(AutorizedMac);
- varbinds[0].value = (char *) &get;
- varbinds[0].len_val = 12;
- varbinds[0].type = STRING_VALUE;
-
- if (snmp(varbinds, 1, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
-
- if (varbinds[0].len_val == 12) {
- if (AuthMac)
- free(AuthMac);
- AuthMac =
- (struct AuthorizedMacTableString *) malloc(varbinds[0].
- len_val);
- memcpy(AuthMac, varbinds[0].value, varbinds[0].len_val);
-/* AuthMac =
- (struct AuthorizedMacTableString *) varbinds[0].value;*/
- } else {
- print_helperr(PACKET_ERROR);
- goto exit;
- }
-
- rshort(AuthMac->NumOfAllTableAddresses);
- total_mac =
- (AuthMac->NumOfAllTableAddresses ==
- 65535) ? 0 : AuthMac->NumOfAllTableAddresses;
-
- if (mac_num) {
- if (first == NULL) {
- first = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = first;
- } else {
- curr->next = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = curr->next;
- }
- memcpy(curr->addr, AuthMac->MacAddress, 6);
- curr->next = NULL;
- }
- mac_num++;
- }
-
-choose_view:
- clear_main(2);
- if (auth_mac == 1) {
- mvwaddstr(main_sub, 2, 1, MAC_HEADER);
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
- scroll_rows(first, begin, end, 3, 0);
- print_help(MAC_HELP);
- } else if(auth_mac == 3) {
- sprintf(message, "%s%s", RADIUS_IP, inet_ntoa(radius_ip));
- mvwaddstr(main_sub, 2, 0, message);
- sprintf(message, "%s%d", RADIUS_DEST_PORT, radius_dest_port);
- mvwaddstr(main_sub, 3, 0, message);
- sprintf(message, "%s%s", RADIUS_SECRET, radius_secret);
- mvwaddstr(main_sub, 4, 0, message);
- sprintf(message, "%s%d", RADIUS_TIME, radius_time);
- mvwaddstr(main_sub, 5, 0, message);
- sprintf(message, "%s%d", RADIUS_PORT, radius_port);
- mvwaddstr(main_sub, 6, 0, message);
-
- wrefresh(main_sub);
- print_help(MAC_RADIUS_HELP);
- } else {
- print_help(MAC_NONE_HELP);
- }
- noecho();
-
- while (1) {
- switch (getch()) {
- case 'q':
- case 'Q':
- goto quit;
- case 'a':
- case 'A':
- auth_mac = menu_choose(0, strlen(MAC_AUTH), auth_types, 3)+1;
- clear_main_new(0, 1);
- print_menusel(0, 0, MAC_AUTH, auth_types[auth_mac-1]);
- m_authmac = 1;
- goto choose_view;
- case 'S':
- case 's':
- if (auth_mac != 3) {
- continue;
- }
- get_value(radius_secret, 4, strlen(RADIUS_SECRET), 32, ANY_STRING, 0, 0, NULL);
- m_radius_secret = 1;
- continue;
- case 'P':
- case 'p':
- if (auth_mac != 3) {
- continue;
- }
- get_value(message, 3, strlen(RADIUS_DEST_PORT), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
- radius_dest_port = atoi(message);
- m_radius_dest_port = 1;
- continue;
- case 'T':
- case 't':
- if (auth_mac != 3) {
- continue;
- }
- get_value(message, 5, strlen(RADIUS_TIME), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
- radius_time = atoi(message);
- m_radius_time = 1;
- continue;
- case 'F':
- case 'f':
- if (auth_mac != 3) {
- continue;
- }
- get_value(message, 6, strlen(RADIUS_PORT), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
- radius_port = atoi(message);
- m_radius_port = 1;
- continue;
- case 'I':
- case 'i':
- if (auth_mac != 3) {
- continue;
- }
- get_ip(&radius_ip, 2, strlen(RADIUS_IP), MAC_RADIUS_HELP);
- m_radius_ip = 1;
- continue;
- case 'd':
- case 'D':
- if (auth_mac != 1) {
- continue;
- }
- mvwaddstr(main_sub, 1, 0, MAC_DEL);
- get_value(message, 1, strlen(MAC_DEL), 5, INT_STRING,
- 1, mac_num - 1, NULL);
- i = atoi(message);
- if (i == 1) {
- pmac = first;
- first = first->next;
- free(pmac);
- } else {
- curr = first;
- while (--i > 1)
- curr = curr->next;
- pmac = curr->next;
- curr->next = pmac->next;
- free(pmac);
- }
- mac_num--;
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
- scroll_rows(first, begin, end, 3, 0);
- clear_main_new(1, 2);
- continue;
- case 'n':
- case 'N':
- if (auth_mac != 1) {
- continue;
- }
- mvwaddstr(main_sub, 1, 0, MAC_ADD);
- curr = first;
- while (curr && curr->next)
- curr = curr->next;
- if (first == NULL) {
- first = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = first;
- } else {
- curr->next = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = curr->next;
- }
- curr->next = NULL;
- mac_num++;
- get_mac(curr->addr, 1, strlen(MAC_ADD));
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
- scroll_rows(first, begin, end, 3, 0);
- clear_main_new(1, 2);
- continue;
- case 'w':
- case 'W':
- i=0;
- if (m_authmac) {
- auth_mac_hw = swap4(auth_mac);
- varbinds[i].oid = EnableAuthMAC;
- varbinds[i].len_oid = sizeof(EnableAuthMAC);
- varbinds[i].type = INT_VALUE;
- varbinds[i].value = (char *) &auth_mac_hw;
- varbinds[i].len_val = 1;
- i++;
- }
-
- if (m_radius_ip) {
- radius_ip.s_addr = htonl(radius_ip.s_addr);
- radius_ip.s_addr = swap4(radius_ip.s_addr);
- varbinds[i].oid = AuthRadiusIP;
- varbinds[i].len_oid = sizeof(AuthRadiusIP);
- varbinds[i].value = (char *) &radius_ip.s_addr;
- varbinds[i].len_val = 4;
- varbinds[i].type = INT_VALUE;
- i++;
- }
-
- if (m_radius_dest_port) {
- varbinds[i].oid = AuthRadiusDestinPort;
- varbinds[i].len_oid = sizeof(AuthRadiusDestinPort);
- radius_dest_port = htons(radius_dest_port);
- varbinds[i].value = (char *) &radius_dest_port;
- varbinds[i].len_val = 2;
- varbinds[i].type = 0x02;
- i++;
- }
-
- if (m_radius_time) {
- varbinds[i].oid = AuthRadiusReauthorizationTime;
- varbinds[i].len_oid = sizeof(AuthRadiusReauthorizationTime);
- radius_time = htons(radius_time);
- varbinds[i].value = (char *) &radius_time;
- varbinds[i].len_val = 2;
- varbinds[i].type = 0x02;
- i++;
- }
-
- if (m_radius_port) {
- varbinds[i].oid = AuthRadiusPort;
- varbinds[i].len_oid = sizeof(AuthRadiusPort);
- radius_port = htons(radius_port);
- varbinds[i].value = (char *) &radius_port;
- varbinds[i].len_val = 2;
- varbinds[i].type = 0x02;
- i++;
- }
- if (m_radius_secret) {
- c = strlen(radius_secret);
- varbinds[i].oid = AuthRadiusSecretLength;
- varbinds[i].len_oid = sizeof(AuthRadiusSecretLength);
- varbinds[i].value = (char *)&c;
- varbinds[i].len_val = 1;
- varbinds[i].type = INT_VALUE;
- i++;
- varbinds[i].oid = AuthRadiusSecret;
- varbinds[i].len_oid = sizeof(AuthRadiusSecret);
- varbinds[i].value = radius_secret;
- varbinds[i].len_val = c;
- varbinds[i].type = STRING_VALUE;
- i++;
- }
-
- print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
-
- curr = first;
- i = 1;
- while (curr != NULL) {
- get.Action = 0x01; rshort(get.Action);
- get.NumOfAllTableAddresses = mac_num - 1; rshort(get.NumOfAllTableAddresses);
- get.NumOfCurrentAddress = i; rshort(get.NumOfCurrentAddress);
- memcpy(get.MacAddress, curr->addr, 6);
- varbinds[0].oid = AutorizedMac;
- varbinds[0].len_oid = sizeof(AutorizedMac);
- varbinds[0].value = (char *) &get;
- varbinds[0].len_val = 12;
- varbinds[0].type = STRING_VALUE;
- print_help(WAIT_SET);
- if (snmp(varbinds, 1, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- if (varbinds[0].len_val != 12) {
- print_helperr(PACKET_ERROR);
- goto exit;
- }
- curr = curr->next;
- i++;
- }
- print_help(DONE_SET);
- goto exit;
- case KEY_DOWN:
- case KEY_RIGHT:
- if (auth_mac != 1) {
- continue;
- }
- if (end < mac_num) {
- begin++;
- end++;
- scroll_rows(first, begin, end, 3, 0);
- }
- continue;
- case KEY_UP:
- case KEY_LEFT:
- if (auth_mac != 1) {
- continue;
- }
- if (begin > 1) {
- begin--;
- end--;
- scroll_rows(first, begin, end, 3, 0);
- }
- continue;
- }
- continue;
- }
-
- print_help(ANY_KEY);
- exit:
- getch();
- quit:
- while ((curr = first)) {
- first = curr->next;
- free(curr);
- }
- if (AuthMac)
- free(AuthMac);
- print_top(NULL, NULL);
- clear_main(0);
-}
#define OPER _("[O] Operational mode: ")
#define REMOTE_MAC _("[M] Preferred BSSID (remote MAC addr.): ")
//#define CF_PORT _("[C] Configuration-enabled port(s): ")
-#define TRAP_PORT _("[T] Trap-sending port(s): ")
+#define TRAP_PORT _("[T] Trap-sending port: ")
#define FW_BCAST _("[R] Forward broadcast traffic: ")
//#define SB_BCAST _("[B] Isolate wireless clients (broadcast traffic): ")
#define SB_UCAST _("[U] Isolate wireless clients: ")
extern short ap_type;
+
void bridging()
{
+char *bridge_modes[6] = {
+ _("Wireless Bridge Point to MultiPoint"),
+ _("Access Point"),
+ _("Access Point client"),
+ _("Wireless Bridge Point to Point"),
+ _("Repeater"),
+ _("unknown")
+};
+
+
char sysTrapSwitch[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x03,
0x00
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x02, 0x07,
0x00
};
-*/ /* This one is ATMEL12350 TELLUS MIB specific. */
+*/
char TrapPort[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x02, 0x08,
0x00
0x00
};
- /* These 3 are ATMEL12350 MIB specific. */
- char ForwardBroadcast[] =
+ char ForwarbBcast[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x02,
0x00
};
m_dhcp = 0, m_ip = 0, m_mask = 0, m_gw = 0, m_remote_bssid = 0,
/*m_config_port = 0, */m_trap_port = 0, m_fw_bcast = 0, /*m_sb_bcast = 0,*/
m_sb_ucast = 0;
- char *bridge_modes[6] = {
- _("Wireless Bridge Point to MultiPoint"),
- _("Access Point"),
- _("Access Point client"),
- _("Wireless Bridge Point to Point"),
- _("Repeater"),
- ("unknown")
- }, *pr_ports[2] = {
+ char *pr_ports[2] = {
_("Ethernet"),
_("Wireless")
} /*, *cf_trap_ports[3] = {
varbinds[7].oid = bridgeOperationalMode;
varbinds[8].oid = sysTrapSwitch;
varbinds[9].oid = bridgeRemoteBridgeBSSID;
- varbinds[10].oid = ForwardBroadcast;
+ varbinds[10].oid = ForwarbBcast;
varbinds[11].oid = SendBackUnicast;
varbinds[12].oid = SendBackBcast;
- if (snmp(varbinds, 13, GET) <= 0) {
+ if (snmp(varbinds, 13, GET) < 13) {
print_helperr(ERR_RET);
goto exit;
}
i++;
}
*/ if (m_fw_bcast) {
- varbinds[i].oid = ForwardBroadcast;
- varbinds[i].len_oid = sizeof(ForwardBroadcast);
+ varbinds[i].oid = ForwarbBcast;
+ varbinds[i].len_oid = sizeof(ForwarbBcast);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &fw_bcast;
varbinds[i].len_val = 1;
}
print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0)
+ if (snmp(varbinds, i, SET) <= 0) {
print_helperr(ERR_SET);
- else
+ } else {
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
print_help(DONE_SET);
+ }
goto exit;
case 'Q':
case 'q':
int mac_num, begin, end, total_mac;
varbind varbinds[1];
- print_top(NULL, TITLE_STAS);
+ print_top(NULL, ST_TITLE);
varbinds[0].oid = bridgeOperationalMode;
varbinds[0].len_oid = sizeof(bridgeOperationalMode);
total_mac = *(varbinds[0].value);
mac_num = 1;
- sprintf(message, "%s: %d", TITLE_STAS, total_mac);
+ sprintf(message, "%s: %d", ST_TITLE, total_mac);
print_top(NULL, message);
- mvwaddstr(main_sub, 0, 1, _("# MAC LQ RSSI Status Port IP"));
+ wattrset(main_sub, COLOR_PAIR(13));
+ mvwaddstr(main_sub, 0, 0,
+ _(" # MAC Parent MAC RSSI LQ Sts MACn IP "));
+ wattrset(main_sub, A_NORMAL);
noecho();
while (mac_num <= total_mac) {
mac_num++;
}
begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
+ end = (mac_num > MAX_LINES) ? MAX_LINES : mac_num;
scroll_rows(first, begin, end, 1, 2);
while (1) {
print_help(_("Arrows - scroll; S - save to file; Q - quit to menu."));
/* Define if your <locale.h> file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
-/* Define to 1 if you have the `curses' library (-lcurses). */
-#undef HAVE_LIBCURSES
-
-/* Define to 1 if you have the `ncurses' library (-lncurses). */
-#undef HAVE_LIBNCURSES
-
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB CPP EGREP LIBOBJS MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON USE_NLS BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT INTLOBJS DATADIRNAME INSTOBJEXT GENCAT INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB CPP EGREP LIBOBJS MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON USE_NLS BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT INTLOBJS DATADIRNAME INSTOBJEXT GENCAT INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB CURSESLIBS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
# Define the identity of the package.
PACKAGE=ap-utils
- VERSION=1.5pre1_FreedomOfUkraine
+ VERSION=1.5
cat >>confdefs.h <<_ACEOF
-
+aputils_save_LIBS="$LIBS"
echo "$as_me:$LINENO: checking for initscr in -lncurses" >&5
echo $ECHO_N "checking for initscr in -lncurses... $ECHO_C" >&6
if test "${ac_cv_lib_ncurses_initscr+set}" = set; then
echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_initscr" >&5
echo "${ECHO_T}$ac_cv_lib_ncurses_initscr" >&6
if test $ac_cv_lib_ncurses_initscr = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBNCURSES 1
-_ACEOF
-
- LIBS="-lncurses $LIBS"
-
+ CURSESLIBS="-lncurses"
else
NOCURSES=yes
fi
if test "$NOCURSES" = yes; then
-
-echo "$as_me:$LINENO: checking for initscr in -lcurses" >&5
+ echo "$as_me:$LINENO: checking for initscr in -lcurses" >&5
echo $ECHO_N "checking for initscr in -lcurses... $ECHO_C" >&6
if test "${ac_cv_lib_curses_initscr+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
echo "$as_me:$LINENO: result: $ac_cv_lib_curses_initscr" >&5
echo "${ECHO_T}$ac_cv_lib_curses_initscr" >&6
if test $ac_cv_lib_curses_initscr = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBCURSES 1
-_ACEOF
-
- LIBS="-lcurses $LIBS"
-
+ CURSESLIBS="-lcurses"
else
{ { echo "$as_me:$LINENO: error: ap-utils requires installed ncurses or Sys V curses to build" >&5
echo "$as_me: error: ap-utils requires installed ncurses or Sys V curses to build" >&2;}
fi
fi
+LIBS="$aputils_save_LIBS"
# Check for OS and make OS define OS specific variables
case "$host_os" in
fi;
+
+
ac_config_files="$ac_config_files Makefile src/Makefile ap-gl/Makefile lib/Makefile po/Makefile.in intl/Makefile Documentation/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
s,@LIBINTL@,$LIBINTL,;t t
s,@LTLIBINTL@,$LTLIBINTL,;t t
s,@POSUB@,$POSUB,;t t
+s,@CURSESLIBS@,$CURSESLIBS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF
#
AC_INIT([lib/snmp.c])
AC_CONFIG_AUX_DIR(config)
-AM_INIT_AUTOMAKE(ap-utils, 1.5pre1_FreedomOfUkraine)
+AM_INIT_AUTOMAKE(ap-utils, 1.5)
AM_CONFIG_HEADER(config.h)
ac_aux_dir=config
AM_GNU_GETTEXT
-AC_CHECK_LIB(ncurses, initscr, , NOCURSES=yes)
+aputils_save_LIBS="$LIBS"
+AC_CHECK_LIB(ncurses, initscr, CURSESLIBS="-lncurses", NOCURSES=yes)
if test "$NOCURSES" = yes; then
- AC_CHECK_LIB(curses, initscr, , AC_MSG_ERROR([ap-utils requires installed ncurses or Sys V curses to build]))
+ AC_CHECK_LIB(curses, initscr, CURSESLIBS="-lcurses", AC_MSG_ERROR([ap-utils requires installed ncurses or Sys V curses to build]))
fi
+LIBS="$aputils_save_LIBS"
# Check for OS and make OS define OS specific variables
case "$host_os" in
esac
])
+AC_SUBST(CURSESLIBS)
+
AC_OUTPUT([Makefile src/Makefile ap-gl/Makefile lib/Makefile po/Makefile.in intl/Makefile Documentation/Makefile])
echo "
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CURSESLIBS = @CURSESLIBS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
#define rshort(a) ((a) = swap2(a))
#define wshort(a) ((a) = swap2(a))
+#define dbmconv(x) (ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ? \
+ (int)(-95 + x * (float)2.125) : -96 + x
+
#define MAC _("MAC address: ")
#define TRAPS _("[S] SNMP traps: ")
#define BASIC _("Basic")
#define ANY_KEY _("Press any key to continue.")
-#define QT_HELP _("Q - quit to menu. T - toggle polling mode, Other key - force update.")
+#define QT_HELP _("Q - quit to menu. T - toggle polling mode, Other key - force update")
#define ERR_SET _("Unable to write data to AP. Press any key to continue.")
#define ERR_RET _("Unable to retrieve (valid) data from AP. Press any key to continue.")
-#define WAIT_RET _("Trying to retrieve data from AP. Please wait...")
+#define WAIT_RET _("Trying to retrieve data from AP - please wait (or press Q to quit).")
#define WAIT_SET _("Writing data to AP. Please wait...")
#define DONE_SET _("Configuration written to the AP. Press any key to continue.")
-#define SELECT _("select() function error. Press any key.")
+#define ERR_SELECT _("select() function error. Press any key.")
+#define ERR_SOCKET _("socket() or bind() function error. Press any key.")
-#define CREATE_SOCKET_ERROR _("Create socket error. Press any key.")
-#define BIND_SOCKET_ERROR _("Bind socket error. Press any key.")
+#define ERR_WRITING_APCONF _("Unable to write AP list file ~/.ap-config. Press any key.")
+#define DONE_WRITING_APCONF _("AP list file ~/.ap-config successfully written. Press any key.")
#define MAIN_MENU _("Back to main menu")
#define MENU_EXIT _("Exit program")
#define MENU_SHELL _("Run subshell. To return type 'exit'.")
+#define MENU_POLLING _("Change polling mode interval")
#define MENU_ABOUT _("Short info about program")
#define MENU_SEARCH _("Find connected Access Points")
#define MENU_CONNECT _("Set connection options: ip and community")
#define MENU_ENCRYPT _("Set encryption; edit WEP keys")
-#define MENU_MAC _("Set MAC authorization; edit MAC authorization table")
+#define MENU_AUTH _("Set authorization; edit MAC authorization table")
#define MENU_COMMUNITY _("Set SNMP community/password for access to the AP")
#define MENU_SYSINFO _("Get info about AP hardware and firmware")
#define MENU_WIRELESS _("Get wireless port statistics")
#define MENU_STAS _("Get list of currently associated stations (Access Point clients)")
+#define MENU_APLINK _("Get link status in APclient mode")
#define MENU_INFO _("Get info and statistics from AP")
#define MENU_CONFIG _("Set various configuration options")
-#define TITLE_STAS _("Associated stations")
+#define ST_TITLE _("Associated stations")
+#define AP_TITLE _("AP Client link state")
#define POLL_ON _("Polling: on")
#define POLL_OFF _("Polling: off")
/* Numbering with respect to order in ap_vendorexts */
#define NONE 0
#define SBRIDGES 1
-#define TELLUS 1
-#define VERNET 2
+#define GEMTEK 1
+#define EZYNET 2
typedef struct {
unsigned char *oid;
int is_menu;
};
-struct EthernetRxStatistics {
+struct EthRxStatistics_s {
uint32_t TotalBytesRx;
uint32_t TotalPacketsRx;
uint32_t PacketCRCErrorRx;
uint32_t TotalJabberRx;
};
-struct EthernetTxStatistics {
+struct EthTxStatistics_s {
uint32_t TotalBytesTx;
uint32_t TotalPacketsTx;
uint32_t PacketCRCErrorTx;
uint32_t TotalCollisionsTx;
};
-struct WirelessStatistics {
+struct wirelessStatistics_s {
uint32_t UnicastTransmittedPackets;
uint32_t BroadcastTransmittedPackets;
uint32_t MulticastTransmittedPackets;
uint32_t AgedPackets;
uint32_t FCSError;
uint32_t InvalidPLCP;
- /* following 4 are specific for ATMEL 12350 MIB enhanced by VERNET */
+ /* following 4 are specific for ATMEL 12350 MIB enhanced by EZYNET */
uint32_t TransmittedPackets_11Mbps;
uint32_t TransmittedPackets_55Mbps;
uint32_t TransmittedPackets_2Mbps;
uint32_t TransmittedPackets_1Mbps;
};
-struct sysDeviceInfo_ATMEL410 {
- /* sysDeviceInfo OID struct for ATMEL 410 */
+struct sysDeviceInfo_128 {
+ /* sysDeviceInfo OID struct - version 128 bytes long */
uint32_t StructVersion;
unsigned char MacAddress[6];
unsigned short Reserved;
uint32_t OEMID;
unsigned char ProductName[32];
uint32_t HardwareRevision;
+ /*
+ * NOTE: Although MIBs claim 92 bytes length, it does not need to be true.
+ * 92 bytes seems to be just the 'official' part; the unofficial
+ * (and undocumented) remnant padding the total length to 128 bytes
+ * may or may not eventually appear (resulting in returned length 128 b.).
+ */
};
-struct sysDeviceInfo_ATMEL12350 {
- /* sysDeviceInfo OID struct for ATMEL 12350 */
+struct sysDeviceInfo_160 {
+ /* sysDeviceInfo OID struct - version 160 bytes long */
uint32_t StructVersion;
unsigned char MacAddress[6];
unsigned char Channel;
unsigned char Reserved3[10];
};
+/* AP mode: Associated stations diagnostics */
+
+struct AssociatedSTAsInfo_ATMEL410 {
+ unsigned short Index;
+ unsigned char MacAddress[6];
+ /* The rest is only supported by ATMEL410 SBRIDGES MIB */
+ unsigned char Status;
+ unsigned char Port;
+ unsigned char ParentMacAddress[6];
+ unsigned char RSSI;
+ unsigned char LinkQuality;
+ unsigned char IP[4];
+ unsigned char Reserved1[2];
+};
+
+struct AssociatedSTAsInfo_ATMEL12350 {
+ unsigned short Index;
+ unsigned char MacAddress[6];
+ /* The rest is only supported by ATMEL12350 EZYNET MIB */
+ unsigned char Status;
+ unsigned char Port;
+ unsigned char ParentMacAddress[6];
+ unsigned char RSSI;
+ unsigned char IP[4];
+ unsigned char Reserved1[3];
+};
+
+/* This structure unifies all the unique members of the 2 structs above */
struct MacListStat {
unsigned char addr[6];
struct MacListStat *next;
struct in_addr IP;
};
+/* APClient mode: AP link diagnostics */
+
+/* size: 53 bytes */
+struct NetworkSettings_ATMEL410_SBRIDGES {
+ unsigned short reserved1;
+ unsigned char BSSID[6];
+ unsigned short InfoCapability;
+ unsigned char Rssi;
+ unsigned char Channel;
+ unsigned char reserved2[2];
+ unsigned char LinkQuality;
+ unsigned char reserved3[5];
+ unsigned char ESSID[32];
+ unsigned char ESSLEN;
+};
+
+/* size: 56 bytes */
+struct NetworkSettings_ATMEL12350_EZYNET {
+ unsigned short reserved1;
+ unsigned char BSSID[6];
+ unsigned short InfoCapability;
+ unsigned char Rssi;
+ unsigned char Channel;
+ unsigned char reserved2[2];
+ unsigned char CurrentRate;
+ unsigned char reserved3[5];
+ unsigned char ESSID[32];
+ unsigned long ESSLEN;
+};
+
/* function prototypes specific/common for both utilites */
/* service */
extern int yes_no(int, int);
extern int on_off(int, int);
extern int menu_choose(int, int, char **, unsigned int);
-extern int wait_key(void);
+extern int wait_key(int);
extern int help_ysn(void);
extern void scroll_rows(struct MacListStat *, int, int, int, int);
extern void exit_shell(void);
extern void exit_program(void);
+extern void polling_interval(void);
extern int get_opts(void);
extern void save_Stations(struct MacListStat *);
extern void uni_menu(struct umitems *umenu, int num);
extern void wep(void);
extern void WirelessStat(void);
extern void atmel_stations(void);
+extern void atmel_aplink(void);
extern void atmel_sysinfo(void);
extern void atmel_set_oeminfo(void);
extern void ap_search(void);
/* snmp engine*/
+extern void close_sockfd(void);
+extern int open_sockfd(void);
+extern int reopen_sockfd(void);
extern int snmp(varbind *, int, int);
extern int ber(char *, varbind *, int, int);
/* extern unsigned int ber_decode_uint(unsigned char *, int); */
extern void power(void);
extern void test(void);
extern void atmel_wireless(void);
-extern void atmel_auth_mac(void);
+extern void atmel_auth(void);
/* function prototypes specific for NWN utility */
extern void latest(void);
* ap_search.c from Access Point SNMP Utils for Linux
*
* Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
- * Copyright (c) 2003 Jan Rafaj <aputils at cedric dot vabo dot cz>
+ * Copyright (c) 2003 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
#endif
#define SEARCH_COMMUNITY _("Community name: ")
-#define SEARCH_HEADER _(" NUM IP ADDRESS MIB TYPE NAME")
+#define SEARCH_HEADER _(" NUM IP ADDRESS MIB TYPE FW TYPE (VERSION) AP NAME")
#define MAX_APS LAST_ROW-7
extern int atmel410_filter;
extern WINDOW *main_sub;
extern char *ap_types[];
unsigned char message[1024], *start;
- extern int atmel410_filter; /* to check is this function called from ap-gl utility */
+ /* unsigned char name_fw[256], *name_p, *fwver_p; */
+ extern int atmel410_filter; /* if called from ap-gl utility */
- char Wireless[3][12] = {
- {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x01, 0x00},
- {0x2B, 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00},
- {0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x01, 0x01, 0x00}
- };
-
/*
* operAccessPointName OIDs used to detect AP MIB type [in order
* of appearance in the 'for' loop below: ATMEL410, NWN, ATMEL12350]
*/
-/* char operAccessPointName[3][12] = {
+/*
+ char operAccessPointName[3][12] = {
{0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x01, 0x0A, 0x00},
{0x2B, 0x06, 0x01, 0x02, 0x01, 0x01, 0x05, 0x00},
{0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x01, 0x0A, 0x00}
};
*/
- int scd_ap_type, last_searched_type=ATMEL12350;
+ /*
+ * note: we'll rather use sysDescr OID for probing, becouse the devices
+ * wont rely on correct community for this query
+ */
+ char sysDescr[3][12] = {
+ {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x01, 0x00},
+ {0x2B, 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00},
+ {0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x01, 0x01, 0x00}
+ };
+
+ int scd_ap_type, last_searched_type = ATMEL12350;
int c, s2, errno, len, client_len = SIZE;
struct in_addr to_addr_reserv;
struct sopts {
print_help(_("Please wait while scanning, or press 'Q' to quit."));
if ((s2 = socket(PF_INET, SOCK_DGRAM, 0)) == -1) {
- print_helperr(CREATE_SOCKET_ERROR);
+ print_helperr(ERR_SOCKET);
getch();
return;
}
if (bind(s2, (struct sockaddr *) from, SIZE) == -1) {
- print_helperr(BIND_SOCKET_ERROR);
+ print_helperr(ERR_SOCKET);
getch();
goto close_ret;
}
mvwaddstr(main_sub, LAST_ROW - 2, 1, message);
if(atmel410_filter) {
- last_searched_type=ATMEL410;
+ last_searched_type = ATMEL410;
}
for (scd_ap_type = ATMEL410; scd_ap_type <= last_searched_type; scd_ap_type++) {
wrefresh(main_sub);
/* varbinds[0].oid = operAccessPointName[scd_ap_type];*/
- varbinds[0].oid = Wireless[scd_ap_type];
+ varbinds[0].oid = sysDescr[scd_ap_type];
varbinds[0].len_oid = (scd_ap_type == NWN ?
/* 8 : sizeof(operAccessPointName[scd_ap_type]));*/
- 8 : sizeof(Wireless[scd_ap_type]));
+ 8 : sizeof(sysDescr[scd_ap_type]));
varbinds[0].len_val = 0;
varbinds[0].type = NULL_VALUE;
len = ber(message, varbinds, 1, GET);
for (len = 0; len < varbinds[0].len_val && start[len]; len++);
start[len + 1] = '\0';
- if (len > 25) {
- /* Truncate (limited screen size) and screen-width independent! */
- start[COLS-53-atmel410_filter] = '>';
- start[COLS-52-atmel410_filter] = '\0';
+
+ /*
+ * Returned sysDescr string is (hopefully!) always of format:
+ * string1 (Ver. string2) string3
+ * where:
+ * string1 = "802.11 X "
+ * where: "X" identifies firmware type (AP, APP, WB, WA, etc)
+ * unfortunately this is not deterministic across
+ * manufacturers (each one uses different naming scheme)
+ * string2 = firmware version
+ * string3 = device name, as defined with operAccessPointName
+ * OID
+ name_p = strchr(start, ')');
+ *name_p = '\0';
+ name_p += 2;
+ fwver_p = strstr(start, "(Ver. ");
+ fwver_p += strlen("(Ver. ");
+ sprintf(name_fw, "%s (%s)", name_p, fwver_p);
+
+ if (strlen(name_fw) > (size_t)(COLS - MCOLS - 37)) {
+ name_fw[COLS - MCOLS - 38] = '>';
+ name_fw[COLS - MCOLS - 37] = '\0';
+ }
+ */
+
+ if (strlen(start) > (size_t)(COLS - MCOLS - 37)) {
+ /* truncate (limit to scr. size) */
+ start[COLS - MCOLS - 38] = '>';
+ start[COLS - MCOLS - 37] = '\0';
}
+
sprintf(message, " %3i %-15s %-10s %s", i,
inet_ntoa(fapsa[i].ip), ap_types[fapsa[i].type], start);
i++;
struct ifconf ifc;
struct ifreq *ifr;
char *ifbuf_ptr = NULL, *ifrec_ptr;
+/*
char *old_community;
char buf[16];
strncpy(community, buf, strlen(buf) + 1);
print_help("");
clear_main(0);
-
+*/
print_top(NULL, _("Access Points Search"));
mvwaddstr(main_sub, 0, 0, SEARCH_HEADER);
wrefresh(main_sub);
if ((s1 = socket(PF_INET, SOCK_DGRAM, 0)) == -1) {
- print_helperr(CREATE_SOCKET_ERROR);
+ print_helperr(ERR_SOCKET);
goto wait_quit;
}
print_top(NULL, NULL);
clear_main(0);
- free(old_community);
+/* free(old_community); */
connect_options(fapsa[ac - '0'].ip.s_addr,
fapsa[ac - '0'].type + 1);
free(fapsa);
if (fapsa)
free(fapsa);
-
+/*
free(community);
community = old_community;
-
+*/
print_help("");
print_top(NULL, NULL);
clear_main(0);
}
-
* aps.c from Access Point SNMP Utils for Linux
*
* Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ * Copyright (c) 2004 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
#define KNOWN_APS _("Known Access Points")
extern WINDOW *main_win, *main_sub /* *win_for_menu */;
-extern short ap_type;
+extern short ap_type, ap_vendorext;
extern int sockfd, atmel410_filter;
extern struct in_addr ap_ip;
show_stats:
/* display column info in main_sub */
mvwin(main_sub, 0, 0);
- wattrset(main_sub, COLOR_PAIR(3));
+ wattrset(main_sub, COLOR_PAIR(13));
for (i = 0; i < 64; i++)
waddch(main_sub, ' ');
switch (ap_viewtype) {
}
break;
case 2:
- sprintf(message, "%3d", -96 + app->q1);
+ sprintf(message, "%3d", dbmconv(app->q1));
mvwaddstr(main_sub, aps_num+1, 56, message);
if (ap_type == ATMEL410) {
sprintf(message, "%3d%%",
* common.c from Access Point SNMP Utils for Linux
*
* Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ * Copyright (c) 2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
+#include <sys/socket.h>
#include "ap-utils.h"
#define APIP _("Access Point IP-address: ")
#define WANT_SYS_APLABEL _("Do you want to use AP's name as its label? ")
#define APLABEL _("Access Point label: ")
#define SAVESETTINGS _("Save connect-settings: ")
+#define POLL_I _("[P] Polling mode interval (tenths of second): ")
+#define POLL_HELP _("P - change polling mode interval; Q - quit to menu")
char *ap_types[] = {
"ATMEL410",
char *ap_vendorexts[][3] = {
{ "NONE", "SBRIDGES" }, /* ATMEL410 exts */
{ "NONE" }, /* NWN exts */
- { "NONE", "TELLUS", "VERNET" } /* ATMEL12350 exts */
+ { "NONE", "GEMTEK", "EZYNET" }, /* ATMEL12350 exts */
+ { 0 } /* do not delete! */
};
rdprops regdom_types[] = {
extern WINDOW *main_sub;
extern char *community, *prog_title;
-short ap_type, ap_vendorext;
-extern int sockfd;
extern struct in_addr ap_ip;
+short ap_type, ap_vendorext;
+int poll_delay = 10;
+
void about()
{
int nrow = 14, ncol = 47, brow = (LINES - 5 - nrow) / 2, bcol =
sprintf(message, _("Version %s"), VERSION);
mvwaddstr(main_sub, brow + 3, bcol + 2, message);
mvwaddstr(main_sub, brow + 5, bcol + 2,
- _("Written by Roman Festchook roma@polesye.net"));
+ _("Written by Roman Festchook roma@polesye.net"));
mvwaddstr(main_sub, brow + 6, bcol + 2,
- _("Portions by Jan Rafaj aputils@cedric.unob.cz"));
+ _("and Jan Rafaj jr-aputils@cedric.unob.cz"));
mvwaddstr(main_sub, brow + 7, bcol + 2,
- _("Copyright (c) 2001-2004"));
+ _("Copyright (c) 2001-2005"));
mvwaddstr(main_sub, brow + 8, bcol + 2,
- _("Roman Festchook and Jan Rafaj"));
+ _("Roman Festchook and Jan Rafaj"));
mvwaddstr(main_sub, brow + 9, bcol + 2, "http://ap-utils.polesye.net/");
mvwaddstr(main_sub, brow + 11, bcol + 2,
- _("This program is distributed under the terms"));
+ _("This program is distributed under the terms"));
mvwaddstr(main_sub, brow +12, bcol + 2,
- _("of the GNU General Public License version 2."));
+ _("of the GNU General Public License version 2."));
mvwaddstr(main_sub, brow + 13, bcol + 2,
- _("See the included COPYING file for details."));
-
+ _("See the included COPYING file for details."));
wrefresh(main_sub);
{0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x01, 0x0A, 0x00}
};
- struct sockaddr_in client;
- extern int atmel410_filter; /* to check is this function called from ap-gl utility */
+ extern int atmel410_filter; /* boolean; = 1 if we call from ap-gl utility */
unsigned char message[256];
unsigned char label[17];
int fd, i;
char save_settings=1;
varbind varbinds[1];
- memset(&client, 0, sizeof client);
- client.sin_family = AF_INET;
- client.sin_port = INADDR_ANY;
- client.sin_addr.s_addr = INADDR_ANY;
-
- if (sockfd)
- close(sockfd);
-
- if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
- print_helperr(CREATE_SOCKET_ERROR);
- getch();
- goto exit;
- }
-
- if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1) {
- print_helperr(BIND_SOCKET_ERROR);
+ if (reopen_sockfd() == -1) {
+ print_helperr(ERR_SOCKET);
getch();
goto exit;
}
i = 0;
print_help("");
- print_help(_("Entered characters will not be displayed "
- "for security reason."));
- get_pass(message, 2, 1 + strlen(APPASS), 16);
- if (community)
- free(community);
- i = strlen(message) + 1;
- community = (char *) malloc(i);
- strncpy(community, message, i);
-
+ print_help(_("Entered characters will not be displayed "
+ "for security reason."));
+ get_pass(message, 2, 1 + strlen(APPASS), 16);
+ if (community)
+ free(community);
+ i = strlen(message) + 1;
+ community = (char *) malloc(i);
+ strncpy(community, message, i);
- if (type && ! atmel410_filter) {
+ if (type && !atmel410_filter) {
/* entered from ap_search() */
/* community already exists */
mvwaddstr(main_sub, 4, 1, APVENDOREXT);
} else {
-
if (atmel410_filter) {
- ap_type = --type;
- print_menusel(3, 1, APTYPE, ap_types[ap_type]);
- ap_vendorext = NONE; /* no need to choose here, really */
- /* marks that we want offer AP name -> AP label later */
- i = 1;
- mvwaddstr(main_sub, 4, 1, APVENDOREXT);
+ ap_type = --type;
+ print_menusel(3, 1, APTYPE, ap_types[ap_type]);
+ ap_vendorext = NONE; /* no need to choose here, really */
+ /* marks that we want offer AP name -> AP label later */
+ i = 1;
+ mvwaddstr(main_sub, 4, 1, APVENDOREXT);
} else {
- mvwaddstr(main_sub, 3, 1, AUTODETECT);
- wrefresh(main_sub);
- i = yes_no(3, 1 + strlen(AUTODETECT));
- clear_main_new(3, 4);
- mvwaddstr(main_sub, 3, 1, APTYPE);
- if (i == 2) { /* NO */
- char **p;
-
- wrefresh(main_sub);
-
- ap_type = menu_choose(3, 1 + strlen(APTYPE), ap_types, 3);
- print_bold(main_sub, ap_types[ap_type]);
-
- mvwaddstr(main_sub, 4, 1, APVENDOREXT);
- wrefresh(main_sub);
- for (i = 0, p = ap_vendorexts[ap_type]; *p++; i++);
- if (i == 1)
- ap_vendorext = NONE; /* no need to choose here, really */
- else
- ap_vendorext = menu_choose(4, 1 + strlen(APVENDOREXT),
+ mvwaddstr(main_sub, 3, 1, AUTODETECT);
+ wrefresh(main_sub);
+ i = yes_no(3, 1 + strlen(AUTODETECT));
+ clear_main_new(3, 4);
+ mvwaddstr(main_sub, 3, 1, APTYPE);
+ if (i == 2) { /* NO */
+ wrefresh(main_sub);
+ ap_type = menu_choose(3, 1 + strlen(APTYPE), ap_types, 3);
+ print_bold(main_sub, ap_types[ap_type]);
+ mvwaddstr(main_sub, 4, 1, APVENDOREXT);
+ wrefresh(main_sub);
+ for (i = 0; ap_vendorexts[ap_type][i]; i++);
+ if (i == 1)
+ ap_vendorext = NONE; /* no need to choose here, really */
+ else
+ ap_vendorext = menu_choose(4, 1 + strlen(APVENDOREXT),
ap_vendorexts[ap_type], i);
- } else { /* YES */
- if (get_mib_details() == -1) {
- clear_main_new(1, 4);
- goto get_all_again;
- }
+ } else { /* YES */
+ if (get_mib_details() == -1) {
+ clear_main_new(1, 4);
+ goto get_all_again;
+ }
print_bold(main_sub, ap_types[ap_type]);
-
- mvwaddstr(main_sub, 4, 1, APVENDOREXT);
+ mvwaddstr(main_sub, 4, 1, APVENDOREXT);
+ }
}
}
- }
print_bold(main_sub, ap_vendorexts[ap_type][ap_vendorext]);
print_help(
label[i] = *(varbinds[0].value + i);
waddch(main_sub, label[i]);
}
- label[++i] = '\0';
+ label[i] = '\0';
wattrset(main_sub, A_NORMAL);
if (strlen(varbinds[0].value) > 16) {
print_helperr("Warning! AP LABEL truncated to first 16 characters of AP NAME. Press any key.");
mvwaddstr(main_sub, 6, 1, SAVESETTINGS);
wrefresh(main_sub);
save_settings = on_off(6, 1 + strlen(SAVESETTINGS));
+ clear_main_new(6, 7);
+ print_menusel(6, 1, SAVESETTINGS, (save_settings == 1) ? ON : OFF);
print_bottom(inet_ntoa(ap_ip));
community, label, ap_type, ap_vendorext);
write(fd, message, strlen(message));
close(fd);
- }
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
+ print_help(DONE_WRITING_APCONF);
+ } else
+ print_helperr(ERR_WRITING_APCONF);
+
+ getch();
}
}
exit:
}
/*
- * Determines AP MIB type (fills ap_type), and AP MIB vendor extensions
- * (changes values of ap_vendorext global). Returns with -1 on error or 0
+ * Determines AP MIB type (fills ap_type global), and AP MIB vendor extensions
+ * (fills ap_vendorext global). Returns with -1 on error or 0
* if everything is OK.
*/
int get_mib_details()
char sysDescr_ATMEL[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x01, 0x00
};
- char operEthernetAddress_ATMEL[] = {
- 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x03, 0x00
+ /*
+ * ATMEL410: SMARTBRIDGES MIB define this with length 4 (IpAddress); others
+ * (hopefully) do not define this but eventually return (hopefully)
+ * different value than 4.
+ */
+ char AuthRadiusIP_ATMEL[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x03, 0x00
+ };
+ /* ATMEL12350: GEMTEK and EZYNET MIBs define length 160, others 92 or 128 */
+ char sysDeviceInfo_ATMEL[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x01, 0x05, 0x00
};
- char Wireless_ATMEL[] = {
- 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x03, 0x01, 0x00
+ /* ATMEL12350: EZYNET MIB defines length 104, others 88 */
+ char wirelessStatistics_ATMEL[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x03, 0x01, 0x00
};
+
varbind varbinds[2];
- char oui_sbridges[3] = { 0x00, 0x30, 0x1A };
- char oui_tellus[3] = { 0x00, 0x04, 0xDB };
+ int i;
print_help(_("Trying to probe AP for MIB properties. Please wait..."));
/*
* It is best to do the following HERE and FOR ONCE ONLY: find out more
- * about specific MIB modifications - we'll use them on different places
- * later.
+ * about specific MIB vendor extensions - we'll check against them
+ * on different places later.
*/
- varbinds[0].type = NULL_VALUE;
- varbinds[0].oid = operEthernetAddress_ATMEL;
- varbinds[0].len_oid = sizeof(operEthernetAddress_ATMEL);
- varbinds[0].len_val = 0;
- varbinds[1].type = NULL_VALUE;
- varbinds[1].oid = Wireless_ATMEL;
- varbinds[1].len_oid = sizeof(Wireless_ATMEL);
- varbinds[1].len_val = 0;
- if (ap_type == ATMEL12350) {
- operEthernetAddress_ATMEL[5] = 0xE0;
- operEthernetAddress_ATMEL[6] = 0x3E;
- Wireless_ATMEL[5] = 0xE0;
- Wireless_ATMEL[6] = 0x3E;
- }
- if (snmp(varbinds, 2, GET) <= 0) {
- print_helperr(ERR_RET);
- getch();
- return -1;
- }
- /*
- * Detection of different vendor-modified ATMEL private MIBs.
- * Note that results here are considered mutually exclusive, although
- * MIBs *may* share a lot of properties - for example, the condition
- * for TELLUS is matched also with VERNET firmware, but we want
- * unambiguous results => exactly one type is to be returned each pass
- * => the order of these conditions is important.
- */
ap_vendorext = NONE;
- if (ap_type == ATMEL410 && (memcmp(oui_sbridges, varbinds[0].value, 3) ==0))
- ap_vendorext = SBRIDGES;
+ if (ap_type == ATMEL410) {
+ varbinds[0].oid = AuthRadiusIP_ATMEL;
+ varbinds[0].len_oid = sizeof(AuthRadiusIP_ATMEL);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+
+ i = snmp(varbinds, 1, GET);
+ if (i < 0) {
+ print_helperr(ERR_RET);
+ getch();
+ return -1;
+ }
+
+ /*
+ * i == 0 => 'no such variable in the MIB' returned =>
+ * consider 'ap_vendorext = NONE' too.
+ */
+
+ if (varbinds[0].len_val == 4)
+ ap_vendorext = SBRIDGES;
+ }
- if (ap_type == ATMEL12350 && (memcmp(oui_tellus, varbinds[0].value, 3) ==0))
- ap_vendorext = TELLUS;
+ if (ap_type == ATMEL12350) {
+ varbinds[0].oid = sysDeviceInfo_ATMEL;
+ varbinds[0].len_oid = sizeof(sysDeviceInfo_ATMEL);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ varbinds[1].oid = wirelessStatistics_ATMEL;
+ varbinds[1].len_oid = sizeof(wirelessStatistics_ATMEL);
+ varbinds[1].value = NULL;
+ varbinds[1].len_val = 0;
+ varbinds[1].type = NULL_VALUE;
+
+ if (snmp(varbinds, 2, GET) <= 0) {
+ print_helperr(ERR_RET);
+ getch();
+ return -1;
+ }
- if (ap_type == ATMEL12350 && varbinds[1].len_val == 104)
- ap_vendorext = VERNET;
+ if (varbinds[0].len_val == 160)
+ ap_vendorext = GEMTEK;
+
+ if (varbinds[1].len_val == 104)
+ ap_vendorext = EZYNET;
+ }
return 0;
}
void exit_program()
{
+ erase();
+ refresh();
endwin();
exit(0);
}
refresh();
}
+/*
+ * Sets different-than-default (1 sec.) polling interval for polling-active
+ * modes, from interval <0.1;86400> seconds.
+ * poll_delay is natively in tenths of second.
+ */
+void polling_interval()
+{
+ unsigned char message[256];
+ int c = 0;
+
+ noecho();
+ print_help(POLL_HELP);
+
+ while (1) {
+ sprintf(message, _("%s%u"), POLL_I, poll_delay);
+ mvwaddstr(main_sub, 0, 0, message);
+ sprintf(message, _("(%0.1f seconds)"), (float) poll_delay / 10);
+ mvwaddstr(main_sub, 1, strlen(POLL_I), message);
+ wrefresh(main_sub);
+ c = getch();
+ switch (c) {
+ case 'P':
+ case 'p':
+ get_value(message, 0, strlen(POLL_I), 7, INT_STRING, 1, 864000,
+ POLL_HELP);
+ poll_delay = atoi(message);
+ clear_main_new(0, 2);
+ break;
+ case 'Q':
+ case 'q':
+ goto quit;
+ }
+ }
+
+quit:
+ print_help("");
+ clear_main(0);
+ return;
+}
+
/*
* Expects regulatory domain code on input and returns index of a corresponding
* regdom_types[] member, that describes the given regulatory domain properties.
return i;
}
-
extern short ap_type, ap_vendorext;
extern struct in_addr ap_ip;
extern int atmel410_filter;
+
#define MAX_LINES LINES-6
struct APList {
{
extern char *community;
extern struct in_addr ap_ip;
- extern int sockfd;
-
+
char *home_dir, buf[1024], mess[64];
char message[50];
int c, fd, rval = 0, pos;
signed int j, i, begin, end, record_num = 0;
struct APList *first = NULL, *curr = NULL, *pmac;
- struct sockaddr_in client;
-
- memset(&client, 0, sizeof client);
- client.sin_family = AF_INET;
- client.sin_port = INADDR_ANY;
- client.sin_addr.s_addr = INADDR_ANY;
if ((home_dir = getenv("HOME")) == NULL)
return 0;
strncpy(community, curr->passwd, i);
ap_type = curr->type;
ap_vendorext = curr->vendorext;
- rval = 1;
- if (sockfd)
- close(sockfd);
- if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
- rval = 0;
-
- if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1)
+ rval = 1;
+ if (reopen_sockfd() == -1)
rval = 0;
print_bottom(inet_ntoa(ap_ip));
strncpy(community, curr->passwd, i);
ap_type = curr->type;
ap_vendorext = curr->vendorext;
- rval = 1;
- if (sockfd)
- close(sockfd);
- if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
- rval = 0;
-
- if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1)
+ rval = 1;
+ if (reopen_sockfd() == -1)
rval = 0;
print_bottom(inet_ntoa(ap_ip));
}
continue;
+ case KEY_NPAGE:
+ if (end < record_num) {
+ end = (end + (MAX_LINES) - 1 < record_num) ?
+ end + (MAX_LINES) - 1 : record_num;
+ begin = (end - (MAX_LINES) + 1 > 0) ?
+ end - (MAX_LINES) + 1 : 1;
+ _scroll_rows(first, begin, end);
+ }
+ continue;
+
+ case KEY_PPAGE:
+ if (begin > 1) {
+ begin = (begin - (MAX_LINES) + 1 > 0) ?
+ begin - (MAX_LINES) + 1 : 1;
+ end = (begin + (MAX_LINES) - 1 < record_num) ?
+ begin + (MAX_LINES) - 1 : record_num;
+ _scroll_rows(first, begin, end);
+ }
+ continue;
+
+ case KEY_END:
+ if (end < record_num) {
+ begin = (record_num > MAX_LINES) ? record_num + 1 - (MAX_LINES) : 1;
+ end = record_num;
+ _scroll_rows(first, begin, end);
+ }
+ continue;
+
+ case KEY_HOME:
+ if (begin > 1) {
+ begin = 1;
+ end = (record_num > MAX_LINES) ? MAX_LINES : record_num;
+ _scroll_rows(first, begin, end);
+ }
+ continue;
+
case 'w':
case 'W':
sprintf(buf, "%s/.ap-config", home_dir);
curr = curr->next;
}
close(fd);
- print_help(
- _("AP list file ~/.ap-config successfully written. "
- "Press any key."));
- } else {
- print_helperr(
- _("Unable to write AP list file ~/.ap-config. "
- "Press any key."));
- }
+ print_help(DONE_WRITING_APCONF);
+ } else
+ print_helperr(ERR_WRITING_APCONF);
+
getch();
continue;
}
/*
- * scr.c from Access Point SNMP Utils for Linux
+ * input.c from Access Point SNMP Utils for Linux
* program input & screen related functions
*
* Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ * Copyright (c) 2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
#include <stdlib.h>
#include <string.h>
-#include <sys/time.h>
-#include <sys/types.h>
#include <unistd.h>
#include <menu.h>
#include <errno.h>
char message[MAC_LEN+1], mess[MAC_LEN/MAC_BYTES+1];
int i;
- get_value(message, row, col, MAC_LEN+1, HEX_STRING, 0, 0, NULL);
- if (strlen(message) < 12) i = 255;
+ message[0] = '\0';
+ while (strlen(message) != 12)
+ get_value(message, row, col, MAC_LEN+1, HEX_STRING, 0, 0, NULL);
for (i = 0; i < MAC_BYTES; i++) {
mess[0] = message[2 * i];
void
get_mask(struct in_addr *ip, int row, int col, char *helpmsg)
{
- int i, bit, hmask, trans_count = 0;
+ int i, bit, hmask, trans_count;
get_mask_again:
+ trans_count = 0;
get_ip(ip, row, col, helpmsg);
hmask = ntohl(ip->s_addr);
bit = hmask & 0x00000001;
get_value(char *value, int row, int col, int len,
char vt, unsigned int minv, unsigned int maxv, char *helpmsg)
{
- unsigned int i;
- unsigned char c, acs;
+ int c, i, x, y;
+ unsigned char acs;
char iv_msg[128], zerolen_perm = 0;
+ enum { INSERT, OVERWRITE } mode;
+ WINDOW *gv_win;
if (vt == ANY_STRING && len < 0) {
zerolen_perm = 1;
len = -len;
}
- echo();
- wattrset(main_sub, COLOR_PAIR(2));
+ gv_win = derwin(main_sub, 1, len - 1, row, col);
+ wbkgdset(gv_win, A_REVERSE);
+
get_value_again:
- wmove(main_sub, row, col);
- for (i = 0; i < (unsigned int)len - 1; i++)
- waddch(main_sub, ' ');
+ mode = INSERT;
curs_set(1);
- wmove(main_sub, row, col);
- wrefresh(main_sub);
+ werase(gv_win);
+ wrefresh(gv_win);
- i = 0;
+ i = 0; /* means 'character count' here */
while (1) {
- c = getchar();
+ c = getch();
acs = 0;
switch (vt) {
case INT_STRING:
case ANY_STRING:
acs = 1;
}
- if (c == 0x7F) {
- /* DELETE KEY */
- if (i > 0) {
- value[i--] = 0;
- wmove(main_sub, row, col + i);
- waddch(main_sub, ' ');
- /* put backspace to move cursor back */
- wechochar(main_sub, 0x08);
- }
- continue;
- } else if (c == 0x0D) {
- /* ENTER KEY */
- if (i > 0 || zerolen_perm)
+ /* rather do not ask, how this works... */
+ getyx(gv_win, y, x);
+ switch (c) {
+ case KEY_BACKSPACE:
+ /* lefthandside DELETE */
+ if (x > 0) {
+ /*
+ * do not step cursor back only if window is filled AND
+ * cursor is totally on RHS
+ */
+ if ((i < len - 1) || (x < len - 2))
+ x--;
+ mvwdelch(gv_win, 0, x);
+ wrefresh(gv_win);
+ i--;
+ }
break;
- continue;
- } else if (c == 0x1B) {
- /* ESCAPE KEY */
- continue;
- } else if (acs && (i < (unsigned int)len - 1)) {
- value[i++] = c;
- wechochar(main_sub, c);
+ case KEY_DC:
+ /* righthandside DELETE */
+ if (i > 0) {
+ if (x == i)
+ x--;
+ mvwdelch(gv_win, 0, x);
+ wrefresh(gv_win);
+ i--;
+ }
+ break;
+ case KEY_LEFT:
+ if (x > 0) {
+ wmove(gv_win, 0, --x);
+ wrefresh(gv_win);
+ }
+ break;
+ case KEY_RIGHT:
+ if (x < i) {
+ wmove(gv_win, 0, ++x);
+ wrefresh(gv_win);
+ }
+ break;
+ case KEY_HOME:
+ wmove(gv_win, 0, 0);
+ wrefresh(gv_win);
+ break;
+ case KEY_END:
+ wmove(gv_win, 0, (i == len - 1 ? i - 1 : i));
+ wrefresh(gv_win);
+ break;
+ case KEY_IC:
+ mode = (mode == INSERT ? OVERWRITE : INSERT);
+ curs_set(mode == INSERT ? 1 : 2);
+ break;
+ case 0x0A:
+ /* ENTER KEY */
+ if (i > 0 || zerolen_perm)
+ goto away;
+
+ break;
+ default:
+ if (acs && (c < 0x100)) {
+ if (mode == INSERT) {
+ if (i < len - 1) {
+ winsch(gv_win, c);
+ i++;
+ wmove(gv_win, 0, ++x);
+ wrefresh(gv_win);
+ }
+ } else {
+ if (i <= len - 1) {
+// wechochar(gv_win, c);
+ waddch(gv_win, c);
+ if (x == i)
+ i++;
+ wmove(gv_win, 0, ++x);
+ wrefresh(gv_win);
+ }
+ }
+ }
}
}
+
+away:
+ wmove(gv_win, 0, 0);
+ winnstr(gv_win, value, i);
value[i] = 0;
+ curs_set(0);
- noecho();
- if (vt == INT_STRING && (minv | maxv)) {
- errno = 0;
+ if (vt == INT_STRING) {
i = strtoul(value, (char **)NULL, 10);
- if (i < minv || i > maxv || errno == ERANGE) {
- if (helpmsg) {
- snprintf(iv_msg, sizeof(iv_msg) - 1, OOR_IV_MSG, minv, maxv);
- print_helperr(iv_msg);
- getch();
- print_help(helpmsg);
+ sprintf(value, "%i", i); /* eat leading zeros */
+ if (minv | maxv) {
+ errno = 0;
+ if ((unsigned)i < minv || (unsigned)i > maxv || errno == ERANGE) {
+ if (helpmsg) {
+ snprintf(iv_msg, sizeof(iv_msg) -1, OOR_IV_MSG, minv, maxv);
+ print_helperr(iv_msg);
+ getch();
+ print_help(helpmsg);
+ }
+ goto get_value_again;
}
- goto get_value_again;
}
}
- curs_set(0);
- wattrset(main_sub, A_BOLD);
- wmove(main_sub, row, col);
- for (i = 0; i < (unsigned int)len - 1; i++)
- waddch(main_sub, ' ');
- mvwaddstr(main_sub, row, col, value);
- wattrset(main_sub, A_NORMAL);
- wrefresh(main_sub);
+ wbkgdset(gv_win, A_BOLD);
+ werase(gv_win);
+ waddstr(gv_win, value);
+ wrefresh(gv_win);
+// mvwprintw(main_sub, 18, 1, "length: %i", i);
+// wrefresh(main_sub);
+ delwin(gv_win);
}
/*
{
int i, j = 0;
- wattrset(main_sub, COLOR_PAIR(2));
+ wattrset(main_sub, COLOR_PAIR(12));
wmove(main_sub, row, col);
for (i = 0; i < len - 1; i++)
waddch(main_sub, ' ');
else
choose_menu = newwin(nrow, ncol, brow - nrow + 3, bcol + MCOLS);
sub_choose_menu = derwin(choose_menu, nrow - 2, ncol - 2, 1, 1);
- attrset(COLOR_PAIR(1));
+ attrset(COLOR_PAIR(11));
mvwaddch(choose_menu, 0, 0, ACS_ULCORNER);
mvwaddch(choose_menu, 0, ncol - 1, ACS_URCORNER);
}
/*
- * Reads key by either getch() (WAIT_FOREVER mode) or select()
- * (WAIT_TIMEOUT mode). Returns -1 upon error, 0 for timeout, or
- * pressed key code.
+ * Reads key by either no-delay getch() (WAIT_FOREVER mode) or using
+ * getch() with tval tenths of second timeout (WAIT_TIMEOUT mode).
+ * Returns 0 for timeout, or pressed key code.
*/
-int wait_key()
+int wait_key(int tval)
{
- int i = 0;
- fd_set rds;
- struct timeval timeout;
+ int i;
extern int wait_mode;
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
- FD_ZERO(&rds);
- FD_SET(0, &rds);
-
- if (wait_mode == WAIT_TIMEOUT) {
- /*
- * wait up to timeout until anything is avail. for reading
- * on stdin
- */
- i = select(1, &rds, NULL, NULL, &timeout);
-
- /* not timed out => anything avail. for reading in rds */
- if (i > 0)
- i = getc(stdin);
-
- /* error occured */
- if (i == -1) {
- print_helperr(SELECT);
- getch();
- }
+ if (wait_mode == WAIT_TIMEOUT)
+ timeout(tval * 100);
- /* also happens: i = 0 => timeout => release */
+ i = getch();
- } else { /* wait_mode = WAIT_FOREVER */
- i = getch();
+ if (wait_mode == WAIT_TIMEOUT) {
+ timeout(-1);
+// nocbreak();
+// cbreak();
}
+ if (i == ERR)
+ i = 0;
+
return i;
}
post_menu(menu);
- wrefresh(sub_for_menu);
print_help(umenu[0].help);
while (1) {
+ wrefresh(sub_for_menu);
switch (getch()) {
case KEY_DOWN:
case 'j':
case 'J':
menu_driver(menu, REQ_NEXT_ITEM);
- wrefresh(sub_for_menu);
break;
case KEY_RIGHT:
case 'l':
case 'L':
menu_driver(menu, REQ_LAST_ITEM);
- wrefresh(sub_for_menu);
break;
case KEY_LEFT:
case 'h':
case 'H':
menu_driver(menu, REQ_FIRST_ITEM);
- wrefresh(sub_for_menu);
break;
case KEY_UP:
case 'k':
case 'K':
menu_driver(menu, REQ_PREV_ITEM);
- wrefresh(sub_for_menu);
break;
case KEY_PPAGE:
case KEY_HOME:
menu_driver(menu, REQ_FIRST_ITEM);
- wrefresh(sub_for_menu);
break;
case KEY_NPAGE:
case KEY_END:
menu_driver(menu, REQ_LAST_ITEM);
- wrefresh(sub_for_menu);
break;
case 'q':
case 'Q':
goto quitmenu;
case 's':
case 'S':
- if (set_oeminfo_allowed)
+ if (set_oeminfo_allowed) {
+ set_menu_mark(menu, " ");
+ set_menu_fore(menu, A_NORMAL);
+ wrefresh(sub_for_menu);
atmel_set_oeminfo();
-
+ set_menu_mark(menu, "-");
+ set_menu_fore(menu, A_STANDOUT);
+ }
break;
/* Enter */
case 10:
}
if (umenu[idx].is_menu)
unpost_menu(menu);
+
umenu[idx].func();
- if (umenu[idx].is_menu) {
+
+ if (umenu[idx].is_menu)
post_menu(menu);
- wrefresh(sub_for_menu);
- }
+
break;
default:
continue;
0x00, 0x0C, 0xCE, "Cisco Systems"}, {
0x00, 0x0D, 0x54, "3Com Europe Ltd"}, {
0x00, 0x0D, 0x88, "D-Link Corporation"}, {
+ 0x00, 0x0E, 0x2E, "Edimax Technology Co., Ltd."}, {
0x00, 0x0E, 0xA6, "ASUSTEK COMPUTER INC."}, {
+ 0x00, 0x0F, 0x3D, "D-Link Corporation"}, {
+ 0x00, 0x0F, 0x66, "Cisco-Linksys"}, {
0x00, 0x10, 0x00, "CABLE TELEVISION LABORATIES, INC."}, {
0x00, 0x10, 0x01, "MCK COMMUNICATIONS"}, {
0x00, 0x10, 0x02, "ACTIA"}, {
0x00, 0x10, 0xFD, "COCOM A/S"}, {
0x00, 0x10, 0xFE, "DIGITAL EQUIPMENT CORPORATION"}, {
0x00, 0x10, 0xFF, "CISCO SYSTEMS, INC."}, {
+ 0x00, 0x11, 0x2F, "ASUSTek Computer Inc."}, {
+ 0x00, 0x11, 0x7C, "e-zy.net"}, {
0x00, 0x1C, 0x7C, "PERQ SYSTEMS CORPORATION"}, {
0x00, 0x20, 0x00, "LEXMARK INTERNATIONAL, INC."}, {
0x00, 0x20, 0x01, "DSP SOLUTIONS, INC."}, {
varbinds[1].type = NULL_VALUE;
print_help(WAIT_RET);
- if (snmp(varbinds, 2, GET) <= 0) {
+ if (snmp(varbinds, 2, GET) < 2) {
print_helperr(ERR_RET);
goto exit;
}
print_helperr(ERR_SET);
goto exit;
}
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
break;
default:
continue;
#include <menu.h>
extern WINDOW *main_sub, *win_for_help, *main_win;
+extern short ap_type, ap_vendorext;
enum { dBm, percentage, rawval } sts_viewtype = dBm;
struct MacListStat *curr = first;
char message[100];
- clear_main(3);
+ clear_main(row);
while (i++ < begin)
curr = curr->next;
i = 0;
while (end-- > begin) {
if (stat == 1) {
- /* NWN view */
+ /* NWN STAtions listing */
sprintf(message,
- (sts_viewtype == dBm) ?
- "%4u %02X%02X%02X%02X%02X%02X %3u%5u %3udBm"
- :
- (sts_viewtype == percentage) ?
- "%4u %02X%02X%02X%02X%02X%02X %3u%5u %3u%%"
- :
- "%4u %02X%02X%02X%02X%02X%02X %3u%5u %3u",
+ "%4u %02X%02X%02X%02X%02X%02X %3u%5u %3d",
begin + i, curr->addr[0] & 0xFF, curr->addr[1] & 0xFF,
curr->addr[2] & 0xFF, curr->addr[3] & 0xFF,
curr->addr[4] & 0xFF, curr->addr[5] & 0xFF,
conv_rssi(curr->rssi)
);
} else if (stat == 2) {
- /* ATMEL410_SBRIDGES (firmware 1.4k.1) view */
- sprintf(message,
- (sts_viewtype == dBm) ?
- "%2u %02X%02X%02X%02X%02X%02X %3d%% %4ddBm %3u %2u %s"
- :
- (sts_viewtype == percentage) ?
- "%2u %02X%02X%02X%02X%02X%02X %3d%% %3u%% %3u %2u %s"
- :
- "%2u %02X%02X%02X%02X%02X%02X %3d%% %3u %3u %2u %s",
- begin + i,
- curr->addr[0] & 0xFF, curr->addr[1] & 0xFF,
- curr->addr[2] & 0xFF, curr->addr[3] & 0xFF,
- curr->addr[4] & 0xFF, curr->addr[5] & 0xFF,
- curr->quality,
- conv_rssi(curr->rssi),
- curr->Status,
- curr->Port,
- inet_ntoa(curr->IP)
- );
- } else if (stat == 3) {
- /* ATMEL12350_VERNET view */
- sprintf(message,
- (sts_viewtype == dBm) ?
- "%2u %02X%02X%02X%02X%02X%02X %02X%02X%02X%02X%02X%02X "
- "%4ddBm %3u %2u %s"
- :
- (sts_viewtype == percentage) ?
- "%2u %02X%02X%02X%02X%02X%02X %02X%02X%02X%02X%02X%02X "
- " %3u%% %3u %2u %s"
- :
- "%2u %02X%02X%02X%02X%02X%02X %02X%02X%02X%02X%02X%02X "
- " %3u %3u %2u %s",
+ /* ATMEL STAtions listing */
+ char parentmac[13] = " - ";
+ char rssi[5] = " -";
+ char quality[5] = " -";
+ char status[4] = " -";
+ char port[4] = " -";
+ char ip[16] = " - ";
+
+ if (curr->ParentMacAddress[0] | curr->ParentMacAddress[1] |
+ curr->ParentMacAddress[2] | curr->ParentMacAddress[3] |
+ curr->ParentMacAddress[4] | curr->ParentMacAddress[5])
+ sprintf(parentmac, "%02X%02X%02X%02X%02X%02X",
+ curr->ParentMacAddress[0] & 0xFF,
+ curr->ParentMacAddress[1] & 0xFF,
+ curr->ParentMacAddress[2] & 0xFF,
+ curr->ParentMacAddress[3] & 0xFF,
+ curr->ParentMacAddress[4] & 0xFF,
+ curr->ParentMacAddress[5] & 0xFF);
+
+ if (curr->rssi)
+ sprintf(rssi, "%4d", conv_rssi(curr->rssi));
+
+ if (curr->quality)
+ sprintf(quality, "%3u%%", curr->quality);
+
+ if (curr->Status)
+ sprintf(status, "%3u", curr->Status);
+
+ if (curr->Port)
+ sprintf(port, "%2u", curr->Port);
+
+ if(curr->IP.s_addr)
+ sprintf(ip, "%s", inet_ntoa(curr->IP));
+
+ sprintf(message, "%3u %02X%02X%02X%02X%02X%02X %s %s %s %s %s %s",
begin + i,
curr->addr[0] & 0xFF, curr->addr[1] & 0xFF,
curr->addr[2] & 0xFF, curr->addr[3] & 0xFF,
curr->addr[4] & 0xFF, curr->addr[5] & 0xFF,
- curr->ParentMacAddress[0] & 0xFF,
- curr->ParentMacAddress[1] & 0xFF,
- curr->ParentMacAddress[2] & 0xFF,
- curr->ParentMacAddress[3] & 0xFF,
- curr->ParentMacAddress[4] & 0xFF,
- curr->ParentMacAddress[5] & 0xFF,
- conv_rssi(curr->rssi),
- curr->Status,
- curr->Port,
- inet_ntoa(curr->IP)
+ parentmac, rssi, quality, status, port, ip
);
} else {
- /* generic ATMEL view */
- sprintf(message, "%2u %02X%02X%02X%02X%02X%02X",
+ /* MAC auth table listing */
+ sprintf(message, " %3u %02X%02X%02X%02X%02X%02X",
begin + i, curr->addr[0] & 0xFF, curr->addr[1] & 0xFF,
curr->addr[2] & 0xFF, curr->addr[3] & 0xFF,
curr->addr[4] & 0xFF, curr->addr[5] & 0xFF
void print_helperr(char *mess)
{
- wattrset(win_for_help, COLOR_PAIR(4) | A_BOLD);
+ wattrset(win_for_help, COLOR_PAIR(14) | A_BOLD);
print_help(mess);
- wattrset(win_for_help, COLOR_PAIR(1));
+ wattrset(win_for_help, COLOR_PAIR(11));
}
void print_bold(WINDOW *wptr, char *mess)
{
char message_l[200];
- sprintf(message_l, "%s", VIEW);
+ sprintf(message_l, "%s", "RSSI: ");
switch (sts_viewtype) {
case dBm:
- strcat(message_l, "RSSI in dBm");
+ strcat(message_l, "dBm");
break;
case percentage:
- strcat(message_l, "RSSI in percentage");
+ strcat(message_l, "%");
break;
case rawval:
- strcat(message_l, "RSSI in raw values");
+ strcat(message_l, "raw");
}
print_top(message_l, message_r);
}
{
switch (sts_viewtype) {
case dBm:
- return (-96 + raw_rssi);
+ return (dbmconv(raw_rssi));
case percentage:
return ((int)((minimum (raw_rssi, 40)) * (float)2.5));
case rawval:
print_top(NULL, COMMUNITY_TOP_HEADER);
mvwaddstr(main_sub, 0, 0, COMMUNITY_HEADER1);
- mvwaddstr(main_sub, 0, 25, COMMUNITY_HEADER2);
+ mvwaddstr(main_sub, 0, 37, COMMUNITY_HEADER2);
mvwaddstr(main_sub, 1, 0, COMMUNITY_USER);
mvwaddstr(main_sub, 2, 0, COMMUNITY_ADMIN);
continue;
case 'U':
case 'u':
-/* get_value(user, 1, 25, sizeof(user), ANY_STRING, 0, 0, NULL); */
- get_pass(user, 1, strlen(COMMUNITY_USER), sizeof(user));
+/* get_value(user, 1, 37, sizeof(user), ANY_STRING, 0, 0, NULL); */
+ get_pass(user, 1, 37, sizeof(user));
continue;
case 'A':
case 'a':
-/* get_value(admin, 2, 25, sizeof(admin), ANY_STRING, 0, 0, NULL); */
- get_pass(admin, 2, strlen(COMMUNITY_ADMIN), sizeof(admin));
+/* get_value(admin, 2, 37, sizeof(admin), ANY_STRING, 0, 0, NULL); */
+ get_pass(admin, 2, 37, sizeof(admin));
continue;
case 'M':
case 'm':
if (ap_type == ATMEL410 || ap_type == ATMEL12350)
/*
- get_value(manufact, 3, 25, sizeof(manufact), ANY_STRING,
+ get_value(manufact, 3, 37, sizeof(manufact), ANY_STRING,
0, 0, NULL);
*/
- get_pass(manufact, 3, strlen(COMMUNITY_MANUF),
- sizeof(manufact));
+ get_pass(manufact, 3, 37, sizeof(manufact));
continue;
case 'Q':
case 'q':
print_helperr(ERR_SET);
goto exit;
}
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
break;
}
break;
/*
- * sysinfo_set.c from Access Point SNMP Utils for Linux
+ * set_oeminfo.c from Access Point SNMP Utils for Linux
*
- * Copyright (c) Jan Rafaj <jr-aputils at cedric dot unob dot cz>
+ * Copyright (c) 2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
*/
#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/types.h>
#define S_STRUCTVERSION _("Info structure version: ")
#define S_MAC _("[M] Device MAC address: ")
#define V_OUI _(" Manufacturer with this OUI: ")
-#define S_DEFCHAN _("[C] Default channel: ")
#define S_REGDOM _("[D] Regulatory domain: ")
#define S_PRODTYPE _("[T] Product type: ")
#define S_OEMNAME _("[E] OEM name: ")
#define S_OEMID _("[I] OEM ID: ")
#define S_PRODNAME _("[N] Product name: ")
#define S_HWREV _("[H] Hardware revision: ")
-// #define S_PIDVID _("[V] PID & VID: ")
#define S_COUNTRYC _("[O] Country code: ")
-// #define S_CHANNELS _("[A] Available channels: ")
-#define S_TXPOWER _("[P] Nominal Tx Power (CR31) value for all used channels: ")
+#define S_DEFCHAN _("[C] Default channel: ")
+#define S_CHANNELS _("[A] Calibrated channels: ")
+#define S_TXPOWER _("[P] Nominal Tx Power (CR31) value for calibrated channels: ")
#define OEMSET_HELP _("Keys in brackets - set corresponding option; W - write conf; Q - quit to menu")
extern WINDOW *main_sub;
char sysDeviceInfo[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x05, 0x00
};
- // Following one is only available in ATMEL12350 MIBs
+ // Following one is only available in newer ATMEL12350 MIBs
char sysDeviceMoreInfo[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x01, 0x08, 0x00
};
char message[200], c;
char **regdoms;
- int i, rd_idx;
+ int i, rd_idx, st_len;
varbind varbinds[1];
- struct sysDeviceInfo_ATMEL410 str410;
- struct sysDeviceInfo_ATMEL12350 str12350;
+ struct sysDeviceInfo_128 str128; /* SHORTst */
+ struct sysDeviceInfo_160 str160; /* LONGst */
/*
- * These have to represent used sysDeviceInfo_{ATMEL410,ATMEL12350} members
- * Note that sysOIDSize and sysOID can NOT be written using sysDevice*Info
- * OID at all.
+ * These have to represent used sysDeviceInfo_{128,160} members
+ * Note that sysOIDSize, sysOID and PID_VID can NOT be written
+ * using sysDevice*Info OIDs at all - the only way to change them
+ * (highly discouraged !) is in OEM configuration file, using AP RFMD
+ * or AP INTERSIL configuration editor, followed by uploading this file
+ * to the AP using ATMEL tftp client - this way, *all* defaults
+ * can be changed.
*/
uint32_t StructVersion; // [4]
char *MacAddress; // [6]
- // [2 reserved for ATMEL410; 0 for ATMEL12350]
- char Channel = 0; // ATMEL12350 specific; [0 for AT.410; 1 for ATMEL12350]
- uint32_t RegulatoryDomain; // [4 for ATMEL410; 1 for ATMEL12350]
+ // [2 reserved for SHORTst; 0 for LONGst]
+ char Channel = 0; // LONGst specific: [0 for SHORTst; 1 for LONGst]
+ uint32_t RegulatoryDomain; // [4 for SHORTst; 1 for LONGst]
uint32_t ProductType; // [4]
char *OEMName; // [32]
uint32_t OEMID; // [4]
char *ProductName; // [32]
uint32_t HardwareRevision; // [4]
- /* the rest is ATMEL12350 specific */
- char *PID_VID = NULL; // [0 for ATMEL410; 4 for ATMEL12350]
- uint32_t sysOIDSize = 0; // [0 for ATMEL410; 4 for ATMEL12350]
- uint16_t *sysOID = NULL; // [0 for ATMEL410; 32 for ATMEL12350]
- char *CountryCode = NULL; // [0 for ATMEL410; 3 for ATMEL12350]
- // [0 for ATMEL410; 1 reserved for ATMEL12350]
- uint16_t ChannelInformation = 0; // [0 for ATMEL410; 2 for ATMEL12350]
- // [0 for ATMEL410; 2 reserved for ATMEL12350]
- char *TxPower = NULL; // [0 for ATMEL410; 14 for ATMEL12350]
- // [0 for ATMEL410; 10 reserved for ATMEL12350]
+ /* the rest is LONGst specific */
+ char *PID_VID = NULL; // [0 for SHORTst; 4 for LONGst]
+ uint32_t sysOIDSize = 0; // [0 for SHORTst; 4 for LONGst]
+ uint16_t *sysOID = NULL; // [0 for SHORTst; 32 for LONGst]
+ char *CountryCode = NULL; // [0 for SHORTst; 3 for LONGst]
+ // [0 for SHORTst; 1 reserved for LONGst]
+ uint16_t ChannelInformation = 0; // [0 for SHORTst; 2 for LONGst]
+ // [0 for SHORTst; 2 reserved for LONGst]
+ char *TxPower = NULL; // [0 for SHORTst; 14 for LONGst]
+ // [0 for SHORTst; 10 reserved for LONGst]
clear_main(0);
noecho();
goto exit;
}
- if (ap_type == ATMEL410) {
- memcpy(&str410, varbinds[0].value,
- sizeof(struct sysDeviceInfo_ATMEL410));
- StructVersion = str410.StructVersion;
- MacAddress = str410.MacAddress;
- RegulatoryDomain = str410.RegulatoryDomain;
- ProductType = str410.ProductType;
- OEMName = str410.OEMName;
- OEMID = str410.OEMID;
- ProductName = str410.ProductName;
- HardwareRevision = str410.HardwareRevision;
- } else { /* ATMEL12350 */
- memcpy(&str12350, varbinds[0].value,
- sizeof(struct sysDeviceInfo_ATMEL12350));
- StructVersion = str12350.StructVersion;
- MacAddress = str12350.MacAddress;
- Channel = str12350.Channel;
- RegulatoryDomain = str12350.RegulatoryDomain;
- ProductType = str12350.ProductType;
- OEMName = str12350.OEMName;
- OEMID = str12350.OEMID;
- ProductName = str12350.ProductName;
- HardwareRevision = str12350.HardwareRevision;
- PID_VID = str12350.PID_VID;
- sysOIDSize = str12350.sysOIDSize;
- sysOID = str12350.sysOID;
- CountryCode = str12350.CountryCode;
- ChannelInformation = str12350.ChannelInformation;
- TxPower = str12350.TxPower;
+ st_len = varbinds[0].len_val;
+
+ if (st_len == 92 || st_len == 128) { /* SHORTst */
+ memcpy(&str128, varbinds[0].value,
+ sizeof(struct sysDeviceInfo_128));
+ StructVersion = str128.StructVersion;
+ MacAddress = str128.MacAddress;
+ RegulatoryDomain = str128.RegulatoryDomain;
+ ProductType = str128.ProductType;
+ OEMName = str128.OEMName;
+ OEMID = str128.OEMID;
+ ProductName = str128.ProductName;
+ HardwareRevision = str128.HardwareRevision;
+ } else { /* st_len == 160 => LONGst */
+ memcpy(&str160, varbinds[0].value,
+ sizeof(struct sysDeviceInfo_160));
+ StructVersion = str160.StructVersion;
+ MacAddress = str160.MacAddress;
+ Channel = str160.Channel;
+ RegulatoryDomain = str160.RegulatoryDomain;
+ ProductType = str160.ProductType;
+ OEMName = str160.OEMName;
+ OEMID = str160.OEMID;
+ ProductName = str160.ProductName;
+ HardwareRevision = str160.HardwareRevision;
+ PID_VID = str160.PID_VID;
+ sysOIDSize = str160.sysOIDSize;
+ sysOID = str160.sysOID;
+ CountryCode = str160.CountryCode;
+ ChannelInformation = str160.ChannelInformation;
+ TxPower = str160.TxPower;
}
clear_main(0);
sprintf(message, "%s%u", S_HWREV, HardwareRevision);
mvwaddstr(main_sub, 8, 0, message);
- if (ap_type == ATMEL12350) {
- sprintf(message, "%s%02u (%u MHz)", S_DEFCHAN, Channel,
- 2407 + 5 * Channel);
- mvwaddstr(main_sub, 9, 0, message);
-
- wmove(main_sub, 10, 0);
- for (i = 0; i++ < COLS - MCOLS; waddch(main_sub, ACS_BSBS));
+ wmove(main_sub, 9, 0);
+ for (i = 0; ++i < COLS - MCOLS; waddch(main_sub, ACS_BSBS));
+ if (st_len == 160) {
sprintf(message, "%s%s", S_COUNTRYC, CountryCode);
- mvwaddstr(main_sub, 11, 0, message);
+ mvwaddstr(main_sub, 10, 0, message);
-// TODO: find out what format this is in [apparently 2x uint16?]
-// sprintf(message, "%s%u %u %u %u", S_PIDVID,
-// PID_VID[0] & 0xFF, PID_VID[1] & 0xFF,
-// PID_VID[2] & 0xFF, PID_VID[3] & 0xFF);
-// mvwaddstr(main_sub, 12, 0, message);
+ sprintf(message, "%s%02u (%u MHz)", S_DEFCHAN, Channel,
+ 2407 + 5 * Channel);
+ mvwaddstr(main_sub, 11, 0, message);
-// TODO: find out what format ChannelInformation is in & enable this
-// sprintf(message, "%s%u", S_CHANNELS, ChannelInformation);
-// mvwaddstr(main_sub, 13, 0, message);
+ i = 1;
+ while(ChannelInformation >> i) i++;
+ sprintf(message, "%s%i", S_CHANNELS, i);
+ mvwaddstr(main_sub, 12, 0, message);
sprintf(message, "%s%u", S_TXPOWER,
TxPower[regdom_types[rd_idx].first_ch] & 0xFF);
- mvwaddstr(main_sub, 12, 0, message);
+ mvwaddstr(main_sub, 13, 0, message);
#if 0 /* DEBUG */
- wmove(main_sub, 17, 0);
+ wmove(main_sub, 18, 0);
for (i = 0; i < 14; i++) {
sprintf(message, "%-3u ", TxPower[i] & 0xFF);
waddstr(main_sub, message);
}
#endif /* DEBUG */
- sprintf(message, "[-] First %u OID elements: .%u.%u.%u.%u",
- sysOIDSize / 2, sysOID[0], sysOID[1], sysOID[2], sysOID[3]);
- mvwaddstr(main_sub, 13, 0, message);
+ wmove(main_sub, 14, 0);
+ for (i = 0; ++i < COLS - MCOLS; waddch(main_sub, ACS_BSBS));
+
+ sprintf(message, "System control OID part [%u elements]: ", sysOIDSize);
+ mvwaddstr(main_sub, 15, 0, message);
+ i = 0;
+ while (i < (int)sysOIDSize) {
+ sprintf(message, ".%u", sysOID[i++]);
+ waddstr(main_sub, message);
+ }
+
+ sprintf(message, "USB Vendor ID: 0x%04X", (PID_VID[0] & 0xFF) |
+ ((PID_VID[1] & 0xFF) << 8));
+ mvwaddstr(main_sub, 16, 0, message);
+
+ sprintf(message, "USB Product ID: 0x%04X", (PID_VID[2] & 0xFF) |
+ ((PID_VID[3] & 0xFF) << 8));
+ mvwaddstr(main_sub, 17, 0, message);
+
}
wrefresh(main_sub);
free(regdoms);
- if (ap_type == ATMEL12350) {
+ if (st_len == 160) {
Channel = regdom_types[rd_idx].first_ch;
sprintf(message, "%02u (%u MHz)", Channel,
2407 + 5 * Channel);
- print_menusel(9, 0, S_DEFCHAN, message);
+ print_menusel(11, 0, S_DEFCHAN, message);
}
continue;
case 'e':
INT_STRING, 0, 0xFFFFFFFF, OEMSET_HELP);
HardwareRevision = atoi(message);
continue;
+ case 'o':
+ case 'O':
+ if (st_len == 92 || st_len == 128)
+ continue;
+
+ get_value(CountryCode, 10, strlen(S_COUNTRYC), 3, ANY_STRING,
+ 0, 0, NULL);
+ continue;
case 'c':
case 'C':
- if (ap_type != ATMEL12350)
+ if (st_len == 92 || st_len == 128)
continue;
- Channel = menu_choose(3, strlen(S_DEFCHAN) - 2,
+ Channel = menu_choose(11 - regdom_types[rd_idx].chans / 2,
+ strlen(S_DEFCHAN) - 2,
#ifndef NO_REG_DOMAIN
channels + regdom_types[rd_idx].first_ch - 1,
regdom_types[rd_idx].chans) + regdom_types[rd_idx].first_ch;
channels, 14) + 1;
#endif
sprintf(message, "%02u (%u MHz)", Channel, 2407 + 5 * Channel);
- print_menusel(9, 0, S_DEFCHAN, message);
+ print_menusel(11, 0, S_DEFCHAN, message);
continue;
- case 'o':
- case 'O':
- if (ap_type != ATMEL12350)
+ case 'a':
+ case 'A':
+ if (st_len == 92 || st_len == 128)
continue;
- get_value(CountryCode, 11, strlen(S_COUNTRYC), 3, ANY_STRING,
- 0, 0, NULL);
+ get_value(message, 12, strlen(S_CHANNELS), 3, INT_STRING, 1, 14,
+ OEMSET_HELP);
+ memset((void *)TxPower + 1, 0, 13);
+ for(i = 1; i < atoi(message); i++)
+ TxPower[i] = TxPower[0];
+
+ i = 1 << (atoi(message) - 1);
+ ChannelInformation = i | (i - 1);
continue;
case 'p':
case 'P':
- if (ap_type != ATMEL12350)
+ if (st_len == 92 || st_len == 128)
continue;
- memset((void *)TxPower, 0, 14);
- get_value(message, 12, strlen(S_TXPOWER), 4, INT_STRING, 0, 255,
+ get_value(message, 13, strlen(S_TXPOWER), 4, INT_STRING, 0, 255,
OEMSET_HELP);
c = atoi(message) & 0xFF;
+
+ memset((void *)TxPower, 0, 14);
+ i = 0;
+ while(ChannelInformation >> i) {
+ TxPower[i] = c;
+ i++;
+ }
+/*
+ memset((void *)TxPower, 0, 14);
for (i = regdom_types[rd_idx].first_ch; i <
regdom_types[rd_idx].first_ch + regdom_types[rd_idx].chans; i++)
TxPower[i - 1] = c;
-
+*/
continue;
case 'q':
case 'Q':
varbinds[0].len_oid = sizeof(sysDeviceInfo);
varbinds[0].type = STRING_VALUE;
- if (ap_type == ATMEL410) {
- str410.RegulatoryDomain = RegulatoryDomain;
- str410.ProductType = ProductType;
- str410.OEMID = OEMID;
- str410.HardwareRevision = HardwareRevision;
- varbinds[0].value = (char *) &str410;
+ if (st_len == 92 || st_len == 128) { /* SHORTst */
+ str128.RegulatoryDomain = RegulatoryDomain;
+ str128.ProductType = ProductType;
+ str128.OEMID = OEMID;
+ str128.HardwareRevision = HardwareRevision;
+ varbinds[0].value = (char *) &str128;
varbinds[0].len_val =
- sizeof(struct sysDeviceInfo_ATMEL410);
- } else { /* ATMEL12350 */
- str12350.Channel = Channel;
- str12350.RegulatoryDomain = RegulatoryDomain;
- str12350.ProductType = ProductType;
- str12350.OEMID = OEMID;
- str12350.HardwareRevision = HardwareRevision;
-// str12350.ChannelInformation = ChannelInformation;
- varbinds[0].value = (char *) &str12350;
- // first 92 bytes of struct sysDeviceInfo_ATMEL12350 here
+ sizeof(struct sysDeviceInfo_128);
+ } else { /* st_len == 160 => LONGst */
+ str160.Channel = Channel;
+ str160.RegulatoryDomain = RegulatoryDomain;
+ str160.ProductType = ProductType;
+ str160.OEMID = OEMID;
+ str160.HardwareRevision = HardwareRevision;
+ str160.ChannelInformation = ChannelInformation;
+ varbinds[0].value = (char *) &str160;
+ /* first 92 bytes of struct sysDeviceInfo_160 here */
varbinds[0].len_val = 92;
}
goto exit;
}
- if (ap_type == ATMEL12350) {
+ if (st_len == 160) {
varbinds[0].oid = sysDeviceMoreInfo;
varbinds[0].len_oid = sizeof(sysDeviceMoreInfo);
varbinds[0].type = STRING_VALUE;
- // last 32 bytes of struct sysDeviceInfo_ATMEL12350 here
- varbinds[0].value = (char *) &str12350.CountryCode;
+ /* last 32 bytes of struct sysDeviceInfo_160 here */
+ varbinds[0].value = (char *) &str160.CountryCode;
varbinds[0].len_val = 32;
if (snmp(varbinds, 1, SET) <= 0) {
print_helperr(ERR_SET);
}
}
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
print_help(DONE_SET);
goto exit;
}
* basic snmp packets assembly/disassembly and send/receive functions
*
* Copyright (c) Roman Festchook <roma at polesye dot net>
- * Jan Rafaj <jr-aputils at cedric dot unob dot cz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
-#include <signal.h>
-#include <setjmp.h>
+#include <sys/time.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include "ap-utils.h"
-#define RETRIES 5
-
-sigjmp_buf position;
-
extern char *community;
extern short ap_type;
-extern int sockfd;
extern struct in_addr ap_ip;
-int retries;
-char *buf = NULL;
-static void alarm_handler()
+int sockfd = 0, snmp_quit_by_keypress = 0;
+
+void close_sockfd()
+{
+ if (sockfd)
+ close(sockfd);
+}
+
+int open_sockfd()
+{
+ struct sockaddr_in client;
+
+ if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
+ return -1;
+
+ memset(&client, 0, sizeof client);
+ client.sin_family = AF_INET;
+ client.sin_port = INADDR_ANY;
+ client.sin_addr.s_addr = INADDR_ANY;
+
+ if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1)
+ return -1;
+
+ return 0;
+}
+
+int reopen_sockfd()
{
- retries--;
- siglongjmp(position, 1);
+ close_sockfd();
+ return (open_sockfd());
}
/*
int snmp(varbind * varbindlist, int num, int type)
{
- unsigned char message[1024], *start;
+ static char buf[1024];
+ unsigned char *start;
unsigned int num_reply;
- int len;
+ int len = 0, tries = 5;
struct sockaddr_in server;
+ struct timeval timeout;
+ fd_set rds;
if (num == 0)
return 1;
+ /*
+ * Flush sockfd by reopening. This prevents various 'something received/
+ * available on sockfd prior snmp() call' desync problems.
+ */
+ if (reopen_sockfd() == -1)
+ return 0;
+
memset(&server, 0, sizeof server);
server.sin_family = AF_INET;
server.sin_port = htons(161);
server.sin_addr.s_addr = ap_ip.s_addr;
- signal(SIGALRM, alarm_handler);
- retries = RETRIES;
- sigsetjmp(position, 1);
- if (!retries) {
- return 0;
- }
+ while (tries--) {
+ len = ber(buf, varbindlist, num, type);
+ if (sendto(sockfd, buf, len, 0, (struct sockaddr *) &server, SIZE)
+ == -1) {
+ return 0;
+ }
- alarm(1);
- len = ber(message, varbindlist, num, type);
- if (sendto(sockfd, message, len, 0, (struct sockaddr *) &server, SIZE)
- == -1) {
- alarm(0);
- return 0;
- }
- if ((len = recv(sockfd, message, 1024, 0)) == -1) {
- alarm(0);
- return 0;
+ FD_ZERO(&rds);
+ FD_SET(sockfd, &rds);
+ timeout.tv_sec = 1;
+ timeout.tv_usec = 0;
+
+ if (select(sockfd + 1, &rds, NULL, NULL, &timeout) == -1)
+ return 0;
+
+ if (FD_ISSET(sockfd, &rds)) {
+ if ((len = recv(sockfd, buf, sizeof buf, 0)) <= 0)
+ return 0;
+ else
+ break;
+ }
+
+ /* timeout => next try, as long as no key has been pressed */
+
+ /*
+ * Allow for quick 'last resort' escape using q/Q. Note:
+ * we may not use one select() for checking both fd 0 and sockfd, since
+ * something may appear on sockfd later than key has been pressed =>
+ * give gratuitous 1sec delay for response arrival to sockfd, and THEN
+ * just poll for anything on fd 0.
+ */
+ if (snmp_quit_by_keypress && type == GET) {
+ FD_ZERO(&rds);
+ FD_SET(0, &rds);
+ timeout.tv_sec = 0;
+ timeout.tv_usec = 0;
+ if (select(1, &rds, NULL, NULL, &timeout) == -1)
+ return 0;
+
+ if (FD_ISSET(0, &rds))
+ return 0;
+ }
}
- alarm(0);
- if (buf)
- free(buf);
- buf = (char *) malloc(len);
- memcpy(buf, message, len);
+ if (!tries)
+ return 0;
start = buf;
num_reply = 0;
extern WINDOW *main_sub;
extern short ap_type;
-extern int wait_mode;
+extern int wait_mode, poll_delay;
void EthStat()
{
- struct EthernetRxStatistics *EthRxStat = NULL;
- struct EthernetTxStatistics *EthTxStat = NULL;
+ struct EthRxStatistics_s *EthRxStat = NULL;
+ struct EthTxStatistics_s *EthTxStat = NULL;
- char EthRx[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01,
- 0x07, 0x01, 0x00
+ char EthRxStatistics[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x07, 0x01, 0x00
};
-
- char EthTx[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01,
- 0x07, 0x02, 0x00
+ char EthTxStatistics[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x07, 0x02, 0x00
};
+
char message[1024];
varbind varbinds[2];
int i;
if (ap_type == ATMEL12350) {
- EthRx[5] = 0xE0;
- EthRx[6] = 0x3E;
- EthTx[5] = 0xE0;
- EthTx[6] = 0x3E;
+ EthRxStatistics[5] = 0xE0;
+ EthRxStatistics[6] = 0x3E;
+ EthTxStatistics[5] = 0xE0;
+ EthTxStatistics[6] = 0x3E;
}
print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF, ETH_STAT);
if (wait_mode == WAIT_TIMEOUT)
print_help(QT_HELP);
- varbinds[0].oid = EthRx;
- varbinds[0].len_oid = sizeof(EthRx);
- varbinds[1].oid = EthTx;
- varbinds[1].len_oid = sizeof(EthTx);
+ varbinds[0].oid = EthRxStatistics;
+ varbinds[0].len_oid = sizeof(EthRxStatistics);
+ varbinds[1].oid = EthTxStatistics;
+ varbinds[1].len_oid = sizeof(EthTxStatistics);
while (1) {
-// varbinds[0].value = EthTx;
+// varbinds[0].value = EthRxStatistics;
varbinds[0].len_val = 0;
varbinds[0].type = NULL_VALUE;
-// varbinds[1].value = EthTx;
+// varbinds[1].value = EthTxStatistics;
varbinds[1].len_val = 0;
varbinds[1].type = NULL_VALUE;
if (wait_mode == WAIT_FOREVER)
print_help(WAIT_RET);
- if (snmp(varbinds, 2, GET) <= 0) {
+ if (snmp(varbinds, 2, GET) < 2) {
print_helperr(ERR_RET);
getch();
goto quit;
if (EthRxStat)
free(EthRxStat);
EthRxStat =
- (struct EthernetRxStatistics *) malloc(varbinds[0].
+ (struct EthRxStatistics_s *) malloc(varbinds[0].
len_val);
memcpy(EthRxStat, varbinds[0].value, varbinds[0].len_val);
} else {
if (EthTxStat)
free(EthTxStat);
EthTxStat =
- (struct EthernetTxStatistics *) malloc(varbinds[1].
+ (struct EthTxStatistics_s *) malloc(varbinds[1].
len_val);
memcpy(EthTxStat, varbinds[1].value, varbinds[1].len_val);
} else {
mvwaddstr(main_sub, 18, 2, message);
wrefresh(main_sub);
- i = wait_key();
+ i = wait_key(poll_delay);
if (i == -1)
goto quit;
void WirelessStat()
{
- struct WirelessStatistics *WirelessStat = NULL;
+ struct wirelessStatistics_s *WirelessStat = NULL;
- char Wireless[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x03, 0x01,
- 0x00
+ char wirelessStatistics[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x03, 0x01, 0x00
};
+
char message[80];
int i;
varbind varbinds[1];
if (ap_type == ATMEL12350) {
- Wireless[5] = 0xE0;
- Wireless[6] = 0x3E;
+ wirelessStatistics[5] = 0xE0;
+ wirelessStatistics[6] = 0x3E;
}
print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF, W_STAT);
if (wait_mode == WAIT_TIMEOUT)
print_help(QT_HELP);
- varbinds[0].oid = Wireless;
- varbinds[0].len_oid = sizeof(Wireless);
+ varbinds[0].oid = wirelessStatistics;
+ varbinds[0].len_oid = sizeof(wirelessStatistics);
while (1) {
- varbinds[0].value = Wireless;
+ varbinds[0].value = wirelessStatistics;
varbinds[0].len_val = 0;
varbinds[0].type = NULL_VALUE;
if (varbinds[0].len_val == 88 || varbinds[0].len_val == 104) {
/*
* 88 ... using traditional ATMEL 12350 MIB
- * 104 .. using functionally enhanced ATMEL 12350 MIB by VERNET
+ * 104 .. using functionally enhanced ATMEL 12350 MIB by EZYNET
*/
if (WirelessStat)
free(WirelessStat);
WirelessStat =
- (struct WirelessStatistics *) malloc(varbinds[0].len_val);
+ (struct wirelessStatistics_s *) malloc(varbinds[0].len_val);
memcpy(WirelessStat, varbinds[0].value, varbinds[0].len_val);
} else {
print_helperr
swap4(WirelessStat->InvalidPLCP));
mvwaddstr(main_sub, 15, 1, message);
- /* ATMEL12350 MIB 'VERNET' modification has in addition the following */
+ /* ATMEL12350 MIB EZYNET modification has in addition the following */
if (varbinds[0].len_val == 104) {
mvwaddstr(main_sub, 16, 1, "TransmittedPackets:");
sprintf(message, "* at 11 Mbps %10u",
}
wrefresh(main_sub);
- i = wait_key();
+ i = wait_key(poll_delay);
if (i == -1)
goto quit;
if (wait_mode == WAIT_FOREVER)
print_help(WAIT_RET);
- if (snmp(varbinds, 16, GET) <= 0) {
+ if (snmp(varbinds, 16, GET) < 16) {
print_helperr(ERR_RET);
getch();
goto quit;
mvwaddstr(main_sub, 10, 1, message);
wrefresh(main_sub);
- i = wait_key();
+ i = wait_key(poll_delay);
if (i == -1)
goto quit;
#define OID_NUM 11
extern WINDOW *main_sub;
+extern char* bridge_modes[6];
+extern int poll_delay;
void atmel_sysinfo()
{
char sysDeviceInfo[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x05, 0x00
};
- /* This one is ATMEL12350 VERNET MIB specific. */
+ char bridgeOperationalMode[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x04, 0x01, 0x00
+ };
+ /* This one is ATMEL12350 EZYNET MIB specific. */
char UpTime[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x09, 0x01, 0x00
};
+char *bridge_modes[6] = {
+ _("Wireless Bridge Point to MultiPoint"),
+ _("Access Point"),
+ _("Access Point client"),
+ _("Wireless Bridge Point to Point"),
+ _("Repeater"),
+ _("unknown")
+};
+
+
char message[200];
int i;
- varbind varbinds[3];
- struct sysDeviceInfo_ATMEL410 str410;
- struct sysDeviceInfo_ATMEL12350 str12350;
+ varbind varbinds[4];
+ struct sysDeviceInfo_128 str128;
+ struct sysDeviceInfo_160 str160;
extern short ap_type, ap_vendorext;
extern int LINES, wait_mode;
extern rdprops regdom_types[];
/*
- * These have to represent used sysDeviceInfo_{ATMEL410,ATMEL12350} members
+ * These have to represent used sysDeviceInfo_{128,160} members
*/
uint32_t ap_sversion;
char *ap_macaddr;
sysDescr[6] = 0x3E;
sysDeviceInfo[5] = 0xE0;
sysDeviceInfo[6] = 0x3E;
+ bridgeOperationalMode[5] = 0xE0;
+ bridgeOperationalMode[6] = 0x3E;
}
print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF, SYSINFO);
while (1) {
i = 0;
- varbinds[0].oid = sysDescr;
- varbinds[0].len_oid = sizeof(sysDescr);
- varbinds[0].value = sysDescr;
- varbinds[0].type = NULL_VALUE;
- varbinds[0].len_val = 0;
+ varbinds[i].oid = sysDescr;
+ varbinds[i].len_oid = sizeof(sysDescr);
+ varbinds[i].value = sysDescr;
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
i++;
- varbinds[1].oid = sysDeviceInfo;
- varbinds[1].len_oid = sizeof(sysDeviceInfo);
- varbinds[1].value = sysDeviceInfo;
- varbinds[1].len_val = 0;
- varbinds[1].type = NULL_VALUE;
+ varbinds[i].oid = sysDeviceInfo;
+ varbinds[i].len_oid = sizeof(sysDeviceInfo);
+ varbinds[i].value = sysDeviceInfo;
+ varbinds[i].len_val = 0;
+ varbinds[i].type = NULL_VALUE;
i++;
- if (ap_vendorext == VERNET) {
- varbinds[2].oid = UpTime;
- varbinds[2].len_oid = sizeof(UpTime);
- varbinds[2].value = UpTime;
- varbinds[2].len_val = 0;
- varbinds[2].type = NULL_VALUE;
+ varbinds[i].oid = bridgeOperationalMode;
+ varbinds[i].len_oid = sizeof(bridgeOperationalMode);
+ varbinds[i].value = bridgeOperationalMode;
+ varbinds[i].len_val = 0;
+ varbinds[i].type = NULL_VALUE;
+ i++;
+
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ varbinds[i].oid = UpTime;
+ varbinds[i].len_oid = sizeof(UpTime);
+ varbinds[i].value = UpTime;
+ varbinds[i].len_val = 0;
+ varbinds[i].type = NULL_VALUE;
i++;
}
if (wait_mode == WAIT_FOREVER)
print_help(WAIT_RET);
- if (snmp(varbinds, i, GET) <= 0) {
+ if (snmp(varbinds, i, GET) < i) {
print_helperr(ERR_RET);
getch();
goto quit;
for (i = 0; i < varbinds[0].len_val && *(varbinds[0].value + i); i++)
mvwaddch(main_sub, 1, i + 1, *(varbinds[0].value + i));
- if (ap_type == ATMEL410) {
- memcpy(&str410, varbinds[1].value,
- sizeof(struct sysDeviceInfo_ATMEL410));
- ap_sversion = str410.StructVersion;
- ap_macaddr = str410.MacAddress;
- ap_regdomain = swap4(str410.RegulatoryDomain);
- ap_prodtype = str410.ProductType;
- ap_oemname = str410.OEMName;
- ap_oemid = str410.OEMID;
- ap_prodname = str410.ProductName;
- ap_hwrev = str410.HardwareRevision;
- } else { /* ATMEL12350 */
- memcpy(&str12350, varbinds[1].value,
- sizeof(struct sysDeviceInfo_ATMEL12350));
- ap_regdomain = str12350.RegulatoryDomain;
- ap_sversion = str12350.StructVersion;
- ap_macaddr = str12350.MacAddress;
- ap_prodtype = str12350.ProductType;
- ap_oemname = str12350.OEMName;
- ap_oemid = str12350.OEMID;
- ap_prodname = str12350.ProductName;
- ap_hwrev = str12350.HardwareRevision;
+ if (varbinds[1].len_val == 92 || varbinds[1].len_val == 128) {
+ memcpy(&str128, varbinds[1].value,
+ sizeof(struct sysDeviceInfo_128));
+ ap_sversion = str128.StructVersion;
+ ap_macaddr = str128.MacAddress;
+ ap_regdomain = swap4(str128.RegulatoryDomain);
+ ap_prodtype = str128.ProductType;
+ ap_oemname = str128.OEMName;
+ ap_oemid = str128.OEMID;
+ ap_prodname = str128.ProductName;
+ ap_hwrev = str128.HardwareRevision;
+ } else { /* varbinds[1].len_val == 160 */
+ memcpy(&str160, varbinds[1].value,
+ sizeof(struct sysDeviceInfo_160));
+ ap_regdomain = str160.RegulatoryDomain;
+ ap_sversion = str160.StructVersion;
+ ap_macaddr = str160.MacAddress;
+ ap_prodtype = str160.ProductType;
+ ap_oemname = str160.OEMName;
+ ap_oemid = str160.OEMID;
+ ap_prodname = str160.ProductName;
+ ap_hwrev = str160.HardwareRevision;
}
+ sprintf(message, _("Operational mode: %s"),
+ bridge_modes[*(varbinds[2].value) - 1]);
+ mvwaddstr(main_sub, 2, 0, message);
+
sprintf(message, "%s%02X%02X%02X%02X%02X%02X", MAC,
ap_macaddr[0] & 0xFF, ap_macaddr[1] & 0xFF,
ap_macaddr[2] & 0xFF, ap_macaddr[3] & 0xFF,
ap_macaddr[4] & 0xFF, ap_macaddr[5] & 0xFF);
- mvwaddstr(main_sub, 2, 0, message);
+ mvwaddstr(main_sub, 3, 0, message);
- mvwaddstr(main_sub, 3, 0, _("Product name:"));
+ mvwaddstr(main_sub, 4, 0, _("Product name: "));
for (i = 0; i < 32 && ap_prodname[i]; i++)
- mvwaddch(main_sub, 3, i + 14, ap_prodname[i]);
+ waddch(main_sub, ap_prodname[i]);
sprintf(message, _("Product type: %u"), swap4(ap_prodtype));
- mvwaddstr(main_sub, 4, 0, message);
+ mvwaddstr(main_sub, 5, 0, message);
- mvwaddstr(main_sub, 5, 0, _("OEM name:"));
+ mvwaddstr(main_sub, 6, 0, _("OEM name: "));
for (i = 0; i < 32 && ap_oemname[i]; i++)
- mvwaddch(main_sub, 5, i + 10, ap_oemname[i]);
+ waddch(main_sub, ap_oemname[i]);
sprintf(message, "OEM ID: %u", swap4(ap_oemid));
- mvwaddstr(main_sub, 6, 0, message);
+ mvwaddstr(main_sub, 7, 0, message);
sprintf(message, _("Hardware revision: %u"), swap4(ap_hwrev));
- mvwaddstr(main_sub, 7, 0, message);
+ mvwaddstr(main_sub, 8, 0, message);
i = regdom_idx(ap_regdomain);
sprintf(message, "Regulatory domain: %s [%d]",
regdom_types[i].desc, ap_regdomain);
- mvwaddstr(main_sub, 8, 0, message);
+ mvwaddstr(main_sub, 9, 0, message);
sprintf(message, _("Info structure version: %u"), swap4(ap_sversion));
- mvwaddstr(main_sub, 9, 0, message);
+ mvwaddstr(main_sub, 10, 0, message);
sprintf(message, _("Manufacturer OUI: %02X %02X %02X (%s)"),
ap_macaddr[0] & 0xFF, ap_macaddr[1] & 0xFF, ap_macaddr[2] & 0xFF,
oui2manufacturer(ap_macaddr));
- mvwaddstr(main_sub, 10, 0, message);
+ mvwaddstr(main_sub, 11, 0, message);
- if (ap_vendorext == VERNET) {
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
unsigned int j = 0;
- if (varbinds[2].len_val > 1) {
- for (i = 0; i < varbinds[2].len_val; i++)
- j |= (varbinds[2].value[i]
- << (8 * (varbinds[2].len_val - i - 1)));
+ if (varbinds[3].len_val > 1) {
+ for (i = 0; i < varbinds[3].len_val; i++)
+ j |= (varbinds[3].value[i]
+ << (8 * (varbinds[3].len_val - i - 1)));
} else {
- j = varbinds[2].value[0] & 0x80 ?
- 0xff00 | varbinds[2].value[0] : varbinds[2].value[0];
+ j = varbinds[3].value[0] & 0x80 ?
+ 0xff00 | varbinds[3].value[0] : varbinds[3].value[0];
}
sprintf(message,
_("Uptime: %u days, %02u:%02u:%02u hours:mins:secs"),
j / 60 / 60 / 24, j / 60 / 60 % 24, j / 60 % 60, j % 60);
- mvwaddstr(main_sub, 11, 0, message);
+ mvwaddstr(main_sub, 12, 0, message);
}
wrefresh(main_sub);
- i = wait_key();
+ i = wait_key(poll_delay);
if (i == -1)
goto quit;
if (wait_mode == WAIT_FOREVER)
print_help(WAIT_RET);
- if (snmp(varbinds, OID_NUM - 1, GET) <= 0) {
+ if (snmp(varbinds, OID_NUM - 1, GET) < OID_NUM - 1) {
print_helperr(ERR_RET);
getch();
goto quit;
varbinds[3].type = NULL_VALUE;
varbinds[3].len_val = 0;
- if (snmp(varbinds, 4, GET) <= 0) {
+ if (snmp(varbinds, 4, GET) < 4) {
print_helperr(ERR_RET);
getch();
goto quit;
mvwaddstr(main_sub, 1, 0, message);
wrefresh(main_sub);
- i = wait_key();
+ i = wait_key(poll_delay);
if (i == -1)
goto quit;
varbind varbinds[5];
if (ap_type == ATMEL12350) {
+#if 1 /* Temporary kludge */
+ mvwaddstr(main_sub, 1, 0, _("Devices with ATMEL12350 MIB not yet supported."));
+ wrefresh(main_sub);
+ goto exit;
+#endif
TestModeOnOff[5] = 0xE0;
TestModeOnOff[6] = 0x3E;
TestModeCommandStruct[5] = 0xE0;
varbinds[1].type = NULL_VALUE;
varbinds[1].len_val = 0;
print_help(WAIT_RET);
- if (snmp(varbinds, 2, GET) <= 0) {
+ if (snmp(varbinds, 2, GET) < 2) {
print_helperr(ERR_RET);
goto exit;
}
varbinds[3].len_val = 0;
print_help(WAIT_RET);
- if (snmp(varbinds, 4, GET) <= 0) {
+ if (snmp(varbinds, 4, GET) < 4) {
print_helperr(ERR_RET);
goto exit;
}
#define INT_ROAMING _("[I] International roaming: ")
#define BEACON_PER _("[B] Beacon period (msec): ")
#define DTIM_I _("[D] DTIM sending interval (beacons): ")
-#define SIFS_T _("[T] SIFS time (msec): ")
+#define SIFS_T _("[T] SIFS time (2nd+ interframe spacing, usec): ")
#define WLAN_HELP _("[key] - set option; W - write conf; Q - quit to menu")
extern short ap_type, ap_vendorext;
char operInterRoaming[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x01, 0x0D, 0x00
};
- /* These two are ATMEL12350 TELLUS MIB specific. */
+ /* These two are ATMEL12350 GEMTEK MIB specific. */
char operBeaconPeriod[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x01, 0x0E, 0x00
};
char operDTIM[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x01, 0x0F, 0x00
};
- /* This one is ATMEL12350 VERNET MIB specific. */
+ /* This one is ATMEL12350 EZYNET MIB specific. */
char operSIFSTIME[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x01, 0x10, 0x00
};
unsigned char dtim, ch;
char *AuthenticationTypes[3] = { OSYS, SH_KEY, BOTH_TYPE },
message[1024];
- char domain[32], basic_rates[4], AutoRateFallBack, SSIDBroadcasting,
- ap_name[32], PreambleType, AuthenticationType, channel;
+ char domain[33], basic_rates[4], AutoRateFallBack, SSIDBroadcasting,
+ ap_name[33], PreambleType, AuthenticationType, channel;
char m_channel = 0, m_essid = 0, m_broadcast = 0, m_rts = 0,
m_fragment = 0, m_auth = 0, m_ap_name = 0, m_preambule = 0,
m_auto_rate = 0, m_inter_roaming = 0, m_beacon = 0, m_dtim = 0,
short __rates[4] = { 2, 4, 11, 22 };
int i, c = 0, rd_idx;
unsigned short ap_regdomain;
- struct sysDeviceInfo_ATMEL410 str410;
- struct sysDeviceInfo_ATMEL12350 str12350;
+ struct sysDeviceInfo_128 str128;
+ struct sysDeviceInfo_160 str160;
if (ap_type == ATMEL12350) {
varbinds[i++].oid = sysDeviceInfo;
if (ap_type == ATMEL12350) {
varbinds[i++].oid = operInterRoaming;
- if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
+ if (ap_vendorext == GEMTEK || ap_vendorext == EZYNET) {
varbinds[i++].oid = operBeaconPeriod;
varbinds[i++].oid = operDTIM;
}
- if (ap_vendorext == VERNET)
+ if (ap_vendorext == EZYNET)
varbinds[i++].oid = operSIFSTIME;
}
print_help(WAIT_RET);
- if (snmp(varbinds, i, GET) <= 0) {
+ if (snmp(varbinds, i, GET) < i) {
print_helperr(ERR_RET);
goto exit;
}
channel = *(varbinds[0].value);
c = *(varbinds[1].value);
memcpy(domain, varbinds[2].value, 32);
+ domain[32] = '\0';
SSIDBroadcasting = *(varbinds[3].value);
memcpy(basic_rates, varbinds[4].value, 4);
AutoRateFallBack = *(varbinds[5].value);
PreambleType = *(varbinds[8].value);
AuthenticationType = *(varbinds[9].value);
memcpy(ap_name, varbinds[10].value, 32);
+ ap_name[32] = '\0';
if (ap_type == ATMEL12350) {
InterRoaming = *(varbinds[12].value);
- if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
+ if (ap_vendorext == GEMTEK || ap_vendorext == EZYNET) {
BeaconPeriod = varbinds[13].len_val == 2 ?
(varbinds[13].value[0] << 8) | varbinds[13].value[1] :
varbinds[13].value[0] < 0x80 ?
varbinds[13].value[0] : 0xff00 | varbinds[13].value[0];
dtim = *(varbinds[14].value);
}
- if (ap_vendorext == VERNET)
+ if (ap_vendorext == EZYNET)
sifs = varbinds[15].len_val == 2 ?
(varbinds[15].value[0] << 8) | varbinds[15].value[1] :
varbinds[15].value[0] < 0x80 ?
varbinds[15].value[0] : 0xff00 | varbinds[15].value[0];
}
- if (ap_type == ATMEL12350) {
- memcpy(&str12350, varbinds[11].value,
- sizeof(struct sysDeviceInfo_ATMEL12350));
- ap_regdomain=str12350.RegulatoryDomain;
- } else /* ATMEL410 */{
- memcpy(&str410, varbinds[11].value,
- sizeof(struct sysDeviceInfo_ATMEL410));
- ap_regdomain = swap4(str410.RegulatoryDomain);
+ if (varbinds[11].len_val == 160) {
+ memcpy(&str160, varbinds[11].value,
+ sizeof(struct sysDeviceInfo_160));
+ ap_regdomain = str160.RegulatoryDomain;
+ } else { /* varbinds[11].len_val == 92 || varbinds[11].len_val == 128 */
+ memcpy(&str128, varbinds[11].value,
+ sizeof(struct sysDeviceInfo_128));
+ ap_regdomain = swap4(str128.RegulatoryDomain);
}
rd_idx = regdom_idx(ap_regdomain);
if (ap_type == ATMEL12350) {
sprintf(message, "%s%s", INT_ROAMING, (InterRoaming == 1) ? ON : OFF);
mvwaddstr(main_sub, 15, 0, message);
- if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
+ if (ap_vendorext == GEMTEK || ap_vendorext == EZYNET) {
sprintf(message, "%s%u", BEACON_PER, BeaconPeriod);
mvwaddstr(main_sub, 16, 0, message);
sprintf(message, "%s%u", DTIM_I, dtim);
mvwaddstr(main_sub, 17, 0, message);
}
- if (ap_vendorext == VERNET) {
+ if (ap_vendorext == EZYNET) {
sprintf(message, "%s%u", SIFS_T, sifs);
mvwaddstr(main_sub, 18, 0, message);
}
continue;
case 'N':
case 'n':
-// make_field(2, strlen(AP_NAME), 32);
- get_value(ap_name, 2, strlen(AP_NAME), -32, ANY_STRING, 0, 0, NULL);
+// make_field(2, strlen(AP_NAME), 33);
+ get_value(ap_name, 2, strlen(AP_NAME), -33, ANY_STRING, 0, 0, NULL);
m_ap_name = 1;
continue;
case 'E':
case 'e':
-// make_field(1, strlen(ESSID), 32);
- get_value(domain, 1, strlen(ESSID), 32, ANY_STRING, 0, 0, NULL);
+// make_field(1, strlen(ESSID), 33);
+ get_value(domain, 1, strlen(ESSID), 33, ANY_STRING, 0, 0, NULL);
m_essid = 1;
continue;
case 'F':
case 'f':
// make_field(4, strlen(FRG_TR), 6);
- get_value(message, 4, strlen(FRG_TR), 6, INT_STRING, 256, 2346,
+ get_value(message, 4, strlen(FRG_TR), 5, INT_STRING, 256, 2346,
WLAN_HELP);
FragmentationThreshold = atoi(message);
m_fragment = 1;
case 'R':
case 'r':
// make_field(3, strlen(RTS_TR), 6);
- get_value(message, 3, strlen(RTS_TR), 6, INT_STRING, 0, 2347,
+ get_value(message, 3, strlen(RTS_TR), 5, INT_STRING, 0, 2347,
WLAN_HELP);
RTSThreshold = atoi(message);
m_rts = 1;
continue;
case 'B':
case 'b':
- if (ap_vendorext != TELLUS && ap_vendorext != VERNET)
+ if (ap_vendorext != GEMTEK && ap_vendorext != EZYNET)
continue;
get_value(message, 16, strlen(BEACON_PER), 6, INT_STRING, 0, 65535,
WLAN_HELP);
continue;
case 'D':
case 'd':
- if (ap_vendorext != TELLUS && ap_vendorext != VERNET)
+ if (ap_vendorext != GEMTEK && ap_vendorext != EZYNET)
continue;
get_value(message, 17, strlen(DTIM_I), 4, INT_STRING, 0, 255,
WLAN_HELP);
continue;
case 'T':
case 't':
- if (ap_vendorext != VERNET)
+ if (ap_vendorext != EZYNET)
continue;
get_value(message, 18, strlen(SIFS_T), 6, INT_STRING, 0, 65535,
WLAN_HELP);
print_helperr(ERR_SET);
goto exit;
}
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
print_help(DONE_SET);
goto exit;
}
varbinds[7].oid = operAccessPointName;
varbinds[7].len_oid = sizeof(operAccessPointName);
print_help(WAIT_RET);
- if (snmp(varbinds, 8, GET) <= 0) {
+ if (snmp(varbinds, 8, GET) < 8) {
print_helperr(ERR_RET);
goto exit;
}
varbinds[8].oid = operAccessPointLocation;
varbinds[8].len_oid = sizeof(operAccessPointLocation);
- if (snmp(varbinds, 9, GET) <= 0) {
+ if (snmp(varbinds, 9, GET) < 9) {
print_helperr(ERR_RET);
goto exit;
}
continue;
case 'F':
case 'f':
- get_value(message, 4, strlen(FRG_TR), 6, INT_STRING, 256, 2346,
+ get_value(message, 4, strlen(FRG_TR), 5, INT_STRING, 256, 2346,
WLAN_HELP);
FragmentationThreshold = atoi(message);
m_fragment = 1;
continue;
case 'R':
case 'r':
- get_value(message, 3, strlen(RTS_TR), 6, INT_STRING, 0, 2347,
+ get_value(message, 3, strlen(RTS_TR), 5, INT_STRING, 0, 2347,
WLAN_HELP);
RTSThreshold = atoi(message);
m_rts = 1;
varbinds[i].type = 0x02;
i++;
}
-
if (m_basic_rates) {
varbinds[i].oid = operBasicRates;
varbinds[i].len_oid = sizeof(operBasicRates);
i++;
}
- print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0) {
- print_helperr(ERR_SET);
- goto exit;
- }
- i = 0;
+ print_help(WAIT_SET);
+ if (snmp(varbinds, i, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+
+ i = 0;
if (m_auth) {
m_auth = (authi == 1) ? 2 : 1;
m_basic_rates = (authi == 0) ? 2 : 1;
varbinds[i].type = INT_VALUE;
i++;
}
- print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0) {
- print_helperr(ERR_SET);
- goto exit;
- }
- i = 0;
+ if (snmp(varbinds, i, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+
+ i = 0;
if (m_ap_name) {
c = strlen(ap_name);
varbinds[i].oid = operAccessPointName;
varbinds[i].type = STRING_VALUE;
i++;
}
-
if (m_ap_location) {
c = strlen(ap_location);
varbinds[i].oid = operAccessPointLocation;
i++;
}
- print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0) {
- print_helperr(ERR_SET);
- goto exit;
- }
+ if (snmp(varbinds, i, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
i = 0;
if (m_ap_contact) {
varbinds[i].type = 0x02;
i++;
}
- print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0) {
- print_helperr(ERR_SET);
- goto exit;
- }
+
+ if (snmp(varbinds, i, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+
c = 0;
for (i = 0; i < 4; i++)
if (m_antenna[i]) {
varbinds[c].type = INT_VALUE;
c++;
}
- print_help(WAIT_SET);
- if (snmp(varbinds, c, SET) <= 0) {
- print_helperr(ERR_SET);
- goto exit;
- }
+
+ if (snmp(varbinds, c, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+
c = 0;
for (i = i; i < 6; i++)
if (m_antenna[i]) {
varbinds[c].type = INT_VALUE;
c++;
}
- print_help(WAIT_SET);
- if (snmp(varbinds, c, SET) <= 0) {
- print_helperr(ERR_SET);
- goto exit;
+
+ if (snmp(varbinds, c, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
}
+
i = 0;
if (m_essid) {
c = strlen(domain);
varbinds[i].type = 0x04;
i++;
}
- print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0) {
- print_helperr(ERR_SET);
- goto exit;
- }
+ if (snmp(varbinds, i, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
print_help(DONE_SET);
goto exit;
default:
# List of source files containing translatable strings.
# Copyright (C) 1995 Free Software Foundation, Inc.
-ap-gl/ap-gl.c
-ap-gl/auth_mac.c
-ap-gl/bridge.c
-ap-gl/stations.c
+lib/ap-curses.h
lib/aps.c
lib/ap_search.c
lib/ap-utils.h
lib/reset.c
lib/scr.c
lib/set_community.c
+lib/set_oeminfo.c
lib/snmp.c
lib/stat.c
lib/sysinfo.c
lib/test.c
lib/wep.c
lib/wlan.c
+src/ap-auth.c
src/ap-config.c
+src/aplink.c
src/ap-mrtg.c
+src/ap-rrd.c
+src/ap-tftp.c
src/ap-trapd.c
-src/auth_mac.c
+src/auth.c
src/bridge.c
src/nwn_advanced.c
src/nwn_latest.c
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2004-11-28 00:59+0200\n"
+"POT-Creation-Date: 2005-03-07 01:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
-msgid "Bridging"
-msgstr ""
-
-#: ap-gl/ap-gl.c:41 src/ap-config.c:41
-msgid "Set bridging and IP-related options"
-msgstr ""
-
-#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
-#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
-msgid "Wireless"
-msgstr ""
-
-#: ap-gl/ap-gl.c:43 src/ap-config.c:43
-msgid "Set wireless options"
-msgstr ""
-
-#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
-msgid "Privacy"
-msgstr ""
-
-#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
-msgid "MAC auth"
-msgstr ""
-
-#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
-msgid "Community"
-msgstr ""
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Radio"
-msgstr ""
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Set radio signal power and antenna options"
-msgstr ""
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Upload"
-msgstr ""
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Activate current configuration"
-msgstr ""
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Defaults"
-msgstr ""
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Restore factory default settings"
-msgstr ""
-
-#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
-msgid "Reset"
-msgstr ""
-
-#: ap-gl/ap-gl.c:65 src/ap-config.c:83
-msgid "Reset AP. All not uploaded configuration will be lost"
-msgstr ""
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "TestMode"
-msgstr ""
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "Put Access Point in test mode"
-msgstr ""
-
-#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
-msgid "SysInfo"
-msgstr ""
-
-#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
-#: src/bridge.c:120
-msgid "Ethernet"
-msgstr ""
-
-#: ap-gl/ap-gl.c:80 src/ap-config.c:111
-msgid "Get ethernet port statistics"
-msgstr ""
-
-#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
-msgid "Stations"
-msgstr ""
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "KnownAPs"
-msgstr ""
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "Get info about known Access Points"
-msgstr ""
-
-#: ap-gl/ap-gl.c:100 src/ap-config.c:147
-msgid "Info"
-msgstr ""
-
-#: ap-gl/ap-gl.c:101 src/ap-config.c:148
-msgid "Config"
-msgstr ""
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Commands"
-msgstr ""
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Execute commands on Access Point"
-msgstr ""
-
-#: ap-gl/ap-gl.c:104 src/ap-config.c:151
-msgid "Connect"
-msgstr ""
-
-#: ap-gl/ap-gl.c:105 src/ap-config.c:152
-msgid "Search"
-msgstr ""
-
-#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
-msgid "About"
-msgstr ""
-
-#: ap-gl/ap-gl.c:107 src/ap-config.c:154
-msgid "Shell"
-msgstr ""
-
-#: ap-gl/ap-gl.c:108 src/ap-config.c:155
-msgid "Exit"
-msgstr ""
-
-#: ap-gl/ap-gl.c:158 src/ap-config.c:204
-#, c-format
-msgid "Wireless Access Point Configurator ver. %s"
-msgstr ""
-
-#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
-msgid "AuthorizedMacTableString packet error"
-msgstr ""
-
-#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
-msgid "[A] MAC authorization: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
-msgid "Enter MAC: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
-msgid "Delete Num: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
-msgid "Authorized MAC addresses"
-msgstr ""
-
-#: ap-gl/auth_mac.c:33
-msgid "NUM MAC address"
-msgstr ""
-
-#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
-msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
-msgstr ""
-
-#: ap-gl/auth_mac.c:35
-msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
-msgstr ""
-
-#: ap-gl/auth_mac.c:36
-msgid "A - auth; W - write conf; Q - quit"
-msgstr ""
-
-#: ap-gl/auth_mac.c:38
-msgid "[I] RADIUS SERVER IP: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:39
-msgid "[P] RADIUS SERVER PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:40
-msgid "[S] RADIUS SERVER SECRET: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:41
-msgid "[T] REAUTHORIZATION TIME: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:42
-msgid "[F] RADIUS SOURCE PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:87
-msgid "Internal"
-msgstr ""
-
-#: ap-gl/auth_mac.c:95
-msgid "<hidden>"
-msgstr ""
-
-#: ap-gl/bridge.c:26 src/bridge.c:26
-msgid "[I] IP: "
-msgstr ""
-
-#: ap-gl/bridge.c:27 src/bridge.c:27
-msgid "[N] Netmask: "
-msgstr ""
-
-#: ap-gl/bridge.c:28 src/bridge.c:28
-msgid "[G] Gateway: "
-msgstr ""
-
-#: ap-gl/bridge.c:29 src/bridge.c:29
-msgid "[F] Filter non-IP traffic: "
-msgstr ""
-
-#: ap-gl/bridge.c:30 src/bridge.c:30
-msgid "[P] Primary port: "
-msgstr ""
-
-#: ap-gl/bridge.c:31 src/bridge.c:31
-msgid "Attached station MAC: "
-msgstr ""
-
-#: ap-gl/bridge.c:32 src/bridge.c:32
-msgid "[D] DHCP client: "
-msgstr ""
-
-#: ap-gl/bridge.c:33 src/bridge.c:33
-msgid "[O] Operational mode: "
-msgstr ""
-
-#: ap-gl/bridge.c:34 src/bridge.c:34
-msgid "[M] Preferred BSSID (remote MAC addr.): "
-msgstr ""
-
-#: ap-gl/bridge.c:36 src/bridge.c:36
-msgid "[T] Trap-sending port(s): "
-msgstr ""
-
-#: ap-gl/bridge.c:37 src/bridge.c:37
-msgid "[R] Forward broadcast traffic: "
-msgstr ""
-
-#: ap-gl/bridge.c:39
-msgid "[U] Isolate wireless clients: "
-msgstr ""
-
-#: ap-gl/bridge.c:40 src/bridge.c:40
-msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
-msgstr ""
-
-#: ap-gl/bridge.c:124 src/bridge.c:109
-msgid "Wireless Bridge Point to MultiPoint"
-msgstr ""
-
-#: ap-gl/bridge.c:125 src/bridge.c:110
-msgid "Access Point"
-msgstr ""
-
-#: ap-gl/bridge.c:126 src/bridge.c:111
-msgid "Access Point client"
-msgstr ""
-
-#: ap-gl/bridge.c:127 src/bridge.c:112
-msgid "Wireless Bridge Point to Point"
-msgstr ""
-
-#: ap-gl/bridge.c:128 src/bridge.c:113
-msgid "Repeater"
-msgstr ""
-
-#: ap-gl/stations.c:77 src/stations.c:100
-msgid "AP is currently in AP Client Mode => no associated STAtions."
-msgstr ""
-
-#: ap-gl/stations.c:102
-msgid "# MAC LQ RSSI Status Port IP"
-msgstr ""
-
-#: ap-gl/stations.c:128 src/stations.c:159
-msgid "AssociatedSTAsInfo packet error"
-msgstr ""
-
-#: ap-gl/stations.c:160
-msgid "Arrows - scroll; S - save to file; Q - quit to menu."
-msgstr ""
-
-#: lib/aps.c:29
+#: lib/aps.c:30
msgid "Known Access Points"
msgstr ""
-#: lib/aps.c:129
+#: lib/aps.c:130
msgid "Your Access Point is not in \"AP client\" mode => getting"
msgstr ""
-#: lib/aps.c:132
+#: lib/aps.c:133
msgid "up-to-date \"Known APs\" info requires your AP to be"
msgstr ""
-#: lib/aps.c:135
+#: lib/aps.c:136
msgid "temporarily configured into \"AP client\" mode and rebooted."
msgstr ""
-#: lib/aps.c:138
+#: lib/aps.c:139
msgid "Your AP will be reconfigured back to original mode by this"
msgstr ""
-#: lib/aps.c:141
+#: lib/aps.c:142
msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
msgstr ""
-#: lib/aps.c:144
+#: lib/aps.c:145
msgid "cause loss of Access Point's current configuration."
msgstr ""
-#: lib/aps.c:148
+#: lib/aps.c:149
msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
msgstr ""
-#: lib/aps.c:151
+#: lib/aps.c:152
msgid "via its wireless port."
msgstr ""
-#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
+#: lib/aps.c:154 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:96
msgid "Do you want to continue? "
msgstr ""
-#: lib/aps.c:207
+#: lib/aps.c:208
msgid "NetworkType"
msgstr ""
-#: lib/aps.c:283
+#: lib/aps.c:284
msgid "Infrastructure"
msgstr ""
-#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
+#: lib/aps.c:344 lib/aps.c:352 lib/aps.c:360
msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
msgstr ""
-#: lib/aps.c:345
+#: lib/aps.c:346
msgid "RSSI: Radio Signal Strength Indicator [%]"
msgstr ""
-#: lib/aps.c:347 lib/aps.c:355
+#: lib/aps.c:348 lib/aps.c:356
msgid "; LQ: Link Quality [%]"
msgstr ""
-#: lib/aps.c:353
+#: lib/aps.c:354
msgid "RSSI: Radio Signal Strength Indicator [dBm]"
msgstr ""
-#: lib/aps.c:361
+#: lib/aps.c:362
msgid "RSSI: Radio Signal Strength Indicator [raw]"
msgstr ""
-#: lib/aps.c:363
+#: lib/aps.c:364
msgid "; LQ: Link Q. [raw]"
msgstr ""
-#: lib/aps.c:369
+#: lib/aps.c:370
msgid ""
"# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
"reset"
msgstr ""
-#: lib/aps.c:371
+#: lib/aps.c:372
msgid ""
"# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
"view"
msgstr ""
-#: lib/aps.c:500 lib/ap_search.c:167
+#: lib/aps.c:501 lib/ap_search.c:173
#, c-format
msgid "Failure in sendto(): %s. Press any key."
msgstr ""
-#: lib/aps.c:509
+#: lib/aps.c:510
msgid "You have just initiated the AP scan. Be advised that it may"
msgstr ""
-#: lib/aps.c:512
+#: lib/aps.c:513
msgid "take a few seconds for your Access Point to find out some"
msgstr ""
-#: lib/aps.c:515
+#: lib/aps.c:516
msgid "values, so expect finishing the scan in about 5 seconds."
msgstr ""
-#: lib/aps.c:518
+#: lib/aps.c:519
msgid "Also note that your Access Point stops forwarding the network"
msgstr ""
-#: lib/aps.c:521
+#: lib/aps.c:522
msgid "traffic while the scan is in progress, but restores itself"
msgstr ""
-#: lib/aps.c:524
+#: lib/aps.c:525
msgid "to normal operation in time ranging up to 1 minute."
msgstr ""
-#: lib/aps.c:527
+#: lib/aps.c:528
msgid "Hence, if you are connected to target Access Point via its"
msgstr ""
-#: lib/aps.c:530
+#: lib/aps.c:531
msgid "wireless port, you need to wait a bit longer"
msgstr ""
-#: lib/aps.c:533
+#: lib/aps.c:534
msgid "after pressing 'S'."
msgstr ""
msgstr ""
#: lib/ap_search.c:49
-msgid " NUM IP ADDRESS MIB TYPE NAME"
+msgid " NUM IP ADDRESS MIB TYPE FW TYPE (VERSION) AP NAME"
msgstr ""
-#: lib/ap_search.c:100
+#: lib/ap_search.c:106
msgid "Please wait while scanning, or press 'Q' to quit."
msgstr ""
-#: lib/ap_search.c:116
+#: lib/ap_search.c:122
msgid "Can't set broadcast option on socket. Press any key."
msgstr ""
-#: lib/ap_search.c:125
+#: lib/ap_search.c:131
msgid "Can't set multicast membership on socket. Press any key."
msgstr ""
-#: lib/ap_search.c:132
+#: lib/ap_search.c:138
msgid "Scanning via network interface:"
msgstr ""
-#: lib/ap_search.c:133
+#: lib/ap_search.c:139
#, c-format
msgid " Index: %i"
msgstr ""
-#: lib/ap_search.c:135
+#: lib/ap_search.c:141
#, c-format
msgid " Name: %s"
msgstr ""
-#: lib/ap_search.c:137
+#: lib/ap_search.c:143
#, c-format
msgid " IP: %s"
msgstr ""
-#: lib/ap_search.c:146
+#: lib/ap_search.c:152
#, c-format
msgid "Scanning for AP with MIB type: %s"
msgstr ""
-#: lib/ap_search.c:334
-msgid "Please enter SNMP community name that will be used for AP detection."
-msgstr ""
-
-#: lib/ap_search.c:345
+#: lib/ap_search.c:378
msgid "Access Points Search"
msgstr ""
-#: lib/ap_search.c:363
+#: lib/ap_search.c:396
msgid "realloc() error."
msgstr ""
-#: lib/ap_search.c:375
+#: lib/ap_search.c:408
msgid "Network interface discovery error."
msgstr ""
-#: lib/ap_search.c:450
+#: lib/ap_search.c:483
msgid "No local network interfaces found. Press any key."
msgstr ""
-#: lib/ap_search.c:452
+#: lib/ap_search.c:485
msgid "No directly reachable Access Points found. Press any key."
msgstr ""
-#: lib/ap_search.c:457
+#: lib/ap_search.c:490
msgid "Single-screen maximum number of APs found."
msgstr ""
-#: lib/ap_search.c:460
+#: lib/ap_search.c:493
msgid "# - connect to AP; Q - quit"
msgstr ""
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:82
msgid "MAC address: "
msgstr ""
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:83
msgid "[S] SNMP traps: "
msgstr ""
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:85
msgid "[C] Frequency channel: "
msgstr ""
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:87
msgid "Receive antenna:"
msgstr ""
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:88
msgid "[U] Left"
msgstr ""
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:89
msgid "[I] Right"
msgstr ""
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:90
msgid "Transmit antenna:"
msgstr ""
-#: lib/ap-utils.h:88
+#: lib/ap-utils.h:91
msgid "[O] Left"
msgstr ""
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:92
msgid "[P] Right"
msgstr ""
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:93
msgid "Diversity select:"
msgstr ""
-#: lib/ap-utils.h:91
+#: lib/ap-utils.h:94
msgid "[T] Left"
msgstr ""
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:95
msgid "[Y] Right"
msgstr ""
-#: lib/ap-utils.h:94
+#: lib/ap-utils.h:97
msgid "Yes"
msgstr ""
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:98
msgid "No"
msgstr ""
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:100
msgid "On"
msgstr ""
-#: lib/ap-utils.h:98
+#: lib/ap-utils.h:101
msgid "Off"
msgstr ""
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:103
msgid "Basic"
msgstr ""
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:105
msgid "Press any key to continue."
msgstr ""
-#: lib/ap-utils.h:103
-msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+#: lib/ap-utils.h:106
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update"
msgstr ""
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:108
msgid "Unable to write data to AP. Press any key to continue."
msgstr ""
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:109
msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
msgstr ""
-#: lib/ap-utils.h:107
-msgid "Trying to retrieve data from AP. Please wait..."
+#: lib/ap-utils.h:110
+msgid "Trying to retrieve data from AP - please wait (or press Q to quit)."
msgstr ""
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:111
msgid "Writing data to AP. Please wait..."
msgstr ""
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:112
msgid "Configuration written to the AP. Press any key to continue."
msgstr ""
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:113
msgid "select() function error. Press any key."
msgstr ""
-#: lib/ap-utils.h:112
-msgid "Create socket error. Press any key."
+#: lib/ap-utils.h:114
+msgid "socket() or bind() function error. Press any key."
msgstr ""
-#: lib/ap-utils.h:113
-msgid "Bind socket error. Press any key."
+#: lib/ap-utils.h:116
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr ""
+
+#: lib/ap-utils.h:117
+msgid "AP list file ~/.ap-config successfully written. Press any key."
msgstr ""
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:119
msgid "Back to main menu"
msgstr ""
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:120
msgid "Exit program"
msgstr ""
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:121
msgid "Run subshell. To return type 'exit'."
msgstr ""
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:122
+msgid "Change polling mode interval"
+msgstr ""
+
+#: lib/ap-utils.h:123
msgid "Short info about program"
msgstr ""
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:124
msgid "Find connected Access Points"
msgstr ""
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:125
msgid "Set connection options: ip and community"
msgstr ""
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:126
msgid "Set encryption; edit WEP keys"
msgstr ""
-#: lib/ap-utils.h:122
-msgid "Set MAC authorization; edit MAC authorization table"
+#: lib/ap-utils.h:127
+msgid "Set authorization; edit MAC authorization table"
msgstr ""
-#: lib/ap-utils.h:123
+#: lib/ap-utils.h:128
msgid "Set SNMP community/password for access to the AP"
msgstr ""
-#: lib/ap-utils.h:124
+#: lib/ap-utils.h:129
msgid "Get info about AP hardware and firmware"
msgstr ""
-#: lib/ap-utils.h:125
+#: lib/ap-utils.h:130
msgid "Get wireless port statistics"
msgstr ""
-#: lib/ap-utils.h:126
+#: lib/ap-utils.h:131
msgid "Get list of currently associated stations (Access Point clients)"
msgstr ""
-#: lib/ap-utils.h:127
+#: lib/ap-utils.h:132
+msgid "Get link status in APclient mode"
+msgstr ""
+
+#: lib/ap-utils.h:133
msgid "Get info and statistics from AP"
msgstr ""
-#: lib/ap-utils.h:128
+#: lib/ap-utils.h:134
msgid "Set various configuration options"
msgstr ""
-#: lib/ap-utils.h:130
+#: lib/ap-utils.h:136
msgid "Associated stations"
msgstr ""
-#: lib/ap-utils.h:132
+#: lib/ap-utils.h:137
+msgid "AP Client link state"
+msgstr ""
+
+#: lib/ap-utils.h:139
msgid "Polling: on"
msgstr ""
-#: lib/ap-utils.h:133
+#: lib/ap-utils.h:140
msgid "Polling: off"
msgstr ""
msgid "Configuration uploaded. Press any key to continue."
msgstr ""
-#: lib/common.c:30
+#: lib/common.c:32
msgid "Access Point IP-address: "
msgstr ""
-#: lib/common.c:31
+#: lib/common.c:33
msgid "Password (community): "
msgstr ""
-#: lib/common.c:32
+#: lib/common.c:34
msgid "Autodetect AP MIB properties? "
msgstr ""
-#: lib/common.c:33
+#: lib/common.c:35
msgid "AP MIB type: "
msgstr ""
-#: lib/common.c:34
+#: lib/common.c:36
msgid "AP MIB vendor extensions: "
msgstr ""
-#: lib/common.c:35
+#: lib/common.c:37
msgid "Do you want to use AP's name as its label? "
msgstr ""
-#: lib/common.c:36
+#: lib/common.c:38
msgid "Access Point label: "
msgstr ""
-#: lib/common.c:37
+#: lib/common.c:39
msgid "Save connect-settings: "
msgstr ""
-#: lib/common.c:100
+#: lib/common.c:40
+msgid "[P] Polling mode interval (tenths of second): "
+msgstr ""
+
+#: lib/common.c:41
+msgid "P - change polling mode interval; Q - quit to menu"
+msgstr ""
+
+#: lib/common.c:89 src/ap-config.c:158
+msgid "About"
+msgstr ""
+
+#: lib/common.c:106
#, c-format
msgid "From %s"
msgstr ""
-#: lib/common.c:102
+#: lib/common.c:108
#, c-format
msgid "Version %s"
msgstr ""
-#: lib/common.c:105
+#: lib/common.c:111
msgid "Written by Roman Festchook roma@polesye.net"
msgstr ""
-#: lib/common.c:107
-msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+#: lib/common.c:113
+msgid "and Jan Rafaj jr-aputils@cedric.unob.cz"
msgstr ""
-#: lib/common.c:109
-msgid "Copyright (c) 2001-2004"
+#: lib/common.c:115
+msgid "Copyright (c) 2001-2005"
msgstr ""
-#: lib/common.c:111
+#: lib/common.c:117
msgid "Roman Festchook and Jan Rafaj"
msgstr ""
-#: lib/common.c:114
+#: lib/common.c:120
msgid "This program is distributed under the terms"
msgstr ""
-#: lib/common.c:116
+#: lib/common.c:122
msgid "of the GNU General Public License version 2."
msgstr ""
-#: lib/common.c:118
+#: lib/common.c:124
msgid "See the included COPYING file for details."
msgstr ""
-#: lib/common.c:175
+#: lib/common.c:165
msgid "Connect options"
msgstr ""
-#: lib/common.c:183
+#: lib/common.c:173
msgid "Enter IP address of your Access Point."
msgstr ""
-#: lib/common.c:192
+#: lib/common.c:182
msgid "Entered characters will not be displayed for security reason."
msgstr ""
-#: lib/common.c:266
+#: lib/common.c:249
msgid "This label will be stored on HDD (independently on AP name!)."
msgstr ""
-#: lib/common.c:361
+#: lib/common.c:362
msgid "Trying to probe AP for MIB properties. Please wait..."
msgstr ""
-#: lib/common.c:390
+#: lib/common.c:391
msgid ""
"Unable to determine AP MIB properties (no response from AP). Press any key."
msgstr ""
-#: lib/file.c:205
+#: lib/common.c:489 lib/set_oeminfo.c:221
+#, c-format
+msgid "%s%u"
+msgstr ""
+
+#: lib/common.c:491
+#, c-format
+msgid "(%0.1f seconds)"
+msgstr ""
+
+#: lib/file.c:199
msgid "NUM IP ADDRESS MIB TYPE MIB EXT. LABEL"
msgstr ""
-#: lib/file.c:206
+#: lib/file.c:200
msgid "Choose an AP to connect to"
msgstr ""
-#: lib/file.c:212
+#: lib/file.c:206
msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
msgstr ""
-#: lib/file.c:268
+#: lib/file.c:257
msgid "Connect to AP num:"
msgstr ""
-#: lib/file.c:304
+#: lib/file.c:288
msgid "Delete num:"
msgstr ""
-#: lib/file.c:372
-msgid "AP list file ~/.ap-config successfully written. Press any key."
-msgstr ""
-
-#: lib/file.c:376
-msgid "Unable to write AP list file ~/.ap-config. Press any key."
-msgstr ""
-
-#: lib/file.c:426
+#: lib/file.c:442
msgid "Unable to write stations file. Press any key."
msgstr ""
-#: lib/file.c:428
+#: lib/file.c:444
msgid "Stations file succesfully written. Press any key."
msgstr ""
-#: lib/input.c:33
+#: lib/input.c:32
msgid "Invalid value. Press any key to continue."
msgstr ""
-#: lib/input.c:34
+#: lib/input.c:33
#, c-format
msgid "Value must be in range %u - %u. Press any key to continue."
msgstr ""
-#: lib/input.c:412
+#: lib/input.c:460
msgid "Y - Yes; Any other key - No (it's safer to answer No)"
msgstr ""
-#: lib/oui.c:6056
+#: lib/oui.c:6061
msgid "Unknown or Private"
msgstr ""
"key."
msgstr ""
-#: lib/scr.c:168
+#: lib/scr.c:157
#, c-format
msgid "Current AP: %s Type: %s Ext: %s"
msgstr ""
"[key] - set community/password; W - write config to AP; Q - quit to menu"
msgstr ""
+#: lib/set_oeminfo.c:28
+msgid "Info structure version: "
+msgstr ""
+
+#: lib/set_oeminfo.c:29
+msgid "[M] Device MAC address: "
+msgstr ""
+
+#: lib/set_oeminfo.c:30
+msgid " Manufacturer with this OUI: "
+msgstr ""
+
+#: lib/set_oeminfo.c:31
+msgid "[D] Regulatory domain: "
+msgstr ""
+
+#: lib/set_oeminfo.c:32
+msgid "[T] Product type: "
+msgstr ""
+
+#: lib/set_oeminfo.c:33
+msgid "[E] OEM name: "
+msgstr ""
+
+#: lib/set_oeminfo.c:34
+msgid "[I] OEM ID: "
+msgstr ""
+
+#: lib/set_oeminfo.c:35
+msgid "[N] Product name: "
+msgstr ""
+
+#: lib/set_oeminfo.c:36
+msgid "[H] Hardware revision: "
+msgstr ""
+
+#: lib/set_oeminfo.c:37
+msgid "[O] Country code: "
+msgstr ""
+
+#: lib/set_oeminfo.c:38
+msgid "[C] Default channel: "
+msgstr ""
+
+#: lib/set_oeminfo.c:39
+msgid "[A] Calibrated channels: "
+msgstr ""
+
+#: lib/set_oeminfo.c:40
+msgid "[P] Nominal Tx Power (CR31) value for calibrated channels: "
+msgstr ""
+
+#: lib/set_oeminfo.c:41
+msgid ""
+"Keys in brackets - set corresponding option; W - write conf; Q - quit to menu"
+msgstr ""
+
+#: lib/set_oeminfo.c:101
+msgid "THIS IS A SECRET MENU LEADING TO VERY DANGEROUS OPTIONS."
+msgstr ""
+
+#: lib/set_oeminfo.c:103
+msgid "It is intended only for WISPs and repair shops."
+msgstr ""
+
+#: lib/set_oeminfo.c:107
+msgid "It allows to set OEM information stored in the AP (like its"
+msgstr ""
+
+#: lib/set_oeminfo.c:109
+msgid "MAC address, manuf. name, OEM ID, etc.). BE ABSOLUTELY SURE"
+msgstr ""
+
+#: lib/set_oeminfo.c:111
+msgid "THAT YOU KNOW WHAT YOU ARE DOING, AND THAT YOU HAVE THE"
+msgstr ""
+
+#: lib/set_oeminfo.c:113
+msgid "LEGAL RIGHT TO DO ANY MODIFICATION. Disobserving of these"
+msgstr ""
+
+#: lib/set_oeminfo.c:115
+msgid "rules may lead you into a conflict with your local"
+msgstr ""
+
+#: lib/set_oeminfo.c:117
+msgid "regulations and/or law."
+msgstr ""
+
+#: lib/set_oeminfo.c:119
+msgid "Also be warned that the setting of any from these options"
+msgstr ""
+
+#: lib/set_oeminfo.c:121
+msgid "may DAMAGE YOUR AP (other reason why this menu is hidden)."
+msgstr ""
+
+#: lib/set_oeminfo.c:123
+msgid "Values changed here will NOT be restored upon reset"
+msgstr ""
+
+#: lib/set_oeminfo.c:125
+msgid "of the device to factory defaults! It is advisable to"
+msgstr ""
+
+#: lib/set_oeminfo.c:127
+msgid "write them down somewhere prior their changing."
+msgstr ""
+
+#: lib/set_oeminfo.c:129
+msgid "Finally, note that you need to use MANUFACTURER community, "
+msgstr ""
+
+#: lib/set_oeminfo.c:131
+msgid "in order to be able to do any OEM info modification."
+msgstr ""
+
+#: lib/set_oeminfo.c:133
+msgid "Proceed further only at your full risk and responsibility. "
+msgstr ""
+
+#: lib/set_oeminfo.c:135
+msgid "You got the warnings."
+msgstr ""
+
+#: lib/set_oeminfo.c:141
+msgid "OEM Info settings"
+msgstr ""
+
#: lib/stat.c:29
msgid "Ethernet Statistics"
msgstr ""
msgid "System Info"
msgstr ""
-#: lib/sysinfo.c:120
+#: lib/sysinfo.c:55 src/bridge.c:50
+msgid "Wireless Bridge Point to MultiPoint"
+msgstr ""
+
+#: lib/sysinfo.c:56 src/bridge.c:51
+msgid "Access Point"
+msgstr ""
+
+#: lib/sysinfo.c:57 src/bridge.c:52
+msgid "Access Point client"
+msgstr ""
+
+#: lib/sysinfo.c:58 src/bridge.c:53
+msgid "Wireless Bridge Point to Point"
+msgstr ""
+
+#: lib/sysinfo.c:59 src/bridge.c:54
+msgid "Repeater"
+msgstr ""
+
+#: lib/sysinfo.c:60 lib/sysinfo.c:315 lib/sysinfo.c:424 src/bridge.c:55
+msgid "unknown"
+msgstr ""
+
+#: lib/sysinfo.c:144
msgid "Device hardware/software/name info:"
msgstr ""
-#: lib/sysinfo.c:154
-msgid "Product name:"
+#: lib/sysinfo.c:172
+#, c-format
+msgid "Operational mode: %s"
+msgstr ""
+
+#: lib/sysinfo.c:182
+msgid "Product name: "
msgstr ""
-#: lib/sysinfo.c:158
+#: lib/sysinfo.c:186
#, c-format
msgid "Product type: %u"
msgstr ""
-#: lib/sysinfo.c:161
-msgid "OEM name:"
+#: lib/sysinfo.c:189
+msgid "OEM name: "
msgstr ""
-#: lib/sysinfo.c:168
+#: lib/sysinfo.c:196
#, c-format
msgid "Hardware revision: %u"
msgstr ""
-#: lib/sysinfo.c:176
+#: lib/sysinfo.c:204
#, c-format
msgid "Info structure version: %u"
msgstr ""
-#: lib/sysinfo.c:179 lib/sysinfo.c:355
+#: lib/sysinfo.c:207 lib/sysinfo.c:383
#, c-format
msgid "Manufacturer OUI: %02X %02X %02X (%s)"
msgstr ""
-#: lib/sysinfo.c:196
+#: lib/sysinfo.c:224
#, c-format
msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
msgstr ""
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "FHSS 2.4 GHz"
msgstr ""
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "DSSS 2.4 GHz"
msgstr ""
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "IR Baseband"
msgstr ""
-#: lib/sysinfo.c:285
+#: lib/sysinfo.c:313
msgid "Commercial range 0..40 C"
msgstr ""
-#: lib/sysinfo.c:286
+#: lib/sysinfo.c:314
msgid "Industrial range -30..70 C"
msgstr ""
-#: lib/sysinfo.c:287 lib/sysinfo.c:396
-msgid "unknown"
-msgstr ""
-
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "manual"
msgstr ""
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "notsupported"
msgstr ""
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "dynamic"
msgstr ""
-#: lib/sysinfo.c:345
+#: lib/sysinfo.c:373
msgid "Manufacturer:"
msgstr ""
-#: lib/sysinfo.c:350
+#: lib/sysinfo.c:378
msgid "Manufacturer ID:"
msgstr ""
-#: lib/sysinfo.c:361
+#: lib/sysinfo.c:389
msgid "Product Name:"
msgstr ""
-#: lib/sysinfo.c:367
+#: lib/sysinfo.c:395
msgid "Product ID:"
msgstr ""
-#: lib/sysinfo.c:373
-msgid "Product Version:"
+#: lib/sysinfo.c:401
+msgid "Product Version:"
+msgstr ""
+
+#: lib/sysinfo.c:407
+#, c-format
+msgid "PHYType: %s"
+msgstr ""
+
+#: lib/sysinfo.c:410
+#, c-format
+msgid "Temperature: %s"
+msgstr ""
+
+#: lib/sysinfo.c:418
+#, c-format
+msgid "Regulatory Domain: %s"
+msgstr ""
+
+#: lib/sysinfo.c:419
+msgid "FCC (USA)"
+msgstr ""
+
+#: lib/sysinfo.c:420
+msgid "DOC (Canada)"
+msgstr ""
+
+#: lib/sysinfo.c:421
+msgid "ETSI (Europe)"
+msgstr ""
+
+#: lib/sysinfo.c:422
+msgid "Spain"
+msgstr ""
+
+#: lib/sysinfo.c:423
+msgid "France"
+msgstr ""
+
+#: lib/sysinfo.c:424
+msgid "MKK (Japan)"
+msgstr ""
+
+#: lib/sysinfo.c:427
+#, c-format
+msgid "Transmit Power: %u mW"
+msgstr ""
+
+#: lib/sysinfo.c:457
+#, c-format
+msgid "WEP implemented: %s"
+msgstr ""
+
+#: lib/sysinfo.c:460
+#, c-format
+msgid "Diversity: %s"
+msgstr ""
+
+#: lib/sysinfo.c:488
+#, c-format
+msgid "Uptime: %u:%02u:%02u.%02u"
+msgstr ""
+
+#: lib/sysinfo.c:508
+#, c-format
+msgid "IP Address: %s"
+msgstr ""
+
+#: lib/test.c:26
+msgid "[T] Test mode: "
+msgstr ""
+
+#: lib/test.c:27
+msgid "[A] Antenna: "
+msgstr ""
+
+#: lib/test.c:28
+msgid "[S] Signal level: "
+msgstr ""
+
+#: lib/test.c:29
+msgid "[R] Rate: "
+msgstr ""
+
+#: lib/test.c:30
+msgid "[F] TxFiler: "
+msgstr ""
+
+#: lib/test.c:31
+msgid "[O] Command: "
+msgstr ""
+
+#: lib/test.c:32
+msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
+msgstr ""
+
+#: lib/test.c:70
+msgid "Left"
+msgstr ""
+
+#: lib/test.c:70
+msgid "Right"
+msgstr ""
+
+#: lib/test.c:79
+msgid "Devices with ATMEL12350 MIB not yet supported."
+msgstr ""
+
+#: lib/test.c:91
+msgid "Test mode"
+msgstr ""
+
+#: lib/test.c:94
+msgid "Using the \"Test mode\" may cause loss of your current"
+msgstr ""
+
+#: lib/test.c:95
+msgid "configuration."
+msgstr ""
+
+#: lib/test.c:107
+msgid "Options:"
+msgstr ""
+
+#: lib/test.c:133
+msgid "Statistics:"
+msgstr ""
+
+#: lib/test.c:134
+msgid "Success Frames: 0 Failed Frames: 0"
+msgstr ""
+
+#: lib/test.c:195
+#, c-format
+msgid "Success Frames: %lu Failed Frames: %lu"
+msgstr ""
+
+#: lib/wep.c:28
+msgid "Privacy Settings"
+msgstr ""
+
+#: lib/wep.c:29
+msgid "[E] Standard encryption mechanism: "
+msgstr ""
+
+#: lib/wep.c:30
+msgid "[A] Allow unencrypted: "
+msgstr ""
+
+#: lib/wep.c:31
+msgid "[K] Default WEP key: "
+msgstr ""
+
+#: lib/wep.c:32
+msgid "[P] Public key: "
+msgstr ""
+
+#: lib/wep.c:85
+msgid "EK1234 - set; W - write conf; Q - quit to menu"
+msgstr ""
+
+#: lib/wep.c:94 lib/wep.c:263
+msgid "Key WEP"
+msgstr ""
+
+#: lib/wep.c:101
+msgid "Hint! Confused by WEP key values? See man ap-config for info..."
+msgstr ""
+
+#: lib/wep.c:247
+msgid "AEPK1234 - set options; W - write conf; Q - quit to menu"
+msgstr ""
+
+#: lib/wlan.c:27
+msgid "[E] ESSID: "
+msgstr ""
+
+#: lib/wlan.c:28
+msgid "[N] AP name: "
+msgstr ""
+
+#: lib/wlan.c:30
+msgid "[K] AP contact: "
+msgstr ""
+
+#: lib/wlan.c:31
+msgid "[L] AP location: "
+msgstr ""
+
+#: lib/wlan.c:33
+msgid "[R] RTS threshold: "
+msgstr ""
+
+#: lib/wlan.c:34
+msgid "[F] Fragmentation threshold: "
+msgstr ""
+
+#: lib/wlan.c:35
+msgid "[P] Preambule type: "
+msgstr ""
+
+#: lib/wlan.c:36
+msgid "[A] Auth type: "
+msgstr ""
+
+#: lib/wlan.c:37
+msgid "Open system"
+msgstr ""
+
+#: lib/wlan.c:38
+msgid "Shared key"
+msgstr ""
+
+#: lib/wlan.c:39
+msgid "Both types"
+msgstr ""
+
+#: lib/wlan.c:40
+msgid "[U] Auto rate fallback: "
+msgstr ""
+
+#: lib/wlan.c:41
+msgid "[S] Insert ESSID in broadcast packets: "
+msgstr ""
+
+#: lib/wlan.c:42
+msgid "Basic and Supported rates:"
+msgstr ""
+
+#: lib/wlan.c:43
+msgid "Key Rate Status"
+msgstr ""
+
+#: lib/wlan.c:45
+msgid "[I] International roaming: "
+msgstr ""
+
+#: lib/wlan.c:46
+msgid "[B] Beacon period (msec): "
+msgstr ""
+
+#: lib/wlan.c:47
+msgid "[D] DTIM sending interval (beacons): "
+msgstr ""
+
+#: lib/wlan.c:48
+msgid "[T] SIFS time (2nd+ interframe spacing, usec): "
+msgstr ""
+
+#: lib/wlan.c:49
+msgid "[key] - set option; W - write conf; Q - quit to menu"
+msgstr ""
+
+#: lib/wlan.c:125
+msgid "Short"
+msgstr ""
+
+#: lib/wlan.c:125
+msgid "Long"
+msgstr ""
+
+#: lib/wlan.c:239
+msgid "Wireless Settings"
+msgstr ""
+
+#: lib/wlan.c:735
+msgid "Antenna Configuration:"
+msgstr ""
+
+#: lib/wlan.c:752
+msgid "General Options"
+msgstr ""
+
+#: lib/wlan.c:754
+msgid ""
+"UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
+msgstr ""
+
+#: src/ap-auth.c:32 src/auth.c:28
+msgid "AuthorizedMacTableString packet error"
+msgstr ""
+
+#: src/ap-auth.c:33
+msgid "Invalid data in source file"
+msgstr ""
+
+#: src/ap-auth.c:34
+msgid "Can't open file"
+msgstr ""
+
+#: src/ap-auth.c:35
+msgid "Can't write to file"
+msgstr ""
+
+#: src/ap-auth.c:36
+msgid "Error closing file"
+msgstr ""
+
+#: src/ap-auth.c:44 src/ap-mrtg.c:41 src/ap-rrd.c:40
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+
+#: src/ap-auth.c:45
+msgid "\tap-auth -i ip -c community -d filename [-h]\n"
+msgstr ""
+
+#: src/ap-auth.c:46
+msgid ""
+"\tap-auth -i ip -c community -u filename [-h]\n"
+"\n"
+msgstr ""
+
+#: src/ap-auth.c:47
+msgid ""
+"Change accesspoint's list of authorised MAC addresses\n"
+"\n"
+msgstr ""
+
+#: src/ap-auth.c:48 src/ap-mrtg.c:45 src/ap-rrd.c:45
+msgid "-i ip - AP ip address\n"
+msgstr ""
+
+#: src/ap-auth.c:49 src/ap-mrtg.c:46 src/ap-rrd.c:46
+msgid "-c community - SNMP community string\n"
+msgstr ""
+
+#: src/ap-auth.c:50
+msgid ""
+"-d filename - download list of authorised MAC addresses from AP to a file\n"
+msgstr ""
+
+#: src/ap-auth.c:52
+msgid ""
+"-u filename - upload list of authorised MAC addresses from a file to AP\n"
+msgstr ""
+
+#: src/ap-auth.c:54 src/ap-mrtg.c:55 src/ap-rrd.c:55
+msgid ""
+"-h - print this help screen\n"
+"\n"
+msgstr ""
+
+#: src/ap-auth.c:55
+#, c-format
+msgid ""
+"ap-auth %s Copyright (c) 2004 Teemu Kiviniemi\n"
+"\n"
+msgstr ""
+
+#: src/ap-auth.c:138 src/ap-mrtg.c:132
+msgid "Error: invalid IP-address.\n"
+msgstr ""
+
+#: src/ap-auth.c:203 src/ap-mrtg.c:204
+msgid "Unable to determine AP MIB type (no response from AP)."
+msgstr ""
+
+#: src/ap-auth.c:211
+msgid "NWN devices are not yet supported."
+msgstr ""
+
+#: src/ap-config.c:43 src/bridge.c:201
+msgid "Bridging"
+msgstr ""
+
+#: src/ap-config.c:43
+msgid "Set bridging and IP-related options"
+msgstr ""
+
+#: src/ap-config.c:45 src/ap-config.c:114 src/ap-config.c:123 src/bridge.c:125
+msgid "Wireless"
+msgstr ""
+
+#: src/ap-config.c:45
+msgid "Set wireless options"
+msgstr ""
+
+#: src/ap-config.c:46 src/ap-config.c:58
+msgid "Privacy"
+msgstr ""
+
+#: src/ap-config.c:47
+msgid "Auth"
+msgstr ""
+
+#: src/ap-config.c:48 src/ap-config.c:60
+msgid "Community"
+msgstr ""
+
+#: src/ap-config.c:49
+msgid "Radio"
+msgstr ""
+
+#: src/ap-config.c:49
+msgid "Set radio signal power and antenna options"
+msgstr ""
+
+#: src/ap-config.c:56
+msgid "General"
+msgstr ""
+
+#: src/ap-config.c:56
+msgid "Set general options"
+msgstr ""
+
+#: src/ap-config.c:57
+msgid "Advanced"
+msgstr ""
+
+#: src/ap-config.c:57
+msgid "Set advanced options"
+msgstr ""
+
+#: src/ap-config.c:59
+msgid "MAC auth"
+msgstr ""
+
+#: src/ap-config.c:82
+msgid "Upload"
+msgstr ""
+
+#: src/ap-config.c:82
+msgid "Activate current configuration"
+msgstr ""
+
+#: src/ap-config.c:83
+msgid "Defaults"
+msgstr ""
+
+#: src/ap-config.c:83
+msgid "Restore factory default settings"
+msgstr ""
+
+#: src/ap-config.c:84 src/ap-config.c:91
+msgid "Reset"
+msgstr ""
+
+#: src/ap-config.c:85
+msgid "Reset AP. All not uploaded configuration will be lost"
+msgstr ""
+
+#: src/ap-config.c:86
+msgid "TestMode"
+msgstr ""
+
+#: src/ap-config.c:86
+msgid "Put Access Point in test mode"
+msgstr ""
+
+#: src/ap-config.c:91
+msgid "Reset AP."
+msgstr ""
+
+#: src/ap-config.c:112 src/ap-config.c:122
+msgid "SysInfo"
+msgstr ""
+
+#: src/ap-config.c:113 src/bridge.c:124 src/bridge.c:127
+msgid "Ethernet"
+msgstr ""
+
+#: src/ap-config.c:113
+msgid "Get ethernet port statistics"
+msgstr ""
+
+#: src/ap-config.c:115 src/ap-config.c:124
+msgid "Stations"
+msgstr ""
+
+#: src/ap-config.c:116
+msgid "AP link"
+msgstr ""
+
+#: src/ap-config.c:117
+msgid "KnownAPs"
+msgstr ""
+
+#: src/ap-config.c:117
+msgid "Get info about known Access Points"
+msgstr ""
+
+#: src/ap-config.c:125
+msgid "Latest"
+msgstr ""
+
+#: src/ap-config.c:125
+msgid "Get info about latest events"
+msgstr ""
+
+#: src/ap-config.c:150
+msgid "Info"
+msgstr ""
+
+#: src/ap-config.c:151
+msgid "Config"
+msgstr ""
+
+#: src/ap-config.c:152
+msgid "Commands"
+msgstr ""
+
+#: src/ap-config.c:152
+msgid "Execute commands on Access Point"
+msgstr ""
+
+#: src/ap-config.c:154
+msgid "Connect"
+msgstr ""
+
+#: src/ap-config.c:155
+msgid "Search"
+msgstr ""
+
+#: src/ap-config.c:156
+msgid "Polling"
+msgstr ""
+
+#: src/ap-config.c:157
+msgid "Shell"
+msgstr ""
+
+#: src/ap-config.c:159
+msgid "Exit"
+msgstr ""
+
+#: src/ap-config.c:218
+#, c-format
+msgid "Wireless Access Point Configurator ver. %s"
+msgstr ""
+
+#: src/aplink.c:25
+msgid "RSSI: ["
+msgstr ""
+
+#: src/aplink.c:26
+msgid "RSSI avg: ["
+msgstr ""
+
+#: src/aplink.c:27
+msgid "RSSI top: ["
+msgstr ""
+
+#: src/aplink.c:28
+msgid "RSSI rou: ["
+msgstr ""
+
+#: src/aplink.c:29
+msgid ""
+"P - pause, T - toggle graph view, Q - quit to menu, Other key - force update."
+msgstr ""
+
+#: src/aplink.c:81
+msgid "RSSI [%]"
+msgstr ""
+
+#: src/aplink.c:82
+msgid "RSSI average [%]"
+msgstr ""
+
+#: src/aplink.c:83
+msgid "RSSI rounded [%]"
+msgstr ""
+
+#: src/aplink.c:84
+msgid "Link Quality [%]"
+msgstr ""
+
+#: src/aplink.c:133
+msgid "Not available - device must have firmware with necessary "
+msgstr ""
+
+#: src/aplink.c:135
+msgid "vendor extensions and be in either 'Access Point client'"
+msgstr ""
+
+#: src/aplink.c:137
+msgid "or 'Repeater' mode."
+msgstr ""
+
+#: src/ap-mrtg.c:42
+msgid ""
+"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-v] [-h] [-r]\n"
+"\n"
+msgstr ""
+
+#: src/ap-mrtg.c:44
+msgid ""
+"Get stats from AP and return it in MRTG parsable format\n"
+"\n"
+msgstr ""
+
+#: src/ap-mrtg.c:47
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality (last one will only "
+msgstr ""
+
+#: src/ap-mrtg.c:49
+msgid "work with ATMEL410 MIB devices in AP Client mode)\n"
+msgstr ""
+
+#: src/ap-mrtg.c:50
+msgid ""
+"-b bssid - mac address of the AP from which get link quality, only if "
+"type=l\n"
+msgstr ""
+
+#: src/ap-mrtg.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr ""
+
+#: src/ap-mrtg.c:53
+msgid "-v - report MRTG about problems connecting to AP\n"
msgstr ""
-#: lib/sysinfo.c:379
-#, c-format
-msgid "PHYType: %s"
+#: src/ap-mrtg.c:54 src/ap-rrd.c:54
+msgid "-r - reset AP when getting LinkQuality stats\n"
msgstr ""
-#: lib/sysinfo.c:382
+#: src/ap-mrtg.c:56
#, c-format
-msgid "Temperature: %s"
+msgid ""
+"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
+"\n"
msgstr ""
-#: lib/sysinfo.c:390
+#: src/ap-rrd.c:32
#, c-format
-msgid "Regulatory Domain: %s"
-msgstr ""
-
-#: lib/sysinfo.c:391
-msgid "FCC (USA)"
+msgid "Error getting data from AP %s\n"
msgstr ""
-#: lib/sysinfo.c:392
-msgid "DOC (Canada)"
+#: src/ap-rrd.c:42
+msgid ""
+"\tap-rrd -i ip -c community -t type -d db_file [-b bssid] [-n name] [-a "
+"aptype] [-h] [-r] \n"
+"\n"
msgstr ""
-#: lib/sysinfo.c:393
-msgid "ETSI (Europe)"
+#: src/ap-rrd.c:44
+msgid ""
+"Get stats from AP and put it in to specified RRDtool database\n"
+"\n"
msgstr ""
-#: lib/sysinfo.c:394
-msgid "Spain"
+#: src/ap-rrd.c:48
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality in client mode\n"
msgstr ""
-#: lib/sysinfo.c:395
-msgid "France"
+#: src/ap-rrd.c:49
+msgid "-d db_file - RRD database file with full path\n"
msgstr ""
-#: lib/sysinfo.c:396
-msgid "MKK (Japan)"
+#: src/ap-rrd.c:51
+msgid ""
+"-b bssid - mac address of the AP to which get link quality, only if "
+"type=l\n"
msgstr ""
-#: lib/sysinfo.c:399
-#, c-format
-msgid "Transmit Power: %u mW"
+#: src/ap-rrd.c:52
+msgid "-n name - AP name - for check only\n"
msgstr ""
-#: lib/sysinfo.c:429
-#, c-format
-msgid "WEP implemented: %s"
+#: src/ap-rrd.c:53
+msgid ""
+"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-"
+"102\n"
msgstr ""
-#: lib/sysinfo.c:432
+#: src/ap-rrd.c:56
#, c-format
-msgid "Diversity: %s"
+msgid ""
+"ap-rrd %s Copyright (c) 2002-2004 Roman Festchook\n"
+"\n"
msgstr ""
-#: lib/sysinfo.c:460
-#, c-format
-msgid "Uptime: %u:%02u:%02u.%02u"
+#: src/ap-rrd.c:133
+msgid "Invalid IP-address\n"
msgstr ""
-#: lib/sysinfo.c:480
+#: src/ap-rrd.c:179
#, c-format
-msgid "IP Address: %s"
+msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
msgstr ""
-#: lib/test.c:26
-msgid "[T] Test mode: "
+#: src/ap-tftp.c:84
+msgid "yes"
msgstr ""
-#: lib/test.c:27
-msgid "[A] Antenna: "
+#: src/ap-tftp.c:85
+msgid "no"
msgstr ""
-#: lib/test.c:28
-msgid "[S] Signal level: "
+#: src/ap-tftp.c:87
+msgid "Error while read()ing firmware file"
msgstr ""
-#: lib/test.c:29
-msgid "[R] Rate: "
+#: src/ap-tftp.c:100
+msgid "Undefined error"
msgstr ""
-#: lib/test.c:30
-msgid "[F] TxFiler: "
+#: src/ap-tftp.c:101
+msgid "File not found"
msgstr ""
-#: lib/test.c:31
-msgid "[O] Command: "
+#: src/ap-tftp.c:102
+msgid "Access violation"
msgstr ""
-#: lib/test.c:32
-msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
+#: src/ap-tftp.c:103
+msgid "Disk full or allocation error"
msgstr ""
-#: lib/test.c:70
-msgid "Left"
+#: src/ap-tftp.c:104
+msgid "Illegal TFTP operation"
msgstr ""
-#: lib/test.c:70
-msgid "Right"
+#: src/ap-tftp.c:105
+msgid "Unknown transfer ID"
msgstr ""
-#: lib/test.c:86
-msgid "Test mode"
+#: src/ap-tftp.c:106
+msgid "File already exists"
msgstr ""
-#: lib/test.c:89
-msgid "Using the \"Test mode\" may cause loss of your current"
+#: src/ap-tftp.c:107
+msgid "No such user"
msgstr ""
-#: lib/test.c:90
-msgid "configuration."
+#: src/ap-tftp.c:157
+msgid "Remote-filename too long.\n"
msgstr ""
-#: lib/test.c:102
-msgid "Options:"
+#: src/ap-tftp.c:183
+#, c-format
+msgid "%sError in read()"
msgstr ""
-#: lib/test.c:128
-msgid "Statistics:"
+#: src/ap-tftp.c:212
+#, c-format
+msgid "sending %u bytes\n"
msgstr ""
-#: lib/test.c:129
-msgid "Success Frames: 0 Failed Frames: 0"
+#: src/ap-tftp.c:221
+#, c-format
+msgid "%sError in sendto()"
msgstr ""
-#: lib/test.c:190
+#: src/ap-tftp.c:244
#, c-format
-msgid "Success Frames: %lu Failed Frames: %lu"
+msgid "%sError in recvfrom()"
msgstr ""
-#: lib/wep.c:28
-msgid "Privacy Settings"
+#: src/ap-tftp.c:256
+#, c-format
+msgid "\rProgress: uploaded %3i%%."
msgstr ""
-#: lib/wep.c:29
-msgid "[E] Standard encryption mechanism: "
+#: src/ap-tftp.c:267
+#, c-format
+msgid "%sMalformed packet received. Aborting.\n"
msgstr ""
-#: lib/wep.c:30
-msgid "[A] Allow unencrypted: "
+#: src/ap-tftp.c:276
+#, c-format
+msgid "%sTimed out waiting for response from server (%i/%i).\n"
msgstr ""
-#: lib/wep.c:31
-msgid "[K] Default WEP key: "
+#: src/ap-tftp.c:283
+#, c-format
+msgid "%sError in select()"
msgstr ""
-#: lib/wep.c:32
-msgid "[P] Public key: "
+#: src/ap-tftp.c:297
+#, c-format
+msgid "Received %d bytes: %04x %04x\n"
msgstr ""
-#: lib/wep.c:85
-msgid "EK1234 - set; W - write conf; Q - quit to menu"
+#: src/ap-tftp.c:308
+#, c-format
+msgid "%sError: server responded with %s. Aborting.\n"
msgstr ""
-#: lib/wep.c:94 lib/wep.c:263
-msgid "Key WEP"
+#: src/ap-tftp.c:315
+#, c-format
+msgid "%sFlash programming in progress...\n"
msgstr ""
-#: lib/wep.c:101
-msgid "Hint! Confused by WEP key values? See man ap-config for info..."
+#: src/ap-tftp.c:317
+msgid "Finished successfully.\n"
msgstr ""
-#: lib/wep.c:247
-msgid "AEPK1234 - set options; W - write conf; Q - quit to menu"
+#: src/ap-tftp.c:335
+msgid "PLEASE BE _ABSOLUTELY_ SURE TO READ MANPAGE PRIOR USE!!!\n"
msgstr ""
-#: lib/wlan.c:27
-msgid "[E] ESSID: "
+#: src/ap-tftp.c:337
+#, c-format
+msgid ""
+"\n"
+"Usage: %s -i IP -f firmware_file.rom [-c community] [-h]\n"
msgstr ""
-#: lib/wlan.c:28
-msgid "[N] AP name: "
+#: src/ap-tftp.c:361
+msgid "TFTP client for upgrading firmware in ATMEL AT76C510 WiSOC-based APs.\n"
msgstr ""
-#: lib/wlan.c:30
-msgid "[K] AP contact: "
+#: src/ap-tftp.c:363
+msgid "(C) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>\n"
msgstr ""
-#: lib/wlan.c:31
-msgid "[L] AP location: "
+#: src/ap-tftp.c:379
+msgid "Error: invalid IP address format given.\n"
msgstr ""
-#: lib/wlan.c:33
-msgid "[R] RTS threshold: "
+#: src/ap-tftp.c:405
+msgid "Error: invalid argument combination.\n"
msgstr ""
-#: lib/wlan.c:34
-msgid "[F] Fragmentation threshold: "
+#: src/ap-tftp.c:412
+msgid "Error while open()ing firmware file"
msgstr ""
-#: lib/wlan.c:35
-msgid "[P] Preambule type: "
+#: src/ap-tftp.c:419 src/ap-tftp.c:472
+msgid "Error: invalid firmware file given.\n"
msgstr ""
-#: lib/wlan.c:36
-msgid "[A] Auth type: "
+#: src/ap-tftp.c:461
+#, c-format
+msgid ""
+"Firmware file contains:\n"
+"- string \"ATMEL\": %s\n"
+"- string \"802.11 AP\": %s\n"
+"- string \"atbrfirm.bin\": %s\n"
+"- string \"atsingle.bin\": %s\n"
msgstr ""
-#: lib/wlan.c:37
-msgid "Open system"
+#: src/ap-tftp.c:485
+#, c-format
+msgid ""
+"Using:\n"
+"- server: %s\n"
+"- firmware file: \"%s\"\n"
+"- name used for upload: \"%s\"\n"
msgstr ""
-#: lib/wlan.c:38
-msgid "Shared key"
+#: src/ap-tftp.c:568
+msgid ""
+"Error: device with the given IP does not seem to run SmartBridges firmware.\n"
msgstr ""
-#: lib/wlan.c:39
-msgid "Both types"
+#: src/ap-tftp.c:574
+msgid "Error: SNMP authorization error or device unavailable.\n"
msgstr ""
-#: lib/wlan.c:40
-msgid "[U] Auto rate fallback: "
+#: src/ap-tftp.c:653
+msgid "Error while lseek()ing in firmware file\n"
msgstr ""
-#: lib/wlan.c:41
-msgid "[S] Insert ESSID in broadcast packets: "
+#: src/ap-trapd.c:150
+#, c-format
+msgid "ap-trapd %s started%s%s."
msgstr ""
-#: lib/wlan.c:42
-msgid "Basic and Supported rates:"
+#: src/ap-trapd.c:151
+msgid " on "
msgstr ""
-#: lib/wlan.c:43
-msgid "Key Rate Status"
+#: src/ap-trapd.c:157
+msgid "Unable to fork. Exiting."
msgstr ""
-#: lib/wlan.c:45
-msgid "[I] International roaming: "
+#: src/ap-trapd.c:161
+msgid "Can't create socket. Exiting."
msgstr ""
-#: lib/wlan.c:46
-msgid "[B] Beacon period (msec): "
+#: src/ap-trapd.c:167
+msgid "Can't bind socket. Exiting."
msgstr ""
-#: lib/wlan.c:47
-msgid "[D] DTIM sending interval (beacons): "
+#: src/ap-trapd.c:174
+#, c-format
+msgid "Can't bind to device %s. Exiting."
msgstr ""
-#: lib/wlan.c:48
-msgid "[T] SIFS time (msec): "
+#: src/ap-trapd.c:185
+#, c-format
+msgid "Unable to process username %s. Error: %m."
msgstr ""
-#: lib/wlan.c:49
-msgid "[key] - set option; W - write conf; Q - quit to menu"
+#: src/ap-trapd.c:190
+#, c-format
+msgid "Unable to change to uid %d."
msgstr ""
-#: lib/wlan.c:125
-msgid "Short"
+#: src/ap-trapd.c:239
+#, c-format
+msgid ""
+"Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."
msgstr ""
-#: lib/wlan.c:125
-msgid "Long"
+#: src/ap-trapd.c:311
+#, c-format
+msgid "Agent:v%d %s (%s@%s:%d) Trap %i: %s%s%s. SysUptime %d:%02d:%02d.%02d"
msgstr ""
-#: lib/wlan.c:237
-msgid "Wireless Settings"
+#: src/auth.c:30
+msgid "APClient authorization credentials"
msgstr ""
-#: lib/wlan.c:731
-msgid "Antenna Configuration:"
+#: src/auth.c:32
+msgid "[A] MAC authorization: "
msgstr ""
-#: lib/wlan.c:748
-msgid "General Options"
+#: src/auth.c:33
+msgid "Enter MAC: "
msgstr ""
-#: lib/wlan.c:750
-msgid ""
-"UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
+#: src/auth.c:34
+msgid "Delete Num: "
msgstr ""
-#: src/ap-config.c:54
-msgid "General"
+#: src/auth.c:35
+msgid " NUM MAC address "
msgstr ""
-#: src/ap-config.c:54
-msgid "Set general options"
+#: src/auth.c:36
+msgid "A: auth; N: new; D: del; arrows: scroll; W: write conf; Q: quit"
msgstr ""
-#: src/ap-config.c:55
-msgid "Advanced"
+#: src/auth.c:38
+msgid "[I] Radius server IP: "
msgstr ""
-#: src/ap-config.c:55
-msgid "Set advanced options"
+#: src/auth.c:39
+msgid "[P] Radius server port: "
msgstr ""
-#: src/ap-config.c:89
-msgid "Reset AP."
+#: src/auth.c:40
+msgid "[S] Radius server secret: "
msgstr ""
-#: src/ap-config.c:122
-msgid "Latest"
+#: src/auth.c:41
+msgid "[T] Reauthorization time (minutes): "
msgstr ""
-#: src/ap-config.c:122
-msgid "Get info about latest events"
+#: src/auth.c:42
+msgid "[F] Radius source port: "
msgstr ""
-#: src/ap-mrtg.c:42
+#: src/auth.c:43
msgid ""
-"\n"
-"Usage:\n"
+"A: auth; N: new; D: del; IPSTF: set; arrows: scroll; W: write conf; Q: quit"
msgstr ""
-#: src/ap-mrtg.c:44
-msgid ""
-"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-a aptype] [-v] [-"
-"h] [-r]\n"
-"\n"
+#: src/auth.c:45
+msgid "[M] 802.1x authorization: "
msgstr ""
-#: src/ap-mrtg.c:46
-msgid ""
-"Get stats from AP and return it in MRTG parsable format\n"
-"\n"
+#: src/auth.c:46
+msgid "[T] key broadcasting time period (seconds): "
msgstr ""
-#: src/ap-mrtg.c:47
-msgid "-i ip - AP ip address\n"
+#: src/auth.c:47
+msgid "[I] 802.1x auth. server IP: "
msgstr ""
-#: src/ap-mrtg.c:48
-msgid "-c community - SNMP community string\n"
+#: src/auth.c:48
+msgid "[S] 802.1x auth. server secret: "
msgstr ""
-#: src/ap-mrtg.c:50
+#: src/auth.c:49
msgid ""
-"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
-"or <l>ink quality in client mode\n"
+"A: auth; N: new; D: del; MTIS: set; arrows: scroll; W: write conf; Q: quit"
msgstr ""
-#: src/ap-mrtg.c:52
-msgid ""
-"-b bssid - mac address of the AP to which get link quality, only if "
-"type=l\n"
+#: src/auth.c:114
+msgid "Internal"
msgstr ""
-#: src/ap-mrtg.c:53
-msgid "-n name - AP name - for check only\n"
+#: src/auth.c:116
+msgid "Radius"
msgstr ""
-#: src/ap-mrtg.c:54
-msgid ""
-"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the "
-"ME-102\n"
+#: src/auth.c:121
+msgid "Allow listed MACs only"
msgstr ""
-#: src/ap-mrtg.c:56
-msgid "-v - report MRTG about problems connecting to AP\n"
+#: src/auth.c:123
+msgid "Deny listed MACs only"
msgstr ""
-#: src/ap-mrtg.c:57
-msgid "-r - reset AP when getting LinkQuality stats\n"
+#: src/auth.c:129
+msgid "Mixed environment"
msgstr ""
-#: src/ap-mrtg.c:58
-msgid ""
-"-h - print this help screen\n"
-"\n"
+#: src/auth.c:213
+msgid "(not shown)"
msgstr ""
-#: src/ap-mrtg.c:59
-#, c-format
-msgid ""
-"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
-"\n"
+#: src/auth.c:276
+msgid "Authorized MAC addresses:"
msgstr ""
-#: src/ap-mrtg.c:143
-msgid "Invalid IP-address\n"
+#: src/auth.c:345
+msgid "(insufficient community used)"
msgstr ""
-#: src/ap-mrtg.c:188
+#: src/auth.c:472
#, c-format
-msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
+msgid "Given MAC already exists in MAC list at position %d. Press any key."
msgstr ""
-#: src/ap-mrtg.c:207
-msgid "Create socket error"
+#: src/bridge.c:27
+msgid "[I] IP: "
msgstr ""
-#: src/ap-mrtg.c:211
-msgid "Bind socket error"
+#: src/bridge.c:28
+msgid "[N] Netmask: "
msgstr ""
-#: src/ap-trapd.c:148
-#, c-format
-msgid "ap-trapd %s started%s%s."
+#: src/bridge.c:29
+msgid "[G] Gateway: "
msgstr ""
-#: src/ap-trapd.c:149
-msgid " on "
+#: src/bridge.c:30
+msgid "[F] Filter non-IP traffic: "
msgstr ""
-#: src/ap-trapd.c:155
-msgid "Unable to fork. Exiting."
+#: src/bridge.c:31
+msgid "[P] Primary port: "
msgstr ""
-#: src/ap-trapd.c:159
-msgid "Can't create socket. Exiting."
+#: src/bridge.c:32
+msgid "Attached station MAC: "
msgstr ""
-#: src/ap-trapd.c:165
-msgid "Can't bind socket. Exiting."
+#: src/bridge.c:33
+msgid "[D] DHCP client: "
msgstr ""
-#: src/ap-trapd.c:172
-#, c-format
-msgid "Can't bind to device %s. Exiting."
+#: src/bridge.c:34
+msgid "[O] Operational mode: "
msgstr ""
-#: src/ap-trapd.c:183
-#, c-format
-msgid "Unable to process username %s. Error: %m."
+#: src/bridge.c:35
+msgid "[M] Preferred BSSID (remote MAC addr.): "
msgstr ""
-#: src/ap-trapd.c:188
-#, c-format
-msgid "Unable to change to uid %d."
+#: src/bridge.c:36
+msgid "[C] Configuration-enabled port(s): "
msgstr ""
-#: src/ap-trapd.c:235
-#, c-format
-msgid ""
-"Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."
+#: src/bridge.c:37
+msgid "[T] Trap-sending port: "
msgstr ""
-#: src/ap-trapd.c:307
-#, c-format
-msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
+#: src/bridge.c:38
+msgid "[R] Forward broadcast traffic: "
msgstr ""
-#: src/auth_mac.c:33
-msgid "NUM MAC address"
+#: src/bridge.c:39
+msgid "[B] Isolate wireless clients (broadcast traffic): "
msgstr ""
-#: src/bridge.c:35
-msgid "[C] Configuration-enabled port(s): "
+#: src/bridge.c:40
+msgid "[U] Isolate wireless clients (unicast traffic): "
msgstr ""
-#: src/bridge.c:38
-msgid "[B] Isolate wireless clients (broadcast traffic): "
+#: src/bridge.c:41
+msgid "INGFPDOMSCRBUT - set; W - write conf; Q - quit to menu"
msgstr ""
-#: src/bridge.c:39
-msgid "[U] Isolate wireless clients (unicast traffic): "
+#: src/bridge.c:128
+msgid "Wireless (can be risky)"
msgstr ""
-#: src/bridge.c:119
+#: src/bridge.c:129
msgid "Both"
msgstr ""
msgid "Error:"
msgstr ""
-#: src/stations.c:33
-msgid "AP link state"
+#: src/stations.c:82
+msgid "Not available (device not in AP mode)."
msgstr ""
-#: src/stations.c:37
-msgid " # MAC "
+#: src/stations.c:92
+msgid " # MAC Parent MAC RSSI LQ Sts MACn IP "
msgstr ""
-#: src/stations.c:40
-msgid " # MAC Parent MAC RSSI Status MACn IP "
+#: src/stations.c:136
+msgid "AssociatedSTAsInfo packet error"
msgstr ""
-#: src/stations.c:195 src/stations.c:367
+#: src/stations.c:189 src/stations.c:363
msgid ""
"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
"refresh"
msgstr ""
-#: src/stations.c:200
+#: src/stations.c:193
msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
msgstr ""
-#: src/stations.c:279
+#: src/stations.c:275
msgid "Id MAC address Quality Age RSSI"
msgstr ""
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU ap-utils 1.3.2-pre3\n"
-"POT-Creation-Date: 2004-11-28 00:59+0200\n"
-"PO-Revision-Date: 2004-05-10 08:00-0500\n"
+"Project-Id-Version: GNU ap-utils 1.5pre1\n"
+"POT-Creation-Date: 2005-03-07 01:13+0200\n"
+"PO-Revision-Date: 2004-11-30 08:00-0500\n"
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
"Language-Team: French <traduc@traduc.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-"Report-Msgid-Bugs-To: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
-msgid "Bridging"
-msgstr ""
-
-#: ap-gl/ap-gl.c:41 src/ap-config.c:41
-msgid "Set bridging and IP-related options"
-msgstr "Configuré les options relative au pont et à IP"
-
-#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
-#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
-msgid "Wireless"
-msgstr "Sans fil"
-
-#: ap-gl/ap-gl.c:43 src/ap-config.c:43
-msgid "Set wireless options"
-msgstr "Configurer les options sans fil"
-
-#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
-msgid "Privacy"
-msgstr "Intimité"
-
-#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
-msgid "MAC auth"
-msgstr ""
-
-#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
-msgid "Community"
-msgstr "Communauté"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Radio"
-msgstr "Radio"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Set radio signal power and antenna options"
-msgstr ""
-"Sélectionner les options pour l'antenne et la puissance du signal radio"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Upload"
-msgstr "Téléchargement"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-#, fuzzy
-msgid "Activate current configuration"
-msgstr "Rendre la configuration courante active"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Defaults"
-msgstr "Défauts"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Restore factory default settings"
-msgstr "Restaurer les paramètres par défaut du manufacturier"
-
-#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
-msgid "Reset"
-msgstr "Réinitialisation"
-
-#: ap-gl/ap-gl.c:65 src/ap-config.c:83
-msgid "Reset AP. All not uploaded configuration will be lost"
-msgstr ""
-"Réinitialiser le point d'accès. Toutes les config. non préservées seront "
-"perdues."
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "TestMode"
-msgstr "Mode test"
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "Put Access Point in test mode"
-msgstr "Placer le point d'accès en mode test."
-
-#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
-msgid "SysInfo"
-msgstr "SysInfo"
-
-#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
-#: src/bridge.c:120
-msgid "Ethernet"
-msgstr "Ethernet"
-
-#: ap-gl/ap-gl.c:80 src/ap-config.c:111
-msgid "Get ethernet port statistics"
-msgstr "Obtenir les statistiques des ports Ethernet"
-
-#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
-msgid "Stations"
-msgstr "Stations"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "KnownAPs"
-msgstr "Point d'accès connus"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "Get info about known Access Points"
-msgstr "Obtenir les info des points d'accès connus"
-
-#: ap-gl/ap-gl.c:100 src/ap-config.c:147
-msgid "Info"
-msgstr "Info"
-
-#: ap-gl/ap-gl.c:101 src/ap-config.c:148
-msgid "Config"
-msgstr "Config"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Commands"
-msgstr "Commandes"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Execute commands on Access Point"
-msgstr "Exécuter les commandes sur le point d'accès"
-
-#: ap-gl/ap-gl.c:104 src/ap-config.c:151
-msgid "Connect"
-msgstr "Connecter"
-
-#: ap-gl/ap-gl.c:105 src/ap-config.c:152
-msgid "Search"
-msgstr "Chercher"
-
-#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
-msgid "About"
-msgstr "À propos"
-
-#: ap-gl/ap-gl.c:107 src/ap-config.c:154
-msgid "Shell"
-msgstr "Shell"
-
-#: ap-gl/ap-gl.c:108 src/ap-config.c:155
-msgid "Exit"
-msgstr "Quitter"
-
-#: ap-gl/ap-gl.c:158 src/ap-config.c:204
-#, c-format
-msgid "Wireless Access Point Configurator ver. %s"
-msgstr "Configurateur de point d'accès sans fil version %s"
-
-#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
-msgid "AuthorizedMacTableString packet error"
-msgstr "Erreur de paquet AuthorizedMacTableString"
-
-#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
-#, fuzzy
-msgid "[A] MAC authorization: "
-msgstr "[A] Autorisation Mac: %s"
-
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
-#, fuzzy
-msgid "Enter MAC: "
-msgstr "Entrer Mac:"
-
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
-#, fuzzy
-msgid "Delete Num: "
-msgstr "Détruire Num:"
-
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
-#, fuzzy
-msgid "Authorized MAC addresses"
-msgstr "Mac adresses autorisées"
-
-#: ap-gl/auth_mac.c:33
-#, fuzzy
-msgid "NUM MAC address"
-msgstr "NUM MAC address"
-
-#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
-msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
-msgstr ""
-"A - autor.; N - nouveau; D - détruire; flèches - défiler; W - sauvegarder la "
-"config.; Q - quitter"
-
-#: ap-gl/auth_mac.c:35
-#, fuzzy
-msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
-msgstr ""
-"BPGINFDRT - initialisé; W - sauvegarder la config.; Q - quitter vers le menu"
-
-#: ap-gl/auth_mac.c:36
-#, fuzzy
-msgid "A - auth; W - write conf; Q - quit"
-msgstr ""
-"DA - options; W - sauvegarder la configuration; Q - quitter vers le menu"
-
-#: ap-gl/auth_mac.c:38
-msgid "[I] RADIUS SERVER IP: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:39
-msgid "[P] RADIUS SERVER PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:40
-msgid "[S] RADIUS SERVER SECRET: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:41
-msgid "[T] REAUTHORIZATION TIME: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:42
-msgid "[F] RADIUS SOURCE PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:87
-#, fuzzy
-msgid "Internal"
-msgstr "Général"
-
-#: ap-gl/auth_mac.c:95
-msgid "<hidden>"
-msgstr ""
-
-#: ap-gl/bridge.c:26 src/bridge.c:26
-msgid "[I] IP: "
-msgstr ""
-
-#: ap-gl/bridge.c:27 src/bridge.c:27
-#, fuzzy
-msgid "[N] Netmask: "
-msgstr "[N] netmask: %s"
-
-#: ap-gl/bridge.c:28 src/bridge.c:28
-#, fuzzy
-msgid "[G] Gateway: "
-msgstr "[G] Passerelle (gateway) %s"
-
-#: ap-gl/bridge.c:29 src/bridge.c:29
-#, fuzzy
-msgid "[F] Filter non-IP traffic: "
-msgstr "[F] Filtrer le traffic non IP: %s"
-
-#: ap-gl/bridge.c:30 src/bridge.c:30
-#, fuzzy
-msgid "[P] Primary port: "
-msgstr "[P] Port primaire: %s"
-
-#: ap-gl/bridge.c:31 src/bridge.c:31
-#, fuzzy
-msgid "Attached station MAC: "
-msgstr "Station rattachée MAC: %02X%02X%02X%02X%02X%02X"
-
-#: ap-gl/bridge.c:32 src/bridge.c:32
-#, fuzzy
-msgid "[D] DHCP client: "
-msgstr "[D] protocol DHCP: %s"
-
-#: ap-gl/bridge.c:33 src/bridge.c:33
-#, fuzzy
-msgid "[O] Operational mode: "
-msgstr "[O] Mode opérationnel: %s"
-
-#: ap-gl/bridge.c:34 src/bridge.c:34
-msgid "[M] Preferred BSSID (remote MAC addr.): "
-msgstr ""
-
-#: ap-gl/bridge.c:36 src/bridge.c:36
-msgid "[T] Trap-sending port(s): "
-msgstr ""
-
-#: ap-gl/bridge.c:37 src/bridge.c:37
-msgid "[R] Forward broadcast traffic: "
-msgstr ""
-
-#: ap-gl/bridge.c:39
-msgid "[U] Isolate wireless clients: "
-msgstr ""
-
-#: ap-gl/bridge.c:40 src/bridge.c:40
-#, fuzzy
-msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
-msgstr ""
-"BPGINFDRT - initialisé; W - sauvegarder la config.; Q - quitter vers le menu"
-
-#: ap-gl/bridge.c:124 src/bridge.c:109
-msgid "Wireless Bridge Point to MultiPoint"
-msgstr "Point d'accès pont sans fil vers Multi-point"
-
-#: ap-gl/bridge.c:125 src/bridge.c:110
-msgid "Access Point"
-msgstr "Point d'accès"
-
-#: ap-gl/bridge.c:126 src/bridge.c:111
-msgid "Access Point client"
-msgstr "Point d'accès client"
-
-#: ap-gl/bridge.c:127 src/bridge.c:112
-msgid "Wireless Bridge Point to Point"
-msgstr "Point pont sans fil vers un point"
-
-#: ap-gl/bridge.c:128 src/bridge.c:113
-msgid "Repeater"
-msgstr "Répéteur"
-
-#: ap-gl/stations.c:77 src/stations.c:100
-msgid "AP is currently in AP Client Mode => no associated STAtions."
-msgstr ""
-
-#: ap-gl/stations.c:102
-msgid "# MAC LQ RSSI Status Port IP"
-msgstr ""
-
-#: ap-gl/stations.c:128 src/stations.c:159
-msgid "AssociatedSTAsInfo packet error"
-msgstr "Erreur de paquet AssociatedSTAsInfo"
-
-#: ap-gl/stations.c:160
-msgid "Arrows - scroll; S - save to file; Q - quit to menu."
-msgstr ""
-"Flècher - défiler; S - sauvegarder dans un fichier; Q - quitter vers le menu."
-
-#: lib/aps.c:29
+#: lib/aps.c:30
msgid "Known Access Points"
msgstr "Point d'accès connus"
-#: lib/aps.c:129
+#: lib/aps.c:130
msgid "Your Access Point is not in \"AP client\" mode => getting"
-msgstr ""
+msgstr "Votre Point d'accès n'est pas en mode \"Client AP\" => obtention"
-#: lib/aps.c:132
+#: lib/aps.c:133
msgid "up-to-date \"Known APs\" info requires your AP to be"
msgstr ""
+"mise à jour des infos \"Points d'accès connus\" requiert que votre Point "
+"d'accès soit"
-#: lib/aps.c:135
+#: lib/aps.c:136
msgid "temporarily configured into \"AP client\" mode and rebooted."
msgstr ""
+"configuré temporairement dans le mode \"Point d'accès client\" et réamorcé"
-#: lib/aps.c:138
+#: lib/aps.c:139
msgid "Your AP will be reconfigured back to original mode by this"
-msgstr ""
+msgstr "Votre Point d'accès sera reconfiguré à son mode d'origine par cet"
-#: lib/aps.c:141
+#: lib/aps.c:142
msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
msgstr ""
+"utilitaire une fois que vous aurez quitté la vue \"KnownAP\". Ceci, en "
+"retour, peut"
-#: lib/aps.c:144
-#, fuzzy
+#: lib/aps.c:145
msgid "cause loss of Access Point's current configuration."
-msgstr "Configurateur de point d'accès sans fil"
+msgstr "provoquer la perte des Points d'accès de la configuration courante."
-#: lib/aps.c:148
+#: lib/aps.c:149
msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
-msgstr ""
+msgstr "Ne PAS répondre par \"Yes\", si vous êtes connecté à un Point d'accès"
-#: lib/aps.c:151
-#, fuzzy
+#: lib/aps.c:152
msgid "via its wireless port."
-msgstr "Configurer les options sans fil"
+msgstr "via le port sans fil."
-#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
+#: lib/aps.c:154 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:96
msgid "Do you want to continue? "
msgstr "Désirez-vous poursuivre?"
-#: lib/aps.c:207
+#: lib/aps.c:208
msgid "NetworkType"
msgstr "Type de réseau"
-#: lib/aps.c:283
+#: lib/aps.c:284
msgid "Infrastructure"
msgstr "Infrastructure"
-#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
-#, fuzzy
+#: lib/aps.c:344 lib/aps.c:352 lib/aps.c:360
msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
-msgstr "P: type de préambule; S: court; L: long"
+msgstr "Cn: Nom du canal; P: type de préambule (S: court; L: long);"
-#: lib/aps.c:345
+#: lib/aps.c:346
msgid "RSSI: Radio Signal Strength Indicator [%]"
-msgstr ""
+msgstr "RSSI: indicateur de la force du signal radio [%]"
-#: lib/aps.c:347 lib/aps.c:355
+#: lib/aps.c:348 lib/aps.c:356
msgid "; LQ: Link Quality [%]"
-msgstr ""
+msgstr "; LQ: qualité du lien [%]"
-#: lib/aps.c:353
+#: lib/aps.c:354
msgid "RSSI: Radio Signal Strength Indicator [dBm]"
-msgstr ""
+msgstr "RSSI: indicateur de la force du signal radio [dBm]"
-#: lib/aps.c:361
+#: lib/aps.c:362
msgid "RSSI: Radio Signal Strength Indicator [raw]"
-msgstr ""
+msgstr "RSSI: indicateur de la force du signal radio [brut]"
-#: lib/aps.c:363
+#: lib/aps.c:364
msgid "; LQ: Link Q. [raw]"
-msgstr ""
+msgstr "; LQ: qualité du lien [brut]"
-#: lib/aps.c:369
-#, fuzzy
+#: lib/aps.c:370
msgid ""
"# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
"reset"
msgstr ""
-"# connecter à cet AP; R rafraîchir avec réinitialisation; G rafraîchior sans "
-"réinitialisation; Q quitter"
+"# con. au Point d'accès; R rafraîchir avec réinitialisation; T basculer; Q "
+"quitter; O (other=autre) rafraîchir réinitialisation w/o"
-#: lib/aps.c:371
-#, fuzzy
+#: lib/aps.c:372
msgid ""
"# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
"view"
msgstr ""
-"# connecter à cet AP; R rafraîchir avec réinitialisation; G rafraîchior sans "
-"réinitialisation; Q quitter"
+"# con. au Point d'accès #;R rechercher les Points d'accès;T basculer la vue; "
+"Q uitter; O (other=autre) = rafraîchir la vue"
-#: lib/aps.c:500 lib/ap_search.c:167
-#, fuzzy, c-format
+#: lib/aps.c:501 lib/ap_search.c:173
+#, c-format
msgid "Failure in sendto(): %s. Press any key."
-msgstr "sendto() invalide: %s. Appuyer sur une touche."
+msgstr "Échec de sendto(): %s. Appuyez sur une touche."
-#: lib/aps.c:509
+#: lib/aps.c:510
msgid "You have just initiated the AP scan. Be advised that it may"
msgstr ""
+"Vous avez lancer une recherche des Points d'accès. Sachez que cela peut"
-#: lib/aps.c:512
+#: lib/aps.c:513
msgid "take a few seconds for your Access Point to find out some"
-msgstr ""
+msgstr "prendre quelques secondes à votre Point d'accès pour retourner"
-#: lib/aps.c:515
+#: lib/aps.c:516
msgid "values, so expect finishing the scan in about 5 seconds."
-msgstr ""
+msgstr "les valeurs, aussi il faut s'attendre à une fin du scan de 5 secondes"
-#: lib/aps.c:518
+#: lib/aps.c:519
msgid "Also note that your Access Point stops forwarding the network"
msgstr ""
+"Notez aussi que votre Point d'accès arrête le relayage du trafic avant "
+"(forward) vers le réseau"
-#: lib/aps.c:521
+#: lib/aps.c:522
msgid "traffic while the scan is in progress, but restores itself"
-msgstr ""
+msgstr "lorsque le scan est lancé, il est restauré par la suite"
-#: lib/aps.c:524
+#: lib/aps.c:525
msgid "to normal operation in time ranging up to 1 minute."
-msgstr ""
+msgstr "en mode normal d'opération dans un délais allant jusqu'à 1 minute."
-#: lib/aps.c:527
+#: lib/aps.c:528
msgid "Hence, if you are connected to target Access Point via its"
-msgstr ""
+msgstr "Donc, si vous êtes connecté au Point d'accès cible via son"
-#: lib/aps.c:530
+#: lib/aps.c:531
msgid "wireless port, you need to wait a bit longer"
-msgstr ""
+msgstr "port sans fil, vous devrez attendre un peut plus longtemps"
-#: lib/aps.c:533
+#: lib/aps.c:534
msgid "after pressing 'S'."
-msgstr ""
+msgstr "après avoir appuyé sur la touche 'S'."
#: lib/ap_search.c:48
-#, fuzzy
msgid "Community name: "
-msgstr "Communauté"
+msgstr "Nom de la communauté: "
#: lib/ap_search.c:49
#, fuzzy
-msgid " NUM IP ADDRESS MIB TYPE NAME"
-msgstr "NUM ADRESSE IP TYPE"
+msgid " NUM IP ADDRESS MIB TYPE FW TYPE (VERSION) AP NAME"
+msgstr " NUM ADRESSE IP MIB TYPE NOM"
-#: lib/ap_search.c:100
+#: lib/ap_search.c:106
msgid "Please wait while scanning, or press 'Q' to quit."
msgstr ""
+"SVP attendre la fin de la scrutation (scan) ou appuyez 'Q' pour quitter."
-#: lib/ap_search.c:116
-#, fuzzy
+#: lib/ap_search.c:122
msgid "Can't set broadcast option on socket. Press any key."
-msgstr "Ne peut diffuser l'option au socket. Appuyer sur une touche."
+msgstr ""
+"Ne peut initialiser l'option de diffusion sur le socket. Appuyez sur une "
+"touche."
-#: lib/ap_search.c:125
-#, fuzzy
+#: lib/ap_search.c:131
msgid "Can't set multicast membership on socket. Press any key."
-msgstr "Ne peut diffiser par multicast au socket. Appuyer sur une touche."
+msgstr ""
+"Ne peut initialiser le membership multicast sur le socket. Appuyez sur une "
+"touche."
-#: lib/ap_search.c:132
+#: lib/ap_search.c:138
msgid "Scanning via network interface:"
-msgstr ""
+msgstr "Scan via l'interface réseau:"
-#: lib/ap_search.c:133
+#: lib/ap_search.c:139
#, c-format
msgid " Index: %i"
-msgstr ""
+msgstr " Index: %i"
-#: lib/ap_search.c:135
-#, fuzzy, c-format
+#: lib/ap_search.c:141
+#, c-format
msgid " Name: %s"
-msgstr "[N] Nom du point d'accès:"
+msgstr " Nom: %s"
-#: lib/ap_search.c:137
+#: lib/ap_search.c:143
#, c-format
msgid " IP: %s"
-msgstr ""
+msgstr " IP: %s"
-#: lib/ap_search.c:146
+#: lib/ap_search.c:152
#, c-format
msgid "Scanning for AP with MIB type: %s"
-msgstr ""
-
-#: lib/ap_search.c:334
-msgid "Please enter SNMP community name that will be used for AP detection."
-msgstr ""
+msgstr "Scan des Points d'accès ayant le type MIB: %s"
-#: lib/ap_search.c:345
+#: lib/ap_search.c:378
msgid "Access Points Search"
-msgstr "Recherche des points d'accès"
+msgstr "Recherche des Points d'accès"
-#: lib/ap_search.c:363
-#, fuzzy
+#: lib/ap_search.c:396
msgid "realloc() error."
-msgstr "Erreur de création de socket"
+msgstr "erreur de realloc()."
-#: lib/ap_search.c:375
+#: lib/ap_search.c:408
msgid "Network interface discovery error."
-msgstr ""
+msgstr "Erreur de l'interface réseau lors de la recherche en mode découverte"
-#: lib/ap_search.c:450
-#, fuzzy
+#: lib/ap_search.c:483
msgid "No local network interfaces found. Press any key."
-msgstr "erreur de fork(). Appuyer sur une touche."
+msgstr "Aucune interface locale réseau retrouvée. Appuyez sur une touche."
-#: lib/ap_search.c:452
+#: lib/ap_search.c:485
msgid "No directly reachable Access Points found. Press any key."
msgstr ""
+"Aucun Point d'accès directement atteignable n'a été retrouvé. Appuyez sur "
+"une touche."
-#: lib/ap_search.c:457
+#: lib/ap_search.c:490
msgid "Single-screen maximum number of APs found."
msgstr ""
+"Nombre maximum de Points d'accès retrouvés à afficher sur un seul écran."
-#: lib/ap_search.c:460
-#, fuzzy
+#: lib/ap_search.c:493
msgid "# - connect to AP; Q - quit"
-msgstr "Connexion avec AP numéro:"
+msgstr "# - connectés au Point d'accès; Q - quitter"
-#: lib/ap-utils.h:79
-#, fuzzy
+#: lib/ap-utils.h:82
msgid "MAC address: "
-msgstr "NUM MAC address"
+msgstr "adresse MAC: "
-#: lib/ap-utils.h:80
-#, fuzzy
+#: lib/ap-utils.h:83
msgid "[S] SNMP traps: "
-msgstr "[S] Trappes SNMP: %s"
+msgstr "[S] Trappes SNMP: "
-#: lib/ap-utils.h:82
-#, fuzzy
+#: lib/ap-utils.h:85
msgid "[C] Frequency channel: "
-msgstr "[C] canal de fréquence: %02u (%u MHz)"
+msgstr "[C] canal de fréquence: "
-#: lib/ap-utils.h:84
-#, fuzzy
+#: lib/ap-utils.h:87
msgid "Receive antenna:"
-msgstr "Reçu:"
+msgstr "Antenne de réception:"
-#: lib/ap-utils.h:85
-#, fuzzy
+#: lib/ap-utils.h:88
msgid "[U] Left"
-msgstr "Gauche"
+msgstr "[U] Gauche"
-#: lib/ap-utils.h:86
-#, fuzzy
+#: lib/ap-utils.h:89
msgid "[I] Right"
-msgstr "Droite"
+msgstr "[I] Droite"
-#: lib/ap-utils.h:87
-#, fuzzy
+#: lib/ap-utils.h:90
msgid "Transmit antenna:"
-msgstr "Transmis:"
+msgstr "Antenne de transmission:"
-#: lib/ap-utils.h:88
-#, fuzzy
+#: lib/ap-utils.h:91
msgid "[O] Left"
-msgstr "Gauche"
+msgstr "[O] Gauche"
-#: lib/ap-utils.h:89
-#, fuzzy
+#: lib/ap-utils.h:92
msgid "[P] Right"
-msgstr "Droite"
+msgstr "[P] Droite"
-#: lib/ap-utils.h:90
-#, fuzzy
+#: lib/ap-utils.h:93
msgid "Diversity select:"
-msgstr "Diversité: %s"
+msgstr "Sélection de la diversité: "
-#: lib/ap-utils.h:91
-#, fuzzy
+#: lib/ap-utils.h:94
msgid "[T] Left"
-msgstr "Gauche"
+msgstr "[T] Gauche"
-#: lib/ap-utils.h:92
-#, fuzzy
+#: lib/ap-utils.h:95
msgid "[Y] Right"
-msgstr "Droite"
+msgstr "[Y] Droite"
-#: lib/ap-utils.h:94
+#: lib/ap-utils.h:97
msgid "Yes"
-msgstr ""
+msgstr "Yes (Oui)"
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:98
msgid "No"
-msgstr ""
+msgstr "No (Non)"
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:100
msgid "On"
-msgstr ""
+msgstr "On"
-#: lib/ap-utils.h:98
-#, fuzzy
+#: lib/ap-utils.h:101
msgid "Off"
-msgstr "off"
+msgstr "Off"
-#: lib/ap-utils.h:100
-#, fuzzy
+#: lib/ap-utils.h:103
msgid "Basic"
msgstr "de base"
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:105
msgid "Press any key to continue."
-msgstr "Appuyer sur une touche pour continuer"
+msgstr "Appuyez sur une touche pour continuer"
-#: lib/ap-utils.h:103
-msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+#: lib/ap-utils.h:106
+#, fuzzy
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update"
msgstr ""
+"Q - quitter vers le menu. T - basculer en mode polling, Autre clé - forcer "
+"la mise à jour."
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:108
msgid "Unable to write data to AP. Press any key to continue."
msgstr ""
-"Incapable d'écrire les données sur le point d'accès. Appuyer sur une touche "
+"Incapable d'écrire les données sur le point d'accès. Appuyez sur une touche "
"pour continuer."
-#: lib/ap-utils.h:106
-#, fuzzy
+#: lib/ap-utils.h:109
msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
msgstr ""
-"Incapable de récupérer les données du point d'accès. Appuyer sur une touche "
-"pour continuer."
+"Incapable de récupérer les données valides à partir du Point d'accès. "
+"Appuyez sur une touche pour continuer."
-#: lib/ap-utils.h:107
+#: lib/ap-utils.h:110
#, fuzzy
-msgid "Trying to retrieve data from AP. Please wait..."
-msgstr "Récupérationd des données du point d'accès. SVP patientez..."
+msgid "Trying to retrieve data from AP - please wait (or press Q to quit)."
+msgstr ""
+"Tentative de récupération des données du Point d'accès. SVP patientez..."
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:111
msgid "Writing data to AP. Please wait..."
msgstr "Écriture des données sur le point d'accès. SVP patientez..."
-#: lib/ap-utils.h:109
-#, fuzzy
+#: lib/ap-utils.h:112
msgid "Configuration written to the AP. Press any key to continue."
msgstr ""
-"Incapable d'écrire les données sur le point d'accès. Appuyer sur une touche "
-"pour continuer."
+"Configuration écrite dans le Point d'accès. Appuyez sur une touche pour "
+"continuer."
-#: lib/ap-utils.h:110
-#, fuzzy
+#: lib/ap-utils.h:113
msgid "select() function error. Press any key."
-msgstr "erreur fcntl(). Appuyer sur une touche."
+msgstr "erreur de la fonction select(). Appuyez sur une touche."
-#: lib/ap-utils.h:112
-msgid "Create socket error. Press any key."
-msgstr "Erreur de création du socket. Appuyer sur n'importe quelle touche."
+#: lib/ap-utils.h:114
+#, fuzzy
+msgid "socket() or bind() function error. Press any key."
+msgstr "erreur de la fonction select(). Appuyez sur une touche."
-#: lib/ap-utils.h:113
-msgid "Bind socket error. Press any key."
-msgstr "Erreur de liaison de socket (bind). Appuyer sur une touche."
+#: lib/ap-utils.h:116
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr ""
+"Incapable d'écrire dans le fichier de la liste de Points d'accès ~/.ap-"
+"config. Appuyez sur une touche."
+
+#: lib/ap-utils.h:117
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+"Succès d'écriture au fichier de la liste de Points d'accès ~/.ap-config. "
+"Appuyez sur une touche."
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:119
msgid "Back to main menu"
msgstr "De retour au menu principal"
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:120
msgid "Exit program"
msgstr "Quitter le programme"
-#: lib/ap-utils.h:117
-#, fuzzy
+#: lib/ap-utils.h:121
msgid "Run subshell. To return type 'exit'."
-msgstr "Exécuter le sous-shell. Pour retourner taper 'exit'"
+msgstr "Exécuter le sous-shell. Pour retourner taper 'exit'."
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:122
+msgid "Change polling mode interval"
+msgstr ""
+
+#: lib/ap-utils.h:123
msgid "Short info about program"
msgstr "Infos courtes à propos du logiciel"
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:124
msgid "Find connected Access Points"
-msgstr "Repérer les points d'accès connectés"
+msgstr "Repérer les Points d'accès connectés"
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:125
msgid "Set connection options: ip and community"
-msgstr "Sélectionner les options de connexion: ip et communauté"
+msgstr "Sélectionnez les options de connexion: IP et Communauté"
-#: lib/ap-utils.h:121
-#, fuzzy
+#: lib/ap-utils.h:126
msgid "Set encryption; edit WEP keys"
-msgstr "Sélectionner l'encryptage, éditer les clés WEP"
+msgstr "Sélectionnez l'encryptage, éditez les clés WEP"
-#: lib/ap-utils.h:122
+#: lib/ap-utils.h:127
#, fuzzy
-msgid "Set MAC authorization; edit MAC authorization table"
+msgid "Set authorization; edit MAC authorization table"
msgstr ""
-"Sélectionner le type d'autorisation MAC, éditer le table d'autorisation MAC"
+"Sélectionnez le type d'autorisation MAC, éditez la table d'autorisation MAC"
-#: lib/ap-utils.h:123
-#, fuzzy
+#: lib/ap-utils.h:128
msgid "Set SNMP community/password for access to the AP"
msgstr ""
-"Sélectionner la communauté/mot de passe SNMP pour accéder un point d'accès"
+"Sélectionnez la communauté/mot de passe SNMP pour accéder au Points d'accès"
-#: lib/ap-utils.h:124
-#, fuzzy
+#: lib/ap-utils.h:129
msgid "Get info about AP hardware and firmware"
-msgstr "Obtenir les infos à propos du point d'accès matériel et logiciel"
+msgstr ""
+"Obtenir les infos à propos du matériel du Point d'accès matériel et logiciel "
+"(firmware)"
-#: lib/ap-utils.h:125
-#, fuzzy
+#: lib/ap-utils.h:130
msgid "Get wireless port statistics"
-msgstr "Obtenir les statistiques des ports sans fils"
+msgstr "Obtenir les statistiques des ports sans fil"
-#: lib/ap-utils.h:126
-#, fuzzy
+#: lib/ap-utils.h:131
msgid "Get list of currently associated stations (Access Point clients)"
-msgstr "Obtenir la liste des stations courramment associées"
+msgstr ""
+"Obtenir la liste des stations courramment associées (clients des Points "
+"d'accès)"
-#: lib/ap-utils.h:127
-#, fuzzy
+#: lib/ap-utils.h:132
+msgid "Get link status in APclient mode"
+msgstr ""
+
+#: lib/ap-utils.h:133
msgid "Get info and statistics from AP"
-msgstr "Obtention des infos et des statistiques à partir du point d'accès"
+msgstr "Obtenir les infos et les statistiques des Points d'accès"
-#: lib/ap-utils.h:128
-#, fuzzy
+#: lib/ap-utils.h:134
msgid "Set various configuration options"
-msgstr "Sélectionner diverses options de configuration"
+msgstr "Initialiser diverses options de configuration"
-#: lib/ap-utils.h:130
+#: lib/ap-utils.h:136
msgid "Associated stations"
msgstr "Stations associées"
-#: lib/ap-utils.h:132
+#: lib/ap-utils.h:137
+#, fuzzy
+msgid "AP Client link state"
+msgstr "État du lien du Point d'accès"
+
+#: lib/ap-utils.h:139
msgid "Polling: on"
-msgstr ""
+msgstr "Polling: on"
-#: lib/ap-utils.h:133
+#: lib/ap-utils.h:140
msgid "Polling: off"
-msgstr ""
+msgstr "Polling: off"
#: lib/cmd.c:40
msgid "Restore factory default configuration"
msgstr "Restauter les paramètres par défaut du manufacturier."
#: lib/cmd.c:43
-#, fuzzy
msgid "After restoring factory defaults your current configuration"
msgstr ""
-"Après restauration des paramètres du manufacturier, vous avez perdu la "
-"configuration courante."
+"Après la restauration des paramètres du manufacturier, votre configuration "
+"courante"
#: lib/cmd.c:44
msgid "will be lost."
-msgstr ""
+msgstr "sera perdue."
#: lib/cmd.c:63
-#, fuzzy
msgid "Factory default settings loaded. Press any key to continue."
msgstr ""
-"Configuration par défaut activée. Appuyer sur une touche pour continuer."
+"Configuration du manufacturier par défaut installée. Appuyez sur une touche "
+"pour continuer."
#: lib/cmd.c:71
msgid "Reset Access Point"
-msgstr "Réinitialiser le point d'accès"
+msgstr "Réinitialiser le Point d'accès"
#: lib/cmd.c:74
-#, fuzzy
msgid "By reset you'll lose all non-uploaded configuration."
msgstr ""
-"Après réinitialisation vous avez perdu toutes les configurations non "
-"préservées."
+"En effectuant la réinitialisation, vous perdrez toutes les configurations "
+"non préservées."
#: lib/cmd.c:85
msgid "Access Point reset. Press any key to continue."
msgstr "Configuration de chargement à distance"
#: lib/cmd.c:119
-#, fuzzy
msgid "You may need to upload the configuration only if you've"
msgstr ""
-"Vous avez besoin de télécharger la configuration seulement lors de "
-"changements sur les options."
+"Vous aurez besoin de télécharger la configuration seulement si vous avez "
+"changé"
#: lib/cmd.c:121
msgid "changed some option values before. Using this option may"
-msgstr ""
+msgstr "changé des valeurs d'option auparavant. Utiliser cette option peut"
#: lib/cmd.c:123
-#, fuzzy
msgid "cause loss of your current configuration."
-msgstr "Rendre la configuration courante active"
+msgstr "peut causer la perte de votre configuration courante."
#: lib/cmd.c:135
-#, fuzzy
msgid "Configuration uploaded. Press any key to continue."
msgstr ""
-"Téléchargement de la configuration complété. Appuyer sur une touche pour "
+"Téléchargement de la configuration complété. Appuyez sur une touche pour "
"continuer."
-#: lib/common.c:30
-#, fuzzy
+#: lib/common.c:32
msgid "Access Point IP-address: "
-msgstr "Adresse IP du point d'accès:"
+msgstr "Adresse-IP du Point d'accès: "
-#: lib/common.c:31
-#, fuzzy
+#: lib/common.c:33
msgid "Password (community): "
-msgstr "Mot de passe (communauté):"
+msgstr "Mot de passe (communauté): "
-#: lib/common.c:32
+#: lib/common.c:34
msgid "Autodetect AP MIB properties? "
-msgstr ""
+msgstr "Autodétection des propriétés MIB du Point d'accès?"
-#: lib/common.c:33
-#, fuzzy
+#: lib/common.c:35
msgid "AP MIB type: "
-msgstr "Type de point d'accès:"
+msgstr "Type MIB du Point d'accès: "
-#: lib/common.c:34
+#: lib/common.c:36
msgid "AP MIB vendor extensions: "
-msgstr ""
+msgstr "Extension MIB du manufacturier du Point d'accès: "
-#: lib/common.c:35
-#, fuzzy
+#: lib/common.c:37
msgid "Do you want to use AP's name as its label? "
-msgstr "Désirez-vous poursuivre?"
+msgstr "Désirez-vous utiliser le nom du Point d'accès comme étiquette? "
-#: lib/common.c:36
-#, fuzzy
+#: lib/common.c:38
msgid "Access Point label: "
-msgstr "Point d'accès"
+msgstr "Étiquette du Point d'accès: "
-#: lib/common.c:37
-#, fuzzy
+#: lib/common.c:39
msgid "Save connect-settings: "
-msgstr "Sauvegarder la configuration de connexion:"
+msgstr "Sauvegarder la configuration de connexion: "
+
+#: lib/common.c:40
+msgid "[P] Polling mode interval (tenths of second): "
+msgstr ""
+
+#: lib/common.c:41
+#, fuzzy
+msgid "P - change polling mode interval; Q - quit to menu"
+msgstr ""
+"[key] - initialiser l'option; W - sauvegarder la config.; Q - quitter vers "
+"le menu"
+
+#: lib/common.c:89 src/ap-config.c:158
+msgid "About"
+msgstr "À propos"
-#: lib/common.c:100
+#: lib/common.c:106
#, c-format
msgid "From %s"
msgstr "À partir de %s"
-#: lib/common.c:102
+#: lib/common.c:108
#, c-format
msgid "Version %s"
msgstr "Version %s"
-#: lib/common.c:105
+#: lib/common.c:111
msgid "Written by Roman Festchook roma@polesye.net"
msgstr "Écrit par Roman Festchook (roma@polesye.net)"
-#: lib/common.c:107
-msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
-msgstr ""
+#: lib/common.c:113
+#, fuzzy
+msgid "and Jan Rafaj jr-aputils@cedric.unob.cz"
+msgstr "Portions par Jan Rafaj aputils@cedric.unob.cz"
-#: lib/common.c:109
+#: lib/common.c:115
#, fuzzy
-msgid "Copyright (c) 2001-2004"
-msgstr "Copyright © Roman Festchook 2001-2002"
+msgid "Copyright (c) 2001-2005"
+msgstr "Copyright © 2001-2004"
-#: lib/common.c:111
+#: lib/common.c:117
msgid "Roman Festchook and Jan Rafaj"
-msgstr ""
+msgstr "Roman Festchook et Jan Rafaj"
-#: lib/common.c:114
+#: lib/common.c:120
msgid "This program is distributed under the terms"
msgstr "Ce logiciel est distribué selon les termes"
-#: lib/common.c:116
+#: lib/common.c:122
msgid "of the GNU General Public License version 2."
msgstr "de la GNU General Public License version 2."
-#: lib/common.c:118
+#: lib/common.c:124
msgid "See the included COPYING file for details."
msgstr "Consulter le fichier COPYING pour les détails."
-#: lib/common.c:175
+#: lib/common.c:165
msgid "Connect options"
msgstr "Option d'établissement de connexion"
-#: lib/common.c:183
+#: lib/common.c:173
msgid "Enter IP address of your Access Point."
msgstr "Entrer l'adresse IP de votre point d'accès"
-#: lib/common.c:192
+#: lib/common.c:182
msgid "Entered characters will not be displayed for security reason."
msgstr ""
"Caractères saisies ne seront pas affichés pour des raisons de sécurité."
-#: lib/common.c:266
+#: lib/common.c:249
msgid "This label will be stored on HDD (independently on AP name!)."
msgstr ""
+"Cette étiquette sera stocké sur le disque dur (indépendamment du nom du "
+"Point d'accès!)."
-#: lib/common.c:361
-#, fuzzy
+#: lib/common.c:362
msgid "Trying to probe AP for MIB properties. Please wait..."
-msgstr "Écriture des données sur le point d'accès. SVP patientez..."
+msgstr ""
+"Tentative de scrutation des propriétés MIB du Point d'accès. SVP patienter..."
-#: lib/common.c:390
-#, fuzzy
+#: lib/common.c:391
msgid ""
"Unable to determine AP MIB properties (no response from AP). Press any key."
msgstr ""
-"Incapable de récupérer les données du point d'accès. Appuyer sur une touche "
-"pour continuer."
+"Incapable de déterminer les propriétés MIB du Point d'accès (pas de "
+"réponse). Appuyez sur une touche pour continuer."
-#: lib/file.c:205
-msgid "NUM IP ADDRESS MIB TYPE MIB EXT. LABEL"
+#: lib/common.c:489 lib/set_oeminfo.c:221
+#, c-format
+msgid "%s%u"
msgstr ""
-#: lib/file.c:206
-#, fuzzy
+#: lib/common.c:491
+#, c-format
+msgid "(%0.1f seconds)"
+msgstr ""
+
+#: lib/file.c:199
+msgid "NUM IP ADDRESS MIB TYPE MIB EXT. LABEL"
+msgstr "NUM ADRESSE IP TYPE MIB EXT.MIB ÉTIQUTTE"
+
+#: lib/file.c:200
msgid "Choose an AP to connect to"
-msgstr "Choisir AP pour établir la connexion"
+msgstr "Choisir un Point d'accès pour établir une connexion"
-#: lib/file.c:212
+#: lib/file.c:206
msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
msgstr ""
"1-9,C: connect; N: nouveau; D: détruire; W: sauvegarder; Q: quitter; "
"flèches: défiler"
-#: lib/file.c:268
+#: lib/file.c:257
msgid "Connect to AP num:"
msgstr "Connexion avec AP numéro:"
-#: lib/file.c:304
+#: lib/file.c:288
msgid "Delete num:"
msgstr "Détruire num:"
-#: lib/file.c:372
-msgid "AP list file ~/.ap-config successfully written. Press any key."
-msgstr ""
-
-#: lib/file.c:376
-#, fuzzy
-msgid "Unable to write AP list file ~/.ap-config. Press any key."
-msgstr ""
-"Incapable de récupérer les données du point d'accès. Appuyer sur une touche "
-"pour continuer."
-
-#: lib/file.c:426
-#, fuzzy
+#: lib/file.c:442
msgid "Unable to write stations file. Press any key."
msgstr ""
-"Incapable d'écrire les données sur le point d'accès. Appuyer sur une touche "
-"pour continuer."
+"Incapable d'écrire dans le fichier des stations. Appuyez sur une touche pour "
+"continuer."
-#: lib/file.c:428
+#: lib/file.c:444
msgid "Stations file succesfully written. Press any key."
-msgstr ""
+msgstr "Succès d'écriture au fichier des stations. Appuyez sur une touche."
-#: lib/input.c:33
-#, fuzzy
+#: lib/input.c:32
msgid "Invalid value. Press any key to continue."
-msgstr "Adresse IP invalide. Appuyer sur une touche."
+msgstr "Valeur invalide. Appuyez sur une touche."
-#: lib/input.c:34
-#, fuzzy, c-format
+#: lib/input.c:33
+#, c-format
msgid "Value must be in range %u - %u. Press any key to continue."
msgstr ""
-"Incapable d'écrire les données sur le point d'accès. Appuyer sur une touche "
-"pour continuer."
+"La valeur doit être contenue entre les bornes %u - %u. Appuyez sur une "
+"touche pour continuer."
-#: lib/input.c:412
-#, fuzzy
+#: lib/input.c:460
msgid "Y - Yes; Any other key - No (it's safer to answer No)"
-msgstr "(Y - Oui; N - Non (il est plus sûr de répondre non)"
+msgstr ""
+"Y - Oui; N'importe quelle autre touche - Non (il est plus sûr de répondre No "
+"pour non)"
-#: lib/oui.c:6056
+#: lib/oui.c:6061
msgid "Unknown or Private"
msgstr "Inconnu ou privé"
#: lib/radio.c:26
-#, fuzzy
msgid ""
"[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu"
msgstr ""
-"Key - niveau de puissance; UIOP - antenne; W - sauvegarder la config.; Q - "
-"quitter"
+"[clé] - niveau de puissance; UIOP ou LR - antenne; W - sauvegarder la "
+"config.; Q - quitter vers le menu"
#: lib/radio.c:28
-#, fuzzy
msgid "Antenna:"
-msgstr "[A] Antenne: %s"
+msgstr "Antenne:"
#: lib/radio.c:29
-#, fuzzy
msgid "[L] Left:"
-msgstr "Gauche"
+msgstr "[L] Gauche:"
#: lib/radio.c:30
-#, fuzzy
msgid "[R] Right:"
-msgstr "Droite"
+msgstr "[R] Droite:"
#: lib/radio.c:120
msgid "Radio Configuration"
#: lib/radio.c:121
msgid "Output RF signal power level (CR31 register values)"
-msgstr ""
+msgstr "Niveau de puissance du signal RF (valeur de registre CR31)"
#: lib/radio.c:123
-#, fuzzy
msgid "Key Channel Level"
-msgstr "niveau du canal de clé"
+msgstr "niveau du canal clé"
#: lib/radio.c:279
-#, fuzzy
msgid ""
"You can't disable both antennas; unable to save antenna-config. Press any "
"key."
msgstr ""
-"Vous ne pouvez pas déactiver les deux antennes, incapable de sauvegarder la "
-"config. des antennes. Appuyer sur une touche."
+"Vous ne pouvez pas désactiver les deux antennes, incapable de sauvegarder la "
+"config. des antennes. Appuyez sur une touche."
-#: lib/scr.c:168
-#, fuzzy, c-format
+#: lib/scr.c:157
+#, c-format
msgid "Current AP: %s Type: %s Ext: %s"
-msgstr "Point d'accès courant: %s Type: %s"
+msgstr "Point d'accès courant: %s Type: %s Ext: %s"
#: lib/set_community.c:27
msgid "Set community/password"
msgstr "Initialiser la communauté/mot de passe"
#: lib/set_community.c:28
-#, fuzzy
msgid "Key Access level"
-msgstr "Niveau d'accès de la clé"
+msgstr "Niveau d'accès clé"
#: lib/set_community.c:29
msgid "Community/Password"
msgstr "Communauté/Mot de passe"
#: lib/set_community.c:30
-#, fuzzy
msgid "[U] User "
-msgstr "[U] Usager"
+msgstr "[U] Usager "
#: lib/set_community.c:31
-#, fuzzy
msgid "[A] Administrator "
-msgstr "[A] Administrateur"
+msgstr "[A] Administrateur "
#: lib/set_community.c:32
-#, fuzzy
msgid "[M] Manufacturer "
-msgstr "[M] Manufacturier"
+msgstr "[M] Manufacturier "
#: lib/set_community.c:33
-#, fuzzy
msgid ""
"[key] - set community/password; W - write config to AP; Q - quit to menu"
msgstr ""
-"Clé - initialiser la communauté/mot de passe; W - sauvegarder la config du "
-"point d'accès; Q - quitter"
+"[clé] - initialiser la communauté/mot de passe; W - sauvegarder la config du "
+"Point d'accès; Q - quitter vers le menu"
-#: lib/stat.c:29
-msgid "Ethernet Statistics"
-msgstr "Statistiques Etherne"
+#: lib/set_oeminfo.c:28
+#, fuzzy
+msgid "Info structure version: "
+msgstr "Version des infos de structure: %u"
-#: lib/stat.c:30
-msgid "Wireless Statistics"
-msgstr "Statistiques du sans fil"
+#: lib/set_oeminfo.c:29
+#, fuzzy
+msgid "[M] Device MAC address: "
+msgstr "adresse MAC: "
-#: lib/stat.c:98
+#: lib/set_oeminfo.c:30
#, fuzzy
-msgid "EthRxStat packet error. Press any key."
-msgstr "Erreur de paquet EthRxStat. Appuyer sur la touche Q pour continuer."
+msgid " Manufacturer with this OUI: "
+msgstr "Identificateur du manufacturier"
-#: lib/stat.c:111
+#: lib/set_oeminfo.c:31
#, fuzzy
-msgid "EthTxStat packet error. Press any key."
-msgstr "Erreur de paquet EthTxStat. Appuyer sur la touche Q pour continuer."
+msgid "[D] Regulatory domain: "
+msgstr "Domaine régulateur: %s"
-#: lib/stat.c:115
-msgid "Received:"
-msgstr "Reçu:"
+#: lib/set_oeminfo.c:32
+#, fuzzy
+msgid "[T] Product type: "
+msgstr "Type de produit: %u"
-#: lib/stat.c:116
+#: lib/set_oeminfo.c:33
#, fuzzy
-msgid "Transmitted:"
-msgstr "Transmis:"
+msgid "[E] OEM name: "
+msgstr "Nom OEM:"
-#: lib/stat.c:270
+#: lib/set_oeminfo.c:34
#, fuzzy
-msgid "WirelessStat packet error. Press any key."
-msgstr "Erreur de paquet WirelessStat. Appuyer sur la touche Q pour continuer."
+msgid "[I] OEM ID: "
+msgstr "[I] IP: "
-#: lib/sysinfo.c:29
-msgid "System Description: "
-msgstr "Description système: "
+#: lib/set_oeminfo.c:35
+#, fuzzy
+msgid "[N] Product name: "
+msgstr "Nom du produit:"
-#: lib/sysinfo.c:30
-msgid "System Info"
-msgstr "Info système"
+#: lib/set_oeminfo.c:36
+#, fuzzy
+msgid "[H] Hardware revision: "
+msgstr "Révision matérielle: %u"
-#: lib/sysinfo.c:120
-msgid "Device hardware/software/name info:"
-msgstr ""
+#: lib/set_oeminfo.c:37
+#, fuzzy
+msgid "[O] Country code: "
+msgstr "[O] Commande: "
-#: lib/sysinfo.c:154
+#: lib/set_oeminfo.c:38
#, fuzzy
-msgid "Product name:"
-msgstr "Nom de produit:"
+msgid "[C] Default channel: "
+msgstr "[C] canal de fréquence: "
-#: lib/sysinfo.c:158
-#, fuzzy, c-format
-msgid "Product type: %u"
-msgstr "Type de produit: %lu"
+#: lib/set_oeminfo.c:39
+#, fuzzy
+msgid "[A] Calibrated channels: "
+msgstr "[C] canal de fréquence: "
+
+#: lib/set_oeminfo.c:40
+msgid "[P] Nominal Tx Power (CR31) value for calibrated channels: "
+msgstr ""
-#: lib/sysinfo.c:161
+#: lib/set_oeminfo.c:41
#, fuzzy
-msgid "OEM name:"
-msgstr "Nom du OEM:"
+msgid ""
+"Keys in brackets - set corresponding option; W - write conf; Q - quit to menu"
+msgstr ""
+"[key] - initialiser l'option; W - sauvegarder la config.; Q - quitter vers "
+"le menu"
+
+#: lib/set_oeminfo.c:101
+msgid "THIS IS A SECRET MENU LEADING TO VERY DANGEROUS OPTIONS."
+msgstr ""
+
+#: lib/set_oeminfo.c:103
+msgid "It is intended only for WISPs and repair shops."
+msgstr ""
+
+#: lib/set_oeminfo.c:107
+msgid "It allows to set OEM information stored in the AP (like its"
+msgstr ""
+
+#: lib/set_oeminfo.c:109
+msgid "MAC address, manuf. name, OEM ID, etc.). BE ABSOLUTELY SURE"
+msgstr ""
+
+#: lib/set_oeminfo.c:111
+msgid "THAT YOU KNOW WHAT YOU ARE DOING, AND THAT YOU HAVE THE"
+msgstr ""
+
+#: lib/set_oeminfo.c:113
+msgid "LEGAL RIGHT TO DO ANY MODIFICATION. Disobserving of these"
+msgstr ""
+
+#: lib/set_oeminfo.c:115
+msgid "rules may lead you into a conflict with your local"
+msgstr ""
+
+#: lib/set_oeminfo.c:117
+msgid "regulations and/or law."
+msgstr ""
+
+#: lib/set_oeminfo.c:119
+msgid "Also be warned that the setting of any from these options"
+msgstr ""
+
+#: lib/set_oeminfo.c:121
+msgid "may DAMAGE YOUR AP (other reason why this menu is hidden)."
+msgstr ""
+
+#: lib/set_oeminfo.c:123
+msgid "Values changed here will NOT be restored upon reset"
+msgstr ""
+
+#: lib/set_oeminfo.c:125
+msgid "of the device to factory defaults! It is advisable to"
+msgstr ""
-#: lib/sysinfo.c:168
+#: lib/set_oeminfo.c:127
+msgid "write them down somewhere prior their changing."
+msgstr ""
+
+#: lib/set_oeminfo.c:129
+msgid "Finally, note that you need to use MANUFACTURER community, "
+msgstr ""
+
+#: lib/set_oeminfo.c:131
+msgid "in order to be able to do any OEM info modification."
+msgstr ""
+
+#: lib/set_oeminfo.c:133
+msgid "Proceed further only at your full risk and responsibility. "
+msgstr ""
+
+#: lib/set_oeminfo.c:135
+msgid "You got the warnings."
+msgstr ""
+
+#: lib/set_oeminfo.c:141
+msgid "OEM Info settings"
+msgstr ""
+
+#: lib/stat.c:29
+msgid "Ethernet Statistics"
+msgstr "Statistiques Ethernet"
+
+#: lib/stat.c:30
+msgid "Wireless Statistics"
+msgstr "Statistiques du sans fil"
+
+#: lib/stat.c:98
+msgid "EthRxStat packet error. Press any key."
+msgstr "Erreur de paquet EthRxStat. Appuyez sur une touche."
+
+#: lib/stat.c:111
+msgid "EthTxStat packet error. Press any key."
+msgstr "Erreur de paquet EthTxStat. Appuyez sur une touche."
+
+#: lib/stat.c:115
+msgid "Received:"
+msgstr "Reçu:"
+
+#: lib/stat.c:116
+msgid "Transmitted:"
+msgstr "Transmis:"
+
+#: lib/stat.c:270
+msgid "WirelessStat packet error. Press any key."
+msgstr "Erreur de paquet WirelessStat. Appuyez sur une touche."
+
+#: lib/sysinfo.c:29
+msgid "System Description: "
+msgstr "Description système: "
+
+#: lib/sysinfo.c:30
+msgid "System Info"
+msgstr "Info système"
+
+#: lib/sysinfo.c:55 src/bridge.c:50
+msgid "Wireless Bridge Point to MultiPoint"
+msgstr "Point d'accès pont sans fil vers Multi-point"
+
+#: lib/sysinfo.c:56 src/bridge.c:51
+msgid "Access Point"
+msgstr "Point d'accès"
+
+#: lib/sysinfo.c:57 src/bridge.c:52
+msgid "Access Point client"
+msgstr "Point d'accès client"
+
+#: lib/sysinfo.c:58 src/bridge.c:53
+msgid "Wireless Bridge Point to Point"
+msgstr "Point pont sans fil vers un point"
+
+#: lib/sysinfo.c:59 src/bridge.c:54
+msgid "Repeater"
+msgstr "Répéteur"
+
+#: lib/sysinfo.c:60 lib/sysinfo.c:315 lib/sysinfo.c:424 src/bridge.c:55
+msgid "unknown"
+msgstr "inconnu"
+
+#: lib/sysinfo.c:144
+msgid "Device hardware/software/name info:"
+msgstr "Info du périphérique matériel/logiciel/nom:"
+
+#: lib/sysinfo.c:172
#, fuzzy, c-format
+msgid "Operational mode: %s"
+msgstr "[O] Mode opérationnel: "
+
+#: lib/sysinfo.c:182
+#, fuzzy
+msgid "Product name: "
+msgstr "Nom du produit:"
+
+#: lib/sysinfo.c:186
+#, c-format
+msgid "Product type: %u"
+msgstr "Type de produit: %u"
+
+#: lib/sysinfo.c:189
+#, fuzzy
+msgid "OEM name: "
+msgstr "Nom OEM:"
+
+#: lib/sysinfo.c:196
+#, c-format
msgid "Hardware revision: %u"
-msgstr "Révision matérielle: %lu"
+msgstr "Révision matérielle: %u"
-#: lib/sysinfo.c:176
-#, fuzzy, c-format
+#: lib/sysinfo.c:204
+#, c-format
msgid "Info structure version: %u"
-msgstr "Version du Struct: %lu"
+msgstr "Version des infos de structure: %u"
-#: lib/sysinfo.c:179 lib/sysinfo.c:355
+#: lib/sysinfo.c:207 lib/sysinfo.c:383
#, c-format
msgid "Manufacturer OUI: %02X %02X %02X (%s)"
msgstr "OUI du manufacturier: %02X %02X %02X (%s)"
-#: lib/sysinfo.c:196
-#, fuzzy, c-format
+#: lib/sysinfo.c:224
+#, c-format
msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
-msgstr "Temps de marche (uptime): %u:%02u:%02u.%02u"
+msgstr "Temps de marche (uptime): %u jours, %02u:%02u:%02u heures:mins:secs"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "FHSS 2.4 GHz"
msgstr "FHSS 2.4 GHz"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "DSSS 2.4 GHz"
msgstr "DSSS 2.4 GHz"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "IR Baseband"
msgstr "Fréquence de base IR"
-#: lib/sysinfo.c:285
+#: lib/sysinfo.c:313
msgid "Commercial range 0..40 C"
msgstr "Étendue commerciale 0..40 C"
-#: lib/sysinfo.c:286
+#: lib/sysinfo.c:314
msgid "Industrial range -30..70 C"
msgstr "Étendue industrielle -30..70 C"
-#: lib/sysinfo.c:287 lib/sysinfo.c:396
-msgid "unknown"
-msgstr "inconnu"
-
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "manual"
msgstr "manuel"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "notsupported"
msgstr "non supporté"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "dynamic"
msgstr "dynamique"
-#: lib/sysinfo.c:345
+#: lib/sysinfo.c:373
msgid "Manufacturer:"
msgstr "Manufacturier"
-#: lib/sysinfo.c:350
+#: lib/sysinfo.c:378
msgid "Manufacturer ID:"
msgstr "Identificateur du manufacturier"
-#: lib/sysinfo.c:361
+#: lib/sysinfo.c:389
msgid "Product Name:"
msgstr "Nom de produit:"
-#: lib/sysinfo.c:367
+#: lib/sysinfo.c:395
msgid "Product ID:"
msgstr "Identificateur du produit:"
-#: lib/sysinfo.c:373
+#: lib/sysinfo.c:401
msgid "Product Version:"
msgstr "Version du produit:"
-#: lib/sysinfo.c:379
+#: lib/sysinfo.c:407
#, c-format
msgid "PHYType: %s"
msgstr "Type PHY: %s"
-#: lib/sysinfo.c:382
+#: lib/sysinfo.c:410
#, c-format
msgid "Temperature: %s"
msgstr "Température: %s"
-#: lib/sysinfo.c:390
-#, fuzzy, c-format
+#: lib/sysinfo.c:418
+#, c-format
msgid "Regulatory Domain: %s"
msgstr "Domaine régulateur: %s"
-#: lib/sysinfo.c:391
+#: lib/sysinfo.c:419
msgid "FCC (USA)"
msgstr "FCC (EU)"
-#: lib/sysinfo.c:392
+#: lib/sysinfo.c:420
msgid "DOC (Canada)"
msgstr "DOC (Canada)"
-#: lib/sysinfo.c:393
+#: lib/sysinfo.c:421
msgid "ETSI (Europe)"
msgstr "ETSI (Europe)"
-#: lib/sysinfo.c:394
+#: lib/sysinfo.c:422
msgid "Spain"
msgstr "Espagne"
-#: lib/sysinfo.c:395
+#: lib/sysinfo.c:423
msgid "France"
msgstr "France"
-#: lib/sysinfo.c:396
+#: lib/sysinfo.c:424
msgid "MKK (Japan)"
msgstr "MKK (Japon)"
-#: lib/sysinfo.c:399
+#: lib/sysinfo.c:427
#, c-format
msgid "Transmit Power: %u mW"
msgstr "Puissance de transmission: %u mW"
-#: lib/sysinfo.c:429
-#, fuzzy, c-format
+#: lib/sysinfo.c:457
+#, c-format
msgid "WEP implemented: %s"
msgstr "WEP non implanté: %s"
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
#, c-format
msgid "Diversity: %s"
msgstr "Diversité: %s"
-#: lib/sysinfo.c:460
+#: lib/sysinfo.c:488
#, c-format
msgid "Uptime: %u:%02u:%02u.%02u"
msgstr "Temps de marche (uptime): %u:%02u:%02u.%02u"
-#: lib/sysinfo.c:480
+#: lib/sysinfo.c:508
#, c-format
msgid "IP Address: %s"
msgstr "Adresse IP: %s"
#: lib/test.c:26
-#, fuzzy
msgid "[T] Test mode: "
-msgstr "[T] Mode test: %s"
+msgstr "[T] Mode test: "
#: lib/test.c:27
-#, fuzzy
msgid "[A] Antenna: "
-msgstr "[A] Antenne: %s"
+msgstr "[A] Antenne: "
#: lib/test.c:28
-#, fuzzy
msgid "[S] Signal level: "
-msgstr "[S] niveau du signal: %03u"
+msgstr "[S] niveau du signal: "
#: lib/test.c:29
-#, fuzzy
msgid "[R] Rate: "
-msgstr "[R] Taux: %.1f Mbit/s"
+msgstr "[R] Débit: "
#: lib/test.c:30
-#, fuzzy
msgid "[F] TxFiler: "
-msgstr "[F] TxFiler: %s"
+msgstr "[F] TxFiler: "
#: lib/test.c:31
-#, fuzzy
msgid "[O] Command: "
-msgstr "[O] Commande: %s"
+msgstr "[O] Commande: "
#: lib/test.c:32
-#, fuzzy
msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
msgstr ""
-"T - TestMode On/Off; CASRFO - initialiser les options; Q - quitter vers le "
+"T - Mode test On/Off; CASRFO - initialiser les options; Q - quitter vers le "
"menu"
#: lib/test.c:70
msgid "Right"
msgstr "Droite"
-#: lib/test.c:86
-#, fuzzy
+#: lib/test.c:79
+msgid "Devices with ATMEL12350 MIB not yet supported."
+msgstr ""
+
+#: lib/test.c:91
msgid "Test mode"
msgstr "Mode test"
-#: lib/test.c:89
-#, fuzzy
+#: lib/test.c:94
msgid "Using the \"Test mode\" may cause loss of your current"
msgstr ""
-"L'utilisation du nmode test peut causer la perte de la configuration "
-"courante."
+"L'utilisation du \"mode test\" peut causer la perte de la configuration"
-#: lib/test.c:90
-#, fuzzy
+#: lib/test.c:95
msgid "configuration."
-msgstr "Configuration de chargement à distance"
+msgstr "courante."
-#: lib/test.c:102
+#: lib/test.c:107
msgid "Options:"
msgstr "Options"
-#: lib/test.c:128
+#: lib/test.c:133
msgid "Statistics:"
msgstr "Statistiques:"
-#: lib/test.c:129
+#: lib/test.c:134
msgid "Success Frames: 0 Failed Frames: 0"
msgstr "Trames transmises: 0 Trames non transmises: 0"
-#: lib/test.c:190
+#: lib/test.c:195
#, c-format
msgid "Success Frames: %lu Failed Frames: %lu"
msgstr "Trames transmises: %lu Trames non transmises: %lu"
msgstr "Configuration privée"
#: lib/wep.c:29
-#, fuzzy
msgid "[E] Standard encryption mechanism: "
-msgstr "[E] mécanisme standard d'encryption: %s"
+msgstr "[E] mécanisme standard d'encryptage: "
#: lib/wep.c:30
-#, fuzzy
msgid "[A] Allow unencrypted: "
-msgstr "[A] Fonctionner sans encryptage: %s"
+msgstr "[A] permettre de fonctionner sans encryptage: "
#: lib/wep.c:31
-#, fuzzy
msgid "[K] Default WEP key: "
-msgstr "[K] Clé par défaut du WEP: %d"
+msgstr "[K] clé par défaut WEP: "
#: lib/wep.c:32
-#, fuzzy
msgid "[P] Public key: "
-msgstr "[P] Clé publique: %s"
+msgstr "[P] Clé publique: "
#: lib/wep.c:85
msgid "EK1234 - set; W - write conf; Q - quit to menu"
#: lib/wep.c:94 lib/wep.c:263
msgid "Key WEP"
-msgstr "Clé du WEP"
+msgstr "Clé WEP"
#: lib/wep.c:101
msgid "Hint! Confused by WEP key values? See man ap-config for info..."
#: lib/wlan.c:27
msgid "[E] ESSID: "
-msgstr ""
+msgstr "[E] ESSID: "
#: lib/wlan.c:28
-#, fuzzy
msgid "[N] AP name: "
-msgstr "[N] Nom du point d'accès:"
+msgstr "[N] nom du Point d'accès: "
#: lib/wlan.c:30
-#, fuzzy
msgid "[K] AP contact: "
-msgstr "[E] Contact du point d'accès: %s"
+msgstr "[E] contact du Point d'accès: "
#: lib/wlan.c:31
-#, fuzzy
msgid "[L] AP location: "
-msgstr "[L] Localisation du point d'accès: %s"
+msgstr "[L] localisation du Point d'accès: "
#: lib/wlan.c:33
-#, fuzzy
msgid "[R] RTS threshold: "
-msgstr "[R] Seuil RTS: %d"
+msgstr "[R] Seuil RTS: "
#: lib/wlan.c:34
-#, fuzzy
msgid "[F] Fragmentation threshold: "
-msgstr "[F] Seuil de fragmentation: %d"
+msgstr "[F] Seuil de fragmentation: "
#: lib/wlan.c:35
-#, fuzzy
msgid "[P] Preambule type: "
-msgstr "[P] type de préambule: %s"
+msgstr "[P] type de préambule: "
#: lib/wlan.c:36
-#, fuzzy
msgid "[A] Auth type: "
-msgstr "[A] Type autor.: %s"
+msgstr "[A] Type auth.: "
#: lib/wlan.c:37
-#, fuzzy
msgid "Open system"
msgstr "Système ouvert"
#: lib/wlan.c:38
-#, fuzzy
msgid "Shared key"
msgstr "Clé partagée"
#: lib/wlan.c:39
-#, fuzzy
msgid "Both types"
msgstr "Les deux types"
#: lib/wlan.c:40
-#, fuzzy
msgid "[U] Auto rate fallback: "
-msgstr "[U] AutoRateFallBack: %s"
+msgstr "[U] Fallback en mode auto débit: "
#: lib/wlan.c:41
-#, fuzzy
msgid "[S] Insert ESSID in broadcast packets: "
-msgstr "[S] insérer ESSID dans les paquets de type broadcast: %s"
+msgstr "[S] insérer ESSID dans les paquets à diffuser: "
#: lib/wlan.c:42
-#, fuzzy
msgid "Basic and Supported rates:"
-msgstr "Taux de base et supportés:"
+msgstr "Débits de base et supportés:"
#: lib/wlan.c:43
msgid "Key Rate Status"
-msgstr "Clé Taux État"
+msgstr "Clé Débit État"
#: lib/wlan.c:45
-#, fuzzy
msgid "[I] International roaming: "
-msgstr "[O] Mode opérationnel: %s"
+msgstr "[I] mode vagabongage international: "
#: lib/wlan.c:46
msgid "[B] Beacon period (msec): "
-msgstr ""
+msgstr "[B] période de la balise (msec): "
#: lib/wlan.c:47
msgid "[D] DTIM sending interval (beacons): "
-msgstr ""
+msgstr "[D] intervalle de transmission DTIM (balises): "
#: lib/wlan.c:48
-msgid "[T] SIFS time (msec): "
-msgstr ""
+#, fuzzy
+msgid "[T] SIFS time (2nd+ interframe spacing, usec): "
+msgstr "[T] temps SIFS (msec): "
#: lib/wlan.c:49
msgid "[key] - set option; W - write conf; Q - quit to menu"
msgid "Long"
msgstr "Long"
-#: lib/wlan.c:237
+#: lib/wlan.c:239
msgid "Wireless Settings"
msgstr "Paramétrage du sans fil"
-#: lib/wlan.c:731
+#: lib/wlan.c:735
msgid "Antenna Configuration:"
msgstr "Configuration de l'antenne:"
-#: lib/wlan.c:748
+#: lib/wlan.c:752
msgid "General Options"
msgstr "Options générales"
-#: lib/wlan.c:750
+#: lib/wlan.c:754
msgid ""
"UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
msgstr ""
"UIOPTY - antenne; SCANLEDFR1234 - options; W - sauvegarder la config.; Q - "
"quitter vers le menu"
-#: src/ap-config.c:54
+#: src/ap-auth.c:32 src/auth.c:28
+msgid "AuthorizedMacTableString packet error"
+msgstr "Erreur de paquet AuthorizedMacTableString"
+
+#: src/ap-auth.c:33
+msgid "Invalid data in source file"
+msgstr ""
+
+#: src/ap-auth.c:34
+msgid "Can't open file"
+msgstr ""
+
+#: src/ap-auth.c:35
+msgid "Can't write to file"
+msgstr ""
+
+#: src/ap-auth.c:36
+msgid "Error closing file"
+msgstr ""
+
+#: src/ap-auth.c:44 src/ap-mrtg.c:41 src/ap-rrd.c:40
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"Usage:\n"
+
+#: src/ap-auth.c:45
+msgid "\tap-auth -i ip -c community -d filename [-h]\n"
+msgstr ""
+
+#: src/ap-auth.c:46
+msgid ""
+"\tap-auth -i ip -c community -u filename [-h]\n"
+"\n"
+msgstr ""
+
+#: src/ap-auth.c:47
+msgid ""
+"Change accesspoint's list of authorised MAC addresses\n"
+"\n"
+msgstr ""
+
+#: src/ap-auth.c:48 src/ap-mrtg.c:45 src/ap-rrd.c:45
+msgid "-i ip - AP ip address\n"
+msgstr "-i ip - adresse ip AP\n"
+
+#: src/ap-auth.c:49 src/ap-mrtg.c:46 src/ap-rrd.c:46
+msgid "-c community - SNMP community string\n"
+msgstr "-c communauté chaîne de la communauté SNMP\n"
+
+#: src/ap-auth.c:50
+msgid ""
+"-d filename - download list of authorised MAC addresses from AP to a file\n"
+msgstr ""
+
+#: src/ap-auth.c:52
+msgid ""
+"-u filename - upload list of authorised MAC addresses from a file to AP\n"
+msgstr ""
+
+#: src/ap-auth.c:54 src/ap-mrtg.c:55 src/ap-rrd.c:55
+msgid ""
+"-h - print this help screen\n"
+"\n"
+msgstr ""
+"-h afficher l'aide\n"
+"\n"
+
+#: src/ap-auth.c:55
+#, fuzzy, c-format
+msgid ""
+"ap-auth %s Copyright (c) 2004 Teemu Kiviniemi\n"
+"\n"
+msgstr ""
+"ap-mrtg %s Copyright © 2002-2003 Roman Festchook\n"
+"\n"
+
+#: src/ap-auth.c:138 src/ap-mrtg.c:132
+#, fuzzy
+msgid "Error: invalid IP-address.\n"
+msgstr "Adresse IP invalide\n"
+
+#: src/ap-auth.c:203 src/ap-mrtg.c:204
+#, fuzzy
+msgid "Unable to determine AP MIB type (no response from AP)."
+msgstr ""
+"Incapable de déterminer les propriétés MIB du Point d'accès (pas de "
+"réponse). Appuyez sur une touche pour continuer."
+
+#: src/ap-auth.c:211
+msgid "NWN devices are not yet supported."
+msgstr ""
+
+#: src/ap-config.c:43 src/bridge.c:201
+msgid "Bridging"
+msgstr "Établissement d'un pont"
+
+#: src/ap-config.c:43
+msgid "Set bridging and IP-related options"
+msgstr "Configuré les options relative au pont et à IP"
+
+#: src/ap-config.c:45 src/ap-config.c:114 src/ap-config.c:123 src/bridge.c:125
+msgid "Wireless"
+msgstr "Sans fil"
+
+#: src/ap-config.c:45
+msgid "Set wireless options"
+msgstr "Configurer les options sans fil"
+
+#: src/ap-config.c:46 src/ap-config.c:58
+msgid "Privacy"
+msgstr "Privée"
+
+#: src/ap-config.c:47
+#, fuzzy
+msgid "Auth"
+msgstr "À propos"
+
+#: src/ap-config.c:48 src/ap-config.c:60
+msgid "Community"
+msgstr "Communauté"
+
+#: src/ap-config.c:49
+msgid "Radio"
+msgstr "Radio"
+
+#: src/ap-config.c:49
+msgid "Set radio signal power and antenna options"
+msgstr ""
+"Sélectionner les options pour l'antenne et la puissance du signal radio"
+
+#: src/ap-config.c:56
msgid "General"
msgstr "Général"
-#: src/ap-config.c:54
+#: src/ap-config.c:56
msgid "Set general options"
msgstr "Initialiser les options générales"
-#: src/ap-config.c:55
+#: src/ap-config.c:57
msgid "Advanced"
msgstr "Avancé"
-#: src/ap-config.c:55
+#: src/ap-config.c:57
msgid "Set advanced options"
msgstr "Initialiser les options avancées"
-#: src/ap-config.c:89
-msgid "Reset AP."
-msgstr "Réinitialisation du point d'accès."
+#: src/ap-config.c:59
+msgid "MAC auth"
+msgstr "Authenfication MAC"
+
+#: src/ap-config.c:82
+msgid "Upload"
+msgstr "Téléchargement"
+
+#: src/ap-config.c:82
+msgid "Activate current configuration"
+msgstr "Activer la configuration courante"
+
+#: src/ap-config.c:83
+msgid "Defaults"
+msgstr "Défauts"
+
+#: src/ap-config.c:83
+msgid "Restore factory default settings"
+msgstr "Restaurer les paramètres par défaut du manufacturier"
+
+#: src/ap-config.c:84 src/ap-config.c:91
+msgid "Reset"
+msgstr "Réinitialisation"
+
+#: src/ap-config.c:85
+msgid "Reset AP. All not uploaded configuration will be lost"
+msgstr ""
+"Réinitialiser le point d'accès. Toutes les config. non préservées seront "
+"perdues."
+
+#: src/ap-config.c:86
+msgid "TestMode"
+msgstr "Mode test"
+
+#: src/ap-config.c:86
+msgid "Put Access Point in test mode"
+msgstr "Placer le point d'accès en mode test."
+
+#: src/ap-config.c:91
+msgid "Reset AP."
+msgstr "Réinitialisation du point d'accès."
+
+#: src/ap-config.c:112 src/ap-config.c:122
+msgid "SysInfo"
+msgstr "SysInfo"
+
+#: src/ap-config.c:113 src/bridge.c:124 src/bridge.c:127
+msgid "Ethernet"
+msgstr "Ethernet"
+
+#: src/ap-config.c:113
+msgid "Get ethernet port statistics"
+msgstr "Obtenir les statistiques des ports Ethernet"
+
+#: src/ap-config.c:115 src/ap-config.c:124
+msgid "Stations"
+msgstr "Stations"
+
+#: src/ap-config.c:116
+#, fuzzy
+msgid "AP link"
+msgstr "État du lien du Point d'accès"
+
+#: src/ap-config.c:117
+msgid "KnownAPs"
+msgstr "Point d'accès connus"
+
+#: src/ap-config.c:117
+msgid "Get info about known Access Points"
+msgstr "Obtenir les info des points d'accès connus"
+
+#: src/ap-config.c:125
+msgid "Latest"
+msgstr "Dernier"
+
+#: src/ap-config.c:125
+msgid "Get info about latest events"
+msgstr "Obtenir les infos à propos des derniers événements"
+
+#: src/ap-config.c:150
+msgid "Info"
+msgstr "Info"
+
+#: src/ap-config.c:151
+msgid "Config"
+msgstr "Config"
+
+#: src/ap-config.c:152
+msgid "Commands"
+msgstr "Commandes"
+
+#: src/ap-config.c:152
+msgid "Execute commands on Access Point"
+msgstr "Exécuter les commandes sur le point d'accès"
+
+#: src/ap-config.c:154
+msgid "Connect"
+msgstr "Connecter"
+
+#: src/ap-config.c:155
+msgid "Search"
+msgstr "Chercher"
+
+#: src/ap-config.c:156
+#, fuzzy
+msgid "Polling"
+msgstr "Polling: on"
+
+#: src/ap-config.c:157
+msgid "Shell"
+msgstr "Shell"
+
+#: src/ap-config.c:159
+msgid "Exit"
+msgstr "Quitter"
+
+#: src/ap-config.c:218
+#, c-format
+msgid "Wireless Access Point Configurator ver. %s"
+msgstr "Configurateur de point d'accès sans fil version %s"
+
+#: src/aplink.c:25
+msgid "RSSI: ["
+msgstr ""
+
+#: src/aplink.c:26
+msgid "RSSI avg: ["
+msgstr ""
+
+#: src/aplink.c:27
+msgid "RSSI top: ["
+msgstr ""
+
+#: src/aplink.c:28
+msgid "RSSI rou: ["
+msgstr ""
+
+#: src/aplink.c:29
+#, fuzzy
+msgid ""
+"P - pause, T - toggle graph view, Q - quit to menu, Other key - force update."
+msgstr ""
+"Q - quitter vers le menu. T - basculer en mode polling, Autre clé - forcer "
+"la mise à jour."
+
+#: src/aplink.c:81
+msgid "RSSI [%]"
+msgstr ""
+
+#: src/aplink.c:82
+msgid "RSSI average [%]"
+msgstr ""
+
+#: src/aplink.c:83
+msgid "RSSI rounded [%]"
+msgstr ""
+
+#: src/aplink.c:84
+#, fuzzy
+msgid "Link Quality [%]"
+msgstr "; LQ: qualité du lien [%]"
+
+#: src/aplink.c:133
+msgid "Not available - device must have firmware with necessary "
+msgstr ""
+
+#: src/aplink.c:135
+msgid "vendor extensions and be in either 'Access Point client'"
+msgstr ""
+
+#: src/aplink.c:137
+msgid "or 'Repeater' mode."
+msgstr ""
+
+#: src/ap-mrtg.c:42
+#, fuzzy
+msgid ""
+"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-v] [-h] [-r]\n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c communauté -t type [-b bssid] [-n nom] [-a type_Pa] [-v] "
+"[-h] [-r]\n"
+"\n"
+
+#: src/ap-mrtg.c:44
+msgid ""
+"Get stats from AP and return it in MRTG parsable format\n"
+"\n"
+msgstr ""
+"Obtenir les statistiques de l'AP et les retourner dans un format MRTG\n"
+"\n"
+
+#: src/ap-mrtg.c:47
+#, fuzzy
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality (last one will only "
+msgstr ""
+"-t type type de statistiques <w> sans fil, <e>thernet, <s>tations "
+"associées ou qualité du <l>ien en mode client\n"
+
+#: src/ap-mrtg.c:49
+msgid "work with ATMEL410 MIB devices in AP Client mode)\n"
+msgstr ""
+
+#: src/ap-mrtg.c:50
+#, fuzzy
+msgid ""
+"-b bssid - mac address of the AP from which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid adresse MAC de l'AP pour obtenir la qualité du lien, seulement "
+"si le type=l\n"
+
+#: src/ap-mrtg.c:52
+#, fuzzy
+msgid "-n name - AP name - for check only\n"
+msgstr "-n nom - nom du Point d'accès - pour vérification seulement\n"
+
+#: src/ap-mrtg.c:53
+msgid "-v - report MRTG about problems connecting to AP\n"
+msgstr "-v rapporter MRTG à propos de problème de connexion à l'AP\n"
+
+#: src/ap-mrtg.c:54 src/ap-rrd.c:54
+msgid "-r - reset AP when getting LinkQuality stats\n"
+msgstr ""
+"-r réinitialise l'AP lors de l'obtention des statistiques de "
+"LinkQuality\n"
+
+#: src/ap-mrtg.c:56
+#, c-format
+msgid ""
+"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
+"\n"
+msgstr ""
+"ap-mrtg %s Copyright © 2002-2003 Roman Festchook\n"
+"\n"
+
+#: src/ap-rrd.c:32
+#, c-format
+msgid "Error getting data from AP %s\n"
+msgstr ""
+
+#: src/ap-rrd.c:42
+#, fuzzy
+msgid ""
+"\tap-rrd -i ip -c community -t type -d db_file [-b bssid] [-n name] [-a "
+"aptype] [-h] [-r] \n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c communauté -t type [-b bssid] [-n nom] [-a type_Pa] [-v] "
+"[-h] [-r]\n"
+"\n"
+
+#: src/ap-rrd.c:44
+#, fuzzy
+msgid ""
+"Get stats from AP and put it in to specified RRDtool database\n"
+"\n"
+msgstr ""
+"Obtenir les statistiques de l'AP et les retourner dans un format MRTG\n"
+"\n"
+
+#: src/ap-rrd.c:48
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality in client mode\n"
+msgstr ""
+"-t type type de statistiques <w> sans fil, <e>thernet, <s>tations "
+"associées ou qualité du <l>ien en mode client\n"
+
+#: src/ap-rrd.c:49
+msgid "-d db_file - RRD database file with full path\n"
+msgstr ""
+
+#: src/ap-rrd.c:51
+msgid ""
+"-b bssid - mac address of the AP to which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid adresse MAC de l'AP pour obtenir la qualité du lien, seulement "
+"si le type=l\n"
+
+#: src/ap-rrd.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr "-n nom - nom du Point d'accès - pour vérification seulement\n"
+
+#: src/ap-rrd.c:53
+#, fuzzy
+msgid ""
+"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-"
+"102\n"
+msgstr ""
+"-a type_Pa - type de Point d'accès - 410 (par défaut) ou 510 pour "
+"ATMEL12350's, identique au ME-102\n"
+
+#: src/ap-rrd.c:56
+#, fuzzy, c-format
+msgid ""
+"ap-rrd %s Copyright (c) 2002-2004 Roman Festchook\n"
+"\n"
+msgstr ""
+"ap-mrtg %s Copyright © 2002-2003 Roman Festchook\n"
+"\n"
+
+#: src/ap-rrd.c:133
+msgid "Invalid IP-address\n"
+msgstr "Adresse IP invalide\n"
+
+#: src/ap-rrd.c:179
+#, c-format
+msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
+msgstr ""
+"Type de Point d'accès invalide '%s' - les types valides sont 510 ou 410\n"
+
+#: src/ap-tftp.c:84
+#, fuzzy
+msgid "yes"
+msgstr "Yes (Oui)"
+
+#: src/ap-tftp.c:85
+#, fuzzy
+msgid "no"
+msgstr "Info"
+
+#: src/ap-tftp.c:87
+msgid "Error while read()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:100
+msgid "Undefined error"
+msgstr ""
+
+#: src/ap-tftp.c:101
+msgid "File not found"
+msgstr ""
+
+#: src/ap-tftp.c:102
+#, fuzzy
+msgid "Access violation"
+msgstr "Point d'accès"
+
+#: src/ap-tftp.c:103
+msgid "Disk full or allocation error"
+msgstr ""
+
+#: src/ap-tftp.c:104
+msgid "Illegal TFTP operation"
+msgstr ""
+
+#: src/ap-tftp.c:105
+msgid "Unknown transfer ID"
+msgstr ""
+
+#: src/ap-tftp.c:106
+msgid "File already exists"
+msgstr ""
+
+#: src/ap-tftp.c:107
+msgid "No such user"
+msgstr ""
+
+#: src/ap-tftp.c:157
+msgid "Remote-filename too long.\n"
+msgstr ""
+
+#: src/ap-tftp.c:183
+#, c-format
+msgid "%sError in read()"
+msgstr ""
+
+#: src/ap-tftp.c:212
+#, c-format
+msgid "sending %u bytes\n"
+msgstr ""
+
+#: src/ap-tftp.c:221
+#, c-format
+msgid "%sError in sendto()"
+msgstr ""
+
+#: src/ap-tftp.c:244
+#, c-format
+msgid "%sError in recvfrom()"
+msgstr ""
+
+#: src/ap-tftp.c:256
+#, c-format
+msgid "\rProgress: uploaded %3i%%."
+msgstr ""
+
+#: src/ap-tftp.c:267
+#, c-format
+msgid "%sMalformed packet received. Aborting.\n"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Latest"
-msgstr "Dernier"
+#: src/ap-tftp.c:276
+#, c-format
+msgid "%sTimed out waiting for response from server (%i/%i).\n"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Get info about latest events"
-msgstr "Obtenir les infos à propos des derniers événements"
+#: src/ap-tftp.c:283
+#, c-format
+msgid "%sError in select()"
+msgstr ""
-#: src/ap-mrtg.c:42
-msgid ""
-"\n"
-"Usage:\n"
+#: src/ap-tftp.c:297
+#, c-format
+msgid "Received %d bytes: %04x %04x\n"
msgstr ""
-"\n"
-"Usage:\n"
-#: src/ap-mrtg.c:44
-#, fuzzy
-msgid ""
-"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-a aptype] [-v] [-"
-"h] [-r]\n"
-"\n"
+#: src/ap-tftp.c:308
+#, c-format
+msgid "%sError: server responded with %s. Aborting.\n"
msgstr ""
-"\tap-mrtg -i ip -c communauté -t type [-b bssid] [-v] [-h] [-r]\n"
-"\n"
-#: src/ap-mrtg.c:46
-msgid ""
-"Get stats from AP and return it in MRTG parsable format\n"
-"\n"
+#: src/ap-tftp.c:315
+#, c-format
+msgid "%sFlash programming in progress...\n"
msgstr ""
-"Obtenir les statistiques de l'AP et les retourner dans un format MRTG\n"
-"\n"
-#: src/ap-mrtg.c:47
-msgid "-i ip - AP ip address\n"
-msgstr "-i ip - adresse ip AP\n"
+#: src/ap-tftp.c:317
+msgid "Finished successfully.\n"
+msgstr ""
-#: src/ap-mrtg.c:48
-msgid "-c community - SNMP community string\n"
-msgstr "-c communauté chaîne de la communauté SNMP\n"
+#: src/ap-tftp.c:335
+msgid "PLEASE BE _ABSOLUTELY_ SURE TO READ MANPAGE PRIOR USE!!!\n"
+msgstr ""
-#: src/ap-mrtg.c:50
+#: src/ap-tftp.c:337
+#, c-format
msgid ""
-"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
-"or <l>ink quality in client mode\n"
+"\n"
+"Usage: %s -i IP -f firmware_file.rom [-c community] [-h]\n"
msgstr ""
-"-t type type de statistiques <w> sans fil, <e>thernet, <s>tations "
-"associées ou qualité du <l>ien en mode client\n"
-#: src/ap-mrtg.c:52
-msgid ""
-"-b bssid - mac address of the AP to which get link quality, only if "
-"type=l\n"
+#: src/ap-tftp.c:361
+msgid "TFTP client for upgrading firmware in ATMEL AT76C510 WiSOC-based APs.\n"
msgstr ""
-"-b bssid adresse MAC de l'AP pour obtenir la qualité du lien, seulement "
-"si le type=l\n"
-#: src/ap-mrtg.c:53
-msgid "-n name - AP name - for check only\n"
+#: src/ap-tftp.c:363
+msgid "(C) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>\n"
msgstr ""
-#: src/ap-mrtg.c:54
-msgid ""
-"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the "
-"ME-102\n"
+#: src/ap-tftp.c:379
+msgid "Error: invalid IP address format given.\n"
msgstr ""
-#: src/ap-mrtg.c:56
-msgid "-v - report MRTG about problems connecting to AP\n"
-msgstr "-v rapporter MRTG à propos de problème de connexion à l'AP\n"
+#: src/ap-tftp.c:405
+#, fuzzy
+msgid "Error: invalid argument combination.\n"
+msgstr "Adresse IP invalide\n"
-#: src/ap-mrtg.c:57
-msgid "-r - reset AP when getting LinkQuality stats\n"
+#: src/ap-tftp.c:412
+msgid "Error while open()ing firmware file"
msgstr ""
-"-r réinitialise l'AP lors de l'obtention des statistiques de "
-"LinkQuality\n"
-#: src/ap-mrtg.c:58
-msgid ""
-"-h - print this help screen\n"
-"\n"
+#: src/ap-tftp.c:419 src/ap-tftp.c:472
+msgid "Error: invalid firmware file given.\n"
msgstr ""
-"-h afficher l'aide\n"
-"\n"
-#: src/ap-mrtg.c:59
-#, fuzzy, c-format
+#: src/ap-tftp.c:461
+#, c-format
msgid ""
-"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
-"\n"
+"Firmware file contains:\n"
+"- string \"ATMEL\": %s\n"
+"- string \"802.11 AP\": %s\n"
+"- string \"atbrfirm.bin\": %s\n"
+"- string \"atsingle.bin\": %s\n"
msgstr ""
-"ap-mrtg %s Copyright © 2002 Roman Festchook\n"
-"\n"
-#: src/ap-mrtg.c:143
-msgid "Invalid IP-address\n"
-msgstr "Adresse IP invalide\n"
-
-#: src/ap-mrtg.c:188
+#: src/ap-tftp.c:485
#, c-format
-msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
+msgid ""
+"Using:\n"
+"- server: %s\n"
+"- firmware file: \"%s\"\n"
+"- name used for upload: \"%s\"\n"
+msgstr ""
+
+#: src/ap-tftp.c:568
+msgid ""
+"Error: device with the given IP does not seem to run SmartBridges firmware.\n"
msgstr ""
-#: src/ap-mrtg.c:207
-msgid "Create socket error"
-msgstr "Erreur de création de socket"
+#: src/ap-tftp.c:574
+msgid "Error: SNMP authorization error or device unavailable.\n"
+msgstr ""
-#: src/ap-mrtg.c:211
-msgid "Bind socket error"
-msgstr "Erreur de liaison (bind) du socket"
+#: src/ap-tftp.c:653
+msgid "Error while lseek()ing in firmware file\n"
+msgstr ""
-#: src/ap-trapd.c:148
+#: src/ap-trapd.c:150
#, c-format
msgid "ap-trapd %s started%s%s."
msgstr "ap-trapd %s démarré%s%s"
-#: src/ap-trapd.c:149
+#: src/ap-trapd.c:151
msgid " on "
msgstr " on "
-#: src/ap-trapd.c:155
+#: src/ap-trapd.c:157
msgid "Unable to fork. Exiting."
msgstr "Incapable de fork(). Fin d'exécution."
-#: src/ap-trapd.c:159
+#: src/ap-trapd.c:161
msgid "Can't create socket. Exiting."
msgstr "Ne créer le socket. Fin d'exécution."
-#: src/ap-trapd.c:165
+#: src/ap-trapd.c:167
msgid "Can't bind socket. Exiting."
msgstr "Ne peut établir la liaison sur le socket. Fin d'exécution."
-#: src/ap-trapd.c:172
+#: src/ap-trapd.c:174
#, c-format
msgid "Can't bind to device %s. Exiting."
msgstr "Ne peut établir la liaison (bind) %s. Fin d'exécution."
-#: src/ap-trapd.c:183
+#: src/ap-trapd.c:185
#, c-format
msgid "Unable to process username %s. Error: %m."
msgstr "Incapable de traiter avec le nom d'usager %s. Erreur: %m."
-#: src/ap-trapd.c:188
+#: src/ap-trapd.c:190
#, c-format
msgid "Unable to change to uid %d."
msgstr "Incapable de changer de UID %d"
-#: src/ap-trapd.c:235
+#: src/ap-trapd.c:239
#, c-format
msgid ""
"Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."
"Réception d'une trappe SNMP inconnu ver. %d. À partir de %s:%d. Agent: %s. "
"Communauté: %s."
-#: src/ap-trapd.c:307
-#, c-format
-msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
+#: src/ap-trapd.c:311
+#, fuzzy, c-format
+msgid "Agent:v%d %s (%s@%s:%d) Trap %i: %s%s%s. SysUptime %d:%02d:%02d.%02d"
msgstr "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
-#: src/auth_mac.c:33
+#: src/auth.c:30
+msgid "APClient authorization credentials"
+msgstr ""
+
+#: src/auth.c:32
+msgid "[A] MAC authorization: "
+msgstr "[A] Autorisation Mac: "
+
+#: src/auth.c:33
+msgid "Enter MAC: "
+msgstr "Entrer MAC: "
+
+#: src/auth.c:34
+msgid "Delete Num: "
+msgstr "Détruire Num: "
+
+#: src/auth.c:35
#, fuzzy
-msgid "NUM MAC address"
+msgid " NUM MAC address "
msgstr "NUM MAC address"
+#: src/auth.c:36
+#, fuzzy
+msgid "A: auth; N: new; D: del; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - autor.; N - nouveau; D - détruire; flèches - défiler; W - sauvegarder la "
+"config.; Q - quitter"
+
+#: src/auth.c:38
+msgid "[I] Radius server IP: "
+msgstr ""
+
+#: src/auth.c:39
+#, fuzzy
+msgid "[P] Radius server port: "
+msgstr "[P] Port primaire: "
+
+#: src/auth.c:40
+msgid "[S] Radius server secret: "
+msgstr ""
+
+#: src/auth.c:41
+#, fuzzy
+msgid "[T] Reauthorization time (minutes): "
+msgstr "[A] Autorisation Mac: "
+
+#: src/auth.c:42
+msgid "[F] Radius source port: "
+msgstr ""
+
+#: src/auth.c:43
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; IPSTF: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - autor.; N - nouveau; D - détruire; flèches - défiler; W - sauvegarder la "
+"config.; Q - quitter"
+
+#: src/auth.c:45
+#, fuzzy
+msgid "[M] 802.1x authorization: "
+msgstr "[A] Autorisation Mac: "
+
+#: src/auth.c:46
+#, fuzzy
+msgid "[T] key broadcasting time period (seconds): "
+msgstr "[B] période de la balise (msec): "
+
+#: src/auth.c:47
+msgid "[I] 802.1x auth. server IP: "
+msgstr ""
+
+#: src/auth.c:48
+msgid "[S] 802.1x auth. server secret: "
+msgstr ""
+
+#: src/auth.c:49
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; MTIS: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - autor.; N - nouveau; D - détruire; flèches - défiler; W - sauvegarder la "
+"config.; Q - quitter"
+
+#: src/auth.c:114
+msgid "Internal"
+msgstr "Interne"
+
+#: src/auth.c:116
+#, fuzzy
+msgid "Radius"
+msgstr "Radio"
+
+#: src/auth.c:121
+msgid "Allow listed MACs only"
+msgstr ""
+
+#: src/auth.c:123
+msgid "Deny listed MACs only"
+msgstr ""
+
+#: src/auth.c:129
+msgid "Mixed environment"
+msgstr ""
+
+#: src/auth.c:213
+msgid "(not shown)"
+msgstr ""
+
+#: src/auth.c:276
+#, fuzzy
+msgid "Authorized MAC addresses:"
+msgstr "MAC adresses autorisées"
+
+#: src/auth.c:345
+msgid "(insufficient community used)"
+msgstr ""
+
+#: src/auth.c:472
+#, c-format
+msgid "Given MAC already exists in MAC list at position %d. Press any key."
+msgstr ""
+
+#: src/bridge.c:27
+msgid "[I] IP: "
+msgstr "[I] IP: "
+
+#: src/bridge.c:28
+msgid "[N] Netmask: "
+msgstr "[N] Netmask: "
+
+#: src/bridge.c:29
+msgid "[G] Gateway: "
+msgstr "[G] Passerelle (gateway): "
+
+#: src/bridge.c:30
+msgid "[F] Filter non-IP traffic: "
+msgstr "[F] Filtrer le traffic non IP: "
+
+#: src/bridge.c:31
+msgid "[P] Primary port: "
+msgstr "[P] Port primaire: "
+
+#: src/bridge.c:32
+msgid "Attached station MAC: "
+msgstr "Station rattachée MAC: "
+
+#: src/bridge.c:33
+msgid "[D] DHCP client: "
+msgstr "[D] DHCP client: "
+
+#: src/bridge.c:34
+msgid "[O] Operational mode: "
+msgstr "[O] Mode opérationnel: "
+
#: src/bridge.c:35
+msgid "[M] Preferred BSSID (remote MAC addr.): "
+msgstr "[M] BSSIS préféré (adresse MAC distante): "
+
+#: src/bridge.c:36
msgid "[C] Configuration-enabled port(s): "
-msgstr ""
+msgstr "[C] ports autorisés de configuration): "
+
+#: src/bridge.c:37
+#, fuzzy
+msgid "[T] Trap-sending port: "
+msgstr "[T] ports trappe d'expédition: "
#: src/bridge.c:38
-msgid "[B] Isolate wireless clients (broadcast traffic): "
-msgstr ""
+msgid "[R] Forward broadcast traffic: "
+msgstr "[R] trafic de diffusion relayé: "
#: src/bridge.c:39
+msgid "[B] Isolate wireless clients (broadcast traffic): "
+msgstr "[B] isoler les clients sans fil (trafic de diffusion - broadcast): "
+
+#: src/bridge.c:40
msgid "[U] Isolate wireless clients (unicast traffic): "
-msgstr ""
+msgstr "[U] isoler les clients sans fil (trafic unicast): "
+
+#: src/bridge.c:41
+#, fuzzy
+msgid "INGFPDOMSCRBUT - set; W - write conf; Q - quit to menu"
+msgstr "INGFPDOMSCTRBU - initialiser; W - sauvegarder la config.; Q - quitter"
-#: src/bridge.c:119
+#: src/bridge.c:128
#, fuzzy
+msgid "Wireless (can be risky)"
+msgstr "Paramétrage du sans fil"
+
+#: src/bridge.c:129
msgid "Both"
-msgstr "Les deux types"
+msgstr "Ensemble"
#: src/nwn_advanced.c:60
#, c-format
msgstr "Désauthentifier:"
#: src/nwn_latest.c:103
-#, fuzzy
msgid "Authenticate Fail:"
msgstr "Échec d'authentification:"
msgid "Error:"
msgstr "Erreur:"
-#: src/stations.c:33
-msgid "AP link state"
+#: src/stations.c:82
+msgid "Not available (device not in AP mode)."
msgstr ""
-#: src/stations.c:37
-msgid " # MAC "
-msgstr ""
+#: src/stations.c:92
+#, fuzzy
+msgid " # MAC Parent MAC RSSI LQ Sts MACn IP "
+msgstr " # MAC Parent MAC RSSI État MACn IP "
-#: src/stations.c:40
-msgid " # MAC Parent MAC RSSI Status MACn IP "
-msgstr ""
+#: src/stations.c:136
+msgid "AssociatedSTAsInfo packet error"
+msgstr "Erreur de paquet AssociatedSTAsInfo"
-#: src/stations.c:195 src/stations.c:367
-#, fuzzy
+#: src/stations.c:189 src/stations.c:363
msgid ""
"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
"refresh"
msgstr ""
-"Flècher - défiler; S - sauvegarder dans un fichier; Q - quitter vers le menu."
+"Flèches - défiler; S - sauvegarder dans un fichier; Q - quitter vers le "
+"menu; T - Basculer de vue; Autre touche - rafraîchir"
-#: src/stations.c:200
-#, fuzzy
+#: src/stations.c:193
msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
msgstr ""
-"Flècher - défiler; S - sauvegarder dans un fichier; Q - quitter vers le menu."
+"Flèches - défiler; S - sauvegarder dans un fichier; Q - quitter vers le "
+"menu; Autre touche - rafraîchir"
-#: src/stations.c:279
-#, fuzzy
+#: src/stations.c:275
msgid "Id MAC address Quality Age RSSI"
-msgstr "Id Adresse MAC Qualité Âge RSSI"
+msgstr "Id Adresse MAC Qualité Âge RSSI"
-#~ msgid "Associated Stations"
-#~ msgstr "Stations associées"
-
-#, fuzzy
-#~ msgid ""
-#~ "(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#~ msgid "Please enter SNMP community name that will be used for AP detection."
#~ msgstr ""
-#~ "(Y - Oui; N - Non (il est plus sûr de répondre Non, à moins d'avoir "
-#~ "vraiment besoin de cela.)"
+#~ "SVP fournir le nom de la communauté SNMP qui sera utilisé pour la "
+#~ "détection de Points d'accès"
-#, fuzzy
-#~ msgid "Determining AP type. Please wait..."
-#~ msgstr "Récupérationd des données du point d'accès. SVP patientez..."
+#~ msgid "Create socket error. Press any key."
+#~ msgstr "Erreur de création du socket. Appuyer sur n'importe quelle touche."
-#, fuzzy
-#~ msgid "Regulation domain: %s [%d]"
-#~ msgstr "Domaine régulateur: %s"
+#~ msgid "Bind socket error. Press any key."
+#~ msgstr "Erreur de liaison de socket (bind). Appuyer sur une touche."
-#, fuzzy
-#~ msgid "(Y - Yes; N - No (it's safer to answer No.)"
-#~ msgstr "(Y - Oui; N - Non (il est plus sûr de répondre Non)"
+#~ msgid "Create socket error"
+#~ msgstr "Erreur de création de socket"
-#~ msgid "Unable to get data from AP. Press Q to continue."
+#~ msgid "Bind socket error"
+#~ msgstr "Erreur de liaison (bind) du socket"
+
+#~ msgid "NUM MAC address"
+#~ msgstr "NUM adresse MAC"
+
+#~ msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
#~ msgstr ""
-#~ "Incapable d'obtenir des données du point d'accès. Appuyer Q pour "
-#~ "continuer."
+#~ "A - auth; IPSTF - initialiser; W - sauvegarder la config.; Q - quitter"
-#~ msgid "Q - quit to menu."
-#~ msgstr "Q - quitter vers le menu."
+#~ msgid "A - auth; W - write conf; Q - quit"
+#~ msgstr "A - auth; W - sauvegarder la configuration; Q - quitter"
-#~ msgid "pipe error. Press any key."
-#~ msgstr "erreur de pipe. Appuyer sur une touche."
+#~ msgid "[I] RADIUS SERVER IP: "
+#~ msgstr "[I] IP DU SERVEUR RADIUS: "
-#~ msgid "fork error. Press any key."
-#~ msgstr "erreur de fork(). Appuyer sur une touche."
+#~ msgid "[P] RADIUS SERVER PORT: "
+#~ msgstr "[P] PORT DU SERVEUR RADIUS: "
-#~ msgid "pipe error. Press any key"
-#~ msgstr "erreur du pipe. Appuyer sur une touche."
+#~ msgid "[S] RADIUS SERVER SECRET: "
+#~ msgstr "[S] SECRET DU SERVEUR RADIUS: "
-#~ msgid "fcntl error. Press any key"
-#~ msgstr "erreur fcntl(). Appuyer sur une touche."
+#~ msgid "[T] REAUTHORIZATION TIME: "
+#~ msgstr "[T] TEMPS DE RÉ-AUTORISATION: "
-#~ msgid "fork error. Press any key"
-#~ msgstr "erreur de fork(). Appuyer sur une touche."
+#~ msgid "[F] RADIUS SOURCE PORT: "
+#~ msgstr "[F] PORT DU RADIUS SOURCE: "
-#, fuzzy
-#~ msgid "Id MAC address"
-#~ msgstr "Id Adresse MAC"
+#~ msgid "<hidden>"
+#~ msgstr "<caché>"
+
+#~ msgid "[U] Isolate wireless clients: "
+#~ msgstr "[U] clients sans fil isolé: "
+
+#~ msgid "AP is currently in AP Client Mode => no associated STAtions."
+#~ msgstr ""
+#~ "Point d'accès est actuellement en mode client => pas de stations "
+#~ "associées."
+
+#~ msgid "# MAC LQ RSSI Status Port IP"
+#~ msgstr "# MAC LQ RSSI État Port IP"
+
+#~ msgid "Arrows - scroll; S - save to file; Q - quit to menu."
+#~ msgstr ""
+#~ "Flècher - défiler; S - sauvegarder dans un fichier; Q - quitter vers le "
+#~ "menu."
+
+#~ msgid " # MAC "
+#~ msgstr " # MAC "
#~ msgid "on"
#~ msgstr "on"
#~ msgid "[R] Remote Mac addr: %02X%02X%02X%02X%02X%02X"
#~ msgstr "[R] Adresse Mac distante: %02X%02X%02X%02X%02X%02X"
+#~ msgid "(Y - Yes; N - No (it's safer to ansver No.)"
+#~ msgstr "(Y - Oui; N - Non (il est plus sûr de répondre Non)"
+
#~ msgid "[T] Test Mode: Off"
#~ msgstr "[T] mode test: Off"
+#~ msgid ""
+#~ "(Y - Yes; N - No (it's safer to ansver No, unless you really need this.)"
+#~ msgstr ""
+#~ "(Y - Oui; N - Non (il est plus sûr de répondre Non, à moins d'avoir "
+#~ "vraiment besoin de cela.)"
+
#~ msgid "Using this option may cause lost of current configuration."
#~ msgstr ""
#~ "L'utilisation de cette option peut provoquer la perte de configuration "
#~ msgid "CN: Channel; RSSI: Signal Strenght; LQ: Link Quality"
#~ msgstr "CN: canal; RSSI: force du signal; LQ; qualité du lien"
+#~ msgid "Unable to get data from AP. Press Q to continue."
+#~ msgstr ""
+#~ "Incapable d'obtenir des données du point d'accès. Appuyer Q pour "
+#~ "continuer."
+
+#~ msgid "Q - quit to menu."
+#~ msgstr "Q - quitter vers le menu."
+
+#~ msgid "pipe error. Press any key."
+#~ msgstr "erreur de pipe. Appuyer sur une touche."
+
+#~ msgid "pipe error. Press any key"
+#~ msgstr "erreur du pipe. Appuyer sur une touche."
+
+#~ msgid "fcntl error. Press any key"
+#~ msgstr "erreur fcntl(). Appuyer sur une touche."
+
+#~ msgid "fork error. Press any key"
+#~ msgstr "erreur de fork(). Appuyer sur une touche."
+
+#~ msgid "Associated Stations"
+#~ msgstr "Stations associées"
+
+#~ msgid "Id MAC address"
+#~ msgstr "Id Adresse MAC"
+
#~ msgid "SysInfo:"
#~ msgstr "SysInfo:"
msgid ""
msgstr ""
"Project-Id-Version: ap-utils 1.3.2-pre3\n"
-"POT-Creation-Date: 2004-11-28 00:59+0200\n"
+"POT-Creation-Date: 2005-03-07 01:13+0200\n"
"PO-Revision-Date: 2003-07-31 19:03+0100\n"
"Last-Translator: Elros Cyriatan <cyriatan@fastmail.fm>\n"
"Language-Team: Dutch <vertaling@nl.linux.org>\n"
"Content-Transfer-Encoding: 8bit\n"
"Report-Msgid-Bugs-To: \n"
-#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
-msgid "Bridging"
-msgstr ""
-
-#: ap-gl/ap-gl.c:41 src/ap-config.c:41
-#, fuzzy
-msgid "Set bridging and IP-related options"
-msgstr "Bridging en IP-gerelateerde opties instellen"
-
-#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
-#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
-msgid "Wireless"
-msgstr "Draadloos"
-
-#: ap-gl/ap-gl.c:43 src/ap-config.c:43
-msgid "Set wireless options"
-msgstr "Draadloze opties instellen"
-
-#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
-msgid "Privacy"
-msgstr "Privacy"
-
-#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
-#, fuzzy
-msgid "MAC auth"
-msgstr "Mac toelating"
-
-#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
-msgid "Community"
-msgstr "Gemeenschap"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Radio"
-msgstr "Radio"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Set radio signal power and antenna options"
-msgstr "Vermogen radio en antenne opties instellen"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Upload"
-msgstr "Uploaden"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-#, fuzzy
-msgid "Activate current configuration"
-msgstr "Huidige configuratie actief maken"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Defaults"
-msgstr "Standaardwaarden"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Restore factory default settings"
-msgstr "Fabrieksinstellingen terugzetten"
-
-#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
-msgid "Reset"
-msgstr "Opnieuw instellen"
-
-#: ap-gl/ap-gl.c:65 src/ap-config.c:83
-msgid "Reset AP. All not uploaded configuration will be lost"
-msgstr ""
-"AP opnieuw instellen. Alle niet verzonden instellingen zullen verloren gaan."
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "TestMode"
-msgstr "Testmodus"
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "Put Access Point in test mode"
-msgstr "Access Point in testmodus zetten"
-
-#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
-msgid "SysInfo"
-msgstr "SysInfo"
-
-#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
-#: src/bridge.c:120
-msgid "Ethernet"
-msgstr "Ethernet"
-
-#: ap-gl/ap-gl.c:80 src/ap-config.c:111
-msgid "Get ethernet port statistics"
-msgstr "Ethernet poortstatistieken opvragen"
-
-#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
-msgid "Stations"
-msgstr "Stations"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "KnownAPs"
-msgstr "BekendeAPs"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "Get info about known Access Points"
-msgstr "Info opvragen over bekende Access Points"
-
-#: ap-gl/ap-gl.c:100 src/ap-config.c:147
-msgid "Info"
-msgstr "Info"
-
-#: ap-gl/ap-gl.c:101 src/ap-config.c:148
-msgid "Config"
-msgstr "Config"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Commands"
-msgstr "Opdrachten"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Execute commands on Access Point"
-msgstr "Opdrachten uitvoeren op Access Point"
-
-#: ap-gl/ap-gl.c:104 src/ap-config.c:151
-msgid "Connect"
-msgstr "Verbinden"
-
-#: ap-gl/ap-gl.c:105 src/ap-config.c:152
-msgid "Search"
-msgstr "Zoeken"
-
-#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
-msgid "About"
-msgstr "Info"
-
-#: ap-gl/ap-gl.c:107 src/ap-config.c:154
-msgid "Shell"
-msgstr "Shell"
-
-#: ap-gl/ap-gl.c:108 src/ap-config.c:155
-msgid "Exit"
-msgstr "Afsluiten"
-
-#: ap-gl/ap-gl.c:158 src/ap-config.c:204
-#, c-format
-msgid "Wireless Access Point Configurator ver. %s"
-msgstr "Draadloos Access Point configurator versie %s"
-
-#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
-msgid "AuthorizedMacTableString packet error"
-msgstr "AuthorizedMacTableString pakketfout"
-
-#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
-#, fuzzy
-msgid "[A] MAC authorization: "
-msgstr "[A] Mac toelating: %s"
-
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
-#, fuzzy
-msgid "Enter MAC: "
-msgstr "Geef Mac:"
-
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
-#, fuzzy
-msgid "Delete Num: "
-msgstr "Nummer verwijderen:"
-
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
-#, fuzzy
-msgid "Authorized MAC addresses"
-msgstr "Toegelaten Mac adressen"
-
-#: ap-gl/auth_mac.c:33
-#, fuzzy
-msgid "NUM MAC address"
-msgstr "NUM MAC adres"
-
-#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
-msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
-msgstr ""
-"A - toelaten; N - nieuw; D - verwijderen; pijltjes - schuiven; W - conf "
-"schrijven; Q - afsluiten"
-
-#: ap-gl/auth_mac.c:35
-#, fuzzy
-msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
-msgstr "DA - opties; W - conf schrijven; Q - afsluiten naar menu"
-
-#: ap-gl/auth_mac.c:36
-#, fuzzy
-msgid "A - auth; W - write conf; Q - quit"
-msgstr "DA - opties; W - conf schrijven; Q - afsluiten naar menu"
-
-#: ap-gl/auth_mac.c:38
-msgid "[I] RADIUS SERVER IP: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:39
-msgid "[P] RADIUS SERVER PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:40
-msgid "[S] RADIUS SERVER SECRET: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:41
-msgid "[T] REAUTHORIZATION TIME: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:42
-msgid "[F] RADIUS SOURCE PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:87
-#, fuzzy
-msgid "Internal"
-msgstr "Algemeen"
-
-#: ap-gl/auth_mac.c:95
-msgid "<hidden>"
-msgstr ""
-
-#: ap-gl/bridge.c:26 src/bridge.c:26
-msgid "[I] IP: "
-msgstr ""
-
-#: ap-gl/bridge.c:27 src/bridge.c:27
-#, fuzzy
-msgid "[N] Netmask: "
-msgstr "[N] Netmask: %s"
-
-#: ap-gl/bridge.c:28 src/bridge.c:28
-#, fuzzy
-msgid "[G] Gateway: "
-msgstr "[G] Gateway %s"
-
-#: ap-gl/bridge.c:29 src/bridge.c:29
-#, fuzzy
-msgid "[F] Filter non-IP traffic: "
-msgstr "[F] Niet-IP verkeer filteren: %s"
-
-#: ap-gl/bridge.c:30 src/bridge.c:30
-#, fuzzy
-msgid "[P] Primary port: "
-msgstr "[P] Hoofdpoort: %s"
-
-#: ap-gl/bridge.c:31 src/bridge.c:31
-#, fuzzy
-msgid "Attached station MAC: "
-msgstr "Verbonden station MAC: %02X%02X%02X%02X%02X%02X"
-
-#: ap-gl/bridge.c:32 src/bridge.c:32
-#, fuzzy
-msgid "[D] DHCP client: "
-msgstr "[D] DHCP-protocol: %s"
-
-#: ap-gl/bridge.c:33 src/bridge.c:33
-#, fuzzy
-msgid "[O] Operational mode: "
-msgstr "[O] Operationele modus: %s"
-
-#: ap-gl/bridge.c:34 src/bridge.c:34
-#, fuzzy
-msgid "[M] Preferred BSSID (remote MAC addr.): "
-msgstr "[R] Mac adres op afstand: %02X%02X%02X%02X%02X%02X"
-
-#: ap-gl/bridge.c:36 src/bridge.c:36
-msgid "[T] Trap-sending port(s): "
-msgstr ""
-
-#: ap-gl/bridge.c:37 src/bridge.c:37
-msgid "[R] Forward broadcast traffic: "
-msgstr ""
-
-#: ap-gl/bridge.c:39
-msgid "[U] Isolate wireless clients: "
-msgstr ""
-
-#: ap-gl/bridge.c:40 src/bridge.c:40
-#, fuzzy
-msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
-msgstr "BPGINFDRT - instellen; W - conf schrijven; Q - afsluiten naar menu"
-
-#: ap-gl/bridge.c:124 src/bridge.c:109
-msgid "Wireless Bridge Point to MultiPoint"
-msgstr ""
-
-#: ap-gl/bridge.c:125 src/bridge.c:110
-msgid "Access Point"
-msgstr "Access Point"
-
-#: ap-gl/bridge.c:126 src/bridge.c:111
-msgid "Access Point client"
-msgstr "Access Point client"
-
-#: ap-gl/bridge.c:127 src/bridge.c:112
-msgid "Wireless Bridge Point to Point"
-msgstr ""
-
-#: ap-gl/bridge.c:128 src/bridge.c:113
-msgid "Repeater"
-msgstr "Repeater"
-
-#: ap-gl/stations.c:77 src/stations.c:100
-msgid "AP is currently in AP Client Mode => no associated STAtions."
-msgstr ""
-
-#: ap-gl/stations.c:102
-msgid "# MAC LQ RSSI Status Port IP"
-msgstr ""
-
-#: ap-gl/stations.c:128 src/stations.c:159
-msgid "AssociatedSTAsInfo packet error"
-msgstr "AssociatedSTAsInfo pakketfout"
-
-#: ap-gl/stations.c:160
-msgid "Arrows - scroll; S - save to file; Q - quit to menu."
-msgstr ""
-"Pijltjes - schuiven; S - opslaan naar bestand; Q - afsluiten naar menu."
-
-#: lib/aps.c:29
+#: lib/aps.c:30
msgid "Known Access Points"
msgstr "Bekende Access Points"
-#: lib/aps.c:129
+#: lib/aps.c:130
msgid "Your Access Point is not in \"AP client\" mode => getting"
msgstr ""
-#: lib/aps.c:132
+#: lib/aps.c:133
msgid "up-to-date \"Known APs\" info requires your AP to be"
msgstr ""
-#: lib/aps.c:135
+#: lib/aps.c:136
msgid "temporarily configured into \"AP client\" mode and rebooted."
msgstr ""
-#: lib/aps.c:138
+#: lib/aps.c:139
msgid "Your AP will be reconfigured back to original mode by this"
msgstr ""
-#: lib/aps.c:141
+#: lib/aps.c:142
msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
msgstr ""
-#: lib/aps.c:144
+#: lib/aps.c:145
#, fuzzy
msgid "cause loss of Access Point's current configuration."
msgstr "Draadloos Access Point configurator"
-#: lib/aps.c:148
+#: lib/aps.c:149
msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
msgstr ""
-#: lib/aps.c:151
+#: lib/aps.c:152
#, fuzzy
msgid "via its wireless port."
msgstr "Draadloze opties instellen"
-#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
+#: lib/aps.c:154 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:96
msgid "Do you want to continue? "
msgstr "Wilt u doorgaan?"
-#: lib/aps.c:207
+#: lib/aps.c:208
msgid "NetworkType"
msgstr "Soort netwerk"
-#: lib/aps.c:283
+#: lib/aps.c:284
msgid "Infrastructure"
msgstr "Infrastructuur"
-#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
+#: lib/aps.c:344 lib/aps.c:352 lib/aps.c:360
msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
msgstr ""
-#: lib/aps.c:345
+#: lib/aps.c:346
msgid "RSSI: Radio Signal Strength Indicator [%]"
msgstr ""
-#: lib/aps.c:347 lib/aps.c:355
+#: lib/aps.c:348 lib/aps.c:356
msgid "; LQ: Link Quality [%]"
msgstr ""
-#: lib/aps.c:353
+#: lib/aps.c:354
msgid "RSSI: Radio Signal Strength Indicator [dBm]"
msgstr ""
-#: lib/aps.c:361
+#: lib/aps.c:362
msgid "RSSI: Radio Signal Strength Indicator [raw]"
msgstr ""
-#: lib/aps.c:363
+#: lib/aps.c:364
msgid "; LQ: Link Q. [raw]"
msgstr ""
-#: lib/aps.c:369
+#: lib/aps.c:370
#, fuzzy
msgid ""
"# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
"# verbinden met deze AP; R verversen met opnieuw instellen; G verversen "
"zonder opnieuw instellen; Q afsluiten"
-#: lib/aps.c:371
+#: lib/aps.c:372
#, fuzzy
msgid ""
"# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
"# verbinden met deze AP; R verversen met opnieuw instellen; G verversen "
"zonder opnieuw instellen; Q afsluiten"
-#: lib/aps.c:500 lib/ap_search.c:167
+#: lib/aps.c:501 lib/ap_search.c:173
#, fuzzy, c-format
msgid "Failure in sendto(): %s. Press any key."
msgstr "Onjuist sendto: %s. Druk op een toets."
-#: lib/aps.c:509
+#: lib/aps.c:510
msgid "You have just initiated the AP scan. Be advised that it may"
msgstr ""
-#: lib/aps.c:512
+#: lib/aps.c:513
msgid "take a few seconds for your Access Point to find out some"
msgstr ""
-#: lib/aps.c:515
+#: lib/aps.c:516
msgid "values, so expect finishing the scan in about 5 seconds."
msgstr ""
-#: lib/aps.c:518
+#: lib/aps.c:519
msgid "Also note that your Access Point stops forwarding the network"
msgstr ""
-#: lib/aps.c:521
+#: lib/aps.c:522
msgid "traffic while the scan is in progress, but restores itself"
msgstr ""
-#: lib/aps.c:524
+#: lib/aps.c:525
msgid "to normal operation in time ranging up to 1 minute."
msgstr ""
-#: lib/aps.c:527
+#: lib/aps.c:528
msgid "Hence, if you are connected to target Access Point via its"
msgstr ""
-#: lib/aps.c:530
+#: lib/aps.c:531
msgid "wireless port, you need to wait a bit longer"
msgstr ""
-#: lib/aps.c:533
+#: lib/aps.c:534
msgid "after pressing 'S'."
msgstr ""
#: lib/ap_search.c:49
#, fuzzy
-msgid " NUM IP ADDRESS MIB TYPE NAME"
+msgid " NUM IP ADDRESS MIB TYPE FW TYPE (VERSION) AP NAME"
msgstr "NUMMER IP ADRES SOORT"
-#: lib/ap_search.c:100
+#: lib/ap_search.c:106
msgid "Please wait while scanning, or press 'Q' to quit."
msgstr ""
-#: lib/ap_search.c:116
+#: lib/ap_search.c:122
#, fuzzy
msgid "Can't set broadcast option on socket. Press any key."
msgstr "Kan broadcast optie naar socket niet instellen. Druk op een toets."
-#: lib/ap_search.c:125
+#: lib/ap_search.c:131
#, fuzzy
msgid "Can't set multicast membership on socket. Press any key."
msgstr "Kan multicast deelname naar socket niet instellen. Druk op een toets."
-#: lib/ap_search.c:132
+#: lib/ap_search.c:138
msgid "Scanning via network interface:"
msgstr ""
-#: lib/ap_search.c:133
+#: lib/ap_search.c:139
#, c-format
msgid " Index: %i"
msgstr ""
-#: lib/ap_search.c:135
+#: lib/ap_search.c:141
#, fuzzy, c-format
msgid " Name: %s"
msgstr "[N] AP naam:"
-#: lib/ap_search.c:137
+#: lib/ap_search.c:143
#, c-format
msgid " IP: %s"
msgstr ""
-#: lib/ap_search.c:146
+#: lib/ap_search.c:152
#, c-format
msgid "Scanning for AP with MIB type: %s"
msgstr ""
-#: lib/ap_search.c:334
-msgid "Please enter SNMP community name that will be used for AP detection."
-msgstr ""
-
-#: lib/ap_search.c:345
+#: lib/ap_search.c:378
msgid "Access Points Search"
msgstr "Access Points zoeken"
-#: lib/ap_search.c:363
+#: lib/ap_search.c:396
#, fuzzy
msgid "realloc() error."
msgstr "Fout bij maken socket"
-#: lib/ap_search.c:375
+#: lib/ap_search.c:408
msgid "Network interface discovery error."
msgstr ""
-#: lib/ap_search.c:450
+#: lib/ap_search.c:483
#, fuzzy
msgid "No local network interfaces found. Press any key."
msgstr "fork() fout. Druk op een toets."
-#: lib/ap_search.c:452
+#: lib/ap_search.c:485
msgid "No directly reachable Access Points found. Press any key."
msgstr ""
-#: lib/ap_search.c:457
+#: lib/ap_search.c:490
msgid "Single-screen maximum number of APs found."
msgstr ""
-#: lib/ap_search.c:460
+#: lib/ap_search.c:493
#, fuzzy
msgid "# - connect to AP; Q - quit"
msgstr "Verbinden met AP nummer:"
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:82
#, fuzzy
msgid "MAC address: "
msgstr "IP-adres: %s"
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:83
#, fuzzy
msgid "[S] SNMP traps: "
msgstr "[S] SNMP vallen: %s"
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:85
#, fuzzy
msgid "[C] Frequency channel: "
msgstr "[C] Frequentiekanaal: %02u (%u MHz)"
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:87
#, fuzzy
msgid "Receive antenna:"
msgstr "Ontvangen:"
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:88
#, fuzzy
msgid "[U] Left"
msgstr "Links"
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:89
#, fuzzy
msgid "[I] Right"
msgstr "Rechts"
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:90
#, fuzzy
msgid "Transmit antenna:"
msgstr "Verzonden:"
-#: lib/ap-utils.h:88
+#: lib/ap-utils.h:91
#, fuzzy
msgid "[O] Left"
msgstr "Links"
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:92
#, fuzzy
msgid "[P] Right"
msgstr "Rechts"
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:93
#, fuzzy
msgid "Diversity select:"
msgstr "Diversiteit: %s"
-#: lib/ap-utils.h:91
+#: lib/ap-utils.h:94
#, fuzzy
msgid "[T] Left"
msgstr "Links"
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:95
#, fuzzy
msgid "[Y] Right"
msgstr "Rechts"
-#: lib/ap-utils.h:94
+#: lib/ap-utils.h:97
msgid "Yes"
msgstr ""
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:98
msgid "No"
msgstr ""
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:100
msgid "On"
msgstr ""
-#: lib/ap-utils.h:98
+#: lib/ap-utils.h:101
#, fuzzy
msgid "Off"
msgstr "uit"
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:103
#, fuzzy
msgid "Basic"
msgstr "basis"
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:105
msgid "Press any key to continue."
msgstr "Druk op een toets om door te gaan."
-#: lib/ap-utils.h:103
-msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+#: lib/ap-utils.h:106
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update"
msgstr ""
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:108
msgid "Unable to write data to AP. Press any key to continue."
msgstr ""
"Kan geen gegevens schrijven naar AP. Druk op een toets om door te gaan."
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:109
#, fuzzy
msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
msgstr "Kan geen gegevens ontvangen van AP. Druk op een toets om door te gaan."
-#: lib/ap-utils.h:107
+#: lib/ap-utils.h:110
#, fuzzy
-msgid "Trying to retrieve data from AP. Please wait..."
+msgid "Trying to retrieve data from AP - please wait (or press Q to quit)."
msgstr "Bezig met ontvangen gegevens van AP. Even geduld a.u.b...."
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:111
msgid "Writing data to AP. Please wait..."
msgstr "Bezig met schrijven gegevens naar AP. Even geduld a.u.b...."
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:112
#, fuzzy
msgid "Configuration written to the AP. Press any key to continue."
msgstr ""
"Kan geen gegevens schrijven naar AP. Druk op een toets om door te gaan."
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:113
#, fuzzy
msgid "select() function error. Press any key."
msgstr "fcntl() fout. Druk op een toets."
-#: lib/ap-utils.h:112
-msgid "Create socket error. Press any key."
-msgstr "Fout bij maken socket. Druk op een toets."
+#: lib/ap-utils.h:114
+#, fuzzy
+msgid "socket() or bind() function error. Press any key."
+msgstr "fcntl() fout. Druk op een toets."
-#: lib/ap-utils.h:113
-msgid "Bind socket error. Press any key."
-msgstr "Fout bij verbinden socket. Druk op een toets."
+#: lib/ap-utils.h:116
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr "Kan geen gegevens ontvangen van AP. Druk op een toets om door te gaan."
+
+#: lib/ap-utils.h:117
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:119
msgid "Back to main menu"
msgstr "Terug naar hoofdmenu"
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:120
msgid "Exit program"
msgstr "Programma afsluiten"
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:121
#, fuzzy
msgid "Run subshell. To return type 'exit'."
msgstr "Deelshell uitvoeren. Typ 'exit' om terug te keren"
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:122
+msgid "Change polling mode interval"
+msgstr ""
+
+#: lib/ap-utils.h:123
msgid "Short info about program"
msgstr "Korte informatie over programma"
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:124
msgid "Find connected Access Points"
msgstr "Verbonden Access Points zoeken"
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:125
msgid "Set connection options: ip and community"
msgstr "Verbindingsopties instellen: IP en gemeenschap"
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:126
#, fuzzy
msgid "Set encryption; edit WEP keys"
msgstr "Codering instellen, WEP-sleutels bewerken"
-#: lib/ap-utils.h:122
+#: lib/ap-utils.h:127
#, fuzzy
-msgid "Set MAC authorization; edit MAC authorization table"
+msgid "Set authorization; edit MAC authorization table"
msgstr "Mac toelating instellen, mac toelatingstabel bewerken"
-#: lib/ap-utils.h:123
+#: lib/ap-utils.h:128
#, fuzzy
msgid "Set SNMP community/password for access to the AP"
msgstr "SNMP gemeenschap/wachtwoord voor toegang AP instellen"
-#: lib/ap-utils.h:124
+#: lib/ap-utils.h:129
#, fuzzy
msgid "Get info about AP hardware and firmware"
msgstr "Info opvragen over AP hardware en software"
-#: lib/ap-utils.h:125
+#: lib/ap-utils.h:130
#, fuzzy
msgid "Get wireless port statistics"
msgstr "Statistieken opvragen over draadloze poorten"
-#: lib/ap-utils.h:126
+#: lib/ap-utils.h:131
#, fuzzy
msgid "Get list of currently associated stations (Access Point clients)"
msgstr "Lijst opvragen met nu geassocieerde stations"
-#: lib/ap-utils.h:127
+#: lib/ap-utils.h:132
+msgid "Get link status in APclient mode"
+msgstr ""
+
+#: lib/ap-utils.h:133
#, fuzzy
msgid "Get info and statistics from AP"
msgstr "Info en statistieken opvragen van AP"
-#: lib/ap-utils.h:128
+#: lib/ap-utils.h:134
#, fuzzy
msgid "Set various configuration options"
msgstr "Verschillende configuratie-opties instellen"
-#: lib/ap-utils.h:130
+#: lib/ap-utils.h:136
msgid "Associated stations"
msgstr "Geassocieerde stations"
-#: lib/ap-utils.h:132
+#: lib/ap-utils.h:137
+msgid "AP Client link state"
+msgstr ""
+
+#: lib/ap-utils.h:139
msgid "Polling: on"
msgstr ""
-#: lib/ap-utils.h:133
+#: lib/ap-utils.h:140
msgid "Polling: off"
msgstr ""
"Het uploaden van de configuratie is voltooid. Druk op een toets om door te "
"gaan."
-#: lib/common.c:30
+#: lib/common.c:32
#, fuzzy
msgid "Access Point IP-address: "
msgstr "Access Point IP-adres:"
-#: lib/common.c:31
+#: lib/common.c:33
#, fuzzy
msgid "Password (community): "
msgstr "Wachtwoord (gemeenschap):"
-#: lib/common.c:32
+#: lib/common.c:34
msgid "Autodetect AP MIB properties? "
msgstr ""
-#: lib/common.c:33
+#: lib/common.c:35
#, fuzzy
msgid "AP MIB type: "
msgstr "AP soort:"
-#: lib/common.c:34
+#: lib/common.c:36
msgid "AP MIB vendor extensions: "
msgstr ""
-#: lib/common.c:35
+#: lib/common.c:37
#, fuzzy
msgid "Do you want to use AP's name as its label? "
msgstr "Wilt u doorgaan?"
-#: lib/common.c:36
+#: lib/common.c:38
#, fuzzy
msgid "Access Point label: "
msgstr "Access Point"
-#: lib/common.c:37
+#: lib/common.c:39
#, fuzzy
msgid "Save connect-settings: "
msgstr "Verbindingsinstellingen opslaan:"
-#: lib/common.c:100
+#: lib/common.c:40
+msgid "[P] Polling mode interval (tenths of second): "
+msgstr ""
+
+#: lib/common.c:41
+#, fuzzy
+msgid "P - change polling mode interval; Q - quit to menu"
+msgstr "[toets] - optie instellen; W - conf schrijven; Q - afsluiten naar menu"
+
+#: lib/common.c:89 src/ap-config.c:158
+msgid "About"
+msgstr "Info"
+
+#: lib/common.c:106
#, c-format
msgid "From %s"
msgstr "Van %s"
-#: lib/common.c:102
+#: lib/common.c:108
#, c-format
msgid "Version %s"
msgstr "Versie %s"
-#: lib/common.c:105
+#: lib/common.c:111
msgid "Written by Roman Festchook roma@polesye.net"
msgstr "Geschreven door Roman Festchook roma@polesye.net"
-#: lib/common.c:107
-msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+#: lib/common.c:113
+msgid "and Jan Rafaj jr-aputils@cedric.unob.cz"
msgstr ""
-#: lib/common.c:109
+#: lib/common.c:115
#, fuzzy
-msgid "Copyright (c) 2001-2004"
+msgid "Copyright (c) 2001-2005"
msgstr "Copyright (c) Roman Festchook 2001-2002"
-#: lib/common.c:111
+#: lib/common.c:117
msgid "Roman Festchook and Jan Rafaj"
msgstr ""
-#: lib/common.c:114
+#: lib/common.c:120
msgid "This program is distributed under the terms"
msgstr "This program is distributed under the terms"
-#: lib/common.c:116
+#: lib/common.c:122
msgid "of the GNU General Public License version 2."
msgstr "of the GNU General Public License version 2."
-#: lib/common.c:118
+#: lib/common.c:124
msgid "See the included COPYING file for details."
msgstr "See the included COPYING file for details."
-#: lib/common.c:175
+#: lib/common.c:165
msgid "Connect options"
msgstr "Verbindingsopties"
-#: lib/common.c:183
+#: lib/common.c:173
msgid "Enter IP address of your Access Point."
msgstr "Geef het IP-adres van uw Access Point."
-#: lib/common.c:192
+#: lib/common.c:182
msgid "Entered characters will not be displayed for security reason."
msgstr "Ingevoerde tekens worden vanwege veiligheidsredenen niet weergegeven."
-#: lib/common.c:266
+#: lib/common.c:249
msgid "This label will be stored on HDD (independently on AP name!)."
msgstr ""
-#: lib/common.c:361
+#: lib/common.c:362
#, fuzzy
msgid "Trying to probe AP for MIB properties. Please wait..."
msgstr "Bezig met schrijven gegevens naar AP. Even geduld a.u.b...."
-#: lib/common.c:390
+#: lib/common.c:391
#, fuzzy
msgid ""
"Unable to determine AP MIB properties (no response from AP). Press any key."
msgstr "Kan geen gegevens ontvangen van AP. Druk op een toets om door te gaan."
-#: lib/file.c:205
+#: lib/common.c:489 lib/set_oeminfo.c:221
+#, c-format
+msgid "%s%u"
+msgstr ""
+
+#: lib/common.c:491
+#, c-format
+msgid "(%0.1f seconds)"
+msgstr ""
+
+#: lib/file.c:199
msgid "NUM IP ADDRESS MIB TYPE MIB EXT. LABEL"
msgstr ""
-#: lib/file.c:206
+#: lib/file.c:200
#, fuzzy
msgid "Choose an AP to connect to"
msgstr "Kies AP om mee te verbinden"
-#: lib/file.c:212
+#: lib/file.c:206
msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
msgstr ""
"1-9,C: verbinden; N: nieuw; D: verwijderen; W: opslaan; Q: afsluiten; "
"pijltjes: schuiven"
-#: lib/file.c:268
+#: lib/file.c:257
msgid "Connect to AP num:"
msgstr "Verbinden met AP nummer:"
-#: lib/file.c:304
+#: lib/file.c:288
msgid "Delete num:"
msgstr "Nummer verwijderen:"
-#: lib/file.c:372
-msgid "AP list file ~/.ap-config successfully written. Press any key."
-msgstr ""
-
-#: lib/file.c:376
-#, fuzzy
-msgid "Unable to write AP list file ~/.ap-config. Press any key."
-msgstr "Kan geen gegevens ontvangen van AP. Druk op een toets om door te gaan."
-
-#: lib/file.c:426
+#: lib/file.c:442
#, fuzzy
msgid "Unable to write stations file. Press any key."
msgstr ""
"Kan geen gegevens schrijven naar AP. Druk op een toets om door te gaan."
-#: lib/file.c:428
+#: lib/file.c:444
msgid "Stations file succesfully written. Press any key."
msgstr ""
-#: lib/input.c:33
+#: lib/input.c:32
#, fuzzy
msgid "Invalid value. Press any key to continue."
msgstr "Onjuist IP-adres. Druk op een toets om door te gaan."
-#: lib/input.c:34
+#: lib/input.c:33
#, fuzzy, c-format
msgid "Value must be in range %u - %u. Press any key to continue."
msgstr ""
"Kan geen gegevens schrijven naar AP. Druk op een toets om door te gaan."
-#: lib/input.c:412
+#: lib/input.c:460
#, fuzzy
msgid "Y - Yes; Any other key - No (it's safer to answer No)"
msgstr "(J - Ja; N - Nee (het is veiliger om Nee te antwoorden)"
-#: lib/oui.c:6056
+#: lib/oui.c:6061
msgid "Unknown or Private"
msgstr "Onbekend of privé"
"U kunt niet beide antennes uitzetten; kan antenne instellingen niet opslaan. "
"Druk op een toets."
-#: lib/scr.c:168
+#: lib/scr.c:157
#, fuzzy, c-format
msgid "Current AP: %s Type: %s Ext: %s"
msgstr "Huidige AP: %s Soort: %s"
"KEY - gemeenschap/wachtwoord instellen; W - conf schrijven naar AP; Q - "
"afsluiten"
+#: lib/set_oeminfo.c:28
+#, fuzzy
+msgid "Info structure version: "
+msgstr "StructVersie: %lu"
+
+#: lib/set_oeminfo.c:29
+#, fuzzy
+msgid "[M] Device MAC address: "
+msgstr "IP-adres: %s"
+
+#: lib/set_oeminfo.c:30
+#, fuzzy
+msgid " Manufacturer with this OUI: "
+msgstr "Maker ID:"
+
+#: lib/set_oeminfo.c:31
+#, fuzzy
+msgid "[D] Regulatory domain: "
+msgstr "Reguleringsdomein: %s"
+
+#: lib/set_oeminfo.c:32
+#, fuzzy
+msgid "[T] Product type: "
+msgstr "Produktsoort: %lu"
+
+#: lib/set_oeminfo.c:33
+#, fuzzy
+msgid "[E] OEM name: "
+msgstr "OEM naam:"
+
+#: lib/set_oeminfo.c:34
+msgid "[I] OEM ID: "
+msgstr ""
+
+#: lib/set_oeminfo.c:35
+#, fuzzy
+msgid "[N] Product name: "
+msgstr "Produktnaam:"
+
+#: lib/set_oeminfo.c:36
+#, fuzzy
+msgid "[H] Hardware revision: "
+msgstr "Hardware revisie: %lu"
+
+#: lib/set_oeminfo.c:37
+#, fuzzy
+msgid "[O] Country code: "
+msgstr "[O] Opdracht: %s"
+
+#: lib/set_oeminfo.c:38
+#, fuzzy
+msgid "[C] Default channel: "
+msgstr "[C] Frequentiekanaal: %02u (%u MHz)"
+
+#: lib/set_oeminfo.c:39
+#, fuzzy
+msgid "[A] Calibrated channels: "
+msgstr "[C] Frequentiekanaal: %02u (%u MHz)"
+
+#: lib/set_oeminfo.c:40
+msgid "[P] Nominal Tx Power (CR31) value for calibrated channels: "
+msgstr ""
+
+#: lib/set_oeminfo.c:41
+#, fuzzy
+msgid ""
+"Keys in brackets - set corresponding option; W - write conf; Q - quit to menu"
+msgstr "[toets] - optie instellen; W - conf schrijven; Q - afsluiten naar menu"
+
+#: lib/set_oeminfo.c:101
+msgid "THIS IS A SECRET MENU LEADING TO VERY DANGEROUS OPTIONS."
+msgstr ""
+
+#: lib/set_oeminfo.c:103
+msgid "It is intended only for WISPs and repair shops."
+msgstr ""
+
+#: lib/set_oeminfo.c:107
+msgid "It allows to set OEM information stored in the AP (like its"
+msgstr ""
+
+#: lib/set_oeminfo.c:109
+msgid "MAC address, manuf. name, OEM ID, etc.). BE ABSOLUTELY SURE"
+msgstr ""
+
+#: lib/set_oeminfo.c:111
+msgid "THAT YOU KNOW WHAT YOU ARE DOING, AND THAT YOU HAVE THE"
+msgstr ""
+
+#: lib/set_oeminfo.c:113
+msgid "LEGAL RIGHT TO DO ANY MODIFICATION. Disobserving of these"
+msgstr ""
+
+#: lib/set_oeminfo.c:115
+msgid "rules may lead you into a conflict with your local"
+msgstr ""
+
+#: lib/set_oeminfo.c:117
+msgid "regulations and/or law."
+msgstr ""
+
+#: lib/set_oeminfo.c:119
+msgid "Also be warned that the setting of any from these options"
+msgstr ""
+
+#: lib/set_oeminfo.c:121
+msgid "may DAMAGE YOUR AP (other reason why this menu is hidden)."
+msgstr ""
+
+#: lib/set_oeminfo.c:123
+msgid "Values changed here will NOT be restored upon reset"
+msgstr ""
+
+#: lib/set_oeminfo.c:125
+msgid "of the device to factory defaults! It is advisable to"
+msgstr ""
+
+#: lib/set_oeminfo.c:127
+msgid "write them down somewhere prior their changing."
+msgstr ""
+
+#: lib/set_oeminfo.c:129
+msgid "Finally, note that you need to use MANUFACTURER community, "
+msgstr ""
+
+#: lib/set_oeminfo.c:131
+msgid "in order to be able to do any OEM info modification."
+msgstr ""
+
+#: lib/set_oeminfo.c:133
+msgid "Proceed further only at your full risk and responsibility. "
+msgstr ""
+
+#: lib/set_oeminfo.c:135
+msgid "You got the warnings."
+msgstr ""
+
+#: lib/set_oeminfo.c:141
+msgid "OEM Info settings"
+msgstr ""
+
#: lib/stat.c:29
msgid "Ethernet Statistics"
msgstr "Ethernet statistieken"
msgid "System Info"
msgstr "Systeeminfo"
-#: lib/sysinfo.c:120
+#: lib/sysinfo.c:55 src/bridge.c:50
+msgid "Wireless Bridge Point to MultiPoint"
+msgstr ""
+
+#: lib/sysinfo.c:56 src/bridge.c:51
+msgid "Access Point"
+msgstr "Access Point"
+
+#: lib/sysinfo.c:57 src/bridge.c:52
+msgid "Access Point client"
+msgstr "Access Point client"
+
+#: lib/sysinfo.c:58 src/bridge.c:53
+msgid "Wireless Bridge Point to Point"
+msgstr ""
+
+#: lib/sysinfo.c:59 src/bridge.c:54
+msgid "Repeater"
+msgstr "Repeater"
+
+#: lib/sysinfo.c:60 lib/sysinfo.c:315 lib/sysinfo.c:424 src/bridge.c:55
+msgid "unknown"
+msgstr "onbekend"
+
+#: lib/sysinfo.c:144
msgid "Device hardware/software/name info:"
msgstr ""
-#: lib/sysinfo.c:154
+#: lib/sysinfo.c:172
+#, fuzzy, c-format
+msgid "Operational mode: %s"
+msgstr "[O] Operationele modus: %s"
+
+#: lib/sysinfo.c:182
#, fuzzy
-msgid "Product name:"
+msgid "Product name: "
msgstr "Produktnaam:"
-#: lib/sysinfo.c:158
+#: lib/sysinfo.c:186
#, fuzzy, c-format
msgid "Product type: %u"
msgstr "Produktsoort: %lu"
-#: lib/sysinfo.c:161
+#: lib/sysinfo.c:189
#, fuzzy
-msgid "OEM name:"
+msgid "OEM name: "
msgstr "OEM naam:"
-#: lib/sysinfo.c:168
+#: lib/sysinfo.c:196
#, fuzzy, c-format
msgid "Hardware revision: %u"
msgstr "Hardware revisie: %lu"
-#: lib/sysinfo.c:176
+#: lib/sysinfo.c:204
#, fuzzy, c-format
msgid "Info structure version: %u"
msgstr "StructVersie: %lu"
-#: lib/sysinfo.c:179 lib/sysinfo.c:355
+#: lib/sysinfo.c:207 lib/sysinfo.c:383
#, c-format
msgid "Manufacturer OUI: %02X %02X %02X (%s)"
msgstr "Maker OUI: %02X %02X %02X (%s)"
-#: lib/sysinfo.c:196
+#: lib/sysinfo.c:224
#, fuzzy, c-format
msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
msgstr "Uptime: %u:%02u:%02u.%02u"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "FHSS 2.4 GHz"
msgstr "FHSS 2.4 GHz"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "DSSS 2.4 GHz"
msgstr "DSSS 2.4 GHz"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "IR Baseband"
msgstr "IR Baseband"
-#: lib/sysinfo.c:285
+#: lib/sysinfo.c:313
msgid "Commercial range 0..40 C"
msgstr "Commercieel bereik 0..40 C"
-#: lib/sysinfo.c:286
+#: lib/sysinfo.c:314
msgid "Industrial range -30..70 C"
msgstr "Industrieel bereik -30..70 C"
-#: lib/sysinfo.c:287 lib/sysinfo.c:396
-msgid "unknown"
-msgstr "onbekend"
-
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "manual"
msgstr "handmatig"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "notsupported"
msgstr "niet ondersteund"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "dynamic"
msgstr "dynamisch"
-#: lib/sysinfo.c:345
+#: lib/sysinfo.c:373
msgid "Manufacturer:"
msgstr "Maker:"
-#: lib/sysinfo.c:350
+#: lib/sysinfo.c:378
msgid "Manufacturer ID:"
msgstr "Maker ID:"
-#: lib/sysinfo.c:361
+#: lib/sysinfo.c:389
msgid "Product Name:"
msgstr "Produktnaam:"
-#: lib/sysinfo.c:367
+#: lib/sysinfo.c:395
msgid "Product ID:"
msgstr "Produkt ID:"
-#: lib/sysinfo.c:373
+#: lib/sysinfo.c:401
msgid "Product Version:"
msgstr "Produktversie:"
-#: lib/sysinfo.c:379
+#: lib/sysinfo.c:407
#, c-format
msgid "PHYType: %s"
msgstr "PHY soort: %s"
-#: lib/sysinfo.c:382
+#: lib/sysinfo.c:410
#, c-format
msgid "Temperature: %s"
msgstr "Temperatuur: %s"
-#: lib/sysinfo.c:390
+#: lib/sysinfo.c:418
#, fuzzy, c-format
msgid "Regulatory Domain: %s"
msgstr "Reguleringsdomein: %s"
-#: lib/sysinfo.c:391
+#: lib/sysinfo.c:419
msgid "FCC (USA)"
msgstr "FCC (USA)"
-#: lib/sysinfo.c:392
+#: lib/sysinfo.c:420
msgid "DOC (Canada)"
msgstr "DOC (Canada)"
-#: lib/sysinfo.c:393
+#: lib/sysinfo.c:421
msgid "ETSI (Europe)"
msgstr "ETSI (Europa)"
-#: lib/sysinfo.c:394
+#: lib/sysinfo.c:422
msgid "Spain"
msgstr "Spanje"
-#: lib/sysinfo.c:395
+#: lib/sysinfo.c:423
msgid "France"
msgstr "Frankrijk"
-#: lib/sysinfo.c:396
+#: lib/sysinfo.c:424
msgid "MKK (Japan)"
msgstr "MKK (Japan)"
-#: lib/sysinfo.c:399
+#: lib/sysinfo.c:427
#, c-format
msgid "Transmit Power: %u mW"
msgstr "Zendvermogen: %u mW"
-#: lib/sysinfo.c:429
+#: lib/sysinfo.c:457
#, fuzzy, c-format
msgid "WEP implemented: %s"
msgstr "WEP geïmplementeerd: %s"
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
#, c-format
msgid "Diversity: %s"
msgstr "Diversiteit: %s"
-#: lib/sysinfo.c:460
+#: lib/sysinfo.c:488
#, c-format
msgid "Uptime: %u:%02u:%02u.%02u"
msgstr "Uptime: %u:%02u:%02u.%02u"
-#: lib/sysinfo.c:480
+#: lib/sysinfo.c:508
#, c-format
msgid "IP Address: %s"
msgstr "IP-adres: %s"
msgid "Right"
msgstr "Rechts"
-#: lib/test.c:86
+#: lib/test.c:79
+msgid "Devices with ATMEL12350 MIB not yet supported."
+msgstr ""
+
+#: lib/test.c:91
#, fuzzy
msgid "Test mode"
msgstr "Testmodus"
-#: lib/test.c:89
+#: lib/test.c:94
#, fuzzy
msgid "Using the \"Test mode\" may cause loss of your current"
msgstr ""
"Gebruik van de testmodus kan ervoor zorgen dat de huidige configuratie "
"verloren gaat."
-#: lib/test.c:90
+#: lib/test.c:95
#, fuzzy
msgid "configuration."
msgstr "Configuratie uploaden"
-#: lib/test.c:102
+#: lib/test.c:107
msgid "Options:"
msgstr "Opties:"
-#: lib/test.c:128
+#: lib/test.c:133
msgid "Statistics:"
msgstr "Statistieken:"
-#: lib/test.c:129
+#: lib/test.c:134
msgid "Success Frames: 0 Failed Frames: 0"
msgstr "Succesvolle frames: 0 Mislukte frames: 0"
-#: lib/test.c:190
+#: lib/test.c:195
#, c-format
msgid "Success Frames: %lu Failed Frames: %lu"
msgstr "Succesvolle frames: %lu Mislukte frames: %lu"
msgstr ""
#: lib/wlan.c:48
-msgid "[T] SIFS time (msec): "
+msgid "[T] SIFS time (2nd+ interframe spacing, usec): "
msgstr ""
#: lib/wlan.c:49
msgid "Long"
msgstr "Lang"
-#: lib/wlan.c:237
+#: lib/wlan.c:239
msgid "Wireless Settings"
msgstr "Draadloos instellingen"
-#: lib/wlan.c:731
+#: lib/wlan.c:735
msgid "Antenna Configuration:"
msgstr "Antenneconfiguratie:"
-#: lib/wlan.c:748
+#: lib/wlan.c:752
msgid "General Options"
msgstr "Algemene opties"
-#: lib/wlan.c:750
+#: lib/wlan.c:754
msgid ""
"UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
msgstr ""
"UIOPTY - antenne; SCANLEDFR1234 - opties; W - conf schrijven; Q - afsluiten "
"naar menu"
-#: src/ap-config.c:54
-msgid "General"
-msgstr "Algemeen"
-
-#: src/ap-config.c:54
-msgid "Set general options"
-msgstr "Algemene opties instellen"
-
-#: src/ap-config.c:55
-msgid "Advanced"
-msgstr "Geavanceerd"
+#: src/ap-auth.c:32 src/auth.c:28
+msgid "AuthorizedMacTableString packet error"
+msgstr "AuthorizedMacTableString pakketfout"
-#: src/ap-config.c:55
-msgid "Set advanced options"
-msgstr "Geavanceerde opties instellen"
+#: src/ap-auth.c:33
+msgid "Invalid data in source file"
+msgstr ""
-#: src/ap-config.c:89
-msgid "Reset AP."
-msgstr "AP opnieuw instellen."
+#: src/ap-auth.c:34
+msgid "Can't open file"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Latest"
-msgstr "Laatste"
+#: src/ap-auth.c:35
+msgid "Can't write to file"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Get info about latest events"
-msgstr "Info opvragen over laatste gebeurtenissen"
+#: src/ap-auth.c:36
+msgid "Error closing file"
+msgstr ""
-#: src/ap-mrtg.c:42
+#: src/ap-auth.c:44 src/ap-mrtg.c:41 src/ap-rrd.c:40
msgid ""
"\n"
"Usage:\n"
"\n"
"Gebruik:\n"
-#: src/ap-mrtg.c:44
-#, fuzzy
+#: src/ap-auth.c:45
+msgid "\tap-auth -i ip -c community -d filename [-h]\n"
+msgstr ""
+
+#: src/ap-auth.c:46
msgid ""
-"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-a aptype] [-v] [-"
-"h] [-r]\n"
+"\tap-auth -i ip -c community -u filename [-h]\n"
"\n"
msgstr ""
-"\tap-mrtg -i ip -c gemeenschap -t soort [-b bssid] [-v] [-h] [-r]\n"
-"\n"
-#: src/ap-mrtg.c:46
+#: src/ap-auth.c:47
msgid ""
-"Get stats from AP and return it in MRTG parsable format\n"
+"Change accesspoint's list of authorised MAC addresses\n"
"\n"
msgstr ""
-"Statistieken van AP opvragen en aanbieden in MRTG-verwerkbaar formaat\n"
-"\n"
-#: src/ap-mrtg.c:47
+#: src/ap-auth.c:48 src/ap-mrtg.c:45 src/ap-rrd.c:45
msgid "-i ip - AP ip address\n"
msgstr "-i ip - AP ip-adres\n"
-#: src/ap-mrtg.c:48
+#: src/ap-auth.c:49 src/ap-mrtg.c:46 src/ap-rrd.c:46
msgid "-c community - SNMP community string\n"
msgstr "-c gemeenschap - SNMP gemeenschap naam\n"
-#: src/ap-mrtg.c:50
+#: src/ap-auth.c:50
msgid ""
-"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
-"or <l>ink quality in client mode\n"
+"-d filename - download list of authorised MAC addresses from AP to a file\n"
msgstr ""
-"-t type - soort statistieken <w> draadloos, <e>thernet, geassocieerde "
-"<s>tations of <l> kwaliteit verbinding in client modus\n"
-#: src/ap-mrtg.c:52
+#: src/ap-auth.c:52
msgid ""
-"-b bssid - mac address of the AP to which get link quality, only if "
-"type=l\n"
+"-u filename - upload list of authorised MAC addresses from a file to AP\n"
msgstr ""
-"-b bssid - mac adres van AP waarvan verbindingskwaliteit bepaald moet "
-"worden; alleen als soort=l\n"
-#: src/ap-mrtg.c:53
-msgid "-n name - AP name - for check only\n"
+#: src/ap-auth.c:54 src/ap-mrtg.c:55 src/ap-rrd.c:55
+msgid ""
+"-h - print this help screen\n"
+"\n"
msgstr ""
+"-h - deze hulp weergeven\n"
+"\n"
-#: src/ap-mrtg.c:54
+#: src/ap-auth.c:55
+#, fuzzy, c-format
msgid ""
-"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the "
-"ME-102\n"
+"ap-auth %s Copyright (c) 2004 Teemu Kiviniemi\n"
+"\n"
msgstr ""
-
-#: src/ap-mrtg.c:56
+"ap-mrtg %s Copyright (c) 2002 Roman Festchook\n"
+"\n"
+
+#: src/ap-auth.c:138 src/ap-mrtg.c:132
+#, fuzzy
+msgid "Error: invalid IP-address.\n"
+msgstr "Onjuist IP-adres\n"
+
+#: src/ap-auth.c:203 src/ap-mrtg.c:204
+#, fuzzy
+msgid "Unable to determine AP MIB type (no response from AP)."
+msgstr "Kan geen gegevens ontvangen van AP. Druk op een toets om door te gaan."
+
+#: src/ap-auth.c:211
+msgid "NWN devices are not yet supported."
+msgstr ""
+
+#: src/ap-config.c:43 src/bridge.c:201
+msgid "Bridging"
+msgstr ""
+
+#: src/ap-config.c:43
+#, fuzzy
+msgid "Set bridging and IP-related options"
+msgstr "Bridging en IP-gerelateerde opties instellen"
+
+#: src/ap-config.c:45 src/ap-config.c:114 src/ap-config.c:123 src/bridge.c:125
+msgid "Wireless"
+msgstr "Draadloos"
+
+#: src/ap-config.c:45
+msgid "Set wireless options"
+msgstr "Draadloze opties instellen"
+
+#: src/ap-config.c:46 src/ap-config.c:58
+msgid "Privacy"
+msgstr "Privacy"
+
+#: src/ap-config.c:47
+#, fuzzy
+msgid "Auth"
+msgstr "Info"
+
+#: src/ap-config.c:48 src/ap-config.c:60
+msgid "Community"
+msgstr "Gemeenschap"
+
+#: src/ap-config.c:49
+msgid "Radio"
+msgstr "Radio"
+
+#: src/ap-config.c:49
+msgid "Set radio signal power and antenna options"
+msgstr "Vermogen radio en antenne opties instellen"
+
+#: src/ap-config.c:56
+msgid "General"
+msgstr "Algemeen"
+
+#: src/ap-config.c:56
+msgid "Set general options"
+msgstr "Algemene opties instellen"
+
+#: src/ap-config.c:57
+msgid "Advanced"
+msgstr "Geavanceerd"
+
+#: src/ap-config.c:57
+msgid "Set advanced options"
+msgstr "Geavanceerde opties instellen"
+
+#: src/ap-config.c:59
+#, fuzzy
+msgid "MAC auth"
+msgstr "Mac toelating"
+
+#: src/ap-config.c:82
+msgid "Upload"
+msgstr "Uploaden"
+
+#: src/ap-config.c:82
+#, fuzzy
+msgid "Activate current configuration"
+msgstr "Huidige configuratie actief maken"
+
+#: src/ap-config.c:83
+msgid "Defaults"
+msgstr "Standaardwaarden"
+
+#: src/ap-config.c:83
+msgid "Restore factory default settings"
+msgstr "Fabrieksinstellingen terugzetten"
+
+#: src/ap-config.c:84 src/ap-config.c:91
+msgid "Reset"
+msgstr "Opnieuw instellen"
+
+#: src/ap-config.c:85
+msgid "Reset AP. All not uploaded configuration will be lost"
+msgstr ""
+"AP opnieuw instellen. Alle niet verzonden instellingen zullen verloren gaan."
+
+#: src/ap-config.c:86
+msgid "TestMode"
+msgstr "Testmodus"
+
+#: src/ap-config.c:86
+msgid "Put Access Point in test mode"
+msgstr "Access Point in testmodus zetten"
+
+#: src/ap-config.c:91
+msgid "Reset AP."
+msgstr "AP opnieuw instellen."
+
+#: src/ap-config.c:112 src/ap-config.c:122
+msgid "SysInfo"
+msgstr "SysInfo"
+
+#: src/ap-config.c:113 src/bridge.c:124 src/bridge.c:127
+msgid "Ethernet"
+msgstr "Ethernet"
+
+#: src/ap-config.c:113
+msgid "Get ethernet port statistics"
+msgstr "Ethernet poortstatistieken opvragen"
+
+#: src/ap-config.c:115 src/ap-config.c:124
+msgid "Stations"
+msgstr "Stations"
+
+#: src/ap-config.c:116
+msgid "AP link"
+msgstr ""
+
+#: src/ap-config.c:117
+msgid "KnownAPs"
+msgstr "BekendeAPs"
+
+#: src/ap-config.c:117
+msgid "Get info about known Access Points"
+msgstr "Info opvragen over bekende Access Points"
+
+#: src/ap-config.c:125
+msgid "Latest"
+msgstr "Laatste"
+
+#: src/ap-config.c:125
+msgid "Get info about latest events"
+msgstr "Info opvragen over laatste gebeurtenissen"
+
+#: src/ap-config.c:150
+msgid "Info"
+msgstr "Info"
+
+#: src/ap-config.c:151
+msgid "Config"
+msgstr "Config"
+
+#: src/ap-config.c:152
+msgid "Commands"
+msgstr "Opdrachten"
+
+#: src/ap-config.c:152
+msgid "Execute commands on Access Point"
+msgstr "Opdrachten uitvoeren op Access Point"
+
+#: src/ap-config.c:154
+msgid "Connect"
+msgstr "Verbinden"
+
+#: src/ap-config.c:155
+msgid "Search"
+msgstr "Zoeken"
+
+#: src/ap-config.c:156
+msgid "Polling"
+msgstr ""
+
+#: src/ap-config.c:157
+msgid "Shell"
+msgstr "Shell"
+
+#: src/ap-config.c:159
+msgid "Exit"
+msgstr "Afsluiten"
+
+#: src/ap-config.c:218
+#, c-format
+msgid "Wireless Access Point Configurator ver. %s"
+msgstr "Draadloos Access Point configurator versie %s"
+
+#: src/aplink.c:25
+msgid "RSSI: ["
+msgstr ""
+
+#: src/aplink.c:26
+msgid "RSSI avg: ["
+msgstr ""
+
+#: src/aplink.c:27
+msgid "RSSI top: ["
+msgstr ""
+
+#: src/aplink.c:28
+msgid "RSSI rou: ["
+msgstr ""
+
+#: src/aplink.c:29
+msgid ""
+"P - pause, T - toggle graph view, Q - quit to menu, Other key - force update."
+msgstr ""
+
+#: src/aplink.c:81
+msgid "RSSI [%]"
+msgstr ""
+
+#: src/aplink.c:82
+msgid "RSSI average [%]"
+msgstr ""
+
+#: src/aplink.c:83
+msgid "RSSI rounded [%]"
+msgstr ""
+
+#: src/aplink.c:84
+msgid "Link Quality [%]"
+msgstr ""
+
+#: src/aplink.c:133
+msgid "Not available - device must have firmware with necessary "
+msgstr ""
+
+#: src/aplink.c:135
+msgid "vendor extensions and be in either 'Access Point client'"
+msgstr ""
+
+#: src/aplink.c:137
+msgid "or 'Repeater' mode."
+msgstr ""
+
+#: src/ap-mrtg.c:42
+#, fuzzy
+msgid ""
+"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-v] [-h] [-r]\n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c gemeenschap -t soort [-b bssid] [-v] [-h] [-r]\n"
+"\n"
+
+#: src/ap-mrtg.c:44
+msgid ""
+"Get stats from AP and return it in MRTG parsable format\n"
+"\n"
+msgstr ""
+"Statistieken van AP opvragen en aanbieden in MRTG-verwerkbaar formaat\n"
+"\n"
+
+#: src/ap-mrtg.c:47
+#, fuzzy
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality (last one will only "
+msgstr ""
+"-t type - soort statistieken <w> draadloos, <e>thernet, geassocieerde "
+"<s>tations of <l> kwaliteit verbinding in client modus\n"
+
+#: src/ap-mrtg.c:49
+msgid "work with ATMEL410 MIB devices in AP Client mode)\n"
+msgstr ""
+
+#: src/ap-mrtg.c:50
+#, fuzzy
+msgid ""
+"-b bssid - mac address of the AP from which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid - mac adres van AP waarvan verbindingskwaliteit bepaald moet "
+"worden; alleen als soort=l\n"
+
+#: src/ap-mrtg.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr ""
+
+#: src/ap-mrtg.c:53
msgid "-v - report MRTG about problems connecting to AP\n"
msgstr "-v - MRTG aangeven over problemen met verbinden met AP\n"
-#: src/ap-mrtg.c:57
+#: src/ap-mrtg.c:54 src/ap-rrd.c:54
msgid "-r - reset AP when getting LinkQuality stats\n"
msgstr ""
"-r - AP opnieuw instellen bij opvragen statistieken "
"verbindingskwaliteit\n"
-#: src/ap-mrtg.c:58
+#: src/ap-mrtg.c:56
+#, fuzzy, c-format
msgid ""
-"-h - print this help screen\n"
+"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
"\n"
msgstr ""
-"-h - deze hulp weergeven\n"
+"ap-mrtg %s Copyright (c) 2002 Roman Festchook\n"
+"\n"
+
+#: src/ap-rrd.c:32
+#, c-format
+msgid "Error getting data from AP %s\n"
+msgstr ""
+
+#: src/ap-rrd.c:42
+#, fuzzy
+msgid ""
+"\tap-rrd -i ip -c community -t type -d db_file [-b bssid] [-n name] [-a "
+"aptype] [-h] [-r] \n"
"\n"
+msgstr ""
+"\tap-mrtg -i ip -c gemeenschap -t soort [-b bssid] [-v] [-h] [-r]\n"
+"\n"
+
+#: src/ap-rrd.c:44
+#, fuzzy
+msgid ""
+"Get stats from AP and put it in to specified RRDtool database\n"
+"\n"
+msgstr ""
+"Statistieken van AP opvragen en aanbieden in MRTG-verwerkbaar formaat\n"
+"\n"
+
+#: src/ap-rrd.c:48
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality in client mode\n"
+msgstr ""
+"-t type - soort statistieken <w> draadloos, <e>thernet, geassocieerde "
+"<s>tations of <l> kwaliteit verbinding in client modus\n"
+
+#: src/ap-rrd.c:49
+msgid "-d db_file - RRD database file with full path\n"
+msgstr ""
+
+#: src/ap-rrd.c:51
+msgid ""
+"-b bssid - mac address of the AP to which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid - mac adres van AP waarvan verbindingskwaliteit bepaald moet "
+"worden; alleen als soort=l\n"
-#: src/ap-mrtg.c:59
+#: src/ap-rrd.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr ""
+
+#: src/ap-rrd.c:53
+msgid ""
+"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-"
+"102\n"
+msgstr ""
+
+#: src/ap-rrd.c:56
#, fuzzy, c-format
msgid ""
-"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
+"ap-rrd %s Copyright (c) 2002-2004 Roman Festchook\n"
"\n"
msgstr ""
"ap-mrtg %s Copyright (c) 2002 Roman Festchook\n"
"\n"
-#: src/ap-mrtg.c:143
+#: src/ap-rrd.c:133
msgid "Invalid IP-address\n"
msgstr "Onjuist IP-adres\n"
-#: src/ap-mrtg.c:188
+#: src/ap-rrd.c:179
#, c-format
msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
msgstr ""
-#: src/ap-mrtg.c:207
-msgid "Create socket error"
-msgstr "Fout bij maken socket"
+#: src/ap-tftp.c:84
+msgid "yes"
+msgstr ""
+
+#: src/ap-tftp.c:85
+#, fuzzy
+msgid "no"
+msgstr "Info"
+
+#: src/ap-tftp.c:87
+msgid "Error while read()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:100
+msgid "Undefined error"
+msgstr ""
+
+#: src/ap-tftp.c:101
+msgid "File not found"
+msgstr ""
+
+#: src/ap-tftp.c:102
+#, fuzzy
+msgid "Access violation"
+msgstr "Access Point"
+
+#: src/ap-tftp.c:103
+msgid "Disk full or allocation error"
+msgstr ""
+
+#: src/ap-tftp.c:104
+msgid "Illegal TFTP operation"
+msgstr ""
+
+#: src/ap-tftp.c:105
+msgid "Unknown transfer ID"
+msgstr ""
+
+#: src/ap-tftp.c:106
+msgid "File already exists"
+msgstr ""
+
+#: src/ap-tftp.c:107
+msgid "No such user"
+msgstr ""
+
+#: src/ap-tftp.c:157
+msgid "Remote-filename too long.\n"
+msgstr ""
+
+#: src/ap-tftp.c:183
+#, c-format
+msgid "%sError in read()"
+msgstr ""
+
+#: src/ap-tftp.c:212
+#, c-format
+msgid "sending %u bytes\n"
+msgstr ""
+
+#: src/ap-tftp.c:221
+#, c-format
+msgid "%sError in sendto()"
+msgstr ""
+
+#: src/ap-tftp.c:244
+#, c-format
+msgid "%sError in recvfrom()"
+msgstr ""
+
+#: src/ap-tftp.c:256
+#, c-format
+msgid "\rProgress: uploaded %3i%%."
+msgstr ""
+
+#: src/ap-tftp.c:267
+#, c-format
+msgid "%sMalformed packet received. Aborting.\n"
+msgstr ""
+
+#: src/ap-tftp.c:276
+#, c-format
+msgid "%sTimed out waiting for response from server (%i/%i).\n"
+msgstr ""
+
+#: src/ap-tftp.c:283
+#, c-format
+msgid "%sError in select()"
+msgstr ""
+
+#: src/ap-tftp.c:297
+#, c-format
+msgid "Received %d bytes: %04x %04x\n"
+msgstr ""
+
+#: src/ap-tftp.c:308
+#, c-format
+msgid "%sError: server responded with %s. Aborting.\n"
+msgstr ""
+
+#: src/ap-tftp.c:315
+#, c-format
+msgid "%sFlash programming in progress...\n"
+msgstr ""
+
+#: src/ap-tftp.c:317
+msgid "Finished successfully.\n"
+msgstr ""
-#: src/ap-mrtg.c:211
-msgid "Bind socket error"
-msgstr "Fout bij verbinden socket"
+#: src/ap-tftp.c:335
+msgid "PLEASE BE _ABSOLUTELY_ SURE TO READ MANPAGE PRIOR USE!!!\n"
+msgstr ""
-#: src/ap-trapd.c:148
+#: src/ap-tftp.c:337
+#, c-format
+msgid ""
+"\n"
+"Usage: %s -i IP -f firmware_file.rom [-c community] [-h]\n"
+msgstr ""
+
+#: src/ap-tftp.c:361
+msgid "TFTP client for upgrading firmware in ATMEL AT76C510 WiSOC-based APs.\n"
+msgstr ""
+
+#: src/ap-tftp.c:363
+msgid "(C) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>\n"
+msgstr ""
+
+#: src/ap-tftp.c:379
+msgid "Error: invalid IP address format given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:405
+#, fuzzy
+msgid "Error: invalid argument combination.\n"
+msgstr "Onjuist IP-adres\n"
+
+#: src/ap-tftp.c:412
+msgid "Error while open()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:419 src/ap-tftp.c:472
+msgid "Error: invalid firmware file given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:461
+#, c-format
+msgid ""
+"Firmware file contains:\n"
+"- string \"ATMEL\": %s\n"
+"- string \"802.11 AP\": %s\n"
+"- string \"atbrfirm.bin\": %s\n"
+"- string \"atsingle.bin\": %s\n"
+msgstr ""
+
+#: src/ap-tftp.c:485
+#, c-format
+msgid ""
+"Using:\n"
+"- server: %s\n"
+"- firmware file: \"%s\"\n"
+"- name used for upload: \"%s\"\n"
+msgstr ""
+
+#: src/ap-tftp.c:568
+msgid ""
+"Error: device with the given IP does not seem to run SmartBridges firmware.\n"
+msgstr ""
+
+#: src/ap-tftp.c:574
+msgid "Error: SNMP authorization error or device unavailable.\n"
+msgstr ""
+
+#: src/ap-tftp.c:653
+msgid "Error while lseek()ing in firmware file\n"
+msgstr ""
+
+#: src/ap-trapd.c:150
#, c-format
msgid "ap-trapd %s started%s%s."
msgstr "ap-trapd %s gestart%s%s."
-#: src/ap-trapd.c:149
+#: src/ap-trapd.c:151
msgid " on "
msgstr " aan "
-#: src/ap-trapd.c:155
+#: src/ap-trapd.c:157
msgid "Unable to fork. Exiting."
msgstr "fork() mislukt. Afsluiten."
-#: src/ap-trapd.c:159
+#: src/ap-trapd.c:161
msgid "Can't create socket. Exiting."
msgstr "Kan socket niet maken. Afsluiten."
-#: src/ap-trapd.c:165
+#: src/ap-trapd.c:167
msgid "Can't bind socket. Exiting."
msgstr "Kan socket niet verbinden. Afsluiten."
-#: src/ap-trapd.c:172
+#: src/ap-trapd.c:174
#, c-format
msgid "Can't bind to device %s. Exiting."
msgstr "Kan niet aan apparaat %s binden. Afsluiten."
-#: src/ap-trapd.c:183
+#: src/ap-trapd.c:185
#, c-format
msgid "Unable to process username %s. Error: %m."
msgstr "Kan gebruikersnaam %s niet verwerken. Fout: %m."
-#: src/ap-trapd.c:188
+#: src/ap-trapd.c:190
#, c-format
msgid "Unable to change to uid %d."
msgstr "Kan niet overgaan op uid %d."
-#: src/ap-trapd.c:235
+#: src/ap-trapd.c:239
#, c-format
msgid ""
"Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."
msgstr ""
"Onbekende SNMP ver %d val ontvangen. Van %s:%d. Agent: %s. Gemeenschap: %s."
-#: src/ap-trapd.c:307
-#, c-format
-msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
+#: src/ap-trapd.c:311
+#, fuzzy, c-format
+msgid "Agent:v%d %s (%s@%s:%d) Trap %i: %s%s%s. SysUptime %d:%02d:%02d.%02d"
msgstr "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
-#: src/auth_mac.c:33
+#: src/auth.c:30
+msgid "APClient authorization credentials"
+msgstr ""
+
+#: src/auth.c:32
+#, fuzzy
+msgid "[A] MAC authorization: "
+msgstr "[A] Mac toelating: %s"
+
+#: src/auth.c:33
+#, fuzzy
+msgid "Enter MAC: "
+msgstr "Geef Mac:"
+
+#: src/auth.c:34
#, fuzzy
-msgid "NUM MAC address"
+msgid "Delete Num: "
+msgstr "Nummer verwijderen:"
+
+#: src/auth.c:35
+#, fuzzy
+msgid " NUM MAC address "
msgstr "NUM MAC adres"
+#: src/auth.c:36
+#, fuzzy
+msgid "A: auth; N: new; D: del; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - toelaten; N - nieuw; D - verwijderen; pijltjes - schuiven; W - conf "
+"schrijven; Q - afsluiten"
+
+#: src/auth.c:38
+msgid "[I] Radius server IP: "
+msgstr ""
+
+#: src/auth.c:39
+#, fuzzy
+msgid "[P] Radius server port: "
+msgstr "[P] Hoofdpoort: %s"
+
+#: src/auth.c:40
+msgid "[S] Radius server secret: "
+msgstr ""
+
+#: src/auth.c:41
+#, fuzzy
+msgid "[T] Reauthorization time (minutes): "
+msgstr "[A] Mac toelating: %s"
+
+#: src/auth.c:42
+msgid "[F] Radius source port: "
+msgstr ""
+
+#: src/auth.c:43
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; IPSTF: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - toelaten; N - nieuw; D - verwijderen; pijltjes - schuiven; W - conf "
+"schrijven; Q - afsluiten"
+
+#: src/auth.c:45
+#, fuzzy
+msgid "[M] 802.1x authorization: "
+msgstr "[A] Mac toelating: %s"
+
+#: src/auth.c:46
+#, fuzzy
+msgid "[T] key broadcasting time period (seconds): "
+msgstr "[A] Mac toelating: %s"
+
+#: src/auth.c:47
+msgid "[I] 802.1x auth. server IP: "
+msgstr ""
+
+#: src/auth.c:48
+msgid "[S] 802.1x auth. server secret: "
+msgstr ""
+
+#: src/auth.c:49
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; MTIS: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - toelaten; N - nieuw; D - verwijderen; pijltjes - schuiven; W - conf "
+"schrijven; Q - afsluiten"
+
+#: src/auth.c:114
+#, fuzzy
+msgid "Internal"
+msgstr "Algemeen"
+
+#: src/auth.c:116
+#, fuzzy
+msgid "Radius"
+msgstr "Radio"
+
+#: src/auth.c:121
+msgid "Allow listed MACs only"
+msgstr ""
+
+#: src/auth.c:123
+msgid "Deny listed MACs only"
+msgstr ""
+
+#: src/auth.c:129
+msgid "Mixed environment"
+msgstr ""
+
+#: src/auth.c:213
+msgid "(not shown)"
+msgstr ""
+
+#: src/auth.c:276
+#, fuzzy
+msgid "Authorized MAC addresses:"
+msgstr "Toegelaten Mac adressen"
+
+#: src/auth.c:345
+msgid "(insufficient community used)"
+msgstr ""
+
+#: src/auth.c:472
+#, c-format
+msgid "Given MAC already exists in MAC list at position %d. Press any key."
+msgstr ""
+
+#: src/bridge.c:27
+msgid "[I] IP: "
+msgstr ""
+
+#: src/bridge.c:28
+#, fuzzy
+msgid "[N] Netmask: "
+msgstr "[N] Netmask: %s"
+
+#: src/bridge.c:29
+#, fuzzy
+msgid "[G] Gateway: "
+msgstr "[G] Gateway %s"
+
+#: src/bridge.c:30
+#, fuzzy
+msgid "[F] Filter non-IP traffic: "
+msgstr "[F] Niet-IP verkeer filteren: %s"
+
+#: src/bridge.c:31
+#, fuzzy
+msgid "[P] Primary port: "
+msgstr "[P] Hoofdpoort: %s"
+
+#: src/bridge.c:32
+#, fuzzy
+msgid "Attached station MAC: "
+msgstr "Verbonden station MAC: %02X%02X%02X%02X%02X%02X"
+
+#: src/bridge.c:33
+#, fuzzy
+msgid "[D] DHCP client: "
+msgstr "[D] DHCP-protocol: %s"
+
+#: src/bridge.c:34
+#, fuzzy
+msgid "[O] Operational mode: "
+msgstr "[O] Operationele modus: %s"
+
#: src/bridge.c:35
+#, fuzzy
+msgid "[M] Preferred BSSID (remote MAC addr.): "
+msgstr "[R] Mac adres op afstand: %02X%02X%02X%02X%02X%02X"
+
+#: src/bridge.c:36
msgid "[C] Configuration-enabled port(s): "
msgstr ""
+#: src/bridge.c:37
+msgid "[T] Trap-sending port: "
+msgstr ""
+
#: src/bridge.c:38
-msgid "[B] Isolate wireless clients (broadcast traffic): "
+msgid "[R] Forward broadcast traffic: "
msgstr ""
#: src/bridge.c:39
+msgid "[B] Isolate wireless clients (broadcast traffic): "
+msgstr ""
+
+#: src/bridge.c:40
msgid "[U] Isolate wireless clients (unicast traffic): "
msgstr ""
-#: src/bridge.c:119
+#: src/bridge.c:41
+#, fuzzy
+msgid "INGFPDOMSCRBUT - set; W - write conf; Q - quit to menu"
+msgstr "BPGINFDRT - instellen; W - conf schrijven; Q - afsluiten naar menu"
+
+#: src/bridge.c:128
+#, fuzzy
+msgid "Wireless (can be risky)"
+msgstr "Draadloos instellingen"
+
+#: src/bridge.c:129
#, fuzzy
msgid "Both"
msgstr "Beide soorten"
msgid "Error:"
msgstr "Fout:"
-#: src/stations.c:33
-msgid "AP link state"
+#: src/stations.c:82
+msgid "Not available (device not in AP mode)."
msgstr ""
-#: src/stations.c:37
-msgid " # MAC "
+#: src/stations.c:92
+msgid " # MAC Parent MAC RSSI LQ Sts MACn IP "
msgstr ""
-#: src/stations.c:40
-msgid " # MAC Parent MAC RSSI Status MACn IP "
-msgstr ""
+#: src/stations.c:136
+msgid "AssociatedSTAsInfo packet error"
+msgstr "AssociatedSTAsInfo pakketfout"
-#: src/stations.c:195 src/stations.c:367
+#: src/stations.c:189 src/stations.c:363
#, fuzzy
msgid ""
"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
msgstr ""
"Pijltjes - schuiven; S - opslaan naar bestand; Q - afsluiten naar menu."
-#: src/stations.c:200
+#: src/stations.c:193
#, fuzzy
msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
msgstr ""
"Pijltjes - schuiven; S - opslaan naar bestand; Q - afsluiten naar menu."
-#: src/stations.c:279
+#: src/stations.c:275
#, fuzzy
msgid "Id MAC address Quality Age RSSI"
msgstr "Id MAC adres Kwaliteit Ouderdom RSSI"
+#~ msgid "Create socket error. Press any key."
+#~ msgstr "Fout bij maken socket. Druk op een toets."
+
+#~ msgid "Bind socket error. Press any key."
+#~ msgstr "Fout bij verbinden socket. Druk op een toets."
+
+#~ msgid "Create socket error"
+#~ msgstr "Fout bij maken socket"
+
+#~ msgid "Bind socket error"
+#~ msgstr "Fout bij verbinden socket"
+
+#, fuzzy
+#~ msgid "NUM MAC address"
+#~ msgstr "NUM MAC adres"
+
+#, fuzzy
+#~ msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
+#~ msgstr "DA - opties; W - conf schrijven; Q - afsluiten naar menu"
+
+#, fuzzy
+#~ msgid "A - auth; W - write conf; Q - quit"
+#~ msgstr "DA - opties; W - conf schrijven; Q - afsluiten naar menu"
+
+#~ msgid "Arrows - scroll; S - save to file; Q - quit to menu."
+#~ msgstr ""
+#~ "Pijltjes - schuiven; S - opslaan naar bestand; Q - afsluiten naar menu."
+
#~ msgid "Associated Stations"
#~ msgstr "Geassocieerde stations"
msgid ""
msgstr ""
"Project-Id-Version: GNU ap-utils 1.1.1\n"
-"POT-Creation-Date: 2004-11-28 00:59+0200\n"
+"POT-Creation-Date: 2005-03-07 01:13+0200\n"
"PO-Revision-Date: 2002-10-16 08:00-0500\n"
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Content-Transfer-Encoding: 8-bit\n"
"Report-Msgid-Bugs-To: \n"
-# src/ap-config.c:42 src/bridge.c:166
-#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
-msgid "Bridging"
-msgstr "Podstawowe"
-
-# src/ap-config.c:42
-#: ap-gl/ap-gl.c:41 src/ap-config.c:41
-msgid "Set bridging and IP-related options"
-msgstr "Ustawianie opcji mostu i IP"
-
-# src/ap-config.c:44 src/ap-config.c:112 src/ap-config.c:121 src/bridge.c:90
-#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
-#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
-msgid "Wireless"
-msgstr "Radiowe"
-
-# src/ap-config.c:44
-#: ap-gl/ap-gl.c:43 src/ap-config.c:43
-msgid "Set wireless options"
-msgstr "Opcje radiowe"
-
-# src/ap-config.c:45 src/ap-config.c:57
-#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
-msgid "Privacy"
-msgstr "Klucze"
-
-# src/ap-config.c:46 src/ap-config.c:58
-#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
-msgid "MAC auth"
-msgstr "Blokuj MAC"
-
-# src/ap-config.c:47 src/ap-config.c:59
-#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
-msgid "Community"
-msgstr "Dostêp"
-
-# src/ap-config.c:48
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Radio"
-msgstr "Radio"
-
-# src/ap-config.c:48
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Set radio signal power and antenna options"
-msgstr "Ustawianie mocy sygna³u i opcji antenowych"
-
-# src/ap-config.c:78
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Upload"
-msgstr "Wy¶lij"
-
-# src/ap-config.c:78
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-#, fuzzy
-msgid "Activate current configuration"
-msgstr "Uczyñ konfiguracjê aktywn±"
-
-# src/ap-config.c:79
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Defaults"
-msgstr "Domy¶lne"
-
-# src/ap-config.c:79
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Restore factory default settings"
-msgstr "Przywróæ ustawienia producenta"
-
-# src/ap-config.c:81 src/ap-config.c:89
-#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
-msgid "Reset"
-msgstr "Reset"
-
-# src/ap-config.c:82
-#: ap-gl/ap-gl.c:65 src/ap-config.c:83
-msgid "Reset AP. All not uploaded configuration will be lost"
-msgstr "Reset. Wszystkie nie za³adowane opcje bêd± utracone"
-
-# src/ap-config.c:84
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "TestMode"
-msgstr "TrybTest"
-
-# src/ap-config.c:84
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "Put Access Point in test mode"
-msgstr "W³±cza tryb testowy AP"
-
-# src/ap-config.c:110 src/ap-config.c:120
-#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
-msgid "SysInfo"
-msgstr "Ogólne"
-
-# src/ap-config.c:111 src/bridge.c:90
-#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
-#: src/bridge.c:120
-msgid "Ethernet"
-msgstr "Ethernet"
-
-# src/ap-config.c:111
-#: ap-gl/ap-gl.c:80 src/ap-config.c:111
-msgid "Get ethernet port statistics"
-msgstr "Pobierz statystyki ethernetu"
-
-# src/ap-config.c:113 src/ap-config.c:122
-#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
-msgid "Stations"
-msgstr "Stacje"
-
-# src/ap-config.c:115
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "KnownAPs"
-msgstr "Znane AP"
-
-# src/ap-config.c:115
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "Get info about known Access Points"
-msgstr "Podaj informacje o Access Pointach"
-
-# src/ap-config.c:141
-#: ap-gl/ap-gl.c:100 src/ap-config.c:147
-msgid "Info"
-msgstr "Info"
-
-# src/ap-config.c:142
-#: ap-gl/ap-gl.c:101 src/ap-config.c:148
-msgid "Config"
-msgstr "Konfig"
-
-# src/ap-config.c:143
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Commands"
-msgstr "Komendy"
-
-# src/ap-config.c:143
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Execute commands on Access Point"
-msgstr "Wykonaj operacje w AP"
-
-# src/ap-config.c:145
-#: ap-gl/ap-gl.c:104 src/ap-config.c:151
-msgid "Connect"
-msgstr "Po³±cz"
-
-# src/ap-config.c:146
-#: ap-gl/ap-gl.c:105 src/ap-config.c:152
-msgid "Search"
-msgstr "Znajd¼"
-
-# lib/common.c:50 src/ap-config.c:147
-#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
-msgid "About"
-msgstr "O..."
-
-# src/ap-config.c:148
-#: ap-gl/ap-gl.c:107 src/ap-config.c:154
-msgid "Shell"
-msgstr "Shell"
-
-# src/ap-config.c:149
-#: ap-gl/ap-gl.c:108 src/ap-config.c:155
-msgid "Exit"
-msgstr "Wyjd¼"
-
-# src/ap-config.c:194
-#: ap-gl/ap-gl.c:158 src/ap-config.c:204
-#, c-format
-msgid "Wireless Access Point Configurator ver. %s"
-msgstr "Konfigurator bezprzewodowych access-pointów wersja %s"
-
-# src/auth_mac.c:35
-#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
-msgid "AuthorizedMacTableString packet error"
-msgstr "B³êdny pakiet AuthorizedMacTableString"
-
-# lib/ap-utils.h:117
-#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
-msgid "[A] MAC authorization: "
-msgstr "[A] Ograniczenie dostêpu dla wybranych adresów MAC: "
-
-# lib/ap-utils.h:122
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
-msgid "Enter MAC: "
-msgstr "Adres fizyczny: "
-
-# lib/ap-utils.h:121
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
-msgid "Delete Num: "
-msgstr "Skasuj pozycjê: "
-
-# lib/ap-utils.h:118
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
-msgid "Authorized MAC addresses"
-msgstr "Dostêp w/g MAC"
-
-# lib/ap-utils.h:119
-#: ap-gl/auth_mac.c:33
-msgid "NUM MAC address"
-msgstr "Numer adres fizyczny (MAC)"
-
-# lib/ap-utils.h:120
-#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
-msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
-msgstr ""
-"A W³/Wy³; N - nowe; D - kasuj; strza³ki - przewijanie; W - zapis; Q - Wyjd¼"
-
-# src/nwn_advanced.c:70
-#: ap-gl/auth_mac.c:35
-msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
-msgstr "DA - opcje; W - zapis; Q - powrót"
-
-# src/nwn_advanced.c:70
-#: ap-gl/auth_mac.c:36
-msgid "A - auth; W - write conf; Q - quit"
-msgstr "DA - opcje; W - zapis; Q - powrót"
-
-#: ap-gl/auth_mac.c:38
-msgid "[I] RADIUS SERVER IP: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:39
-msgid "[P] RADIUS SERVER PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:40
-msgid "[S] RADIUS SERVER SECRET: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:41
-msgid "[T] REAUTHORIZATION TIME: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:42
-msgid "[F] RADIUS SOURCE PORT: "
-msgstr ""
-
-# src/ap-config.c:55
-#: ap-gl/auth_mac.c:87
-msgid "Internal"
-msgstr "Ogólnie"
-
-#: ap-gl/auth_mac.c:95
-msgid "<hidden>"
-msgstr "<ukryto>"
-
-#: ap-gl/bridge.c:26 src/bridge.c:26
-msgid "[I] IP: "
-msgstr ""
-
-# src/bridge.c:169
-#: ap-gl/bridge.c:27 src/bridge.c:27
-msgid "[N] Netmask: "
-msgstr "[N] Maska: "
-
-# src/bridge.c:171
-#: ap-gl/bridge.c:28 src/bridge.c:28
-msgid "[G] Gateway: "
-msgstr "[G] Brama: "
-
-# src/bridge.c:32
-#: ap-gl/bridge.c:29 src/bridge.c:29
-msgid "[F] Filter non-IP traffic: "
-msgstr "[F] Wycinaj ruch nie-IP: "
-
-# src/bridge.c:33
-#: ap-gl/bridge.c:30 src/bridge.c:30
-msgid "[P] Primary port: "
-msgstr "[P] Port podstawowy: "
-
-# src/bridge.c:144
-#: ap-gl/bridge.c:31 src/bridge.c:31
-msgid "Attached station MAC: "
-msgstr "MAC do³±czonej stacji:"
-
-# src/bridge.c:34
-#: ap-gl/bridge.c:32 src/bridge.c:32
-msgid "[D] DHCP client: "
-msgstr "[D] Klient DHCP: "
-
-# src/bridge.c:35
-#: ap-gl/bridge.c:33 src/bridge.c:33
-msgid "[O] Operational mode: "
-msgstr "[O] Tryb pracy: "
-
-# src/bridge.c:36
-#: ap-gl/bridge.c:34 src/bridge.c:34
-msgid "[M] Preferred BSSID (remote MAC addr.): "
-msgstr "[M] Zdalny adres fizyczny: "
-
-#: ap-gl/bridge.c:36 src/bridge.c:36
-msgid "[T] Trap-sending port(s): "
-msgstr "[T] SNMP-Trap na porty: "
-
-#: ap-gl/bridge.c:37 src/bridge.c:37
-msgid "[R] Forward broadcast traffic: "
-msgstr "[R] Przesy³aj ruch rozg³oszeniowy: "
-
-#: ap-gl/bridge.c:39
-msgid "[U] Isolate wireless clients: "
-msgstr "[U] Izoluj klientów radiowych: "
-
-# src/bridge.c:30
-#: ap-gl/bridge.c:40 src/bridge.c:40
-msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
-msgstr "BPGINFDRT - ustaw; W - Zapisz; Q - powrót"
-
-# src/bridge.c:85
-#: ap-gl/bridge.c:124 src/bridge.c:109
-msgid "Wireless Bridge Point to MultiPoint"
-msgstr "Bridge punkt-wielopunkt"
-
-# src/bridge.c:86
-#: ap-gl/bridge.c:125 src/bridge.c:110
-msgid "Access Point"
-msgstr "Access Point"
-
-# src/bridge.c:87
-#: ap-gl/bridge.c:126 src/bridge.c:111
-msgid "Access Point client"
-msgstr "Klient Access pointa"
-
-# src/bridge.c:88
-#: ap-gl/bridge.c:127 src/bridge.c:112
-msgid "Wireless Bridge Point to Point"
-msgstr "Bridge punkt-punkt"
-
-# src/bridge.c:88
-#: ap-gl/bridge.c:128 src/bridge.c:113
-msgid "Repeater"
-msgstr "Repeater"
-
-#: ap-gl/stations.c:77 src/stations.c:100
-#, fuzzy
-msgid "AP is currently in AP Client Mode => no associated STAtions."
-msgstr "AP jest teraz w trybie klienta i nie ma stacji pod³±czonych"
-
-#: ap-gl/stations.c:102
-msgid "# MAC LQ RSSI Status Port IP"
-msgstr ""
-
-# src/stations.c:110
-#: ap-gl/stations.c:128 src/stations.c:159
-msgid "AssociatedSTAsInfo packet error"
-msgstr "B³êdny pakiet AssociatedSTAsInfo"
-
-# src/stations.c:132 src/stations.c:284
-#: ap-gl/stations.c:160
-msgid "Arrows - scroll; S - save to file; Q - quit to menu."
-msgstr "Strza³ki - przewijanie; S - zapis do zbioru; Q - powrót."
-
# src/aps.c:138
-#: lib/aps.c:29
+#: lib/aps.c:30
msgid "Known Access Points"
msgstr "Znane Access pointy"
-#: lib/aps.c:129
+#: lib/aps.c:130
msgid "Your Access Point is not in \"AP client\" mode => getting"
msgstr "Twój AP nie jest w trybie \"klient AP\""
-#: lib/aps.c:132
+#: lib/aps.c:133
msgid "up-to-date \"Known APs\" info requires your AP to be"
msgstr ""
-#: lib/aps.c:135
+#: lib/aps.c:136
msgid "temporarily configured into \"AP client\" mode and rebooted."
msgstr "tymczasowo skonfigurowano w tryb klienta AP i zrestartowano."
-#: lib/aps.c:138
+#: lib/aps.c:139
msgid "Your AP will be reconfigured back to original mode by this"
msgstr ""
-#: lib/aps.c:141
+#: lib/aps.c:142
msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
msgstr ""
# src/ap-config.c:78
-#: lib/aps.c:144
+#: lib/aps.c:145
msgid "cause loss of Access Point's current configuration."
msgstr "Zapisuje aktualn± konfiguracje na sta³e"
-#: lib/aps.c:148
+#: lib/aps.c:149
msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
msgstr ""
# src/ap-config.c:44
-#: lib/aps.c:151
+#: lib/aps.c:152
msgid "via its wireless port."
msgstr "poprzez port radiowy"
# src/aps.c:91 src/cmd.c:41 src/cmd.c:85 src/cmd.c:141 src/test.c:82
-#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
+#: lib/aps.c:154 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:96
msgid "Do you want to continue? "
msgstr "Czesz kontynuowaæ?"
# src/aps.c:143
-#: lib/aps.c:207
+#: lib/aps.c:208
msgid "NetworkType"
msgstr "Typ sieci"
# src/aps.c:176
-#: lib/aps.c:283
+#: lib/aps.c:284
msgid "Infrastructure"
msgstr "Infrastruktura"
# src/aps.c:191
-#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
+#: lib/aps.c:344 lib/aps.c:352 lib/aps.c:360
msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
msgstr "P: Typ nag³ówka; P: Preambu³a (S: Krótki; L: D³ugi)"
-#: lib/aps.c:345
+#: lib/aps.c:346
msgid "RSSI: Radio Signal Strength Indicator [%]"
msgstr ""
-#: lib/aps.c:347 lib/aps.c:355
+#: lib/aps.c:348 lib/aps.c:356
msgid "; LQ: Link Quality [%]"
msgstr ""
-#: lib/aps.c:353
+#: lib/aps.c:354
msgid "RSSI: Radio Signal Strength Indicator [dBm]"
msgstr ""
-#: lib/aps.c:361
+#: lib/aps.c:362
msgid "RSSI: Radio Signal Strength Indicator [raw]"
msgstr ""
-#: lib/aps.c:363
+#: lib/aps.c:364
msgid "; LQ: Link Q. [raw]"
msgstr ""
# src/aps.c:194
-#: lib/aps.c:369
+#: lib/aps.c:370
#, fuzzy
msgid ""
"# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
"# po³±cz z tym AP; R od¶wie¿ przez reset; G od¶wie¿ bez resetu; Q wyj¶cie"
# src/aps.c:194
-#: lib/aps.c:371
+#: lib/aps.c:372
#, fuzzy
msgid ""
"# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
"# po³±cz z tym AP; R od¶wie¿ przez reset; G od¶wie¿ bez resetu; Q wyj¶cie"
# lib/ap_search.c:134
-#: lib/aps.c:500 lib/ap_search.c:167
+#: lib/aps.c:501 lib/ap_search.c:173
#, c-format
msgid "Failure in sendto(): %s. Press any key."
msgstr "B³±d sendto() : %s. Wci¶nij dowolny klawisz."
-#: lib/aps.c:509
+#: lib/aps.c:510
msgid "You have just initiated the AP scan. Be advised that it may"
msgstr "W³a¶nie zainicjalizowa³e¶ skanowanie sieci. Musisz wiedzieæ,"
-#: lib/aps.c:512
+#: lib/aps.c:513
msgid "take a few seconds for your Access Point to find out some"
msgstr "¿e potrwa chwilkê, zanim twój AP znajdzie cokolwiek"
-#: lib/aps.c:515
+#: lib/aps.c:516
msgid "values, so expect finishing the scan in about 5 seconds."
msgstr "i mo¿esz oczekiwaæ zakoñczenia skanowania do 5 sekund."
-#: lib/aps.c:518
+#: lib/aps.c:519
msgid "Also note that your Access Point stops forwarding the network"
msgstr "Musisz wiedzieæ równie¿. ¿e AP przestanie przesy³aæ ruch"
-#: lib/aps.c:521
+#: lib/aps.c:522
msgid "traffic while the scan is in progress, but restores itself"
msgstr "sieciowy podczas skanowania, ale przywróci swój stan"
-#: lib/aps.c:524
+#: lib/aps.c:525
msgid "to normal operation in time ranging up to 1 minute."
msgstr "do normalnej pracy po oko³o 1 minucie."
-#: lib/aps.c:527
+#: lib/aps.c:528
msgid "Hence, if you are connected to target Access Point via its"
msgstr "Uwa¿aj! Je¶li jeste¶ pod³±czony do tego AP przez jego"
-#: lib/aps.c:530
+#: lib/aps.c:531
msgid "wireless port, you need to wait a bit longer"
msgstr "port radiowy, bêdziesz musia³ poczekaæ trochê d³u¿ej"
-#: lib/aps.c:533
+#: lib/aps.c:534
msgid "after pressing 'S'."
msgstr "po naci¶niêciu klawisza 'S'."
msgstr "Dostêp"
#: lib/ap_search.c:49
-msgid " NUM IP ADDRESS MIB TYPE NAME"
+msgid " NUM IP ADDRESS MIB TYPE FW TYPE (VERSION) AP NAME"
msgstr ""
-#: lib/ap_search.c:100
+#: lib/ap_search.c:106
msgid "Please wait while scanning, or press 'Q' to quit."
msgstr "Trwa skanowanie, poczekaj chwilê, by przerwaæ wci¶nij 'Q'"
# lib/ap_search.c:110
-#: lib/ap_search.c:116
+#: lib/ap_search.c:122
msgid "Can't set broadcast option on socket. Press any key."
msgstr "Nie moge ustawiæ trybu BROADCAST. Wci¶nij dowolny klawisz."
# lib/ap_search.c:117
-#: lib/ap_search.c:125
+#: lib/ap_search.c:131
msgid "Can't set multicast membership on socket. Press any key."
msgstr "Nie moge ustawiæ przynale¿no¶ci multicast. Wci¶nij dowolny klawisz."
-#: lib/ap_search.c:132
+#: lib/ap_search.c:138
msgid "Scanning via network interface:"
msgstr "Szukam poprzez interfejs sieciowy: "
-#: lib/ap_search.c:133
+#: lib/ap_search.c:139
#, c-format
msgid " Index: %i"
msgstr " Indeks: %i"
# lib/ap-utils.h:78
-#: lib/ap_search.c:135
+#: lib/ap_search.c:141
#, c-format
msgid " Name: %s"
msgstr " Nazwa: %s"
-#: lib/ap_search.c:137
+#: lib/ap_search.c:143
#, c-format
msgid " IP: %s"
msgstr ""
-#: lib/ap_search.c:146
+#: lib/ap_search.c:152
#, fuzzy, c-format
msgid "Scanning for AP with MIB type: %s"
msgstr "Szukam typu AP: %s"
-#: lib/ap_search.c:334
-msgid "Please enter SNMP community name that will be used for AP detection."
-msgstr ""
-
# lib/ap_search.c:128
-#: lib/ap_search.c:345
+#: lib/ap_search.c:378
msgid "Access Points Search"
msgstr "Szukanie Access-pointów"
# src/ap-mrtg.c:178
-#: lib/ap_search.c:363
+#: lib/ap_search.c:396
msgid "realloc() error."
msgstr "B³±d otwarcia gniazdka"
-#: lib/ap_search.c:375
+#: lib/ap_search.c:408
msgid "Network interface discovery error."
msgstr "B³±d interfejsu sieciowego."
# src/stat.c:41
-#: lib/ap_search.c:450
+#: lib/ap_search.c:483
msgid "No local network interfaces found. Press any key."
msgstr "Nie znaleziono interfejsu sieci lokalnej. Wci¶nij dowolny klawisz."
-#: lib/ap_search.c:452
+#: lib/ap_search.c:485
msgid "No directly reachable Access Points found. Press any key."
msgstr "Nie znaleziono ¿adnego osi±galnego AP. Naci¶nij dowolny klawisz."
-#: lib/ap_search.c:457
+#: lib/ap_search.c:490
#, fuzzy
msgid "Single-screen maximum number of APs found."
msgstr "Program osi±gn±³ maksymaln± liczê Access Pointów znalezionych."
# lib/common.c:118
-#: lib/ap_search.c:460
+#: lib/ap_search.c:493
msgid "# - connect to AP; Q - quit"
msgstr "# - pod³±cz do AP; Q - wyjd¼"
# src/sysinfo.c:402
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:82
msgid "MAC address: "
msgstr "Adres MAC: "
# lib/ap-utils.h:80
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:83
msgid "[S] SNMP traps: "
msgstr "[S] Sygnalizacja SNMP: "
# lib/ap-utils.h:68
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:85
msgid "[C] Frequency channel: "
msgstr "[C] Czêstotliwo¶æ fali: "
# src/stat.c:123
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:87
msgid "Receive antenna:"
msgstr "Odebrane:"
# src/test.c:70
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:88
msgid "[U] Left"
msgstr "[U] Lewa"
# src/test.c:70
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:89
msgid "[I] Right"
msgstr "[I] Prawa"
# src/stat.c:124
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:90
msgid "Transmit antenna:"
msgstr "Antena nadawcza:"
# src/test.c:70
-#: lib/ap-utils.h:88
+#: lib/ap-utils.h:91
msgid "[O] Left"
msgstr "[O] Lewa"
# src/test.c:70
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:92
msgid "[P] Right"
msgstr "[P] Prawa"
# src/sysinfo.c:358
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:93
msgid "Diversity select:"
msgstr "Naprzemienno¶æ:"
# src/test.c:70
-#: lib/ap-utils.h:91
+#: lib/ap-utils.h:94
msgid "[T] Left"
msgstr "[T] Lewa"
# src/test.c:70
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:95
msgid "[Y] Right"
msgstr "[Y] Prawa"
-#: lib/ap-utils.h:94
+#: lib/ap-utils.h:97
msgid "Yes"
msgstr "Tak"
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:98
msgid "No"
msgstr "Nie"
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:100
msgid "On"
msgstr "w³±"
# lib/ap-utils.h:55
-#: lib/ap-utils.h:98
+#: lib/ap-utils.h:101
msgid "Off"
msgstr "wy³"
# lib/ap-utils.h:56
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:103
msgid "Basic"
msgstr "Podstawowy"
# lib/ap-utils.h:58
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:105
msgid "Press any key to continue."
msgstr "Wci¶nij dowolny klawisz aby kontynuowaæ."
-#: lib/ap-utils.h:103
-msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+#: lib/ap-utils.h:106
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update"
msgstr ""
# lib/ap-utils.h:86
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:108
msgid "Unable to write data to AP. Press any key to continue."
msgstr "Nie moge wys³aæ danych do AP. Wci¶nij dowolny klawisz."
# lib/ap-utils.h:87
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:109
#, fuzzy
msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
msgstr "Nie moge pobraæ danych z AP. Wci¶nij dowolny klawisz."
# lib/ap-utils.h:88
-#: lib/ap-utils.h:107
+#: lib/ap-utils.h:110
#, fuzzy
-msgid "Trying to retrieve data from AP. Please wait..."
+msgid "Trying to retrieve data from AP - please wait (or press Q to quit)."
msgstr "Pobieram dane z AP. Proszê czekaæ..."
# lib/ap-utils.h:89
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:111
msgid "Writing data to AP. Please wait..."
msgstr "Zapisuje dane do AP. Proszê czekaæ..."
# lib/ap-utils.h:86
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:112
msgid "Configuration written to the AP. Press any key to continue."
msgstr "Konfiguracja zapisana do AP. Wci¶nij dowolny klawisz."
# src/stat.c:40
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:113
#, fuzzy
msgid "select() function error. Press any key."
msgstr "B³±d fcntl(). Wci¶nij dowolny klawisz."
-# lib/ap-utils.h:92
-#: lib/ap-utils.h:112
-msgid "Create socket error. Press any key."
-msgstr "Nie moge utworzyæ gniazdka. Wci¶nij dowolny klawisz."
+# src/stat.c:40
+#: lib/ap-utils.h:114
+#, fuzzy
+msgid "socket() or bind() function error. Press any key."
+msgstr "B³±d fcntl(). Wci¶nij dowolny klawisz."
-# lib/ap-utils.h:93
-#: lib/ap-utils.h:113
-msgid "Bind socket error. Press any key."
-msgstr "Bl±d gniazdka. Wci¶nij dowolny klawisz."
+# lib/ap-utils.h:87
+#: lib/ap-utils.h:116
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr "Nie moge pobraæ danych z AP. Wci¶nij dowolny klawisz."
+
+#: lib/ap-utils.h:117
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
# lib/ap-utils.h:102
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:119
msgid "Back to main menu"
msgstr "Powrót do menu g³ównego"
# lib/ap-utils.h:103
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:120
msgid "Exit program"
msgstr "Wyj¶cie z programu"
# lib/ap-utils.h:104
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:121
msgid "Run subshell. To return type 'exit'."
msgstr "Uruchomienie podpow³oki. By wróciæ wpisz 'exit'."
+#: lib/ap-utils.h:122
+msgid "Change polling mode interval"
+msgstr ""
+
# lib/ap-utils.h:105
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:123
msgid "Short info about program"
msgstr "O programie"
# lib/ap-utils.h:106
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:124
msgid "Find connected Access Points"
msgstr "Znajd¼ pod³±czone Access-pointy"
# lib/ap-utils.h:107
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:125
msgid "Set connection options: ip and community"
msgstr "Ustawianie opcji po³±czeñ: ip i grupa"
# lib/ap-utils.h:108
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:126
msgid "Set encryption; edit WEP keys"
msgstr "Ustawianie szyfracji, zmiana kluczy"
# lib/ap-utils.h:109
-#: lib/ap-utils.h:122
-msgid "Set MAC authorization; edit MAC authorization table"
+#: lib/ap-utils.h:127
+#, fuzzy
+msgid "Set authorization; edit MAC authorization table"
msgstr "Ustawianie praw dostêpu w/g MAC i listy MAC"
# lib/ap-utils.h:110
-#: lib/ap-utils.h:123
+#: lib/ap-utils.h:128
msgid "Set SNMP community/password for access to the AP"
msgstr "Ustawianie hase³/praw SNMP dla AP"
# lib/ap-utils.h:111
-#: lib/ap-utils.h:124
+#: lib/ap-utils.h:129
msgid "Get info about AP hardware and firmware"
msgstr "Informacja o sprzêcie i oprogramowaniu AP"
# lib/ap-utils.h:112
-#: lib/ap-utils.h:125
+#: lib/ap-utils.h:130
msgid "Get wireless port statistics"
msgstr "Statystyki portu radiowego"
# lib/ap-utils.h:113
-#: lib/ap-utils.h:126
+#: lib/ap-utils.h:131
msgid "Get list of currently associated stations (Access Point clients)"
msgstr "Lista aktualnie przy³±czonych stacji"
+#: lib/ap-utils.h:132
+msgid "Get link status in APclient mode"
+msgstr ""
+
# lib/ap-utils.h:114
-#: lib/ap-utils.h:127
+#: lib/ap-utils.h:133
msgid "Get info and statistics from AP"
msgstr "Pobieram informacje i statystyki z AP"
# lib/ap-utils.h:115
-#: lib/ap-utils.h:128
+#: lib/ap-utils.h:134
msgid "Set various configuration options"
msgstr "Ustawianie ró¿nych opcji"
# src/stations.c:194 src/stations.c:278
-#: lib/ap-utils.h:130
+#: lib/ap-utils.h:136
msgid "Associated stations"
msgstr "Pod³±czone stacje"
-#: lib/ap-utils.h:132
+#: lib/ap-utils.h:137
+msgid "AP Client link state"
+msgstr ""
+
+#: lib/ap-utils.h:139
msgid "Polling: on"
msgstr ""
-#: lib/ap-utils.h:133
+#: lib/ap-utils.h:140
msgid "Polling: off"
msgstr ""
msgstr "Konfiguracja za³adowana. Wci¶nij dowolny klawisz."
# lib/common.c:120
-#: lib/common.c:30
+#: lib/common.c:32
msgid "Access Point IP-address: "
msgstr "Adres IP Access Pointa: "
# lib/common.c:121
-#: lib/common.c:31
+#: lib/common.c:33
msgid "Password (community): "
msgstr "Has³o (community): "
-#: lib/common.c:32
+#: lib/common.c:34
#, fuzzy
msgid "Autodetect AP MIB properties? "
msgstr "Wykryæ typ AP? "
# lib/common.c:122
-#: lib/common.c:33
+#: lib/common.c:35
#, fuzzy
msgid "AP MIB type: "
msgstr "Typ AP: "
-#: lib/common.c:34
+#: lib/common.c:36
msgid "AP MIB vendor extensions: "
msgstr ""
# src/aps.c:91 src/cmd.c:41 src/cmd.c:85 src/cmd.c:141 src/test.c:82
-#: lib/common.c:35
+#: lib/common.c:37
#, fuzzy
msgid "Do you want to use AP's name as its label? "
msgstr "Czesz kontynuowaæ?"
# src/bridge.c:86
-#: lib/common.c:36
+#: lib/common.c:38
#, fuzzy
msgid "Access Point label: "
msgstr "Access Point"
# lib/common.c:159
-#: lib/common.c:37
+#: lib/common.c:39
msgid "Save connect-settings: "
msgstr "Zapisz na sta³e: "
+#: lib/common.c:40
+msgid "[P] Polling mode interval (tenths of second): "
+msgstr ""
+
+# src/wlan.c:185
+#: lib/common.c:41
+#, fuzzy
+msgid "P - change polling mode interval; Q - quit to menu"
+msgstr "[kl] - ustaw opcje; W - zapis; Q - wyj¶cie do menu"
+
+# lib/common.c:50 src/ap-config.c:147
+#: lib/common.c:89 src/ap-config.c:158
+msgid "About"
+msgstr "O..."
+
# lib/common.c:67
-#: lib/common.c:100
+#: lib/common.c:106
#, c-format
msgid "From %s"
msgstr "Od %s"
# lib/common.c:69
-#: lib/common.c:102
+#: lib/common.c:108
#, c-format
msgid "Version %s"
msgstr "Wersja %s"
# lib/common.c:72
-#: lib/common.c:105
+#: lib/common.c:111
msgid "Written by Roman Festchook roma@polesye.net"
msgstr "Napisa³ Roman Festchook (roma@polesye.net)"
-#: lib/common.c:107
-msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+#: lib/common.c:113
+msgid "and Jan Rafaj jr-aputils@cedric.unob.cz"
msgstr ""
# lib/common.c:74
-#: lib/common.c:109
+#: lib/common.c:115
#, fuzzy
-msgid "Copyright (c) 2001-2004"
+msgid "Copyright (c) 2001-2005"
msgstr "Prawa autorskie - Roman Festchook 2001-2004"
-#: lib/common.c:111
+#: lib/common.c:117
msgid "Roman Festchook and Jan Rafaj"
msgstr ""
# lib/common.c:77
-#: lib/common.c:114
+#: lib/common.c:120
msgid "This program is distributed under the terms"
msgstr "Program dostêpnu wed³ug zasad"
# lib/common.c:79
-#: lib/common.c:116
+#: lib/common.c:122
msgid "of the GNU General Public License version 2."
msgstr "Publicznej Licencji GNU w wersji 2."
# lib/common.c:81
-#: lib/common.c:118
+#: lib/common.c:124
msgid "See the included COPYING file for details."
msgstr "Szczegó³y - przeczytaj plik COPYING."
# lib/common.c:118
-#: lib/common.c:175
+#: lib/common.c:165
msgid "Connect options"
msgstr "Opcje pod³±czenia"
# lib/common.c:124
-#: lib/common.c:183
+#: lib/common.c:173
msgid "Enter IP address of your Access Point."
msgstr "Wpisz adres IP swojego Access Pointa."
# lib/common.c:133
-#: lib/common.c:192
+#: lib/common.c:182
msgid "Entered characters will not be displayed for security reason."
msgstr "Wpisywane litery nie bêd± wy¶wietlane z powodów bezpieczeñstwa."
-#: lib/common.c:266
+#: lib/common.c:249
msgid "This label will be stored on HDD (independently on AP name!)."
msgstr ""
# lib/ap-utils.h:89
-#: lib/common.c:361
+#: lib/common.c:362
#, fuzzy
msgid "Trying to probe AP for MIB properties. Please wait..."
msgstr "Zapisuje dane do AP. Proszê czekaæ..."
# lib/ap-utils.h:87
-#: lib/common.c:390
+#: lib/common.c:391
#, fuzzy
msgid ""
"Unable to determine AP MIB properties (no response from AP). Press any key."
msgstr "Nie moge pobraæ danych z AP. Wci¶nij dowolny klawisz."
-#: lib/file.c:205
+#: lib/common.c:489 lib/set_oeminfo.c:221
+#, c-format
+msgid "%s%u"
+msgstr ""
+
+#: lib/common.c:491
+#, c-format
+msgid "(%0.1f seconds)"
+msgstr ""
+
+#: lib/file.c:199
msgid "NUM IP ADDRESS MIB TYPE MIB EXT. LABEL"
msgstr ""
-#: lib/file.c:206
+#: lib/file.c:200
msgid "Choose an AP to connect to"
msgstr "Wybierz AP do którego chcesz siê pod³±czyæ"
-#: lib/file.c:212
+#: lib/file.c:206
msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
msgstr ""
"1-9,C: pod³±cz; N: nowy; D: kasuj; W: zapisz; Q: wyjd¼; kursor: przewiñ"
# lib/common.c:118
-#: lib/file.c:268
+#: lib/file.c:257
msgid "Connect to AP num:"
msgstr "Nr AP do pod³. :"
# lib/ap-utils.h:121
-#: lib/file.c:304
+#: lib/file.c:288
msgid "Delete num:"
msgstr "Skasuj pozycje:"
-#: lib/file.c:372
-msgid "AP list file ~/.ap-config successfully written. Press any key."
-msgstr ""
-
-# lib/ap-utils.h:87
-#: lib/file.c:376
-#, fuzzy
-msgid "Unable to write AP list file ~/.ap-config. Press any key."
-msgstr "Nie moge pobraæ danych z AP. Wci¶nij dowolny klawisz."
-
# lib/ap-utils.h:86
-#: lib/file.c:426
+#: lib/file.c:442
#, fuzzy
msgid "Unable to write stations file. Press any key."
msgstr "Nie moge wys³aæ danych do AP. Wci¶nij dowolny klawisz."
-#: lib/file.c:428
+#: lib/file.c:444
msgid "Stations file succesfully written. Press any key."
msgstr ""
# src/bridge.c:31
-#: lib/input.c:33
+#: lib/input.c:32
msgid "Invalid value. Press any key to continue."
msgstr "B³êdny adres IP. Wci¶nij dowolny klawisz."
# lib/ap-utils.h:86
-#: lib/input.c:34
+#: lib/input.c:33
#, fuzzy, c-format
msgid "Value must be in range %u - %u. Press any key to continue."
msgstr "Warto¶æ musi byæ od %i do %i. Wci¶nij dowolny klawisz."
# src/aps.c:93
-#: lib/input.c:412
+#: lib/input.c:460
#, fuzzy
msgid "Y - Yes; Any other key - No (it's safer to answer No)"
msgstr "(Y - Tak; N - Nie (lepiej nie)"
# lib/oui.c:6048
-#: lib/oui.c:6056
+#: lib/oui.c:6061
msgid "Unknown or Private"
msgstr "Nieznany lub Prywatny"
msgstr "Nie wy³±cza siê wszystkich anten!!! Wci¶nij dowolny klawisz"
# lib/scr.c:112
-#: lib/scr.c:168
+#: lib/scr.c:157
#, fuzzy, c-format
msgid "Current AP: %s Type: %s Ext: %s"
msgstr "Aktualny AP: %s Typ: %s"
"[key] - set community/password; W - write config to AP; Q - quit to menu"
msgstr "Kl. - ustaw has³o; W - zapisz konfiguracje; Q - wyj¶cie"
+# src/sysinfo.c:134
+#: lib/set_oeminfo.c:28
+#, fuzzy
+msgid "Info structure version: "
+msgstr "StructVersion: %u"
+
+# src/sysinfo.c:402
+#: lib/set_oeminfo.c:29
+#, fuzzy
+msgid "[M] Device MAC address: "
+msgstr "Adres MAC: "
+
+# src/sysinfo.c:273
+#: lib/set_oeminfo.c:30
+#, fuzzy
+msgid " Manufacturer with this OUI: "
+msgstr "ID producenta:"
+
+# src/sysinfo.c:316
+#: lib/set_oeminfo.c:31
+#, fuzzy
+msgid "[D] Regulatory domain: "
+msgstr "Regulacje dot. kana³ów: %s"
+
+# src/sysinfo.c:108
+#: lib/set_oeminfo.c:32
+#, fuzzy
+msgid "[T] Product type: "
+msgstr "Typ produktu: %u"
+
+# src/sysinfo.c:116
+#: lib/set_oeminfo.c:33
+#, fuzzy
+msgid "[E] OEM name: "
+msgstr "Nazwa OEM:"
+
+#: lib/set_oeminfo.c:34
+msgid "[I] OEM ID: "
+msgstr ""
+
+# src/sysinfo.c:103 src/sysinfo.c:285
+#: lib/set_oeminfo.c:35
+#, fuzzy
+msgid "[N] Product name: "
+msgstr "Produkt:"
+
+# src/sysinfo.c:111
+#: lib/set_oeminfo.c:36
+#, fuzzy
+msgid "[H] Hardware revision: "
+msgstr "Wersja sprzêtu: %u"
+
+# src/test.c:30
+#: lib/set_oeminfo.c:37
+#, fuzzy
+msgid "[O] Country code: "
+msgstr "[O] Komenda: "
+
+# lib/ap-utils.h:68
+#: lib/set_oeminfo.c:38
+#, fuzzy
+msgid "[C] Default channel: "
+msgstr "[C] Czêstotliwo¶æ fali: "
+
+# lib/ap-utils.h:68
+#: lib/set_oeminfo.c:39
+#, fuzzy
+msgid "[A] Calibrated channels: "
+msgstr "[C] Czêstotliwo¶æ fali: "
+
+#: lib/set_oeminfo.c:40
+msgid "[P] Nominal Tx Power (CR31) value for calibrated channels: "
+msgstr ""
+
+# src/wlan.c:185
+#: lib/set_oeminfo.c:41
+#, fuzzy
+msgid ""
+"Keys in brackets - set corresponding option; W - write conf; Q - quit to menu"
+msgstr "[kl] - ustaw opcje; W - zapis; Q - wyj¶cie do menu"
+
+#: lib/set_oeminfo.c:101
+msgid "THIS IS A SECRET MENU LEADING TO VERY DANGEROUS OPTIONS."
+msgstr ""
+
+#: lib/set_oeminfo.c:103
+msgid "It is intended only for WISPs and repair shops."
+msgstr ""
+
+#: lib/set_oeminfo.c:107
+msgid "It allows to set OEM information stored in the AP (like its"
+msgstr ""
+
+#: lib/set_oeminfo.c:109
+msgid "MAC address, manuf. name, OEM ID, etc.). BE ABSOLUTELY SURE"
+msgstr ""
+
+#: lib/set_oeminfo.c:111
+msgid "THAT YOU KNOW WHAT YOU ARE DOING, AND THAT YOU HAVE THE"
+msgstr ""
+
+#: lib/set_oeminfo.c:113
+msgid "LEGAL RIGHT TO DO ANY MODIFICATION. Disobserving of these"
+msgstr ""
+
+#: lib/set_oeminfo.c:115
+msgid "rules may lead you into a conflict with your local"
+msgstr ""
+
+#: lib/set_oeminfo.c:117
+msgid "regulations and/or law."
+msgstr ""
+
+#: lib/set_oeminfo.c:119
+msgid "Also be warned that the setting of any from these options"
+msgstr ""
+
+#: lib/set_oeminfo.c:121
+msgid "may DAMAGE YOUR AP (other reason why this menu is hidden)."
+msgstr ""
+
+#: lib/set_oeminfo.c:123
+msgid "Values changed here will NOT be restored upon reset"
+msgstr ""
+
+#: lib/set_oeminfo.c:125
+msgid "of the device to factory defaults! It is advisable to"
+msgstr ""
+
+#: lib/set_oeminfo.c:127
+msgid "write them down somewhere prior their changing."
+msgstr ""
+
+#: lib/set_oeminfo.c:129
+msgid "Finally, note that you need to use MANUFACTURER community, "
+msgstr ""
+
+#: lib/set_oeminfo.c:131
+msgid "in order to be able to do any OEM info modification."
+msgstr ""
+
+#: lib/set_oeminfo.c:133
+msgid "Proceed further only at your full risk and responsibility. "
+msgstr ""
+
+#: lib/set_oeminfo.c:135
+msgid "You got the warnings."
+msgstr ""
+
+#: lib/set_oeminfo.c:141
+msgid "OEM Info settings"
+msgstr ""
+
# src/stat.c:72
#: lib/stat.c:29
msgid "Ethernet Statistics"
msgid "System Info"
msgstr "Informacja o systemie"
-#: lib/sysinfo.c:120
+# src/bridge.c:85
+#: lib/sysinfo.c:55 src/bridge.c:50
+msgid "Wireless Bridge Point to MultiPoint"
+msgstr "Bridge punkt-wielopunkt"
+
+# src/bridge.c:86
+#: lib/sysinfo.c:56 src/bridge.c:51
+msgid "Access Point"
+msgstr "Access Point"
+
+# src/bridge.c:87
+#: lib/sysinfo.c:57 src/bridge.c:52
+msgid "Access Point client"
+msgstr "Klient Access pointa"
+
+# src/bridge.c:88
+#: lib/sysinfo.c:58 src/bridge.c:53
+msgid "Wireless Bridge Point to Point"
+msgstr "Bridge punkt-punkt"
+
+# src/bridge.c:88
+#: lib/sysinfo.c:59 src/bridge.c:54
+msgid "Repeater"
+msgstr "Repeater"
+
+# src/sysinfo.c:131 src/sysinfo.c:216 src/sysinfo.c:322
+#: lib/sysinfo.c:60 lib/sysinfo.c:315 lib/sysinfo.c:424 src/bridge.c:55
+msgid "unknown"
+msgstr "nieznany"
+
+#: lib/sysinfo.c:144
msgid "Device hardware/software/name info:"
msgstr "Wersja urz±dzenia sprzêtowa/programowa/nazwa:"
+# src/bridge.c:35
+#: lib/sysinfo.c:172
+#, fuzzy, c-format
+msgid "Operational mode: %s"
+msgstr "[O] Tryb pracy: "
+
# src/sysinfo.c:103 src/sysinfo.c:285
-#: lib/sysinfo.c:154
-msgid "Product name:"
+#: lib/sysinfo.c:182
+#, fuzzy
+msgid "Product name: "
msgstr "Produkt:"
# src/sysinfo.c:108
-#: lib/sysinfo.c:158
+#: lib/sysinfo.c:186
#, c-format
msgid "Product type: %u"
msgstr "Typ produktu: %u"
# src/sysinfo.c:116
-#: lib/sysinfo.c:161
-msgid "OEM name:"
+#: lib/sysinfo.c:189
+#, fuzzy
+msgid "OEM name: "
msgstr "Nazwa OEM:"
# src/sysinfo.c:111
-#: lib/sysinfo.c:168
+#: lib/sysinfo.c:196
#, c-format
msgid "Hardware revision: %u"
msgstr "Wersja sprzêtu: %u"
# src/sysinfo.c:134
-#: lib/sysinfo.c:176
+#: lib/sysinfo.c:204
#, c-format
msgid "Info structure version: %u"
msgstr "StructVersion: %u"
# src/sysinfo.c:138 src/sysinfo.c:279
-#: lib/sysinfo.c:179 lib/sysinfo.c:355
+#: lib/sysinfo.c:207 lib/sysinfo.c:383
#, c-format
msgid "Manufacturer OUI: %02X %02X %02X (%s)"
msgstr "OUI producenta: %02X %02X %02X (%s)"
# src/sysinfo.c:386
-#: lib/sysinfo.c:196
+#: lib/sysinfo.c:224
#, fuzzy, c-format
msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
msgstr "Dzia³a ju¿: %u:%02u:%02u.%02u"
# src/sysinfo.c:213
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "FHSS 2.4 GHz"
msgstr "FHSS 2.4 GHz"
# src/sysinfo.c:213
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "DSSS 2.4 GHz"
msgstr "DSSS 2.4 GHz"
# src/sysinfo.c:213
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "IR Baseband"
msgstr "IR Baseband"
# src/sysinfo.c:214
-#: lib/sysinfo.c:285
+#: lib/sysinfo.c:313
msgid "Commercial range 0..40 C"
msgstr "Temp. standardowe: 0..40 C"
# src/sysinfo.c:215
-#: lib/sysinfo.c:286
+#: lib/sysinfo.c:314
msgid "Industrial range -30..70 C"
msgstr "Temp przemys³owe: -30..70 C"
-# src/sysinfo.c:131 src/sysinfo.c:216 src/sysinfo.c:322
-#: lib/sysinfo.c:287 lib/sysinfo.c:396
-msgid "unknown"
-msgstr "nieznany"
-
# src/sysinfo.c:218
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "manual"
msgstr "rêczne"
# src/sysinfo.c:218
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "notsupported"
msgstr "nie obs³ugiwane"
# src/sysinfo.c:218
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "dynamic"
msgstr "dynamiczne"
# src/sysinfo.c:267
-#: lib/sysinfo.c:345
+#: lib/sysinfo.c:373
msgid "Manufacturer:"
msgstr "Producent:"
# src/sysinfo.c:273
-#: lib/sysinfo.c:350
+#: lib/sysinfo.c:378
msgid "Manufacturer ID:"
msgstr "ID producenta:"
# src/sysinfo.c:103 src/sysinfo.c:285
-#: lib/sysinfo.c:361
+#: lib/sysinfo.c:389
msgid "Product Name:"
msgstr "Nazwa produktu:"
# src/sysinfo.c:292
-#: lib/sysinfo.c:367
+#: lib/sysinfo.c:395
msgid "Product ID:"
msgstr "ID produktu:"
# src/sysinfo.c:298
-#: lib/sysinfo.c:373
+#: lib/sysinfo.c:401
msgid "Product Version:"
msgstr "Wersja produktu:"
# src/sysinfo.c:306
-#: lib/sysinfo.c:379
+#: lib/sysinfo.c:407
#, c-format
msgid "PHYType: %s"
msgstr "Typ PHY: %s"
# src/sysinfo.c:309
-#: lib/sysinfo.c:382
+#: lib/sysinfo.c:410
#, c-format
msgid "Temperature: %s"
msgstr "Temperatura: %s"
# src/sysinfo.c:316
-#: lib/sysinfo.c:390
+#: lib/sysinfo.c:418
#, fuzzy, c-format
msgid "Regulatory Domain: %s"
msgstr "Regulacje dot. kana³ów: %s"
# src/sysinfo.c:126 src/sysinfo.c:317
-#: lib/sysinfo.c:391
+#: lib/sysinfo.c:419
msgid "FCC (USA)"
msgstr "FCC (USA)"
# src/sysinfo.c:127 src/sysinfo.c:318
-#: lib/sysinfo.c:392
+#: lib/sysinfo.c:420
msgid "DOC (Canada)"
msgstr "DOC (Kanada)"
# src/sysinfo.c:128 src/sysinfo.c:319
-#: lib/sysinfo.c:393
+#: lib/sysinfo.c:421
msgid "ETSI (Europe)"
msgstr "ETSI (Europa)"
# src/sysinfo.c:129 src/sysinfo.c:320
-#: lib/sysinfo.c:394
+#: lib/sysinfo.c:422
msgid "Spain"
msgstr "Hiszpania"
# src/sysinfo.c:130 src/sysinfo.c:321
-#: lib/sysinfo.c:395
+#: lib/sysinfo.c:423
msgid "France"
msgstr "Francja"
# src/sysinfo.c:131 src/sysinfo.c:322
-#: lib/sysinfo.c:396
+#: lib/sysinfo.c:424
msgid "MKK (Japan)"
msgstr "MKK (Japonia)"
# src/sysinfo.c:325
-#: lib/sysinfo.c:399
+#: lib/sysinfo.c:427
#, c-format
msgid "Transmit Power: %u mW"
msgstr "Moc wyj¶ciowa: %u mW"
# src/sysinfo.c:355
-#: lib/sysinfo.c:429
+#: lib/sysinfo.c:457
#, fuzzy, c-format
msgid "WEP implemented: %s"
msgstr "Obs³uga WEP: %s"
# src/sysinfo.c:358
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
#, c-format
msgid "Diversity: %s"
msgstr "Naprzemienno¶æ: %s"
# src/sysinfo.c:386
-#: lib/sysinfo.c:460
+#: lib/sysinfo.c:488
#, c-format
msgid "Uptime: %u:%02u:%02u.%02u"
msgstr "Dzia³a ju¿: %u:%02u:%02u.%02u"
# src/sysinfo.c:402
-#: lib/sysinfo.c:480
+#: lib/sysinfo.c:508
#, c-format
msgid "IP Address: %s"
msgstr "Adres IP: %s"
msgid "Right"
msgstr "Prawa"
+#: lib/test.c:79
+msgid "Devices with ATMEL12350 MIB not yet supported."
+msgstr ""
+
# src/test.c:78
-#: lib/test.c:86
+#: lib/test.c:91
msgid "Test mode"
msgstr "Tryb testowy"
# src/test.c:81
-#: lib/test.c:89
+#: lib/test.c:94
msgid "Using the \"Test mode\" may cause loss of your current"
msgstr "U¿ycie trybu testowego mo¿e spowodowaæ utratê obecnej"
# src/cmd.c:134
-#: lib/test.c:90
+#: lib/test.c:95
msgid "configuration."
msgstr "konfiguracji."
# src/test.c:106
-#: lib/test.c:102
+#: lib/test.c:107
msgid "Options:"
msgstr "Opcje:"
# src/test.c:132
-#: lib/test.c:128
+#: lib/test.c:133
msgid "Statistics:"
msgstr "Statystyki:"
# src/test.c:133
-#: lib/test.c:129
+#: lib/test.c:134
msgid "Success Frames: 0 Failed Frames: 0"
msgstr "Ramki OK: 0 Ramki z³e: 0"
# src/test.c:197
-#: lib/test.c:190
+#: lib/test.c:195
#, c-format
msgid "Success Frames: %lu Failed Frames: %lu"
msgstr "Ramki OK: %lu Ramki z³e: %lu"
msgstr ""
#: lib/wlan.c:48
-msgid "[T] SIFS time (msec): "
+msgid "[T] SIFS time (2nd+ interframe spacing, usec): "
msgstr ""
# src/wlan.c:185
msgstr "D³uga"
# src/wlan.c:104
-#: lib/wlan.c:237
+#: lib/wlan.c:239
msgid "Wireless Settings"
msgstr "Parametry radia"
# src/wlan.c:584
-#: lib/wlan.c:731
+#: lib/wlan.c:735
msgid "Antenna Configuration:"
msgstr "Konfiguracja anten:"
# src/wlan.c:596
-#: lib/wlan.c:748
+#: lib/wlan.c:752
msgid "General Options"
msgstr "Opcje ogólne"
# src/wlan.c:598
-#: lib/wlan.c:750
+#: lib/wlan.c:754
msgid ""
"UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
msgstr "UIOPTY - antena; SCANLEDFR1234 - opcje; W - zapis; Q - powrót"
+# src/auth_mac.c:35
+#: src/ap-auth.c:32 src/auth.c:28
+msgid "AuthorizedMacTableString packet error"
+msgstr "B³êdny pakiet AuthorizedMacTableString"
+
+#: src/ap-auth.c:33
+msgid "Invalid data in source file"
+msgstr ""
+
+#: src/ap-auth.c:34
+msgid "Can't open file"
+msgstr ""
+
+#: src/ap-auth.c:35
+msgid "Can't write to file"
+msgstr ""
+
+#: src/ap-auth.c:36
+msgid "Error closing file"
+msgstr ""
+
+# src/ap-mrtg.c:45
+#: src/ap-auth.c:44 src/ap-mrtg.c:41 src/ap-rrd.c:40
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"U¿ycie:\n"
+
+#: src/ap-auth.c:45
+msgid "\tap-auth -i ip -c community -d filename [-h]\n"
+msgstr ""
+
+#: src/ap-auth.c:46
+msgid ""
+"\tap-auth -i ip -c community -u filename [-h]\n"
+"\n"
+msgstr ""
+
+#: src/ap-auth.c:47
+msgid ""
+"Change accesspoint's list of authorised MAC addresses\n"
+"\n"
+msgstr ""
+
+# src/ap-mrtg.c:50
+#: src/ap-auth.c:48 src/ap-mrtg.c:45 src/ap-rrd.c:45
+msgid "-i ip - AP ip address\n"
+msgstr "-i ip - adres IP\n"
+
+# src/ap-mrtg.c:51
+#: src/ap-auth.c:49 src/ap-mrtg.c:46 src/ap-rrd.c:46
+msgid "-c community - SNMP community string\n"
+msgstr "-c communauté has³o SNMP\n"
+
+#: src/ap-auth.c:50
+msgid ""
+"-d filename - download list of authorised MAC addresses from AP to a file\n"
+msgstr ""
+
+#: src/ap-auth.c:52
+msgid ""
+"-u filename - upload list of authorised MAC addresses from a file to AP\n"
+msgstr ""
+
+# src/ap-mrtg.c:59
+#: src/ap-auth.c:54 src/ap-mrtg.c:55 src/ap-rrd.c:55
+msgid ""
+"-h - print this help screen\n"
+"\n"
+msgstr ""
+"-h - ten tekst\n"
+"\n"
+
+# src/ap-mrtg.c:60
+#: src/ap-auth.c:55
+#, fuzzy, c-format
+msgid ""
+"ap-auth %s Copyright (c) 2004 Teemu Kiviniemi\n"
+"\n"
+msgstr ""
+"ap-mrtg %s Prawa autorskie © 2002-2003 Roman Festchook\n"
+"\n"
+
+# src/ap-mrtg.c:142
+#: src/ap-auth.c:138 src/ap-mrtg.c:132
+#, fuzzy
+msgid "Error: invalid IP-address.\n"
+msgstr "B³êdny adres IP\n"
+
+# lib/ap-utils.h:87
+#: src/ap-auth.c:203 src/ap-mrtg.c:204
+#, fuzzy
+msgid "Unable to determine AP MIB type (no response from AP)."
+msgstr "Nie moge pobraæ danych z AP. Wci¶nij dowolny klawisz."
+
+#: src/ap-auth.c:211
+msgid "NWN devices are not yet supported."
+msgstr ""
+
+# src/ap-config.c:42 src/bridge.c:166
+#: src/ap-config.c:43 src/bridge.c:201
+msgid "Bridging"
+msgstr "Podstawowe"
+
+# src/ap-config.c:42
+#: src/ap-config.c:43
+msgid "Set bridging and IP-related options"
+msgstr "Ustawianie opcji mostu i IP"
+
+# src/ap-config.c:44 src/ap-config.c:112 src/ap-config.c:121 src/bridge.c:90
+#: src/ap-config.c:45 src/ap-config.c:114 src/ap-config.c:123 src/bridge.c:125
+msgid "Wireless"
+msgstr "Radiowe"
+
+# src/ap-config.c:44
+#: src/ap-config.c:45
+msgid "Set wireless options"
+msgstr "Opcje radiowe"
+
+# src/ap-config.c:45 src/ap-config.c:57
+#: src/ap-config.c:46 src/ap-config.c:58
+msgid "Privacy"
+msgstr "Klucze"
+
+# lib/common.c:50 src/ap-config.c:147
+#: src/ap-config.c:47
+#, fuzzy
+msgid "Auth"
+msgstr "O..."
+
+# src/ap-config.c:47 src/ap-config.c:59
+#: src/ap-config.c:48 src/ap-config.c:60
+msgid "Community"
+msgstr "Dostêp"
+
+# src/ap-config.c:48
+#: src/ap-config.c:49
+msgid "Radio"
+msgstr "Radio"
+
+# src/ap-config.c:48
+#: src/ap-config.c:49
+msgid "Set radio signal power and antenna options"
+msgstr "Ustawianie mocy sygna³u i opcji antenowych"
+
# src/ap-config.c:55
-#: src/ap-config.c:54
+#: src/ap-config.c:56
msgid "General"
msgstr "Ogólne"
# src/ap-config.c:55
-#: src/ap-config.c:54
+#: src/ap-config.c:56
msgid "Set general options"
msgstr "Opcje ogólne"
# src/ap-config.c:56
-#: src/ap-config.c:55
+#: src/ap-config.c:57
msgid "Advanced"
msgstr "Zaawansowane"
# src/ap-config.c:56
-#: src/ap-config.c:55
+#: src/ap-config.c:57
msgid "Set advanced options"
msgstr "Opcje zaawansowane"
+# src/ap-config.c:46 src/ap-config.c:58
+#: src/ap-config.c:59
+msgid "MAC auth"
+msgstr "Blokuj MAC"
+
+# src/ap-config.c:78
+#: src/ap-config.c:82
+msgid "Upload"
+msgstr "Wy¶lij"
+
+# src/ap-config.c:78
+#: src/ap-config.c:82
+#, fuzzy
+msgid "Activate current configuration"
+msgstr "Uczyñ konfiguracjê aktywn±"
+
+# src/ap-config.c:79
+#: src/ap-config.c:83
+msgid "Defaults"
+msgstr "Domy¶lne"
+
+# src/ap-config.c:79
+#: src/ap-config.c:83
+msgid "Restore factory default settings"
+msgstr "Przywróæ ustawienia producenta"
+
+# src/ap-config.c:81 src/ap-config.c:89
+#: src/ap-config.c:84 src/ap-config.c:91
+msgid "Reset"
+msgstr "Reset"
+
+# src/ap-config.c:82
+#: src/ap-config.c:85
+msgid "Reset AP. All not uploaded configuration will be lost"
+msgstr "Reset. Wszystkie nie za³adowane opcje bêd± utracone"
+
+# src/ap-config.c:84
+#: src/ap-config.c:86
+msgid "TestMode"
+msgstr "TrybTest"
+
+# src/ap-config.c:84
+#: src/ap-config.c:86
+msgid "Put Access Point in test mode"
+msgstr "W³±cza tryb testowy AP"
+
#
# src/ap-config.c:89
-#: src/ap-config.c:89
+#: src/ap-config.c:91
msgid "Reset AP."
msgstr "Reset AP."
+# src/ap-config.c:110 src/ap-config.c:120
+#: src/ap-config.c:112 src/ap-config.c:122
+msgid "SysInfo"
+msgstr "Ogólne"
+
+# src/ap-config.c:111 src/bridge.c:90
+#: src/ap-config.c:113 src/bridge.c:124 src/bridge.c:127
+msgid "Ethernet"
+msgstr "Ethernet"
+
+# src/ap-config.c:111
+#: src/ap-config.c:113
+msgid "Get ethernet port statistics"
+msgstr "Pobierz statystyki ethernetu"
+
+# src/ap-config.c:113 src/ap-config.c:122
+#: src/ap-config.c:115 src/ap-config.c:124
+msgid "Stations"
+msgstr "Stacje"
+
+#: src/ap-config.c:116
+msgid "AP link"
+msgstr ""
+
+# src/ap-config.c:115
+#: src/ap-config.c:117
+msgid "KnownAPs"
+msgstr "Znane AP"
+
+# src/ap-config.c:115
+#: src/ap-config.c:117
+msgid "Get info about known Access Points"
+msgstr "Podaj informacje o Access Pointach"
+
# src/ap-config.c:123
-#: src/ap-config.c:122
+#: src/ap-config.c:125
msgid "Latest"
msgstr "Ostatnie"
# src/ap-config.c:123
-#: src/ap-config.c:122
+#: src/ap-config.c:125
msgid "Get info about latest events"
msgstr "Pobiera info o ostatnich zdarzeniach"
-# src/ap-mrtg.c:45
+# src/ap-config.c:141
+#: src/ap-config.c:150
+msgid "Info"
+msgstr "Info"
+
+# src/ap-config.c:142
+#: src/ap-config.c:151
+msgid "Config"
+msgstr "Konfig"
+
+# src/ap-config.c:143
+#: src/ap-config.c:152
+msgid "Commands"
+msgstr "Komendy"
+
+# src/ap-config.c:143
+#: src/ap-config.c:152
+msgid "Execute commands on Access Point"
+msgstr "Wykonaj operacje w AP"
+
+# src/ap-config.c:145
+#: src/ap-config.c:154
+msgid "Connect"
+msgstr "Po³±cz"
+
+# src/ap-config.c:146
+#: src/ap-config.c:155
+msgid "Search"
+msgstr "Znajd¼"
+
+#: src/ap-config.c:156
+msgid "Polling"
+msgstr ""
+
+# src/ap-config.c:148
+#: src/ap-config.c:157
+msgid "Shell"
+msgstr "Shell"
+
+# src/ap-config.c:149
+#: src/ap-config.c:159
+msgid "Exit"
+msgstr "Wyjd¼"
+
+# src/ap-config.c:194
+#: src/ap-config.c:218
+#, c-format
+msgid "Wireless Access Point Configurator ver. %s"
+msgstr "Konfigurator bezprzewodowych access-pointów wersja %s"
+
+#: src/aplink.c:25
+msgid "RSSI: ["
+msgstr ""
+
+#: src/aplink.c:26
+msgid "RSSI avg: ["
+msgstr ""
+
+#: src/aplink.c:27
+msgid "RSSI top: ["
+msgstr ""
+
+#: src/aplink.c:28
+msgid "RSSI rou: ["
+msgstr ""
+
+#: src/aplink.c:29
+msgid ""
+"P - pause, T - toggle graph view, Q - quit to menu, Other key - force update."
+msgstr ""
+
+#: src/aplink.c:81
+msgid "RSSI [%]"
+msgstr ""
+
+#: src/aplink.c:82
+msgid "RSSI average [%]"
+msgstr ""
+
+#: src/aplink.c:83
+msgid "RSSI rounded [%]"
+msgstr ""
+
+#: src/aplink.c:84
+msgid "Link Quality [%]"
+msgstr ""
+
+#: src/aplink.c:133
+msgid "Not available - device must have firmware with necessary "
+msgstr ""
+
+#: src/aplink.c:135
+msgid "vendor extensions and be in either 'Access Point client'"
+msgstr ""
+
+#: src/aplink.c:137
+msgid "or 'Repeater' mode."
+msgstr ""
+
+# src/ap-mrtg.c:47
#: src/ap-mrtg.c:42
+#, fuzzy
msgid ""
+"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-v] [-h] [-r]\n"
"\n"
-"Usage:\n"
msgstr ""
-"\n"
-"U¿ycie:\n"
+"\tap-mrtg -i ip -c has³o -t typ [-b bssid] [-v] [-h] [-r]\n"
+"\n"
+
+# src/ap-mrtg.c:49
+#: src/ap-mrtg.c:44
+msgid ""
+"Get stats from AP and return it in MRTG parsable format\n"
+"\n"
+msgstr ""
+"Pobierz statystyki z AP i wypisz w formacie strawnym dla MRTG\n"
+"\n"
+
+# src/ap-mrtg.c:53
+#: src/ap-mrtg.c:47
+#, fuzzy
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality (last one will only "
+msgstr ""
+"-t type typ statystyk <w> radio, <e>thernet, <s>tacje lub <l> jako¶æ "
+"po³±czenia w trybie klienta\n"
+
+#: src/ap-mrtg.c:49
+msgid "work with ATMEL410 MIB devices in AP Client mode)\n"
+msgstr ""
+
+# src/ap-mrtg.c:55
+#: src/ap-mrtg.c:50
+#, fuzzy
+msgid ""
+"-b bssid - mac address of the AP from which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid - adres fizyczny AP z którego braæ dane dot jako¶ci ³±cza "
+"(tylko typ=l)\n"
+
+#: src/ap-mrtg.c:52
+#, fuzzy
+msgid "-n name - AP name - for check only\n"
+msgstr "-n nazwa - Nazwa AP - tylko do kontroli\n"
+
+# src/ap-mrtg.c:57
+#: src/ap-mrtg.c:53
+msgid "-v - report MRTG about problems connecting to AP\n"
+msgstr "-v - zg³aszaj MRTG o problemach z po³±czeniem do AP\n"
+
+# src/ap-mrtg.c:58
+#: src/ap-mrtg.c:54 src/ap-rrd.c:54
+msgid "-r - reset AP when getting LinkQuality stats\n"
+msgstr "-r - resetuj AP po wziêciu statystyk jako¶ci ³±cza\n"
+
+# src/ap-mrtg.c:60
+#: src/ap-mrtg.c:56
+#, c-format
+msgid ""
+"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
+"\n"
+msgstr ""
+"ap-mrtg %s Prawa autorskie © 2002-2003 Roman Festchook\n"
+"\n"
+
+#: src/ap-rrd.c:32
+#, c-format
+msgid "Error getting data from AP %s\n"
+msgstr ""
+
+# src/ap-mrtg.c:47
+#: src/ap-rrd.c:42
+#, fuzzy
+msgid ""
+"\tap-rrd -i ip -c community -t type -d db_file [-b bssid] [-n name] [-a "
+"aptype] [-h] [-r] \n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c has³o -t typ [-b bssid] [-v] [-h] [-r]\n"
+"\n"
+
+# src/ap-mrtg.c:49
+#: src/ap-rrd.c:44
+#, fuzzy
+msgid ""
+"Get stats from AP and put it in to specified RRDtool database\n"
+"\n"
+msgstr ""
+"Pobierz statystyki z AP i wypisz w formacie strawnym dla MRTG\n"
+"\n"
+
+# src/ap-mrtg.c:53
+#: src/ap-rrd.c:48
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality in client mode\n"
+msgstr ""
+"-t type typ statystyk <w> radio, <e>thernet, <s>tacje lub <l> jako¶æ "
+"po³±czenia w trybie klienta\n"
+
+#: src/ap-rrd.c:49
+msgid "-d db_file - RRD database file with full path\n"
+msgstr ""
+
+# src/ap-mrtg.c:55
+#: src/ap-rrd.c:51
+msgid ""
+"-b bssid - mac address of the AP to which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid - adres fizyczny AP z którego braæ dane dot jako¶ci ³±cza "
+"(tylko typ=l)\n"
+
+#: src/ap-rrd.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr "-n nazwa - Nazwa AP - tylko do kontroli\n"
+
+#: src/ap-rrd.c:53
+msgid ""
+"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-"
+"102\n"
+msgstr ""
+
+# src/ap-mrtg.c:60
+#: src/ap-rrd.c:56
+#, fuzzy, c-format
+msgid ""
+"ap-rrd %s Copyright (c) 2002-2004 Roman Festchook\n"
+"\n"
+msgstr ""
+"ap-mrtg %s Prawa autorskie © 2002-2003 Roman Festchook\n"
+"\n"
+
+# src/ap-mrtg.c:142
+#: src/ap-rrd.c:133
+msgid "Invalid IP-address\n"
+msgstr "B³êdny adres IP\n"
+
+#: src/ap-rrd.c:179
+#, c-format
+msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
+msgstr "B³êdny typ AP '%s' - mo¿esz wpisaæ tylko 410 lub 510\n"
+
+#: src/ap-tftp.c:84
+#, fuzzy
+msgid "yes"
+msgstr "Tak"
+
+# src/ap-config.c:141
+#: src/ap-tftp.c:85
+#, fuzzy
+msgid "no"
+msgstr "Info"
+
+#: src/ap-tftp.c:87
+msgid "Error while read()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:100
+msgid "Undefined error"
+msgstr ""
+
+#: src/ap-tftp.c:101
+msgid "File not found"
+msgstr ""
+
+# src/bridge.c:86
+#: src/ap-tftp.c:102
+#, fuzzy
+msgid "Access violation"
+msgstr "Access Point"
+
+#: src/ap-tftp.c:103
+msgid "Disk full or allocation error"
+msgstr ""
+
+#: src/ap-tftp.c:104
+msgid "Illegal TFTP operation"
+msgstr ""
+
+#: src/ap-tftp.c:105
+msgid "Unknown transfer ID"
+msgstr ""
+
+#: src/ap-tftp.c:106
+msgid "File already exists"
+msgstr ""
+
+#: src/ap-tftp.c:107
+msgid "No such user"
+msgstr ""
+
+#: src/ap-tftp.c:157
+msgid "Remote-filename too long.\n"
+msgstr ""
+
+#: src/ap-tftp.c:183
+#, c-format
+msgid "%sError in read()"
+msgstr ""
+
+#: src/ap-tftp.c:212
+#, c-format
+msgid "sending %u bytes\n"
+msgstr ""
-# src/ap-mrtg.c:47
-#: src/ap-mrtg.c:44
-msgid ""
-"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-a aptype] [-v] [-"
-"h] [-r]\n"
-"\n"
+#: src/ap-tftp.c:221
+#, c-format
+msgid "%sError in sendto()"
msgstr ""
-"\tap-mrtg -i ip -c has³o -t typ [-b bssid] [-v] [-h] [-r]\n"
-"\n"
-# src/ap-mrtg.c:49
-#: src/ap-mrtg.c:46
-msgid ""
-"Get stats from AP and return it in MRTG parsable format\n"
-"\n"
+#: src/ap-tftp.c:244
+#, c-format
+msgid "%sError in recvfrom()"
msgstr ""
-"Pobierz statystyki z AP i wypisz w formacie strawnym dla MRTG\n"
-"\n"
-# src/ap-mrtg.c:50
-#: src/ap-mrtg.c:47
-msgid "-i ip - AP ip address\n"
-msgstr "-i ip - adres IP\n"
+#: src/ap-tftp.c:256
+#, c-format
+msgid "\rProgress: uploaded %3i%%."
+msgstr ""
-# src/ap-mrtg.c:51
-#: src/ap-mrtg.c:48
-msgid "-c community - SNMP community string\n"
-msgstr "-c communauté has³o SNMP\n"
+#: src/ap-tftp.c:267
+#, c-format
+msgid "%sMalformed packet received. Aborting.\n"
+msgstr ""
-# src/ap-mrtg.c:53
-#: src/ap-mrtg.c:50
-msgid ""
-"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
-"or <l>ink quality in client mode\n"
+#: src/ap-tftp.c:276
+#, c-format
+msgid "%sTimed out waiting for response from server (%i/%i).\n"
msgstr ""
-"-t type typ statystyk <w> radio, <e>thernet, <s>tacje lub <l> jako¶æ "
-"po³±czenia w trybie klienta\n"
-# src/ap-mrtg.c:55
-#: src/ap-mrtg.c:52
-msgid ""
-"-b bssid - mac address of the AP to which get link quality, only if "
-"type=l\n"
+#: src/ap-tftp.c:283
+#, c-format
+msgid "%sError in select()"
msgstr ""
-"-b bssid - adres fizyczny AP z którego braæ dane dot jako¶ci ³±cza "
-"(tylko typ=l)\n"
-#: src/ap-mrtg.c:53
-msgid "-n name - AP name - for check only\n"
-msgstr "-n nazwa - Nazwa AP - tylko do kontroli\n"
+#: src/ap-tftp.c:297
+#, c-format
+msgid "Received %d bytes: %04x %04x\n"
+msgstr ""
-#: src/ap-mrtg.c:54
-msgid ""
-"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the "
-"ME-102\n"
+#: src/ap-tftp.c:308
+#, c-format
+msgid "%sError: server responded with %s. Aborting.\n"
msgstr ""
-# src/ap-mrtg.c:57
-#: src/ap-mrtg.c:56
-msgid "-v - report MRTG about problems connecting to AP\n"
-msgstr "-v - zg³aszaj MRTG o problemach z po³±czeniem do AP\n"
+#: src/ap-tftp.c:315
+#, c-format
+msgid "%sFlash programming in progress...\n"
+msgstr ""
-# src/ap-mrtg.c:58
-#: src/ap-mrtg.c:57
-msgid "-r - reset AP when getting LinkQuality stats\n"
-msgstr "-r - resetuj AP po wziêciu statystyk jako¶ci ³±cza\n"
+#: src/ap-tftp.c:317
+msgid "Finished successfully.\n"
+msgstr ""
-# src/ap-mrtg.c:59
-#: src/ap-mrtg.c:58
-msgid ""
-"-h - print this help screen\n"
-"\n"
+#: src/ap-tftp.c:335
+msgid "PLEASE BE _ABSOLUTELY_ SURE TO READ MANPAGE PRIOR USE!!!\n"
msgstr ""
-"-h - ten tekst\n"
-"\n"
-# src/ap-mrtg.c:60
-#: src/ap-mrtg.c:59
+#: src/ap-tftp.c:337
#, c-format
msgid ""
-"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
"\n"
+"Usage: %s -i IP -f firmware_file.rom [-c community] [-h]\n"
+msgstr ""
+
+#: src/ap-tftp.c:361
+msgid "TFTP client for upgrading firmware in ATMEL AT76C510 WiSOC-based APs.\n"
+msgstr ""
+
+#: src/ap-tftp.c:363
+msgid "(C) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>\n"
+msgstr ""
+
+#: src/ap-tftp.c:379
+msgid "Error: invalid IP address format given.\n"
msgstr ""
-"ap-mrtg %s Prawa autorskie © 2002-2003 Roman Festchook\n"
-"\n"
# src/ap-mrtg.c:142
-#: src/ap-mrtg.c:143
-msgid "Invalid IP-address\n"
+#: src/ap-tftp.c:405
+#, fuzzy
+msgid "Error: invalid argument combination.\n"
msgstr "B³êdny adres IP\n"
-#: src/ap-mrtg.c:188
+#: src/ap-tftp.c:412
+msgid "Error while open()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:419 src/ap-tftp.c:472
+msgid "Error: invalid firmware file given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:461
#, c-format
-msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
-msgstr "B³êdny typ AP '%s' - mo¿esz wpisaæ tylko 410 lub 510\n"
+msgid ""
+"Firmware file contains:\n"
+"- string \"ATMEL\": %s\n"
+"- string \"802.11 AP\": %s\n"
+"- string \"atbrfirm.bin\": %s\n"
+"- string \"atsingle.bin\": %s\n"
+msgstr ""
-# src/ap-mrtg.c:178
-#: src/ap-mrtg.c:207
-msgid "Create socket error"
-msgstr "B³±d tworzenia gniazda"
+#: src/ap-tftp.c:485
+#, c-format
+msgid ""
+"Using:\n"
+"- server: %s\n"
+"- firmware file: \"%s\"\n"
+"- name used for upload: \"%s\"\n"
+msgstr ""
-# src/ap-mrtg.c:182
-#: src/ap-mrtg.c:211
-msgid "Bind socket error"
-msgstr "B³±d bind()"
+#: src/ap-tftp.c:568
+msgid ""
+"Error: device with the given IP does not seem to run SmartBridges firmware.\n"
+msgstr ""
+
+#: src/ap-tftp.c:574
+msgid "Error: SNMP authorization error or device unavailable.\n"
+msgstr ""
+
+#: src/ap-tftp.c:653
+msgid "Error while lseek()ing in firmware file\n"
+msgstr ""
# src/ap-trapd.c:150
-#: src/ap-trapd.c:148
+#: src/ap-trapd.c:150
#, c-format
msgid "ap-trapd %s started%s%s."
msgstr "ap-trapd %s uruchomiony%s%s."
# src/ap-trapd.c:151
-#: src/ap-trapd.c:149
+#: src/ap-trapd.c:151
msgid " on "
msgstr " w³ "
# src/ap-trapd.c:157
-#: src/ap-trapd.c:155
+#: src/ap-trapd.c:157
msgid "Unable to fork. Exiting."
msgstr "Nie moge utworzyæ procesu. Wychodzê."
# src/ap-trapd.c:161
-#: src/ap-trapd.c:159
+#: src/ap-trapd.c:161
msgid "Can't create socket. Exiting."
msgstr "Nie moge utworzyæ gniazda. Wychodzê."
# src/ap-trapd.c:167
-#: src/ap-trapd.c:165
+#: src/ap-trapd.c:167
msgid "Can't bind socket. Exiting."
msgstr "Nie zaj±æ gniazda. Wychodzê."
# src/ap-trapd.c:174
-#: src/ap-trapd.c:172
+#: src/ap-trapd.c:174
#, c-format
msgid "Can't bind to device %s. Exiting."
msgstr "Nie moge pod³±czyæ siê do urz±dzenia %s. Wychodzê."
# src/ap-trapd.c:185
-#: src/ap-trapd.c:183
+#: src/ap-trapd.c:185
#, c-format
msgid "Unable to process username %s. Error: %m."
msgstr "Nie moge skumaæ u¿ytkownika %s. B³±d: %m."
# src/ap-trapd.c:190
-#: src/ap-trapd.c:188
+#: src/ap-trapd.c:190
#, c-format
msgid "Unable to change to uid %d."
msgstr "Nie moge przej¶æ na UID %d"
# src/ap-trapd.c:237
-#: src/ap-trapd.c:235
+#: src/ap-trapd.c:239
#, c-format
msgid ""
"Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."
msgstr "Odebra³em nieznany pakiet SNMP %d z %s:%d agent: %s grupa: %s."
# src/ap-trapd.c:309
-#: src/ap-trapd.c:307
-#, c-format
-msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
+#: src/ap-trapd.c:311
+#, fuzzy, c-format
+msgid "Agent:v%d %s (%s@%s:%d) Trap %i: %s%s%s. SysUptime %d:%02d:%02d.%02d"
msgstr "Agent:v%d %s (%s@%s:%d) %s%s%s. Dzia³a ju¿ %d:%02d:%02d.%02d"
+#: src/auth.c:30
+msgid "APClient authorization credentials"
+msgstr ""
+
+# lib/ap-utils.h:117
+#: src/auth.c:32
+msgid "[A] MAC authorization: "
+msgstr "[A] Ograniczenie dostêpu dla wybranych adresów MAC: "
+
+# lib/ap-utils.h:122
+#: src/auth.c:33
+msgid "Enter MAC: "
+msgstr "Adres fizyczny: "
+
+# lib/ap-utils.h:121
+#: src/auth.c:34
+msgid "Delete Num: "
+msgstr "Skasuj pozycjê: "
+
# lib/ap-utils.h:119
-#: src/auth_mac.c:33
+#: src/auth.c:35
#, fuzzy
-msgid "NUM MAC address"
+msgid " NUM MAC address "
msgstr "Numer adres fizyczny (MAC)"
+# lib/ap-utils.h:120
+#: src/auth.c:36
+#, fuzzy
+msgid "A: auth; N: new; D: del; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A W³/Wy³; N - nowe; D - kasuj; strza³ki - przewijanie; W - zapis; Q - Wyjd¼"
+
+#: src/auth.c:38
+msgid "[I] Radius server IP: "
+msgstr ""
+
+# src/bridge.c:33
+#: src/auth.c:39
+#, fuzzy
+msgid "[P] Radius server port: "
+msgstr "[P] Port podstawowy: "
+
+#: src/auth.c:40
+msgid "[S] Radius server secret: "
+msgstr ""
+
+# lib/ap-utils.h:117
+#: src/auth.c:41
+#, fuzzy
+msgid "[T] Reauthorization time (minutes): "
+msgstr "[A] Ograniczenie dostêpu dla wybranych adresów MAC: "
+
+#: src/auth.c:42
+msgid "[F] Radius source port: "
+msgstr ""
+
+# lib/ap-utils.h:120
+#: src/auth.c:43
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; IPSTF: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A W³/Wy³; N - nowe; D - kasuj; strza³ki - przewijanie; W - zapis; Q - Wyjd¼"
+
+# lib/ap-utils.h:117
+#: src/auth.c:45
+#, fuzzy
+msgid "[M] 802.1x authorization: "
+msgstr "[A] Ograniczenie dostêpu dla wybranych adresów MAC: "
+
+# lib/ap-utils.h:117
+#: src/auth.c:46
+#, fuzzy
+msgid "[T] key broadcasting time period (seconds): "
+msgstr "[A] Ograniczenie dostêpu dla wybranych adresów MAC: "
+
+#: src/auth.c:47
+msgid "[I] 802.1x auth. server IP: "
+msgstr ""
+
+#: src/auth.c:48
+msgid "[S] 802.1x auth. server secret: "
+msgstr ""
+
+# lib/ap-utils.h:120
+#: src/auth.c:49
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; MTIS: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A W³/Wy³; N - nowe; D - kasuj; strza³ki - przewijanie; W - zapis; Q - Wyjd¼"
+
+# src/ap-config.c:55
+#: src/auth.c:114
+msgid "Internal"
+msgstr "Ogólnie"
+
+# src/ap-config.c:48
+#: src/auth.c:116
+#, fuzzy
+msgid "Radius"
+msgstr "Radio"
+
+#: src/auth.c:121
+msgid "Allow listed MACs only"
+msgstr ""
+
+#: src/auth.c:123
+msgid "Deny listed MACs only"
+msgstr ""
+
+#: src/auth.c:129
+msgid "Mixed environment"
+msgstr ""
+
+#: src/auth.c:213
+msgid "(not shown)"
+msgstr ""
+
+# lib/ap-utils.h:118
+#: src/auth.c:276
+#, fuzzy
+msgid "Authorized MAC addresses:"
+msgstr "Dostêp w/g MAC"
+
+#: src/auth.c:345
+msgid "(insufficient community used)"
+msgstr ""
+
+#: src/auth.c:472
+#, c-format
+msgid "Given MAC already exists in MAC list at position %d. Press any key."
+msgstr ""
+
+#: src/bridge.c:27
+msgid "[I] IP: "
+msgstr ""
+
+# src/bridge.c:169
+#: src/bridge.c:28
+msgid "[N] Netmask: "
+msgstr "[N] Maska: "
+
+# src/bridge.c:171
+#: src/bridge.c:29
+msgid "[G] Gateway: "
+msgstr "[G] Brama: "
+
+# src/bridge.c:32
+#: src/bridge.c:30
+msgid "[F] Filter non-IP traffic: "
+msgstr "[F] Wycinaj ruch nie-IP: "
+
+# src/bridge.c:33
+#: src/bridge.c:31
+msgid "[P] Primary port: "
+msgstr "[P] Port podstawowy: "
+
+# src/bridge.c:144
+#: src/bridge.c:32
+msgid "Attached station MAC: "
+msgstr "MAC do³±czonej stacji:"
+
+# src/bridge.c:34
+#: src/bridge.c:33
+msgid "[D] DHCP client: "
+msgstr "[D] Klient DHCP: "
+
+# src/bridge.c:35
+#: src/bridge.c:34
+msgid "[O] Operational mode: "
+msgstr "[O] Tryb pracy: "
+
+# src/bridge.c:36
#: src/bridge.c:35
+msgid "[M] Preferred BSSID (remote MAC addr.): "
+msgstr "[M] Zdalny adres fizyczny: "
+
+#: src/bridge.c:36
msgid "[C] Configuration-enabled port(s): "
msgstr "[C] Dostêp do konfiguracji porzez port: "
+#: src/bridge.c:37
+#, fuzzy
+msgid "[T] Trap-sending port: "
+msgstr "[T] SNMP-Trap na porty: "
+
#: src/bridge.c:38
+msgid "[R] Forward broadcast traffic: "
+msgstr "[R] Przesy³aj ruch rozg³oszeniowy: "
+
+#: src/bridge.c:39
msgid "[B] Isolate wireless clients (broadcast traffic): "
msgstr "[B] Izolacja klientów radiowych (ruch broadcast): "
-#: src/bridge.c:39
+#: src/bridge.c:40
msgid "[U] Isolate wireless clients (unicast traffic): "
msgstr "[U] Izolacja klientów radiowych (ruch unicast): "
+# src/bridge.c:30
+#: src/bridge.c:41
+#, fuzzy
+msgid "INGFPDOMSCRBUT - set; W - write conf; Q - quit to menu"
+msgstr "BPGINFDRT - ustaw; W - Zapisz; Q - powrót"
+
+# src/wlan.c:104
+#: src/bridge.c:128
+#, fuzzy
+msgid "Wireless (can be risky)"
+msgstr "Parametry radia"
+
# lib/ap-utils.h:66
-#: src/bridge.c:119
+#: src/bridge.c:129
msgid "Both"
msgstr "Oba"
msgid "Error:"
msgstr "B³±d:"
-#: src/stations.c:33
-msgid "AP link state"
+#: src/stations.c:82
+msgid "Not available (device not in AP mode)."
msgstr ""
-#: src/stations.c:37
-msgid " # MAC "
+#: src/stations.c:92
+msgid " # MAC Parent MAC RSSI LQ Sts MACn IP "
msgstr ""
-#: src/stations.c:40
-msgid " # MAC Parent MAC RSSI Status MACn IP "
-msgstr ""
+# src/stations.c:110
+#: src/stations.c:136
+msgid "AssociatedSTAsInfo packet error"
+msgstr "B³êdny pakiet AssociatedSTAsInfo"
# src/stations.c:132 src/stations.c:284
-#: src/stations.c:195 src/stations.c:367
+#: src/stations.c:189 src/stations.c:363
#, fuzzy
msgid ""
"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
msgstr "Strza³ki - przewijanie; S - zapis do zbioru; Q - powrót."
# src/stations.c:132 src/stations.c:284
-#: src/stations.c:200
+#: src/stations.c:193
#, fuzzy
msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
msgstr "Strza³ki - przewijanie; S - zapis do zbioru; Q - powrót."
# src/stations.c:196
-#: src/stations.c:279
+#: src/stations.c:275
msgid "Id MAC address Quality Age RSSI"
msgstr "Id Adres fizyczny Jako¶æ Wiek RSSI"
+# lib/ap-utils.h:92
+#~ msgid "Create socket error. Press any key."
+#~ msgstr "Nie moge utworzyæ gniazdka. Wci¶nij dowolny klawisz."
+
+# lib/ap-utils.h:93
+#~ msgid "Bind socket error. Press any key."
+#~ msgstr "Bl±d gniazdka. Wci¶nij dowolny klawisz."
+
+# src/ap-mrtg.c:178
+#~ msgid "Create socket error"
+#~ msgstr "B³±d tworzenia gniazda"
+
+# src/ap-mrtg.c:182
+#~ msgid "Bind socket error"
+#~ msgstr "B³±d bind()"
+
+# lib/ap-utils.h:119
+#~ msgid "NUM MAC address"
+#~ msgstr "Numer adres fizyczny (MAC)"
+
+# src/nwn_advanced.c:70
+#~ msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
+#~ msgstr "DA - opcje; W - zapis; Q - powrót"
+
+# src/nwn_advanced.c:70
+#~ msgid "A - auth; W - write conf; Q - quit"
+#~ msgstr "DA - opcje; W - zapis; Q - powrót"
+
+#~ msgid "<hidden>"
+#~ msgstr "<ukryto>"
+
+#~ msgid "[U] Isolate wireless clients: "
+#~ msgstr "[U] Izoluj klientów radiowych: "
+
+#, fuzzy
+#~ msgid "AP is currently in AP Client Mode => no associated STAtions."
+#~ msgstr "AP jest teraz w trybie klienta i nie ma stacji pod³±czonych"
+
+# src/stations.c:132 src/stations.c:284
+#~ msgid "Arrows - scroll; S - save to file; Q - quit to menu."
+#~ msgstr "Strza³ki - przewijanie; S - zapis do zbioru; Q - powrót."
+
# src/stations.c:29
#~ msgid "Associated Stations"
#~ msgstr "Pod³±czonych stacji"
msgid ""
msgstr ""
"Project-Id-Version: ap-utils-1.3.2-pre3\n"
-"POT-Creation-Date: 2004-11-28 00:59+0200\n"
+"POT-Creation-Date: 2005-03-07 01:13+0200\n"
"PO-Revision-Date: 2003-05-19 12:51+0300\n"
"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Content-Transfer-Encoding: 8bit\n"
"Report-Msgid-Bugs-To: \n"
-#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
-msgid "Bridging"
-msgstr "Conexiune(Bridging)"
-
-#: ap-gl/ap-gl.c:41 src/ap-config.c:41
-msgid "Set bridging and IP-related options"
-msgstr "Setare opþiuni legate de bridging ºi IP"
-
-#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
-#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
-msgid "Wireless"
-msgstr "Wireless"
-
-#: ap-gl/ap-gl.c:43 src/ap-config.c:43
-msgid "Set wireless options"
-msgstr "Setare opþiuni wireless"
-
-#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
-msgid "Privacy"
-msgstr "Secret(Privacy)"
-
-#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
-#, fuzzy
-msgid "MAC auth"
-msgstr "Autorizare Mac"
-
-#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
-msgid "Community"
-msgstr "Comunitate"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Radio"
-msgstr "Radio"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Set radio signal power and antenna options"
-msgstr "Setãri putere semnal radio ºi opþiuni antenã"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Upload"
-msgstr "Upload"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-#, fuzzy
-msgid "Activate current configuration"
-msgstr "Seteazã configuraþia curentã ca activã"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Defaults"
-msgstr "Implicite"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Restore factory default settings"
-msgstr "Restaureazã setãrile implicite din fabricã"
-
-#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
-msgid "Reset"
-msgstr "Reset"
-
-#: ap-gl/ap-gl.c:65 src/ap-config.c:83
-msgid "Reset AP. All not uploaded configuration will be lost"
-msgstr "Resetare AP. Toate configuraþiile ne-uploadate vor fi pierdute"
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "TestMode"
-msgstr "ModTestare"
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "Put Access Point in test mode"
-msgstr "Aducere Access Point în mod testare"
-
-#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
-msgid "SysInfo"
-msgstr "SysInfo"
-
-#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
-#: src/bridge.c:120
-msgid "Ethernet"
-msgstr "Ethernet"
-
-#: ap-gl/ap-gl.c:80 src/ap-config.c:111
-msgid "Get ethernet port statistics"
-msgstr "Procurare statistici port ethernet"
-
-#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
-msgid "Stations"
-msgstr "Staþii"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "KnownAPs"
-msgstr "AP-uri cunoscute"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "Get info about known Access Points"
-msgstr "Procurare informaþii despre Access Point-urile cunoscute"
-
-#: ap-gl/ap-gl.c:100 src/ap-config.c:147
-msgid "Info"
-msgstr "Informaþii"
-
-#: ap-gl/ap-gl.c:101 src/ap-config.c:148
-msgid "Config"
-msgstr "Configuraþie"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Commands"
-msgstr "Comenzi"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Execute commands on Access Point"
-msgstr "Executare comenzi pe Access Point"
-
-#: ap-gl/ap-gl.c:104 src/ap-config.c:151
-msgid "Connect"
-msgstr "Conectare "
-
-#: ap-gl/ap-gl.c:105 src/ap-config.c:152
-msgid "Search"
-msgstr "Cãutare"
-
-#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
-msgid "About"
-msgstr "Despre"
-
-#: ap-gl/ap-gl.c:107 src/ap-config.c:154
-msgid "Shell"
-msgstr "Shell"
-
-#: ap-gl/ap-gl.c:108 src/ap-config.c:155
-msgid "Exit"
-msgstr "Ieºire"
-
-#: ap-gl/ap-gl.c:158 src/ap-config.c:204
-#, c-format
-msgid "Wireless Access Point Configurator ver. %s"
-msgstr "Wireless Access Point Configurator ver. %s"
-
-#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
-msgid "AuthorizedMacTableString packet error"
-msgstr "Eroare pachet AuthorizedMacTableString"
-
-#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
-#, fuzzy
-msgid "[A] MAC authorization: "
-msgstr "[A] Autorizare prin MAC: %s"
-
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
-#, fuzzy
-msgid "Enter MAC: "
-msgstr "Introducere Mac:"
-
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
-#, fuzzy
-msgid "Delete Num: "
-msgstr "ªterge Num:"
-
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
-#, fuzzy
-msgid "Authorized MAC addresses"
-msgstr "Adrese MAC Autorizate"
-
-#: ap-gl/auth_mac.c:33
-#, fuzzy
-msgid "NUM MAC address"
-msgstr "NUM adresã MAC"
-
-#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
-msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
-msgstr ""
-"A - autentificare; N - nou; D - ºtergere; sãgeþi -scroll; W- scriere conf; Q "
-"- ieºire"
-
-#: ap-gl/auth_mac.c:35
-#, fuzzy
-msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
-msgstr "DA - opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
-
-#: ap-gl/auth_mac.c:36
-#, fuzzy
-msgid "A - auth; W - write conf; Q - quit"
-msgstr "DA - opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
-
-#: ap-gl/auth_mac.c:38
-msgid "[I] RADIUS SERVER IP: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:39
-msgid "[P] RADIUS SERVER PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:40
-msgid "[S] RADIUS SERVER SECRET: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:41
-msgid "[T] REAUTHORIZATION TIME: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:42
-msgid "[F] RADIUS SOURCE PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:87
-#, fuzzy
-msgid "Internal"
-msgstr "General"
-
-#: ap-gl/auth_mac.c:95
-msgid "<hidden>"
-msgstr ""
-
-#: ap-gl/bridge.c:26 src/bridge.c:26
-msgid "[I] IP: "
-msgstr ""
-
-#: ap-gl/bridge.c:27 src/bridge.c:27
-#, fuzzy
-msgid "[N] Netmask: "
-msgstr "[N] Netmask: %s"
-
-#: ap-gl/bridge.c:28 src/bridge.c:28
-#, fuzzy
-msgid "[G] Gateway: "
-msgstr "[G] Gateway %s"
-
-#: ap-gl/bridge.c:29 src/bridge.c:29
-#, fuzzy
-msgid "[F] Filter non-IP traffic: "
-msgstr "[F] Filtrare traficul non IP: %s"
-
-#: ap-gl/bridge.c:30 src/bridge.c:30
-#, fuzzy
-msgid "[P] Primary port: "
-msgstr "[P] Port primar: %s"
-
-#: ap-gl/bridge.c:31 src/bridge.c:31
-#, fuzzy
-msgid "Attached station MAC: "
-msgstr "MAC ataºat staþiei: %02X%02X%02X%02X%02X%02X"
-
-#: ap-gl/bridge.c:32 src/bridge.c:32
-#, fuzzy
-msgid "[D] DHCP client: "
-msgstr "[D] Protocol DHCP: %s"
-
-#: ap-gl/bridge.c:33 src/bridge.c:33
-#, fuzzy
-msgid "[O] Operational mode: "
-msgstr "[O] Mod Operaþional: %s"
-
-#: ap-gl/bridge.c:34 src/bridge.c:34
-#, fuzzy
-msgid "[M] Preferred BSSID (remote MAC addr.): "
-msgstr "[R] Adresã Mac remote: %02X:%02X:%02X:%02X:%02X:%02X"
-
-#: ap-gl/bridge.c:36 src/bridge.c:36
-msgid "[T] Trap-sending port(s): "
-msgstr ""
-
-#: ap-gl/bridge.c:37 src/bridge.c:37
-msgid "[R] Forward broadcast traffic: "
-msgstr ""
-
-#: ap-gl/bridge.c:39
-msgid "[U] Isolate wireless clients: "
-msgstr ""
-
-#: ap-gl/bridge.c:40 src/bridge.c:40
-#, fuzzy
-msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
-msgstr "BPGINFDRT - setãri; W - scriere configuraþie; Q - ieºire în meniu"
-
-#: ap-gl/bridge.c:124 src/bridge.c:109
-msgid "Wireless Bridge Point to MultiPoint"
-msgstr "Conexiune(bridge) Wireless Point to MultiPoint"
-
-#: ap-gl/bridge.c:125 src/bridge.c:110
-msgid "Access Point"
-msgstr "Access Point"
-
-#: ap-gl/bridge.c:126 src/bridge.c:111
-msgid "Access Point client"
-msgstr "Client Access Point"
-
-#: ap-gl/bridge.c:127 src/bridge.c:112
-msgid "Wireless Bridge Point to Point"
-msgstr "Conexiune(bridge) Wireless Point to Point"
-
-#: ap-gl/bridge.c:128 src/bridge.c:113
-msgid "Repeater"
-msgstr "Repetor"
-
-#: ap-gl/stations.c:77 src/stations.c:100
-msgid "AP is currently in AP Client Mode => no associated STAtions."
-msgstr ""
-
-#: ap-gl/stations.c:102
-msgid "# MAC LQ RSSI Status Port IP"
-msgstr ""
-
-#: ap-gl/stations.c:128 src/stations.c:159
-msgid "AssociatedSTAsInfo packet error"
-msgstr "Eroare pachet AssociatedSTAsInfo"
-
-#: ap-gl/stations.c:160
-msgid "Arrows - scroll; S - save to file; Q - quit to menu."
-msgstr "Sãgeþi - scroll; S - salvare în fiºier; Q - ieºire în meniu."
-
-#: lib/aps.c:29
+#: lib/aps.c:30
msgid "Known Access Points"
msgstr "Access Point-uri Cunoscute"
-#: lib/aps.c:129
+#: lib/aps.c:130
msgid "Your Access Point is not in \"AP client\" mode => getting"
msgstr ""
-#: lib/aps.c:132
+#: lib/aps.c:133
msgid "up-to-date \"Known APs\" info requires your AP to be"
msgstr ""
-#: lib/aps.c:135
+#: lib/aps.c:136
msgid "temporarily configured into \"AP client\" mode and rebooted."
msgstr ""
-#: lib/aps.c:138
+#: lib/aps.c:139
msgid "Your AP will be reconfigured back to original mode by this"
msgstr ""
-#: lib/aps.c:141
+#: lib/aps.c:142
msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
msgstr ""
-#: lib/aps.c:144
+#: lib/aps.c:145
#, fuzzy
msgid "cause loss of Access Point's current configuration."
msgstr "Seteazã configuraþia curentã ca activã"
-#: lib/aps.c:148
+#: lib/aps.c:149
msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
msgstr ""
-#: lib/aps.c:151
+#: lib/aps.c:152
#, fuzzy
msgid "via its wireless port."
msgstr "Setare opþiuni wireless"
-#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
+#: lib/aps.c:154 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:96
msgid "Do you want to continue? "
msgstr "Doriþi sã continuaþi? "
-#: lib/aps.c:207
+#: lib/aps.c:208
msgid "NetworkType"
msgstr "TipReþea"
-#: lib/aps.c:283
+#: lib/aps.c:284
msgid "Infrastructure"
msgstr "Infrastructurã"
-#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
+#: lib/aps.c:344 lib/aps.c:352 lib/aps.c:360
#, fuzzy
msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
msgstr "P: Tip Preambul; S: Scurt; L: Lung"
-#: lib/aps.c:345
+#: lib/aps.c:346
msgid "RSSI: Radio Signal Strength Indicator [%]"
msgstr ""
-#: lib/aps.c:347 lib/aps.c:355
+#: lib/aps.c:348 lib/aps.c:356
msgid "; LQ: Link Quality [%]"
msgstr ""
-#: lib/aps.c:353
+#: lib/aps.c:354
msgid "RSSI: Radio Signal Strength Indicator [dBm]"
msgstr ""
-#: lib/aps.c:361
+#: lib/aps.c:362
msgid "RSSI: Radio Signal Strength Indicator [raw]"
msgstr ""
-#: lib/aps.c:363
+#: lib/aps.c:364
msgid "; LQ: Link Q. [raw]"
msgstr ""
-#: lib/aps.c:369
+#: lib/aps.c:370
#, fuzzy
msgid ""
"# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
"# conectare la acest AP; R împrospãtare cu reset; G împrospãtare fãrã reset; "
"Q ieºire"
-#: lib/aps.c:371
+#: lib/aps.c:372
#, fuzzy
msgid ""
"# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
"# conectare la acest AP; R împrospãtare cu reset; G împrospãtare fãrã reset; "
"Q ieºire"
-#: lib/aps.c:500 lib/ap_search.c:167
+#: lib/aps.c:501 lib/ap_search.c:173
#, fuzzy, c-format
msgid "Failure in sendto(): %s. Press any key."
msgstr "Sendto invalid: %s. Apãsaþi o tastã."
-#: lib/aps.c:509
+#: lib/aps.c:510
msgid "You have just initiated the AP scan. Be advised that it may"
msgstr ""
-#: lib/aps.c:512
+#: lib/aps.c:513
msgid "take a few seconds for your Access Point to find out some"
msgstr ""
-#: lib/aps.c:515
+#: lib/aps.c:516
msgid "values, so expect finishing the scan in about 5 seconds."
msgstr ""
-#: lib/aps.c:518
+#: lib/aps.c:519
msgid "Also note that your Access Point stops forwarding the network"
msgstr ""
-#: lib/aps.c:521
+#: lib/aps.c:522
msgid "traffic while the scan is in progress, but restores itself"
msgstr ""
-#: lib/aps.c:524
+#: lib/aps.c:525
msgid "to normal operation in time ranging up to 1 minute."
msgstr ""
-#: lib/aps.c:527
+#: lib/aps.c:528
msgid "Hence, if you are connected to target Access Point via its"
msgstr ""
-#: lib/aps.c:530
+#: lib/aps.c:531
msgid "wireless port, you need to wait a bit longer"
msgstr ""
-#: lib/aps.c:533
+#: lib/aps.c:534
msgid "after pressing 'S'."
msgstr ""
#: lib/ap_search.c:49
#, fuzzy
-msgid " NUM IP ADDRESS MIB TYPE NAME"
+msgid " NUM IP ADDRESS MIB TYPE FW TYPE (VERSION) AP NAME"
msgstr "NUM ADRES? IP TIP"
-#: lib/ap_search.c:100
+#: lib/ap_search.c:106
msgid "Please wait while scanning, or press 'Q' to quit."
msgstr ""
-#: lib/ap_search.c:116
+#: lib/ap_search.c:122
#, fuzzy
msgid "Can't set broadcast option on socket. Press any key."
msgstr "Nu se poate seta opþiunea de broadcast spre socket. Apãsaþi o tastã."
-#: lib/ap_search.c:125
+#: lib/ap_search.c:131
#, fuzzy
msgid "Can't set multicast membership on socket. Press any key."
msgstr ""
"Nu se poate seta apartenenþa(membership) multicast la socket. Apãsaþi o "
"tastã."
-#: lib/ap_search.c:132
+#: lib/ap_search.c:138
msgid "Scanning via network interface:"
msgstr ""
-#: lib/ap_search.c:133
+#: lib/ap_search.c:139
#, c-format
msgid " Index: %i"
msgstr ""
-#: lib/ap_search.c:135
+#: lib/ap_search.c:141
#, fuzzy, c-format
msgid " Name: %s"
msgstr "[N] Nume AP:"
-#: lib/ap_search.c:137
+#: lib/ap_search.c:143
#, c-format
msgid " IP: %s"
msgstr ""
-#: lib/ap_search.c:146
+#: lib/ap_search.c:152
#, c-format
msgid "Scanning for AP with MIB type: %s"
msgstr ""
-#: lib/ap_search.c:334
-msgid "Please enter SNMP community name that will be used for AP detection."
-msgstr ""
-
-#: lib/ap_search.c:345
+#: lib/ap_search.c:378
msgid "Access Points Search"
msgstr "Cãutare de Access Points."
-#: lib/ap_search.c:363
+#: lib/ap_search.c:396
#, fuzzy
msgid "realloc() error."
msgstr "Eroare în crearea socketului"
-#: lib/ap_search.c:375
+#: lib/ap_search.c:408
msgid "Network interface discovery error."
msgstr ""
-#: lib/ap_search.c:450
+#: lib/ap_search.c:483
#, fuzzy
msgid "No local network interfaces found. Press any key."
msgstr "Eroare la fork. Apãsaþi o tastã."
-#: lib/ap_search.c:452
+#: lib/ap_search.c:485
msgid "No directly reachable Access Points found. Press any key."
msgstr ""
-#: lib/ap_search.c:457
+#: lib/ap_search.c:490
msgid "Single-screen maximum number of APs found."
msgstr ""
-#: lib/ap_search.c:460
+#: lib/ap_search.c:493
#, fuzzy
msgid "# - connect to AP; Q - quit"
msgstr "Conectare la AP num:"
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:82
#, fuzzy
msgid "MAC address: "
msgstr "Adresã IP: %s"
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:83
#, fuzzy
msgid "[S] SNMP traps: "
msgstr "[S] Referinþe(traps) SNMP: %s"
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:85
#, fuzzy
msgid "[C] Frequency channel: "
msgstr "[C] Frecvenþã Canal: %02u (%u MHz)"
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:87
#, fuzzy
msgid "Receive antenna:"
msgstr "Primite:"
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:88
#, fuzzy
msgid "[U] Left"
msgstr "Stânga"
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:89
#, fuzzy
msgid "[I] Right"
msgstr "Dreapta"
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:90
#, fuzzy
msgid "Transmit antenna:"
msgstr "Transmise:"
-#: lib/ap-utils.h:88
+#: lib/ap-utils.h:91
#, fuzzy
msgid "[O] Left"
msgstr "Stânga"
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:92
#, fuzzy
msgid "[P] Right"
msgstr "Dreapta"
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:93
#, fuzzy
msgid "Diversity select:"
msgstr "Variaþie: %s"
-#: lib/ap-utils.h:91
+#: lib/ap-utils.h:94
#, fuzzy
msgid "[T] Left"
msgstr "Stânga"
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:95
#, fuzzy
msgid "[Y] Right"
msgstr "Dreapta"
-#: lib/ap-utils.h:94
+#: lib/ap-utils.h:97
msgid "Yes"
msgstr ""
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:98
msgid "No"
msgstr ""
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:100
msgid "On"
msgstr ""
-#: lib/ap-utils.h:98
+#: lib/ap-utils.h:101
#, fuzzy
msgid "Off"
msgstr "oprit(off)"
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:103
#, fuzzy
msgid "Basic"
msgstr "de bazã"
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:105
msgid "Press any key to continue."
msgstr "Apãsaþi o tastã pentru continuare."
-#: lib/ap-utils.h:103
-msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+#: lib/ap-utils.h:106
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update"
msgstr ""
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:108
msgid "Unable to write data to AP. Press any key to continue."
msgstr "Nu se pot scrie date în AP. Apãsaþi o tastã pentru continuare."
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:109
#, fuzzy
msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
msgstr "Nu se pot recupera date din AP. Apãsaþi o tastã pentru continuare."
-#: lib/ap-utils.h:107
+#: lib/ap-utils.h:110
#, fuzzy
-msgid "Trying to retrieve data from AP. Please wait..."
+msgid "Trying to retrieve data from AP - please wait (or press Q to quit)."
msgstr "Recuperare date din AP. Vã rugãm aºteptaþi..."
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:111
msgid "Writing data to AP. Please wait..."
msgstr "Scriere date în AP. Vã rugãm aºteptaþi..."
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:112
#, fuzzy
msgid "Configuration written to the AP. Press any key to continue."
msgstr "Nu se pot scrie date în AP. Apãsaþi o tastã pentru continuare."
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:113
#, fuzzy
msgid "select() function error. Press any key."
msgstr "Eroare fcntl. Apãsaþi o tastã."
-#: lib/ap-utils.h:112
-msgid "Create socket error. Press any key."
-msgstr "Eroare în creare socket. Apãsaþi o tastã."
+#: lib/ap-utils.h:114
+#, fuzzy
+msgid "socket() or bind() function error. Press any key."
+msgstr "Eroare fcntl. Apãsaþi o tastã."
-#: lib/ap-utils.h:113
-msgid "Bind socket error. Press any key."
-msgstr "Eroare de legãturã. Apãsaþi o tastã."
+#: lib/ap-utils.h:116
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr "Nu se pot recupera date din AP. Apãsaþi o tastã pentru continuare."
+
+#: lib/ap-utils.h:117
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:119
msgid "Back to main menu"
msgstr "Înapoi în meniul principal"
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:120
msgid "Exit program"
msgstr "Ieºire din program"
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:121
#, fuzzy
msgid "Run subshell. To return type 'exit'."
msgstr "Rulare subshell. Pentru întoarcere scrieþi 'exit'"
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:122
+msgid "Change polling mode interval"
+msgstr ""
+
+#: lib/ap-utils.h:123
msgid "Short info about program"
msgstr "Scurte informaþii despre program"
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:124
msgid "Find connected Access Points"
msgstr "Cautã Access Pointurile conectate"
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:125
msgid "Set connection options: ip and community"
msgstr "Setare opþiuni conexiune: ip ºi comunitate"
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:126
#, fuzzy
msgid "Set encryption; edit WEP keys"
msgstr "Setare encripþie, editare chei WEP"
-#: lib/ap-utils.h:122
+#: lib/ap-utils.h:127
#, fuzzy
-msgid "Set MAC authorization; edit MAC authorization table"
+msgid "Set authorization; edit MAC authorization table"
msgstr "Setare autorizare prin mac, editare tabel autorizare prin mac"
-#: lib/ap-utils.h:123
+#: lib/ap-utils.h:128
#, fuzzy
msgid "Set SNMP community/password for access to the AP"
msgstr "Setare comunitate/parolã SNMP pentru accesare AP"
-#: lib/ap-utils.h:124
+#: lib/ap-utils.h:129
#, fuzzy
msgid "Get info about AP hardware and firmware"
msgstr "Procurare informaþii despre hardware ºi software AP"
-#: lib/ap-utils.h:125
+#: lib/ap-utils.h:130
#, fuzzy
msgid "Get wireless port statistics"
msgstr "Procurare statistici porturi wireless"
-#: lib/ap-utils.h:126
+#: lib/ap-utils.h:131
#, fuzzy
msgid "Get list of currently associated stations (Access Point clients)"
msgstr "Procurare listã staþii asociate în acest moment"
-#: lib/ap-utils.h:127
+#: lib/ap-utils.h:132
+msgid "Get link status in APclient mode"
+msgstr ""
+
+#: lib/ap-utils.h:133
#, fuzzy
msgid "Get info and statistics from AP"
msgstr "Procurare informaþii ºi statistici din AP"
-#: lib/ap-utils.h:128
+#: lib/ap-utils.h:134
#, fuzzy
msgid "Set various configuration options"
msgstr "Setare diverse opþiuni de configurare"
-#: lib/ap-utils.h:130
+#: lib/ap-utils.h:136
msgid "Associated stations"
msgstr "Staþii asociate"
-#: lib/ap-utils.h:132
+#: lib/ap-utils.h:137
+msgid "AP Client link state"
+msgstr ""
+
+#: lib/ap-utils.h:139
msgid "Polling: on"
msgstr ""
-#: lib/ap-utils.h:133
+#: lib/ap-utils.h:140
msgid "Polling: off"
msgstr ""
msgid "Configuration uploaded. Press any key to continue."
msgstr "Upload-ul de configuraþie efectuat. Apãsaþi o tastã pentru continuare."
-#: lib/common.c:30
+#: lib/common.c:32
#, fuzzy
msgid "Access Point IP-address: "
msgstr "Adresã IP Access Point:"
-#: lib/common.c:31
+#: lib/common.c:33
#, fuzzy
msgid "Password (community): "
msgstr "Parolã (comunitate):"
-#: lib/common.c:32
+#: lib/common.c:34
msgid "Autodetect AP MIB properties? "
msgstr ""
-#: lib/common.c:33
+#: lib/common.c:35
#, fuzzy
msgid "AP MIB type: "
msgstr "Tip AP:"
-#: lib/common.c:34
+#: lib/common.c:36
msgid "AP MIB vendor extensions: "
msgstr ""
-#: lib/common.c:35
+#: lib/common.c:37
#, fuzzy
msgid "Do you want to use AP's name as its label? "
msgstr "Doriþi sã continuaþi? "
-#: lib/common.c:36
+#: lib/common.c:38
#, fuzzy
msgid "Access Point label: "
msgstr "Access Point"
-#: lib/common.c:37
+#: lib/common.c:39
#, fuzzy
msgid "Save connect-settings: "
msgstr "Salvare setãri conectare:"
-#: lib/common.c:100
+#: lib/common.c:40
+msgid "[P] Polling mode interval (tenths of second): "
+msgstr ""
+
+#: lib/common.c:41
+#, fuzzy
+msgid "P - change polling mode interval; Q - quit to menu"
+msgstr ""
+"[tastã] - setãri opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
+
+#: lib/common.c:89 src/ap-config.c:158
+msgid "About"
+msgstr "Despre"
+
+#: lib/common.c:106
#, c-format
msgid "From %s"
msgstr "De la %s"
-#: lib/common.c:102
+#: lib/common.c:108
#, c-format
msgid "Version %s"
msgstr "Versiunea %s"
-#: lib/common.c:105
+#: lib/common.c:111
msgid "Written by Roman Festchook roma@polesye.net"
msgstr "Scris de Roman Festchook roma@polesye.net"
-#: lib/common.c:107
-msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+#: lib/common.c:113
+msgid "and Jan Rafaj jr-aputils@cedric.unob.cz"
msgstr ""
-#: lib/common.c:109
+#: lib/common.c:115
#, fuzzy
-msgid "Copyright (c) 2001-2004"
+msgid "Copyright (c) 2001-2005"
msgstr "Copyright (c) Roman Festchook 2001-2002"
-#: lib/common.c:111
+#: lib/common.c:117
msgid "Roman Festchook and Jan Rafaj"
msgstr ""
-#: lib/common.c:114
+#: lib/common.c:120
msgid "This program is distributed under the terms"
msgstr "Acest program este distribuit sub termenii "
-#: lib/common.c:116
+#: lib/common.c:122
msgid "of the GNU General Public License version 2."
msgstr "Licenþei Publice Generale GNU versiunea 2"
-#: lib/common.c:118
+#: lib/common.c:124
msgid "See the included COPYING file for details."
msgstr "Citiþi fiºierul COPYING inclus pentru detalii."
-#: lib/common.c:175
+#: lib/common.c:165
msgid "Connect options"
msgstr "Opþiuni conectare"
-#: lib/common.c:183
+#: lib/common.c:173
msgid "Enter IP address of your Access Point."
msgstr "Scrieþi adresa IP a Access Point-ului vostru:"
-#: lib/common.c:192
+#: lib/common.c:182
msgid "Entered characters will not be displayed for security reason."
msgstr "Caracterele introduse nu vor fi afiºate din motive de securitate."
-#: lib/common.c:266
+#: lib/common.c:249
msgid "This label will be stored on HDD (independently on AP name!)."
msgstr ""
-#: lib/common.c:361
+#: lib/common.c:362
#, fuzzy
msgid "Trying to probe AP for MIB properties. Please wait..."
msgstr "Scriere date în AP. Vã rugãm aºteptaþi..."
-#: lib/common.c:390
+#: lib/common.c:391
#, fuzzy
msgid ""
"Unable to determine AP MIB properties (no response from AP). Press any key."
msgstr "Nu se pot recupera date din AP. Apãsaþi o tastã pentru continuare."
-#: lib/file.c:205
+#: lib/common.c:489 lib/set_oeminfo.c:221
+#, c-format
+msgid "%s%u"
+msgstr ""
+
+#: lib/common.c:491
+#, c-format
+msgid "(%0.1f seconds)"
+msgstr ""
+
+#: lib/file.c:199
msgid "NUM IP ADDRESS MIB TYPE MIB EXT. LABEL"
msgstr ""
-#: lib/file.c:206
+#: lib/file.c:200
#, fuzzy
msgid "Choose an AP to connect to"
msgstr "Alege?i AP-ul la care se efectueaz? conexiunea"
-#: lib/file.c:212
+#: lib/file.c:206
msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
msgstr ""
"1-9,C: conectare; N: nou; D: ?tergere; W: salvare; Q: ie?ire; s?ge?i: scroll"
-#: lib/file.c:268
+#: lib/file.c:257
msgid "Connect to AP num:"
msgstr "Conectare la AP num:"
-#: lib/file.c:304
+#: lib/file.c:288
msgid "Delete num:"
msgstr "ªterge Num:"
-#: lib/file.c:372
-msgid "AP list file ~/.ap-config successfully written. Press any key."
-msgstr ""
-
-#: lib/file.c:376
-#, fuzzy
-msgid "Unable to write AP list file ~/.ap-config. Press any key."
-msgstr "Nu se pot recupera date din AP. Apãsaþi o tastã pentru continuare."
-
-#: lib/file.c:426
+#: lib/file.c:442
#, fuzzy
msgid "Unable to write stations file. Press any key."
msgstr "Nu se pot scrie date în AP. Apãsaþi o tastã pentru continuare."
-#: lib/file.c:428
+#: lib/file.c:444
msgid "Stations file succesfully written. Press any key."
msgstr ""
-#: lib/input.c:33
+#: lib/input.c:32
#, fuzzy
msgid "Invalid value. Press any key to continue."
msgstr "Adresã IP invalidã. Apãsaþi o tastã pentru continuare."
-#: lib/input.c:34
+#: lib/input.c:33
#, fuzzy, c-format
msgid "Value must be in range %u - %u. Press any key to continue."
msgstr "Nu se pot scrie date în AP. Apãsaþi o tastã pentru continuare."
-#: lib/input.c:412
+#: lib/input.c:460
#, fuzzy
msgid "Y - Yes; Any other key - No (it's safer to answer No)"
msgstr "(Y - Da; N - Nu (e mai sigur sã rãspundeþi Nu)"
-#: lib/oui.c:6056
+#: lib/oui.c:6061
msgid "Unknown or Private"
msgstr "Necunoscut sau Privat"
"Nu puteþi dezactiva ambele antene, nu se poate salva configuraþia antenei. "
"Apãsaþi o tastã."
-#: lib/scr.c:168
+#: lib/scr.c:157
#, fuzzy, c-format
msgid "Current AP: %s Type: %s Ext: %s"
msgstr "AP Current: %s Tip: %s"
msgstr ""
"CHEIE - setare comunitate/parolã; W - scriere configurare în AP;Q - ieºire"
+#: lib/set_oeminfo.c:28
+#, fuzzy
+msgid "Info structure version: "
+msgstr "VersiuneStruct: %u"
+
+#: lib/set_oeminfo.c:29
+#, fuzzy
+msgid "[M] Device MAC address: "
+msgstr "Adresã IP: %s"
+
+#: lib/set_oeminfo.c:30
+#, fuzzy
+msgid " Manufacturer with this OUI: "
+msgstr "ID Producãtor:"
+
+#: lib/set_oeminfo.c:31
+#, fuzzy
+msgid "[D] Regulatory domain: "
+msgstr "Domeniu Regularizare: %s"
+
+#: lib/set_oeminfo.c:32
+#, fuzzy
+msgid "[T] Product type: "
+msgstr "TipProdus: %u"
+
+#: lib/set_oeminfo.c:33
+#, fuzzy
+msgid "[E] OEM name: "
+msgstr "NumeOEM:"
+
+#: lib/set_oeminfo.c:34
+msgid "[I] OEM ID: "
+msgstr ""
+
+#: lib/set_oeminfo.c:35
+#, fuzzy
+msgid "[N] Product name: "
+msgstr "Nume Produs:"
+
+#: lib/set_oeminfo.c:36
+#, fuzzy
+msgid "[H] Hardware revision: "
+msgstr "RevizieHardware: %u"
+
+#: lib/set_oeminfo.c:37
+#, fuzzy
+msgid "[O] Country code: "
+msgstr "[O] Comandã: %s"
+
+#: lib/set_oeminfo.c:38
+#, fuzzy
+msgid "[C] Default channel: "
+msgstr "[C] Frecvenþã Canal: %02u (%u MHz)"
+
+#: lib/set_oeminfo.c:39
+#, fuzzy
+msgid "[A] Calibrated channels: "
+msgstr "[C] Frecvenþã Canal: %02u (%u MHz)"
+
+#: lib/set_oeminfo.c:40
+msgid "[P] Nominal Tx Power (CR31) value for calibrated channels: "
+msgstr ""
+
+#: lib/set_oeminfo.c:41
+#, fuzzy
+msgid ""
+"Keys in brackets - set corresponding option; W - write conf; Q - quit to menu"
+msgstr ""
+"[tastã] - setãri opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
+
+#: lib/set_oeminfo.c:101
+msgid "THIS IS A SECRET MENU LEADING TO VERY DANGEROUS OPTIONS."
+msgstr ""
+
+#: lib/set_oeminfo.c:103
+msgid "It is intended only for WISPs and repair shops."
+msgstr ""
+
+#: lib/set_oeminfo.c:107
+msgid "It allows to set OEM information stored in the AP (like its"
+msgstr ""
+
+#: lib/set_oeminfo.c:109
+msgid "MAC address, manuf. name, OEM ID, etc.). BE ABSOLUTELY SURE"
+msgstr ""
+
+#: lib/set_oeminfo.c:111
+msgid "THAT YOU KNOW WHAT YOU ARE DOING, AND THAT YOU HAVE THE"
+msgstr ""
+
+#: lib/set_oeminfo.c:113
+msgid "LEGAL RIGHT TO DO ANY MODIFICATION. Disobserving of these"
+msgstr ""
+
+#: lib/set_oeminfo.c:115
+msgid "rules may lead you into a conflict with your local"
+msgstr ""
+
+#: lib/set_oeminfo.c:117
+msgid "regulations and/or law."
+msgstr ""
+
+#: lib/set_oeminfo.c:119
+msgid "Also be warned that the setting of any from these options"
+msgstr ""
+
+#: lib/set_oeminfo.c:121
+msgid "may DAMAGE YOUR AP (other reason why this menu is hidden)."
+msgstr ""
+
+#: lib/set_oeminfo.c:123
+msgid "Values changed here will NOT be restored upon reset"
+msgstr ""
+
+#: lib/set_oeminfo.c:125
+msgid "of the device to factory defaults! It is advisable to"
+msgstr ""
+
+#: lib/set_oeminfo.c:127
+msgid "write them down somewhere prior their changing."
+msgstr ""
+
+#: lib/set_oeminfo.c:129
+msgid "Finally, note that you need to use MANUFACTURER community, "
+msgstr ""
+
+#: lib/set_oeminfo.c:131
+msgid "in order to be able to do any OEM info modification."
+msgstr ""
+
+#: lib/set_oeminfo.c:133
+msgid "Proceed further only at your full risk and responsibility. "
+msgstr ""
+
+#: lib/set_oeminfo.c:135
+msgid "You got the warnings."
+msgstr ""
+
+#: lib/set_oeminfo.c:141
+msgid "OEM Info settings"
+msgstr ""
+
#: lib/stat.c:29
msgid "Ethernet Statistics"
msgstr "Statistici Ethernet"
msgid "System Info"
msgstr "Informaþii Sistem"
-#: lib/sysinfo.c:120
+#: lib/sysinfo.c:55 src/bridge.c:50
+msgid "Wireless Bridge Point to MultiPoint"
+msgstr "Conexiune(bridge) Wireless Point to MultiPoint"
+
+#: lib/sysinfo.c:56 src/bridge.c:51
+msgid "Access Point"
+msgstr "Access Point"
+
+#: lib/sysinfo.c:57 src/bridge.c:52
+msgid "Access Point client"
+msgstr "Client Access Point"
+
+#: lib/sysinfo.c:58 src/bridge.c:53
+msgid "Wireless Bridge Point to Point"
+msgstr "Conexiune(bridge) Wireless Point to Point"
+
+#: lib/sysinfo.c:59 src/bridge.c:54
+msgid "Repeater"
+msgstr "Repetor"
+
+#: lib/sysinfo.c:60 lib/sysinfo.c:315 lib/sysinfo.c:424 src/bridge.c:55
+msgid "unknown"
+msgstr "necunoscut"
+
+#: lib/sysinfo.c:144
msgid "Device hardware/software/name info:"
msgstr ""
-#: lib/sysinfo.c:154
+#: lib/sysinfo.c:172
+#, fuzzy, c-format
+msgid "Operational mode: %s"
+msgstr "[O] Mod Operaþional: %s"
+
+#: lib/sysinfo.c:182
#, fuzzy
-msgid "Product name:"
+msgid "Product name: "
msgstr "Nume Produs:"
-#: lib/sysinfo.c:158
+#: lib/sysinfo.c:186
#, fuzzy, c-format
msgid "Product type: %u"
msgstr "TipProdus: %u"
-#: lib/sysinfo.c:161
+#: lib/sysinfo.c:189
#, fuzzy
-msgid "OEM name:"
+msgid "OEM name: "
msgstr "NumeOEM:"
-#: lib/sysinfo.c:168
+#: lib/sysinfo.c:196
#, fuzzy, c-format
msgid "Hardware revision: %u"
msgstr "RevizieHardware: %u"
-#: lib/sysinfo.c:176
+#: lib/sysinfo.c:204
#, fuzzy, c-format
msgid "Info structure version: %u"
msgstr "VersiuneStruct: %u"
-#: lib/sysinfo.c:179 lib/sysinfo.c:355
+#: lib/sysinfo.c:207 lib/sysinfo.c:383
#, c-format
msgid "Manufacturer OUI: %02X %02X %02X (%s)"
msgstr "OUI Producãtor: %02X %02X %02X (%s)"
-#: lib/sysinfo.c:196
+#: lib/sysinfo.c:224
#, fuzzy, c-format
msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
msgstr "Uptime: %u:%02u:%02u.%02u"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "FHSS 2.4 GHz"
msgstr "FHSS 2.4 GHz"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "DSSS 2.4 GHz"
msgstr "DSSS 2.4 GHz"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "IR Baseband"
msgstr "Bandã de bazã IR"
-#: lib/sysinfo.c:285
+#: lib/sysinfo.c:313
msgid "Commercial range 0..40 C"
msgstr "Interval comercial 0..40 C"
-#: lib/sysinfo.c:286
+#: lib/sysinfo.c:314
msgid "Industrial range -30..70 C"
msgstr "Interval industrial -30..70 C"
-#: lib/sysinfo.c:287 lib/sysinfo.c:396
-msgid "unknown"
-msgstr "necunoscut"
-
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "manual"
msgstr "manual"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "notsupported"
msgstr "nesuportat"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "dynamic"
msgstr "dinamic"
-#: lib/sysinfo.c:345
+#: lib/sysinfo.c:373
msgid "Manufacturer:"
msgstr "Producãtor:"
-#: lib/sysinfo.c:350
+#: lib/sysinfo.c:378
msgid "Manufacturer ID:"
msgstr "ID Producãtor:"
-#: lib/sysinfo.c:361
+#: lib/sysinfo.c:389
msgid "Product Name:"
msgstr "Nume Produs:"
-#: lib/sysinfo.c:367
+#: lib/sysinfo.c:395
msgid "Product ID:"
msgstr "ID Produs:"
-#: lib/sysinfo.c:373
+#: lib/sysinfo.c:401
msgid "Product Version:"
msgstr "Versiune Produs:"
-#: lib/sysinfo.c:379
+#: lib/sysinfo.c:407
#, c-format
msgid "PHYType: %s"
msgstr "TipPHY: %s"
-#: lib/sysinfo.c:382
+#: lib/sysinfo.c:410
#, c-format
msgid "Temperature: %s"
msgstr "Temperaturã: %s"
-#: lib/sysinfo.c:390
+#: lib/sysinfo.c:418
#, fuzzy, c-format
msgid "Regulatory Domain: %s"
msgstr "Domeniu Regularizare: %s"
-#: lib/sysinfo.c:391
+#: lib/sysinfo.c:419
msgid "FCC (USA)"
msgstr "FCC (USA)"
-#: lib/sysinfo.c:392
+#: lib/sysinfo.c:420
msgid "DOC (Canada)"
msgstr "DOC (Canada)"
-#: lib/sysinfo.c:393
+#: lib/sysinfo.c:421
msgid "ETSI (Europe)"
msgstr "ETSI (Europa)"
-#: lib/sysinfo.c:394
+#: lib/sysinfo.c:422
msgid "Spain"
msgstr "Spania"
-#: lib/sysinfo.c:395
+#: lib/sysinfo.c:423
msgid "France"
msgstr "Franþa"
-#: lib/sysinfo.c:396
+#: lib/sysinfo.c:424
msgid "MKK (Japan)"
msgstr "MKK (Japonia)"
-#: lib/sysinfo.c:399
+#: lib/sysinfo.c:427
#, c-format
msgid "Transmit Power: %u mW"
msgstr "Putere Transmisie: %u mW"
-#: lib/sysinfo.c:429
+#: lib/sysinfo.c:457
#, fuzzy, c-format
msgid "WEP implemented: %s"
msgstr "WEP inplementat: %s"
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
#, c-format
msgid "Diversity: %s"
msgstr "Variaþie: %s"
-#: lib/sysinfo.c:460
+#: lib/sysinfo.c:488
#, c-format
msgid "Uptime: %u:%02u:%02u.%02u"
msgstr "Uptime: %u:%02u:%02u.%02u"
-#: lib/sysinfo.c:480
+#: lib/sysinfo.c:508
#, c-format
msgid "IP Address: %s"
msgstr "Adresã IP: %s"
msgid "Right"
msgstr "Dreapta"
-#: lib/test.c:86
+#: lib/test.c:79
+msgid "Devices with ATMEL12350 MIB not yet supported."
+msgstr ""
+
+#: lib/test.c:91
#, fuzzy
msgid "Test mode"
msgstr "Mod Testare"
-#: lib/test.c:89
+#: lib/test.c:94
#, fuzzy
msgid "Using the \"Test mode\" may cause loss of your current"
msgstr ""
"Folosirea modului de testare poate cauza pierderea configuraþiei curente."
-#: lib/test.c:90
+#: lib/test.c:95
#, fuzzy
msgid "configuration."
msgstr "Upload de configuraþie"
-#: lib/test.c:102
+#: lib/test.c:107
msgid "Options:"
msgstr "Opþiuni:"
-#: lib/test.c:128
+#: lib/test.c:133
msgid "Statistics:"
msgstr "Statistici:"
-#: lib/test.c:129
+#: lib/test.c:134
msgid "Success Frames: 0 Failed Frames: 0"
msgstr "Frame-uri cu succes: 0 Frame-uri eºuate: 0"
-#: lib/test.c:190
+#: lib/test.c:195
#, c-format
msgid "Success Frames: %lu Failed Frames: %lu"
msgstr "Frame-uri cu succes: %lu Frame-uri eºuate: %lu"
msgstr ""
#: lib/wlan.c:48
-msgid "[T] SIFS time (msec): "
+msgid "[T] SIFS time (2nd+ interframe spacing, usec): "
msgstr ""
#: lib/wlan.c:49
msgid "Long"
msgstr "Lung"
-#: lib/wlan.c:237
+#: lib/wlan.c:239
msgid "Wireless Settings"
msgstr "Setãri Wireless"
-#: lib/wlan.c:731
+#: lib/wlan.c:735
msgid "Antenna Configuration:"
msgstr "Configuraþie Antenã:"
-#: lib/wlan.c:748
+#: lib/wlan.c:752
msgid "General Options"
msgstr "Opþiuni Generale"
-#: lib/wlan.c:750
+#: lib/wlan.c:754
msgid ""
"UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
msgstr ""
"UIOPTY - antenã; SCANLEDFR1234 - opþiuni; W - scriere configuraþie; Q - "
"ieºire în meniu"
-#: src/ap-config.c:54
-msgid "General"
-msgstr "General"
-
-#: src/ap-config.c:54
-msgid "Set general options"
-msgstr "Setare opþiuni generale"
-
-#: src/ap-config.c:55
-msgid "Advanced"
-msgstr "Avansat"
+#: src/ap-auth.c:32 src/auth.c:28
+msgid "AuthorizedMacTableString packet error"
+msgstr "Eroare pachet AuthorizedMacTableString"
-#: src/ap-config.c:55
-msgid "Set advanced options"
-msgstr "Setare opþiuni avansate"
+#: src/ap-auth.c:33
+msgid "Invalid data in source file"
+msgstr ""
-#: src/ap-config.c:89
-msgid "Reset AP."
-msgstr "Resetare AP."
+#: src/ap-auth.c:34
+msgid "Can't open file"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Latest"
-msgstr "Ultimul"
+#: src/ap-auth.c:35
+msgid "Can't write to file"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Get info about latest events"
-msgstr "Procurare informaþii despre ultimele evenimente"
+#: src/ap-auth.c:36
+msgid "Error closing file"
+msgstr ""
-#: src/ap-mrtg.c:42
+#: src/ap-auth.c:44 src/ap-mrtg.c:41 src/ap-rrd.c:40
msgid ""
"\n"
"Usage:\n"
"\n"
"Folosire:\n"
-#: src/ap-mrtg.c:44
-#, fuzzy
+#: src/ap-auth.c:45
+msgid "\tap-auth -i ip -c community -d filename [-h]\n"
+msgstr ""
+
+#: src/ap-auth.c:46
msgid ""
-"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-a aptype] [-v] [-"
-"h] [-r]\n"
+"\tap-auth -i ip -c community -u filename [-h]\n"
"\n"
msgstr ""
-"\tap-mrtg -i ip -c comunitate -t tip [-b bssid] [-v] [-h] [-r]\n"
-"\n"
-#: src/ap-mrtg.c:46
+#: src/ap-auth.c:47
msgid ""
-"Get stats from AP and return it in MRTG parsable format\n"
+"Change accesspoint's list of authorised MAC addresses\n"
"\n"
msgstr ""
-"Procurã statistici din AP ºi le returneazã în format MRTG\n"
-"\n"
-#: src/ap-mrtg.c:47
+#: src/ap-auth.c:48 src/ap-mrtg.c:45 src/ap-rrd.c:45
msgid "-i ip - AP ip address\n"
msgstr "-i ip - Adresã de ip AP \n"
-#: src/ap-mrtg.c:48
+#: src/ap-auth.c:49 src/ap-mrtg.c:46 src/ap-rrd.c:46
msgid "-c community - SNMP community string\n"
msgstr "-c comunitate - SNMP ºir de caractere comunitate\n"
-#: src/ap-mrtg.c:50
+#: src/ap-auth.c:50
msgid ""
-"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
-"or <l>ink quality in client mode\n"
+"-d filename - download list of authorised MAC addresses from AP to a file\n"
msgstr ""
-"-t tip - tip statistici <w>ireless, <e>thernet, <s>taþii asociate sau "
-"calitate <l>egãturã(link) în mod client\n"
-#: src/ap-mrtg.c:52
+#: src/ap-auth.c:52
msgid ""
-"-b bssid - mac address of the AP to which get link quality, only if "
-"type=l\n"
+"-u filename - upload list of authorised MAC addresses from a file to AP\n"
msgstr ""
-"-b bssid - adresã mac a AP-ului de la care se procurã calitatea "
-"conexiunii(link), numai dacã tip=l\n"
-#: src/ap-mrtg.c:53
-msgid "-n name - AP name - for check only\n"
+#: src/ap-auth.c:54 src/ap-mrtg.c:55 src/ap-rrd.c:55
+msgid ""
+"-h - print this help screen\n"
+"\n"
msgstr ""
+"-h - afiºeazã acest ecran de ajutor\n"
+"\n"
-#: src/ap-mrtg.c:54
+#: src/ap-auth.c:55
+#, fuzzy, c-format
msgid ""
-"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the "
-"ME-102\n"
+"ap-auth %s Copyright (c) 2004 Teemu Kiviniemi\n"
+"\n"
msgstr ""
+"ap-mrtg %s Copyright (c) 2002 Roman Festchook\n"
+"\n"
-#: src/ap-mrtg.c:56
+#: src/ap-auth.c:138 src/ap-mrtg.c:132
+#, fuzzy
+msgid "Error: invalid IP-address.\n"
+msgstr "Adresã de IP invalidã\n"
+
+#: src/ap-auth.c:203 src/ap-mrtg.c:204
+#, fuzzy
+msgid "Unable to determine AP MIB type (no response from AP)."
+msgstr "Nu se pot recupera date din AP. Apãsaþi o tastã pentru continuare."
+
+#: src/ap-auth.c:211
+msgid "NWN devices are not yet supported."
+msgstr ""
+
+#: src/ap-config.c:43 src/bridge.c:201
+msgid "Bridging"
+msgstr "Conexiune(Bridging)"
+
+#: src/ap-config.c:43
+msgid "Set bridging and IP-related options"
+msgstr "Setare opþiuni legate de bridging ºi IP"
+
+#: src/ap-config.c:45 src/ap-config.c:114 src/ap-config.c:123 src/bridge.c:125
+msgid "Wireless"
+msgstr "Wireless"
+
+#: src/ap-config.c:45
+msgid "Set wireless options"
+msgstr "Setare opþiuni wireless"
+
+#: src/ap-config.c:46 src/ap-config.c:58
+msgid "Privacy"
+msgstr "Secret(Privacy)"
+
+#: src/ap-config.c:47
+#, fuzzy
+msgid "Auth"
+msgstr "Despre"
+
+#: src/ap-config.c:48 src/ap-config.c:60
+msgid "Community"
+msgstr "Comunitate"
+
+#: src/ap-config.c:49
+msgid "Radio"
+msgstr "Radio"
+
+#: src/ap-config.c:49
+msgid "Set radio signal power and antenna options"
+msgstr "Setãri putere semnal radio ºi opþiuni antenã"
+
+#: src/ap-config.c:56
+msgid "General"
+msgstr "General"
+
+#: src/ap-config.c:56
+msgid "Set general options"
+msgstr "Setare opþiuni generale"
+
+#: src/ap-config.c:57
+msgid "Advanced"
+msgstr "Avansat"
+
+#: src/ap-config.c:57
+msgid "Set advanced options"
+msgstr "Setare opþiuni avansate"
+
+#: src/ap-config.c:59
+#, fuzzy
+msgid "MAC auth"
+msgstr "Autorizare Mac"
+
+#: src/ap-config.c:82
+msgid "Upload"
+msgstr "Upload"
+
+#: src/ap-config.c:82
+#, fuzzy
+msgid "Activate current configuration"
+msgstr "Seteazã configuraþia curentã ca activã"
+
+#: src/ap-config.c:83
+msgid "Defaults"
+msgstr "Implicite"
+
+#: src/ap-config.c:83
+msgid "Restore factory default settings"
+msgstr "Restaureazã setãrile implicite din fabricã"
+
+#: src/ap-config.c:84 src/ap-config.c:91
+msgid "Reset"
+msgstr "Reset"
+
+#: src/ap-config.c:85
+msgid "Reset AP. All not uploaded configuration will be lost"
+msgstr "Resetare AP. Toate configuraþiile ne-uploadate vor fi pierdute"
+
+#: src/ap-config.c:86
+msgid "TestMode"
+msgstr "ModTestare"
+
+#: src/ap-config.c:86
+msgid "Put Access Point in test mode"
+msgstr "Aducere Access Point în mod testare"
+
+#: src/ap-config.c:91
+msgid "Reset AP."
+msgstr "Resetare AP."
+
+#: src/ap-config.c:112 src/ap-config.c:122
+msgid "SysInfo"
+msgstr "SysInfo"
+
+#: src/ap-config.c:113 src/bridge.c:124 src/bridge.c:127
+msgid "Ethernet"
+msgstr "Ethernet"
+
+#: src/ap-config.c:113
+msgid "Get ethernet port statistics"
+msgstr "Procurare statistici port ethernet"
+
+#: src/ap-config.c:115 src/ap-config.c:124
+msgid "Stations"
+msgstr "Staþii"
+
+#: src/ap-config.c:116
+msgid "AP link"
+msgstr ""
+
+#: src/ap-config.c:117
+msgid "KnownAPs"
+msgstr "AP-uri cunoscute"
+
+#: src/ap-config.c:117
+msgid "Get info about known Access Points"
+msgstr "Procurare informaþii despre Access Point-urile cunoscute"
+
+#: src/ap-config.c:125
+msgid "Latest"
+msgstr "Ultimul"
+
+#: src/ap-config.c:125
+msgid "Get info about latest events"
+msgstr "Procurare informaþii despre ultimele evenimente"
+
+#: src/ap-config.c:150
+msgid "Info"
+msgstr "Informaþii"
+
+#: src/ap-config.c:151
+msgid "Config"
+msgstr "Configuraþie"
+
+#: src/ap-config.c:152
+msgid "Commands"
+msgstr "Comenzi"
+
+#: src/ap-config.c:152
+msgid "Execute commands on Access Point"
+msgstr "Executare comenzi pe Access Point"
+
+#: src/ap-config.c:154
+msgid "Connect"
+msgstr "Conectare "
+
+#: src/ap-config.c:155
+msgid "Search"
+msgstr "Cãutare"
+
+#: src/ap-config.c:156
+msgid "Polling"
+msgstr ""
+
+#: src/ap-config.c:157
+msgid "Shell"
+msgstr "Shell"
+
+#: src/ap-config.c:159
+msgid "Exit"
+msgstr "Ieºire"
+
+#: src/ap-config.c:218
+#, c-format
+msgid "Wireless Access Point Configurator ver. %s"
+msgstr "Wireless Access Point Configurator ver. %s"
+
+#: src/aplink.c:25
+msgid "RSSI: ["
+msgstr ""
+
+#: src/aplink.c:26
+msgid "RSSI avg: ["
+msgstr ""
+
+#: src/aplink.c:27
+msgid "RSSI top: ["
+msgstr ""
+
+#: src/aplink.c:28
+msgid "RSSI rou: ["
+msgstr ""
+
+#: src/aplink.c:29
+msgid ""
+"P - pause, T - toggle graph view, Q - quit to menu, Other key - force update."
+msgstr ""
+
+#: src/aplink.c:81
+msgid "RSSI [%]"
+msgstr ""
+
+#: src/aplink.c:82
+msgid "RSSI average [%]"
+msgstr ""
+
+#: src/aplink.c:83
+msgid "RSSI rounded [%]"
+msgstr ""
+
+#: src/aplink.c:84
+msgid "Link Quality [%]"
+msgstr ""
+
+#: src/aplink.c:133
+msgid "Not available - device must have firmware with necessary "
+msgstr ""
+
+#: src/aplink.c:135
+msgid "vendor extensions and be in either 'Access Point client'"
+msgstr ""
+
+#: src/aplink.c:137
+msgid "or 'Repeater' mode."
+msgstr ""
+
+#: src/ap-mrtg.c:42
+#, fuzzy
+msgid ""
+"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-v] [-h] [-r]\n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c comunitate -t tip [-b bssid] [-v] [-h] [-r]\n"
+"\n"
+
+#: src/ap-mrtg.c:44
+msgid ""
+"Get stats from AP and return it in MRTG parsable format\n"
+"\n"
+msgstr ""
+"Procurã statistici din AP ºi le returneazã în format MRTG\n"
+"\n"
+
+#: src/ap-mrtg.c:47
+#, fuzzy
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality (last one will only "
+msgstr ""
+"-t tip - tip statistici <w>ireless, <e>thernet, <s>taþii asociate sau "
+"calitate <l>egãturã(link) în mod client\n"
+
+#: src/ap-mrtg.c:49
+msgid "work with ATMEL410 MIB devices in AP Client mode)\n"
+msgstr ""
+
+#: src/ap-mrtg.c:50
+#, fuzzy
+msgid ""
+"-b bssid - mac address of the AP from which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid - adresã mac a AP-ului de la care se procurã calitatea "
+"conexiunii(link), numai dacã tip=l\n"
+
+#: src/ap-mrtg.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr ""
+
+#: src/ap-mrtg.c:53
msgid "-v - report MRTG about problems connecting to AP\n"
msgstr ""
"-v - raporteazã MRTG-ului problemele apãrute la conectarea la AP\n"
-#: src/ap-mrtg.c:57
+#: src/ap-mrtg.c:54 src/ap-rrd.c:54
msgid "-r - reset AP when getting LinkQuality stats\n"
msgstr ""
"-r - reseteazã AP-ul când se procurã statisticile LinkQuality\n"
-#: src/ap-mrtg.c:58
+#: src/ap-mrtg.c:56
+#, fuzzy, c-format
msgid ""
-"-h - print this help screen\n"
+"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
"\n"
msgstr ""
-"-h - afiºeazã acest ecran de ajutor\n"
+"ap-mrtg %s Copyright (c) 2002 Roman Festchook\n"
+"\n"
+
+#: src/ap-rrd.c:32
+#, c-format
+msgid "Error getting data from AP %s\n"
+msgstr ""
+
+#: src/ap-rrd.c:42
+#, fuzzy
+msgid ""
+"\tap-rrd -i ip -c community -t type -d db_file [-b bssid] [-n name] [-a "
+"aptype] [-h] [-r] \n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c comunitate -t tip [-b bssid] [-v] [-h] [-r]\n"
"\n"
-#: src/ap-mrtg.c:59
+#: src/ap-rrd.c:44
+#, fuzzy
+msgid ""
+"Get stats from AP and put it in to specified RRDtool database\n"
+"\n"
+msgstr ""
+"Procurã statistici din AP ºi le returneazã în format MRTG\n"
+"\n"
+
+#: src/ap-rrd.c:48
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality in client mode\n"
+msgstr ""
+"-t tip - tip statistici <w>ireless, <e>thernet, <s>taþii asociate sau "
+"calitate <l>egãturã(link) în mod client\n"
+
+#: src/ap-rrd.c:49
+msgid "-d db_file - RRD database file with full path\n"
+msgstr ""
+
+#: src/ap-rrd.c:51
+msgid ""
+"-b bssid - mac address of the AP to which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid - adresã mac a AP-ului de la care se procurã calitatea "
+"conexiunii(link), numai dacã tip=l\n"
+
+#: src/ap-rrd.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr ""
+
+#: src/ap-rrd.c:53
+msgid ""
+"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-"
+"102\n"
+msgstr ""
+
+#: src/ap-rrd.c:56
#, fuzzy, c-format
msgid ""
-"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
+"ap-rrd %s Copyright (c) 2002-2004 Roman Festchook\n"
"\n"
msgstr ""
"ap-mrtg %s Copyright (c) 2002 Roman Festchook\n"
"\n"
-#: src/ap-mrtg.c:143
+#: src/ap-rrd.c:133
msgid "Invalid IP-address\n"
msgstr "Adresã de IP invalidã\n"
-#: src/ap-mrtg.c:188
+#: src/ap-rrd.c:179
#, c-format
msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
msgstr ""
-#: src/ap-mrtg.c:207
-msgid "Create socket error"
-msgstr "Eroare în crearea socketului"
+#: src/ap-tftp.c:84
+msgid "yes"
+msgstr ""
+
+#: src/ap-tftp.c:85
+#, fuzzy
+msgid "no"
+msgstr "Informaþii"
+
+#: src/ap-tftp.c:87
+msgid "Error while read()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:100
+msgid "Undefined error"
+msgstr ""
+
+#: src/ap-tftp.c:101
+msgid "File not found"
+msgstr ""
+
+#: src/ap-tftp.c:102
+#, fuzzy
+msgid "Access violation"
+msgstr "Access Point"
+
+#: src/ap-tftp.c:103
+msgid "Disk full or allocation error"
+msgstr ""
+
+#: src/ap-tftp.c:104
+msgid "Illegal TFTP operation"
+msgstr ""
+
+#: src/ap-tftp.c:105
+msgid "Unknown transfer ID"
+msgstr ""
+
+#: src/ap-tftp.c:106
+msgid "File already exists"
+msgstr ""
+
+#: src/ap-tftp.c:107
+msgid "No such user"
+msgstr ""
+
+#: src/ap-tftp.c:157
+msgid "Remote-filename too long.\n"
+msgstr ""
+
+#: src/ap-tftp.c:183
+#, c-format
+msgid "%sError in read()"
+msgstr ""
+
+#: src/ap-tftp.c:212
+#, c-format
+msgid "sending %u bytes\n"
+msgstr ""
+
+#: src/ap-tftp.c:221
+#, c-format
+msgid "%sError in sendto()"
+msgstr ""
+
+#: src/ap-tftp.c:244
+#, c-format
+msgid "%sError in recvfrom()"
+msgstr ""
+
+#: src/ap-tftp.c:256
+#, c-format
+msgid "\rProgress: uploaded %3i%%."
+msgstr ""
+
+#: src/ap-tftp.c:267
+#, c-format
+msgid "%sMalformed packet received. Aborting.\n"
+msgstr ""
+
+#: src/ap-tftp.c:276
+#, c-format
+msgid "%sTimed out waiting for response from server (%i/%i).\n"
+msgstr ""
+
+#: src/ap-tftp.c:283
+#, c-format
+msgid "%sError in select()"
+msgstr ""
+
+#: src/ap-tftp.c:297
+#, c-format
+msgid "Received %d bytes: %04x %04x\n"
+msgstr ""
+
+#: src/ap-tftp.c:308
+#, c-format
+msgid "%sError: server responded with %s. Aborting.\n"
+msgstr ""
+
+#: src/ap-tftp.c:315
+#, c-format
+msgid "%sFlash programming in progress...\n"
+msgstr ""
+
+#: src/ap-tftp.c:317
+msgid "Finished successfully.\n"
+msgstr ""
+
+#: src/ap-tftp.c:335
+msgid "PLEASE BE _ABSOLUTELY_ SURE TO READ MANPAGE PRIOR USE!!!\n"
+msgstr ""
+
+#: src/ap-tftp.c:337
+#, c-format
+msgid ""
+"\n"
+"Usage: %s -i IP -f firmware_file.rom [-c community] [-h]\n"
+msgstr ""
+
+#: src/ap-tftp.c:361
+msgid "TFTP client for upgrading firmware in ATMEL AT76C510 WiSOC-based APs.\n"
+msgstr ""
+
+#: src/ap-tftp.c:363
+msgid "(C) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>\n"
+msgstr ""
+
+#: src/ap-tftp.c:379
+msgid "Error: invalid IP address format given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:405
+#, fuzzy
+msgid "Error: invalid argument combination.\n"
+msgstr "Adresã de IP invalidã\n"
+
+#: src/ap-tftp.c:412
+msgid "Error while open()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:419 src/ap-tftp.c:472
+msgid "Error: invalid firmware file given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:461
+#, c-format
+msgid ""
+"Firmware file contains:\n"
+"- string \"ATMEL\": %s\n"
+"- string \"802.11 AP\": %s\n"
+"- string \"atbrfirm.bin\": %s\n"
+"- string \"atsingle.bin\": %s\n"
+msgstr ""
-#: src/ap-mrtg.c:211
-msgid "Bind socket error"
-msgstr "Eroare în legãtura(bind) la socket"
+#: src/ap-tftp.c:485
+#, c-format
+msgid ""
+"Using:\n"
+"- server: %s\n"
+"- firmware file: \"%s\"\n"
+"- name used for upload: \"%s\"\n"
+msgstr ""
+
+#: src/ap-tftp.c:568
+msgid ""
+"Error: device with the given IP does not seem to run SmartBridges firmware.\n"
+msgstr ""
+
+#: src/ap-tftp.c:574
+msgid "Error: SNMP authorization error or device unavailable.\n"
+msgstr ""
-#: src/ap-trapd.c:148
+#: src/ap-tftp.c:653
+msgid "Error while lseek()ing in firmware file\n"
+msgstr ""
+
+#: src/ap-trapd.c:150
#, c-format
msgid "ap-trapd %s started%s%s."
msgstr "ap-trapd %s startat%s%s."
-#: src/ap-trapd.c:149
+#: src/ap-trapd.c:151
msgid " on "
msgstr " activat "
-#: src/ap-trapd.c:155
+#: src/ap-trapd.c:157
msgid "Unable to fork. Exiting."
msgstr "Nu se poate face fork. Ieºire."
-#: src/ap-trapd.c:159
+#: src/ap-trapd.c:161
msgid "Can't create socket. Exiting."
msgstr "Nu se poate crea socketul. Ieºire."
-#: src/ap-trapd.c:165
+#: src/ap-trapd.c:167
msgid "Can't bind socket. Exiting."
msgstr "Nu se poate face legãtura(bind) la socket. Ieºire."
-#: src/ap-trapd.c:172
+#: src/ap-trapd.c:174
#, c-format
msgid "Can't bind to device %s. Exiting."
msgstr "Nu se poate face legãtura(bind) la device-ul %s. Ieºire."
-#: src/ap-trapd.c:183
+#: src/ap-trapd.c:185
#, c-format
msgid "Unable to process username %s. Error: %m."
msgstr "Nu pot procesa username-ul %s. Eroare: %m."
-#: src/ap-trapd.c:188
+#: src/ap-trapd.c:190
#, c-format
msgid "Unable to change to uid %d."
msgstr "Nu pot schimba în uid %d."
-#: src/ap-trapd.c:235
+#: src/ap-trapd.c:239
#, c-format
msgid ""
"Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."
"S-a primit trap necunoscut SNMP ver %d. De la %s:%d. Agent: %s. Comunitate: %"
"s."
-#: src/ap-trapd.c:307
-#, c-format
-msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
+#: src/ap-trapd.c:311
+#, fuzzy, c-format
+msgid "Agent:v%d %s (%s@%s:%d) Trap %i: %s%s%s. SysUptime %d:%02d:%02d.%02d"
msgstr "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
-#: src/auth_mac.c:33
+#: src/auth.c:30
+msgid "APClient authorization credentials"
+msgstr ""
+
+#: src/auth.c:32
+#, fuzzy
+msgid "[A] MAC authorization: "
+msgstr "[A] Autorizare prin MAC: %s"
+
+#: src/auth.c:33
+#, fuzzy
+msgid "Enter MAC: "
+msgstr "Introducere Mac:"
+
+#: src/auth.c:34
#, fuzzy
-msgid "NUM MAC address"
+msgid "Delete Num: "
+msgstr "ªterge Num:"
+
+#: src/auth.c:35
+#, fuzzy
+msgid " NUM MAC address "
msgstr "NUM adresã MAC"
+#: src/auth.c:36
+#, fuzzy
+msgid "A: auth; N: new; D: del; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - autentificare; N - nou; D - ºtergere; sãgeþi -scroll; W- scriere conf; Q "
+"- ieºire"
+
+#: src/auth.c:38
+msgid "[I] Radius server IP: "
+msgstr ""
+
+#: src/auth.c:39
+#, fuzzy
+msgid "[P] Radius server port: "
+msgstr "[P] Port primar: %s"
+
+#: src/auth.c:40
+msgid "[S] Radius server secret: "
+msgstr ""
+
+#: src/auth.c:41
+#, fuzzy
+msgid "[T] Reauthorization time (minutes): "
+msgstr "[A] Autorizare prin MAC: %s"
+
+#: src/auth.c:42
+msgid "[F] Radius source port: "
+msgstr ""
+
+#: src/auth.c:43
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; IPSTF: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - autentificare; N - nou; D - ºtergere; sãgeþi -scroll; W- scriere conf; Q "
+"- ieºire"
+
+#: src/auth.c:45
+#, fuzzy
+msgid "[M] 802.1x authorization: "
+msgstr "[A] Autorizare prin MAC: %s"
+
+#: src/auth.c:46
+#, fuzzy
+msgid "[T] key broadcasting time period (seconds): "
+msgstr "[A] Autorizare prin MAC: %s"
+
+#: src/auth.c:47
+msgid "[I] 802.1x auth. server IP: "
+msgstr ""
+
+#: src/auth.c:48
+msgid "[S] 802.1x auth. server secret: "
+msgstr ""
+
+#: src/auth.c:49
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; MTIS: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - autentificare; N - nou; D - ºtergere; sãgeþi -scroll; W- scriere conf; Q "
+"- ieºire"
+
+#: src/auth.c:114
+#, fuzzy
+msgid "Internal"
+msgstr "General"
+
+#: src/auth.c:116
+#, fuzzy
+msgid "Radius"
+msgstr "Radio"
+
+#: src/auth.c:121
+msgid "Allow listed MACs only"
+msgstr ""
+
+#: src/auth.c:123
+msgid "Deny listed MACs only"
+msgstr ""
+
+#: src/auth.c:129
+msgid "Mixed environment"
+msgstr ""
+
+#: src/auth.c:213
+msgid "(not shown)"
+msgstr ""
+
+#: src/auth.c:276
+#, fuzzy
+msgid "Authorized MAC addresses:"
+msgstr "Adrese MAC Autorizate"
+
+#: src/auth.c:345
+msgid "(insufficient community used)"
+msgstr ""
+
+#: src/auth.c:472
+#, c-format
+msgid "Given MAC already exists in MAC list at position %d. Press any key."
+msgstr ""
+
+#: src/bridge.c:27
+msgid "[I] IP: "
+msgstr ""
+
+#: src/bridge.c:28
+#, fuzzy
+msgid "[N] Netmask: "
+msgstr "[N] Netmask: %s"
+
+#: src/bridge.c:29
+#, fuzzy
+msgid "[G] Gateway: "
+msgstr "[G] Gateway %s"
+
+#: src/bridge.c:30
+#, fuzzy
+msgid "[F] Filter non-IP traffic: "
+msgstr "[F] Filtrare traficul non IP: %s"
+
+#: src/bridge.c:31
+#, fuzzy
+msgid "[P] Primary port: "
+msgstr "[P] Port primar: %s"
+
+#: src/bridge.c:32
+#, fuzzy
+msgid "Attached station MAC: "
+msgstr "MAC ataºat staþiei: %02X%02X%02X%02X%02X%02X"
+
+#: src/bridge.c:33
+#, fuzzy
+msgid "[D] DHCP client: "
+msgstr "[D] Protocol DHCP: %s"
+
+#: src/bridge.c:34
+#, fuzzy
+msgid "[O] Operational mode: "
+msgstr "[O] Mod Operaþional: %s"
+
#: src/bridge.c:35
+#, fuzzy
+msgid "[M] Preferred BSSID (remote MAC addr.): "
+msgstr "[R] Adresã Mac remote: %02X:%02X:%02X:%02X:%02X:%02X"
+
+#: src/bridge.c:36
msgid "[C] Configuration-enabled port(s): "
msgstr ""
+#: src/bridge.c:37
+msgid "[T] Trap-sending port: "
+msgstr ""
+
#: src/bridge.c:38
-msgid "[B] Isolate wireless clients (broadcast traffic): "
+msgid "[R] Forward broadcast traffic: "
msgstr ""
#: src/bridge.c:39
+msgid "[B] Isolate wireless clients (broadcast traffic): "
+msgstr ""
+
+#: src/bridge.c:40
msgid "[U] Isolate wireless clients (unicast traffic): "
msgstr ""
-#: src/bridge.c:119
+#: src/bridge.c:41
+#, fuzzy
+msgid "INGFPDOMSCRBUT - set; W - write conf; Q - quit to menu"
+msgstr "BPGINFDRT - setãri; W - scriere configuraþie; Q - ieºire în meniu"
+
+#: src/bridge.c:128
+#, fuzzy
+msgid "Wireless (can be risky)"
+msgstr "Setãri Wireless"
+
+#: src/bridge.c:129
#, fuzzy
msgid "Both"
msgstr "Ambele Tipuri"
msgid "Error:"
msgstr "Eroare:"
-#: src/stations.c:33
-msgid "AP link state"
+#: src/stations.c:82
+msgid "Not available (device not in AP mode)."
msgstr ""
-#: src/stations.c:37
-msgid " # MAC "
+#: src/stations.c:92
+msgid " # MAC Parent MAC RSSI LQ Sts MACn IP "
msgstr ""
-#: src/stations.c:40
-msgid " # MAC Parent MAC RSSI Status MACn IP "
-msgstr ""
+#: src/stations.c:136
+msgid "AssociatedSTAsInfo packet error"
+msgstr "Eroare pachet AssociatedSTAsInfo"
-#: src/stations.c:195 src/stations.c:367
+#: src/stations.c:189 src/stations.c:363
#, fuzzy
msgid ""
"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
"refresh"
msgstr "Sãgeþi - scroll; S - salvare în fiºier; Q - ieºire în meniu."
-#: src/stations.c:200
+#: src/stations.c:193
#, fuzzy
msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
msgstr "Sãgeþi - scroll; S - salvare în fiºier; Q - ieºire în meniu."
-#: src/stations.c:279
+#: src/stations.c:275
#, fuzzy
msgid "Id MAC address Quality Age RSSI"
msgstr "Id Adresã MAC Calitate Vechime RSSI"
+#~ msgid "Create socket error. Press any key."
+#~ msgstr "Eroare în creare socket. Apãsaþi o tastã."
+
+#~ msgid "Bind socket error. Press any key."
+#~ msgstr "Eroare de legãturã. Apãsaþi o tastã."
+
+#~ msgid "Create socket error"
+#~ msgstr "Eroare în crearea socketului"
+
+#~ msgid "Bind socket error"
+#~ msgstr "Eroare în legãtura(bind) la socket"
+
+#, fuzzy
+#~ msgid "NUM MAC address"
+#~ msgstr "NUM adresã MAC"
+
+#, fuzzy
+#~ msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
+#~ msgstr "DA - opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
+
+#, fuzzy
+#~ msgid "A - auth; W - write conf; Q - quit"
+#~ msgstr "DA - opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
+
+#~ msgid "Arrows - scroll; S - save to file; Q - quit to menu."
+#~ msgstr "Sãgeþi - scroll; S - salvare în fiºier; Q - ieºire în meniu."
+
#~ msgid "Associated Stations"
#~ msgstr "Staþii Asociate"
msgid ""
msgstr ""
"Project-Id-Version: ap-utils 1.3.2-pre3\n"
-"POT-Creation-Date: 2004-11-28 00:59+0200\n"
+"POT-Creation-Date: 2005-03-07 01:13+0200\n"
"PO-Revision-Date: 2004-06-14 14:03+0200\n"
"Last-Translator: Elif Bilge Maden <bilgemaden_1@yahoo.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
"Content-Transfer-Encoding: 8bit\n"
"Report-Msgid-Bugs-To: \n"
-#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
-msgid "Bridging"
-msgstr "Bağlanıyor"
-
-#: ap-gl/ap-gl.c:41 src/ap-config.c:41
-msgid "Set bridging and IP-related options"
-msgstr "Bağlantı kurma ve IP bağlantılı seçenekler"
-
-#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
-#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
-msgid "Wireless"
-msgstr "Kablosuz"
-
-#: ap-gl/ap-gl.c:43 src/ap-config.c:43
-msgid "Set wireless options"
-msgstr "Kablosuz seçenekleri kur"
-
-#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
-msgid "Privacy"
-msgstr "Gizlilik"
-
-#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
-#, fuzzy
-msgid "MAC auth"
-msgstr "Mac adresini gir"
-
-#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
-msgid "Community"
-msgstr "Topluluk"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Radio"
-msgstr "Radyo"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Set radio signal power and antenna options"
-msgstr "Radyo sinyal gücünü ve anten seçeneklerini ayarlayınız."
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Upload"
-msgstr "Yükleme"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-#, fuzzy
-msgid "Activate current configuration"
-msgstr "Geçerli yapılandırmaları aktif hale getir."
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Defaults"
-msgstr "Varsayılanlar"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Restore factory default settings"
-msgstr "Fabrika varsayılan ayarlarını geri yükle "
-
-#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
-msgid "Reset"
-msgstr "Sıfırla"
-
-#: ap-gl/ap-gl.c:65 src/ap-config.c:83
-msgid "Reset AP. All not uploaded configuration will be lost"
-msgstr "AP' yi sıfırla. Yüklenmemiş yapılandırmalar kaybolacaktır"
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "TestMode"
-msgstr "TestKipi"
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "Put Access Point in test mode"
-msgstr "Test kipine Erişim Noktası koy"
-
-#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
-msgid "SysInfo"
-msgstr "Sistembilgisi"
-
-#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
-#: src/bridge.c:120
-msgid "Ethernet"
-msgstr "Eternet"
-
-#: ap-gl/ap-gl.c:80 src/ap-config.c:111
-msgid "Get ethernet port statistics"
-msgstr "Eternet bağlantı noktaları istatistiklerini bul"
-
-#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
-msgid "Stations"
-msgstr "İstasyonlar"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "KnownAPs"
-msgstr "Bilinen AP' ler"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "Get info about known Access Points"
-msgstr "Bilinen Erişim Noktaları hakkında bilgi edinin."
-
-#: ap-gl/ap-gl.c:100 src/ap-config.c:147
-msgid "Info"
-msgstr "Bilgi"
-
-#: ap-gl/ap-gl.c:101 src/ap-config.c:148
-msgid "Config"
-msgstr "Yapılandırma"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Commands"
-msgstr "Komutlar"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Execute commands on Access Point"
-msgstr "Erişim Noktasında komut gönder"
-
-#: ap-gl/ap-gl.c:104 src/ap-config.c:151
-msgid "Connect"
-msgstr "Bağlan"
-
-#: ap-gl/ap-gl.c:105 src/ap-config.c:152
-msgid "Search"
-msgstr "Ara"
-
-#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
-msgid "About"
-msgstr "Hakkında"
-
-#: ap-gl/ap-gl.c:107 src/ap-config.c:154
-msgid "Shell"
-msgstr "Kabuk"
-
-#: ap-gl/ap-gl.c:108 src/ap-config.c:155
-msgid "Exit"
-msgstr "Çıkış"
-
-#: ap-gl/ap-gl.c:158 src/ap-config.c:204
-#, c-format
-msgid "Wireless Access Point Configurator ver. %s"
-msgstr "Kablosuz Erişim Noktası Konfigürasyon Tanımlayıcısı Sürümü %s"
-
-#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
-msgid "AuthorizedMacTableString packet error"
-msgstr "YetkiliMacTablosuDizgi paketi hatası"
-
-#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
-#, fuzzy
-msgid "[A] MAC authorization: "
-msgstr "(A) Makro yetki: %s"
-
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
-#, fuzzy
-msgid "Enter MAC: "
-msgstr "Makro gir"
-
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
-#, fuzzy
-msgid "Delete Num: "
-msgstr "Numarayı sil:"
-
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
-#, fuzzy
-msgid "Authorized MAC addresses"
-msgstr "Yetkili makro adresler"
-
-#: ap-gl/auth_mac.c:33
-#, fuzzy
-msgid "NUM MAC address"
-msgstr "NUM MAKRO adres"
-
-#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
-msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
-msgstr ""
-"A - yetki; N - yeni; D - sil; oklar - kaydırma; W - yapılandırmayı yaz; Q - "
-"durdur "
-
-#: ap-gl/auth_mac.c:35
-#, fuzzy
-msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
-msgstr "BPGINFDRT - kur;W - yapılandırmayı yaz; Q - menüye dön"
-
-#: ap-gl/auth_mac.c:36
-#, fuzzy
-msgid "A - auth; W - write conf; Q - quit"
-msgstr "DA -seçenekler; W - yapılandırmayı yaz; Q - menüye geri dön"
-
-#: ap-gl/auth_mac.c:38
-msgid "[I] RADIUS SERVER IP: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:39
-msgid "[P] RADIUS SERVER PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:40
-msgid "[S] RADIUS SERVER SECRET: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:41
-msgid "[T] REAUTHORIZATION TIME: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:42
-msgid "[F] RADIUS SOURCE PORT: "
-msgstr ""
-
-#: ap-gl/auth_mac.c:87
-#, fuzzy
-msgid "Internal"
-msgstr "Genel"
-
-#: ap-gl/auth_mac.c:95
-msgid "<hidden>"
-msgstr ""
-
-#: ap-gl/bridge.c:26 src/bridge.c:26
-msgid "[I] IP: "
-msgstr ""
-
-#: ap-gl/bridge.c:27 src/bridge.c:27
-#, fuzzy
-msgid "[N] Netmask: "
-msgstr "[N] Ağ Maskesi: %s"
-
-#: ap-gl/bridge.c:28 src/bridge.c:28
-#, fuzzy
-msgid "[G] Gateway: "
-msgstr "(G) Ağ Geçidi %s"
-
-#: ap-gl/bridge.c:29 src/bridge.c:29
-#, fuzzy
-msgid "[F] Filter non-IP traffic: "
-msgstr "(F) IP- dışı trafik süzgeci: %s"
-
-#: ap-gl/bridge.c:30 src/bridge.c:30
-#, fuzzy
-msgid "[P] Primary port: "
-msgstr "(P) Gizli bağlantı noktaları: %s"
-
-#: ap-gl/bridge.c:31 src/bridge.c:31
-#, fuzzy
-msgid "Attached station MAC: "
-msgstr "İliştirilmiş MAC İstasyonu: %02X%02X%02X%02X%02X%02X"
-
-#: ap-gl/bridge.c:32 src/bridge.c:32
-#, fuzzy
-msgid "[D] DHCP client: "
-msgstr "(D) DHCP protokolü: %s"
-
-#: ap-gl/bridge.c:33 src/bridge.c:33
-#, fuzzy
-msgid "[O] Operational mode: "
-msgstr "(O) İşlemsel Kip: %s"
-
-#: ap-gl/bridge.c:34 src/bridge.c:34
-msgid "[M] Preferred BSSID (remote MAC addr.): "
-msgstr ""
-
-#: ap-gl/bridge.c:36 src/bridge.c:36
-msgid "[T] Trap-sending port(s): "
-msgstr ""
-
-#: ap-gl/bridge.c:37 src/bridge.c:37
-msgid "[R] Forward broadcast traffic: "
-msgstr ""
-
-#: ap-gl/bridge.c:39
-msgid "[U] Isolate wireless clients: "
-msgstr ""
-
-#: ap-gl/bridge.c:40 src/bridge.c:40
-#, fuzzy
-msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
-msgstr "BPGINFDRT - kur;W - yapılandırmayı yaz; Q - menüye dön"
-
-#: ap-gl/bridge.c:124 src/bridge.c:109
-msgid "Wireless Bridge Point to MultiPoint"
-msgstr "Noktadan Çok Bağlantı Noktasına Kablosuz Köprü"
-
-#: ap-gl/bridge.c:125 src/bridge.c:110
-msgid "Access Point"
-msgstr "Erişim Noktası"
-
-#: ap-gl/bridge.c:126 src/bridge.c:111
-msgid "Access Point client"
-msgstr "Erşim Noktası Kullanıcısı"
-
-#: ap-gl/bridge.c:127 src/bridge.c:112
-msgid "Wireless Bridge Point to Point"
-msgstr "noktadan noktaya kablosuz köprü"
-
-#: ap-gl/bridge.c:128 src/bridge.c:113
-msgid "Repeater"
-msgstr "Yineleyici"
-
-#: ap-gl/stations.c:77 src/stations.c:100
-msgid "AP is currently in AP Client Mode => no associated STAtions."
-msgstr ""
-
-#: ap-gl/stations.c:102
-msgid "# MAC LQ RSSI Status Port IP"
-msgstr ""
-
-#: ap-gl/stations.c:128 src/stations.c:159
-msgid "AssociatedSTAsInfo packet error"
-msgstr "İlişkiliSTAbilgi paketi hatası"
-
-#: ap-gl/stations.c:160
-msgid "Arrows - scroll; S - save to file; Q - quit to menu."
-msgstr "Oklar - kaydırma; S - dosyaya kaydet; Q - menüye geri dön"
-
-#: lib/aps.c:29
+#: lib/aps.c:30
msgid "Known Access Points"
msgstr "Tanımlana Erişim Noktaları"
-#: lib/aps.c:129
+#: lib/aps.c:130
msgid "Your Access Point is not in \"AP client\" mode => getting"
msgstr ""
-#: lib/aps.c:132
+#: lib/aps.c:133
msgid "up-to-date \"Known APs\" info requires your AP to be"
msgstr ""
-#: lib/aps.c:135
+#: lib/aps.c:136
msgid "temporarily configured into \"AP client\" mode and rebooted."
msgstr ""
-#: lib/aps.c:138
+#: lib/aps.c:139
msgid "Your AP will be reconfigured back to original mode by this"
msgstr ""
-#: lib/aps.c:141
+#: lib/aps.c:142
msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
msgstr ""
-#: lib/aps.c:144
+#: lib/aps.c:145
#, fuzzy
msgid "cause loss of Access Point's current configuration."
msgstr "Kablosuz Erişim Noktası Konfigürasyon Tanımlayıcısı"
-#: lib/aps.c:148
+#: lib/aps.c:149
msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
msgstr ""
-#: lib/aps.c:151
+#: lib/aps.c:152
#, fuzzy
msgid "via its wireless port."
msgstr "Kablosuz seçenekleri kur"
-#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
+#: lib/aps.c:154 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:96
msgid "Do you want to continue? "
msgstr "Devam etmek istiyor musunuz?"
-#: lib/aps.c:207
+#: lib/aps.c:208
msgid "NetworkType"
msgstr "Ağ Türü"
-#: lib/aps.c:283
+#: lib/aps.c:284
msgid "Infrastructure"
msgstr "Altyapı"
-#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
+#: lib/aps.c:344 lib/aps.c:352 lib/aps.c:360
#, fuzzy
msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
msgstr "P: Başlangıç Türü, S: Kısa; L: Uzun"
-#: lib/aps.c:345
+#: lib/aps.c:346
msgid "RSSI: Radio Signal Strength Indicator [%]"
msgstr ""
-#: lib/aps.c:347 lib/aps.c:355
+#: lib/aps.c:348 lib/aps.c:356
msgid "; LQ: Link Quality [%]"
msgstr ""
-#: lib/aps.c:353
+#: lib/aps.c:354
msgid "RSSI: Radio Signal Strength Indicator [dBm]"
msgstr ""
-#: lib/aps.c:361
+#: lib/aps.c:362
msgid "RSSI: Radio Signal Strength Indicator [raw]"
msgstr ""
-#: lib/aps.c:363
+#: lib/aps.c:364
msgid "; LQ: Link Q. [raw]"
msgstr ""
-#: lib/aps.c:369
+#: lib/aps.c:370
#, fuzzy
msgid ""
"# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
"# bu AP'ye bağlan; R yeniden başlatarak yenile; G yeniden başlatmadan "
"yenile; Q geri dön"
-#: lib/aps.c:371
+#: lib/aps.c:372
#, fuzzy
msgid ""
"# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
"# bu AP'ye bağlan; R yeniden başlatarak yenile; G yeniden başlatmadan "
"yenile; Q geri dön"
-#: lib/aps.c:500 lib/ap_search.c:167
+#: lib/aps.c:501 lib/ap_search.c:173
#, fuzzy, c-format
msgid "Failure in sendto(): %s. Press any key."
msgstr "Geçersiz gönderim: %s. Bir tuşa basınız."
-#: lib/aps.c:509
+#: lib/aps.c:510
msgid "You have just initiated the AP scan. Be advised that it may"
msgstr ""
-#: lib/aps.c:512
+#: lib/aps.c:513
msgid "take a few seconds for your Access Point to find out some"
msgstr ""
-#: lib/aps.c:515
+#: lib/aps.c:516
msgid "values, so expect finishing the scan in about 5 seconds."
msgstr ""
-#: lib/aps.c:518
+#: lib/aps.c:519
msgid "Also note that your Access Point stops forwarding the network"
msgstr ""
-#: lib/aps.c:521
+#: lib/aps.c:522
msgid "traffic while the scan is in progress, but restores itself"
msgstr ""
-#: lib/aps.c:524
+#: lib/aps.c:525
msgid "to normal operation in time ranging up to 1 minute."
msgstr ""
-#: lib/aps.c:527
+#: lib/aps.c:528
msgid "Hence, if you are connected to target Access Point via its"
msgstr ""
-#: lib/aps.c:530
+#: lib/aps.c:531
msgid "wireless port, you need to wait a bit longer"
msgstr ""
-#: lib/aps.c:533
+#: lib/aps.c:534
msgid "after pressing 'S'."
msgstr ""
#: lib/ap_search.c:49
#, fuzzy
-msgid " NUM IP ADDRESS MIB TYPE NAME"
+msgid " NUM IP ADDRESS MIB TYPE FW TYPE (VERSION) AP NAME"
msgstr "NO IP ADRESİ TÜR"
-#: lib/ap_search.c:100
+#: lib/ap_search.c:106
msgid "Please wait while scanning, or press 'Q' to quit."
msgstr ""
-#: lib/ap_search.c:116
+#: lib/ap_search.c:122
#, fuzzy
msgid "Can't set broadcast option on socket. Press any key."
msgstr "Yuvaya yayın seçeneği kurulamıyor. Bir tuşa basınız."
-#: lib/ap_search.c:125
+#: lib/ap_search.c:131
#, fuzzy
msgid "Can't set multicast membership on socket. Press any key."
msgstr "yuvaya çoğa gönderim üyeliği kurulamıyor. Bir tuşa basınız."
-#: lib/ap_search.c:132
+#: lib/ap_search.c:138
msgid "Scanning via network interface:"
msgstr ""
-#: lib/ap_search.c:133
+#: lib/ap_search.c:139
#, c-format
msgid " Index: %i"
msgstr ""
-#: lib/ap_search.c:135
+#: lib/ap_search.c:141
#, fuzzy, c-format
msgid " Name: %s"
msgstr "(N) AP Adı:"
-#: lib/ap_search.c:137
+#: lib/ap_search.c:143
#, c-format
msgid " IP: %s"
msgstr ""
-#: lib/ap_search.c:146
+#: lib/ap_search.c:152
#, c-format
msgid "Scanning for AP with MIB type: %s"
msgstr ""
-#: lib/ap_search.c:334
-msgid "Please enter SNMP community name that will be used for AP detection."
-msgstr ""
-
-#: lib/ap_search.c:345
+#: lib/ap_search.c:378
msgid "Access Points Search"
msgstr "Erişim Noktaları Araştırması"
-#: lib/ap_search.c:363
+#: lib/ap_search.c:396
#, fuzzy
msgid "realloc() error."
msgstr "Soket hatası oluştur"
-#: lib/ap_search.c:375
+#: lib/ap_search.c:408
msgid "Network interface discovery error."
msgstr ""
-#: lib/ap_search.c:450
+#: lib/ap_search.c:483
#, fuzzy
msgid "No local network interfaces found. Press any key."
msgstr "çatal hata. Bir tuşa basınız."
-#: lib/ap_search.c:452
+#: lib/ap_search.c:485
msgid "No directly reachable Access Points found. Press any key."
msgstr ""
-#: lib/ap_search.c:457
+#: lib/ap_search.c:490
msgid "Single-screen maximum number of APs found."
msgstr ""
-#: lib/ap_search.c:460
+#: lib/ap_search.c:493
#, fuzzy
msgid "# - connect to AP; Q - quit"
msgstr "AP numarasına bağlan:"
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:82
#, fuzzy
msgid "MAC address: "
msgstr "NUM MAKRO adres"
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:83
#, fuzzy
msgid "[S] SNMP traps: "
msgstr "(S) SNMP Tuzakları: %s"
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:85
#, fuzzy
msgid "[C] Frequency channel: "
msgstr "[C] Sıklık Kanalı: %02u (%u MHz)"
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:87
#, fuzzy
msgid "Receive antenna:"
msgstr "Alındı:"
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:88
#, fuzzy
msgid "[U] Left"
msgstr "Sol"
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:89
#, fuzzy
msgid "[I] Right"
msgstr "Sağ"
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:90
#, fuzzy
msgid "Transmit antenna:"
msgstr "İletildi:"
-#: lib/ap-utils.h:88
+#: lib/ap-utils.h:91
#, fuzzy
msgid "[O] Left"
msgstr "Sol"
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:92
#, fuzzy
msgid "[P] Right"
msgstr "Sağ"
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:93
#, fuzzy
msgid "Diversity select:"
msgstr "Çeşitleme: %s"
-#: lib/ap-utils.h:91
+#: lib/ap-utils.h:94
#, fuzzy
msgid "[T] Left"
msgstr "Sol"
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:95
#, fuzzy
msgid "[Y] Right"
msgstr "Sağ"
-#: lib/ap-utils.h:94
+#: lib/ap-utils.h:97
msgid "Yes"
msgstr ""
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:98
msgid "No"
msgstr ""
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:100
msgid "On"
msgstr ""
-#: lib/ap-utils.h:98
+#: lib/ap-utils.h:101
#, fuzzy
msgid "Off"
msgstr "kapama"
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:103
#, fuzzy
msgid "Basic"
msgstr "temel"
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:105
msgid "Press any key to continue."
msgstr "devam etmek için bir tuşa basınız"
-#: lib/ap-utils.h:103
-msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+#: lib/ap-utils.h:106
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update"
msgstr ""
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:108
msgid "Unable to write data to AP. Press any key to continue."
msgstr "AP' ye veri yazılamıyor. Devam etmek için bir tuşa basınız."
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:109
#, fuzzy
msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
msgstr "AP' den veri alınamıyor. Devam etmek için bir tuşa basınız."
-#: lib/ap-utils.h:107
+#: lib/ap-utils.h:110
#, fuzzy
-msgid "Trying to retrieve data from AP. Please wait..."
+msgid "Trying to retrieve data from AP - please wait (or press Q to quit)."
msgstr "AP' den veri alınıyor. Lütfen bekleyin."
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:111
msgid "Writing data to AP. Please wait..."
msgstr "AP' ye veri yazılıyor. Lütfen bekleyin."
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:112
#, fuzzy
msgid "Configuration written to the AP. Press any key to continue."
msgstr "AP' ye veri yazılamıyor. Devam etmek için bir tuşa basınız."
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:113
#, fuzzy
msgid "select() function error. Press any key."
msgstr "fcntl hatası: Bir tuşa basınız."
-#: lib/ap-utils.h:112
-msgid "Create socket error. Press any key."
-msgstr "Yuva hatası oluştur.. Bir tuşa basınız."
+#: lib/ap-utils.h:114
+#, fuzzy
+msgid "socket() or bind() function error. Press any key."
+msgstr "fcntl hatası: Bir tuşa basınız."
-#: lib/ap-utils.h:113
-msgid "Bind socket error. Press any key."
-msgstr "Yuva hatasını bağlayınız. Bir tuşa basınız."
+#: lib/ap-utils.h:116
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr "AP' den veri alınamıyor. Devam etmek için bir tuşa basınız."
+
+#: lib/ap-utils.h:117
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:119
msgid "Back to main menu"
msgstr "Ana menüye geri dön."
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:120
msgid "Exit program"
msgstr "Programdan çık."
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:121
#, fuzzy
msgid "Run subshell. To return type 'exit'."
msgstr "Alt kabuğu çalıştır. Çıkış tipine geri dönüş için"
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:122
+msgid "Change polling mode interval"
+msgstr ""
+
+#: lib/ap-utils.h:123
msgid "Short info about program"
msgstr "Program hakkında kısa bilgi"
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:124
msgid "Find connected Access Points"
msgstr "Bağlantılı Erişim Noktalarını bul."
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:125
msgid "Set connection options: ip and community"
msgstr "Bağlantı seçeneklerini ayarla: ip ve topluluk "
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:126
#, fuzzy
msgid "Set encryption; edit WEP keys"
msgstr "Kriptolamayı ayarla, WEP tuşlarını düzenle."
-#: lib/ap-utils.h:122
+#: lib/ap-utils.h:127
#, fuzzy
-msgid "Set MAC authorization; edit MAC authorization table"
+msgid "Set authorization; edit MAC authorization table"
msgstr "Makro yetkiyi ayarla, makro yetki tablosunu düzelt."
-#: lib/ap-utils.h:123
+#: lib/ap-utils.h:128
#, fuzzy
msgid "Set SNMP community/password for access to the AP"
msgstr "AP' ye erişim için SNMP topluluk/ şifre ayarını kur. "
-#: lib/ap-utils.h:124
+#: lib/ap-utils.h:129
#, fuzzy
msgid "Get info about AP hardware and firmware"
msgstr "AP donanımı ve yazılımı hakkında bilgi al."
-#: lib/ap-utils.h:125
+#: lib/ap-utils.h:130
#, fuzzy
msgid "Get wireless port statistics"
msgstr "kablosuz bağlantı noktaları istatistiklerine ulaş."
-#: lib/ap-utils.h:126
+#: lib/ap-utils.h:131
#, fuzzy
msgid "Get list of currently associated stations (Access Point clients)"
msgstr "Geçerli ilişkilendirilmiş istasyonlar listesine ulaş"
-#: lib/ap-utils.h:127
+#: lib/ap-utils.h:132
+msgid "Get link status in APclient mode"
+msgstr ""
+
+#: lib/ap-utils.h:133
#, fuzzy
msgid "Get info and statistics from AP"
msgstr "AP bilgi ve istatistiklerine ulaş"
-#: lib/ap-utils.h:128
+#: lib/ap-utils.h:134
#, fuzzy
msgid "Set various configuration options"
msgstr "Çeşitli yapılandırma seçenekleri kurma "
-#: lib/ap-utils.h:130
+#: lib/ap-utils.h:136
msgid "Associated stations"
msgstr "İlişkili istasyonlar"
-#: lib/ap-utils.h:132
+#: lib/ap-utils.h:137
+msgid "AP Client link state"
+msgstr ""
+
+#: lib/ap-utils.h:139
msgid "Polling: on"
msgstr ""
-#: lib/ap-utils.h:133
+#: lib/ap-utils.h:140
msgid "Polling: off"
msgstr ""
msgid "Configuration uploaded. Press any key to continue."
msgstr "Tamamlanmış yapılandırmayı yükle. Devam etmek için bir tuşa basınız."
-#: lib/common.c:30
+#: lib/common.c:32
#, fuzzy
msgid "Access Point IP-address: "
msgstr "Erişim Noktası IP-adresi:"
-#: lib/common.c:31
+#: lib/common.c:33
#, fuzzy
msgid "Password (community): "
msgstr "Şifre ( topluluk):"
-#: lib/common.c:32
+#: lib/common.c:34
msgid "Autodetect AP MIB properties? "
msgstr ""
-#: lib/common.c:33
+#: lib/common.c:35
#, fuzzy
msgid "AP MIB type: "
msgstr "AP türü:"
-#: lib/common.c:34
+#: lib/common.c:36
msgid "AP MIB vendor extensions: "
msgstr ""
-#: lib/common.c:35
+#: lib/common.c:37
#, fuzzy
msgid "Do you want to use AP's name as its label? "
msgstr "Devam etmek istiyor musunuz?"
-#: lib/common.c:36
+#: lib/common.c:38
#, fuzzy
msgid "Access Point label: "
msgstr "Erişim Noktası"
-#: lib/common.c:37
+#: lib/common.c:39
#, fuzzy
msgid "Save connect-settings: "
msgstr "Bağlantı ayarlarını kaydediniz."
-#: lib/common.c:100
+#: lib/common.c:40
+msgid "[P] Polling mode interval (tenths of second): "
+msgstr ""
+
+#: lib/common.c:41
+#, fuzzy
+msgid "P - change polling mode interval; Q - quit to menu"
+msgstr "(tuş) - seçenek kur; W - yapılandırmayı yaz; Q - menüye geri dön"
+
+#: lib/common.c:89 src/ap-config.c:158
+msgid "About"
+msgstr "Hakkında"
+
+#: lib/common.c:106
#, c-format
msgid "From %s"
msgstr "%s' ten"
-#: lib/common.c:102
+#: lib/common.c:108
#, c-format
msgid "Version %s"
msgstr "Sürüm %s"
-#: lib/common.c:105
+#: lib/common.c:111
msgid "Written by Roman Festchook roma@polesye.net"
msgstr "Roman Festchook tarafından yazılmıştır roma@polesye.net"
-#: lib/common.c:107
-msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+#: lib/common.c:113
+msgid "and Jan Rafaj jr-aputils@cedric.unob.cz"
msgstr ""
-#: lib/common.c:109
+#: lib/common.c:115
#, fuzzy
-msgid "Copyright (c) 2001-2004"
+msgid "Copyright (c) 2001-2005"
msgstr "Telif Hakkı (c) Roman Festchoo 2001-2002"
-#: lib/common.c:111
+#: lib/common.c:117
msgid "Roman Festchook and Jan Rafaj"
msgstr ""
-#: lib/common.c:114
+#: lib/common.c:120
msgid "This program is distributed under the terms"
msgstr "Bu program GNU Toplu Kamu Lisansı Sürüm 2"
-#: lib/common.c:116
+#: lib/common.c:122
msgid "of the GNU General Public License version 2."
msgstr "denetiminde dağıtılmaktadır. "
-#: lib/common.c:118
+#: lib/common.c:124
msgid "See the included COPYING file for details."
msgstr "Ayrıntılar için mevcuti KOPYALAMA dosyasına bakınız."
-#: lib/common.c:175
+#: lib/common.c:165
msgid "Connect options"
msgstr "Seçeneklere bağlan"
-#: lib/common.c:183
+#: lib/common.c:173
msgid "Enter IP address of your Access Point."
msgstr "Erişim Noktanızın IP adresini giriniz."
-#: lib/common.c:192
+#: lib/common.c:182
msgid "Entered characters will not be displayed for security reason."
msgstr "Girdiğiniz karakterler güvenlik nedeniyle gösterilmeyecektir."
-#: lib/common.c:266
+#: lib/common.c:249
msgid "This label will be stored on HDD (independently on AP name!)."
msgstr ""
-#: lib/common.c:361
+#: lib/common.c:362
#, fuzzy
msgid "Trying to probe AP for MIB properties. Please wait..."
msgstr "AP' ye veri yazılıyor. Lütfen bekleyin."
-#: lib/common.c:390
+#: lib/common.c:391
#, fuzzy
msgid ""
"Unable to determine AP MIB properties (no response from AP). Press any key."
msgstr "AP' den veri alınamıyor. Devam etmek için bir tuşa basınız."
-#: lib/file.c:205
+#: lib/common.c:489 lib/set_oeminfo.c:221
+#, c-format
+msgid "%s%u"
+msgstr ""
+
+#: lib/common.c:491
+#, c-format
+msgid "(%0.1f seconds)"
+msgstr ""
+
+#: lib/file.c:199
msgid "NUM IP ADDRESS MIB TYPE MIB EXT. LABEL"
msgstr ""
-#: lib/file.c:206
+#: lib/file.c:200
#, fuzzy
msgid "Choose an AP to connect to"
msgstr "Bağlanmak için AP'yi seç"
-#: lib/file.c:212
+#: lib/file.c:206
msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
msgstr "1-9,C: bağlan; N: yeni; D: sil; W: kaydet; Q: çıkış; oklar: kaydırma"
-#: lib/file.c:268
+#: lib/file.c:257
msgid "Connect to AP num:"
msgstr "AP numarasına bağlan:"
-#: lib/file.c:304
+#: lib/file.c:288
msgid "Delete num:"
msgstr "numarayı sil"
-#: lib/file.c:372
-msgid "AP list file ~/.ap-config successfully written. Press any key."
-msgstr ""
-
-#: lib/file.c:376
-#, fuzzy
-msgid "Unable to write AP list file ~/.ap-config. Press any key."
-msgstr "AP' den veri alınamıyor. Devam etmek için bir tuşa basınız."
-
-#: lib/file.c:426
+#: lib/file.c:442
#, fuzzy
msgid "Unable to write stations file. Press any key."
msgstr "AP' ye veri yazılamıyor. Devam etmek için bir tuşa basınız."
-#: lib/file.c:428
+#: lib/file.c:444
msgid "Stations file succesfully written. Press any key."
msgstr ""
-#: lib/input.c:33
+#: lib/input.c:32
#, fuzzy
msgid "Invalid value. Press any key to continue."
msgstr "Geçersiz IP- adresi"
-#: lib/input.c:34
+#: lib/input.c:33
#, fuzzy, c-format
msgid "Value must be in range %u - %u. Press any key to continue."
msgstr "AP' ye veri yazılamıyor. Devam etmek için bir tuşa basınız."
-#: lib/input.c:412
+#: lib/input.c:460
#, fuzzy
msgid "Y - Yes; Any other key - No (it's safer to answer No)"
msgstr "(Y - Evet; N - Hayır (Hayır yanıtı daha güvenlidir)"
-#: lib/oui.c:6056
+#: lib/oui.c:6061
msgid "Unknown or Private"
msgstr "Bilinmiyor ya da gizli"
"İki anten birden geçersiz kılınamaz, anten yapılandırması kaydedilemiyor. "
"Bir tuşa basınız."
-#: lib/scr.c:168
+#: lib/scr.c:157
#, fuzzy, c-format
msgid "Current AP: %s Type: %s Ext: %s"
msgstr "Geçerli AP: %s Çeşit: %s"
"TUŞ - topluluk/ şifre ayarını yapınız; W - tamamlanmış AP'ye yapılandırma "
"yapınız."
+#: lib/set_oeminfo.c:28
+#, fuzzy
+msgid "Info structure version: "
+msgstr "YapıSürüm: %lu"
+
+#: lib/set_oeminfo.c:29
+#, fuzzy
+msgid "[M] Device MAC address: "
+msgstr "NUM MAKRO adres"
+
+#: lib/set_oeminfo.c:30
+#, fuzzy
+msgid " Manufacturer with this OUI: "
+msgstr "Üretici ID:"
+
+#: lib/set_oeminfo.c:31
+#, fuzzy
+msgid "[D] Regulatory domain: "
+msgstr "Düzenleme Alanı: %s"
+
+#: lib/set_oeminfo.c:32
+#, fuzzy
+msgid "[T] Product type: "
+msgstr "ÜrünTürü: %lu"
+
+#: lib/set_oeminfo.c:33
+#, fuzzy
+msgid "[E] OEM name: "
+msgstr "OEMAdı:"
+
+#: lib/set_oeminfo.c:34
+msgid "[I] OEM ID: "
+msgstr ""
+
+#: lib/set_oeminfo.c:35
+#, fuzzy
+msgid "[N] Product name: "
+msgstr "Ürün Adı"
+
+#: lib/set_oeminfo.c:36
+#, fuzzy
+msgid "[H] Hardware revision: "
+msgstr "DonanımDeğişiklikleri: %lu"
+
+#: lib/set_oeminfo.c:37
+#, fuzzy
+msgid "[O] Country code: "
+msgstr "[O] Komut: %s"
+
+#: lib/set_oeminfo.c:38
+#, fuzzy
+msgid "[C] Default channel: "
+msgstr "[C] Sıklık Kanalı: %02u (%u MHz)"
+
+#: lib/set_oeminfo.c:39
+#, fuzzy
+msgid "[A] Calibrated channels: "
+msgstr "[C] Sıklık Kanalı: %02u (%u MHz)"
+
+#: lib/set_oeminfo.c:40
+msgid "[P] Nominal Tx Power (CR31) value for calibrated channels: "
+msgstr ""
+
+#: lib/set_oeminfo.c:41
+#, fuzzy
+msgid ""
+"Keys in brackets - set corresponding option; W - write conf; Q - quit to menu"
+msgstr "(tuş) - seçenek kur; W - yapılandırmayı yaz; Q - menüye geri dön"
+
+#: lib/set_oeminfo.c:101
+msgid "THIS IS A SECRET MENU LEADING TO VERY DANGEROUS OPTIONS."
+msgstr ""
+
+#: lib/set_oeminfo.c:103
+msgid "It is intended only for WISPs and repair shops."
+msgstr ""
+
+#: lib/set_oeminfo.c:107
+msgid "It allows to set OEM information stored in the AP (like its"
+msgstr ""
+
+#: lib/set_oeminfo.c:109
+msgid "MAC address, manuf. name, OEM ID, etc.). BE ABSOLUTELY SURE"
+msgstr ""
+
+#: lib/set_oeminfo.c:111
+msgid "THAT YOU KNOW WHAT YOU ARE DOING, AND THAT YOU HAVE THE"
+msgstr ""
+
+#: lib/set_oeminfo.c:113
+msgid "LEGAL RIGHT TO DO ANY MODIFICATION. Disobserving of these"
+msgstr ""
+
+#: lib/set_oeminfo.c:115
+msgid "rules may lead you into a conflict with your local"
+msgstr ""
+
+#: lib/set_oeminfo.c:117
+msgid "regulations and/or law."
+msgstr ""
+
+#: lib/set_oeminfo.c:119
+msgid "Also be warned that the setting of any from these options"
+msgstr ""
+
+#: lib/set_oeminfo.c:121
+msgid "may DAMAGE YOUR AP (other reason why this menu is hidden)."
+msgstr ""
+
+#: lib/set_oeminfo.c:123
+msgid "Values changed here will NOT be restored upon reset"
+msgstr ""
+
+#: lib/set_oeminfo.c:125
+msgid "of the device to factory defaults! It is advisable to"
+msgstr ""
+
+#: lib/set_oeminfo.c:127
+msgid "write them down somewhere prior their changing."
+msgstr ""
+
+#: lib/set_oeminfo.c:129
+msgid "Finally, note that you need to use MANUFACTURER community, "
+msgstr ""
+
+#: lib/set_oeminfo.c:131
+msgid "in order to be able to do any OEM info modification."
+msgstr ""
+
+#: lib/set_oeminfo.c:133
+msgid "Proceed further only at your full risk and responsibility. "
+msgstr ""
+
+#: lib/set_oeminfo.c:135
+msgid "You got the warnings."
+msgstr ""
+
+#: lib/set_oeminfo.c:141
+msgid "OEM Info settings"
+msgstr ""
+
#: lib/stat.c:29
msgid "Ethernet Statistics"
msgstr "Eternet İstatistikleri"
msgid "System Info"
msgstr "Sistem Bilgisi"
-#: lib/sysinfo.c:120
+#: lib/sysinfo.c:55 src/bridge.c:50
+msgid "Wireless Bridge Point to MultiPoint"
+msgstr "Noktadan Çok Bağlantı Noktasına Kablosuz Köprü"
+
+#: lib/sysinfo.c:56 src/bridge.c:51
+msgid "Access Point"
+msgstr "Erişim Noktası"
+
+#: lib/sysinfo.c:57 src/bridge.c:52
+msgid "Access Point client"
+msgstr "Erşim Noktası Kullanıcısı"
+
+#: lib/sysinfo.c:58 src/bridge.c:53
+msgid "Wireless Bridge Point to Point"
+msgstr "noktadan noktaya kablosuz köprü"
+
+#: lib/sysinfo.c:59 src/bridge.c:54
+msgid "Repeater"
+msgstr "Yineleyici"
+
+#: lib/sysinfo.c:60 lib/sysinfo.c:315 lib/sysinfo.c:424 src/bridge.c:55
+msgid "unknown"
+msgstr "tanımlanamayan"
+
+#: lib/sysinfo.c:144
msgid "Device hardware/software/name info:"
msgstr ""
-#: lib/sysinfo.c:154
+#: lib/sysinfo.c:172
+#, fuzzy, c-format
+msgid "Operational mode: %s"
+msgstr "(O) İşlemsel Kip: %s"
+
+#: lib/sysinfo.c:182
#, fuzzy
-msgid "Product name:"
+msgid "Product name: "
msgstr "Ürün Adı"
-#: lib/sysinfo.c:158
+#: lib/sysinfo.c:186
#, fuzzy, c-format
msgid "Product type: %u"
msgstr "ÜrünTürü: %lu"
-#: lib/sysinfo.c:161
+#: lib/sysinfo.c:189
#, fuzzy
-msgid "OEM name:"
+msgid "OEM name: "
msgstr "OEMAdı:"
-#: lib/sysinfo.c:168
+#: lib/sysinfo.c:196
#, fuzzy, c-format
msgid "Hardware revision: %u"
msgstr "DonanımDeğişiklikleri: %lu"
-#: lib/sysinfo.c:176
+#: lib/sysinfo.c:204
#, fuzzy, c-format
msgid "Info structure version: %u"
msgstr "YapıSürüm: %lu"
-#: lib/sysinfo.c:179 lib/sysinfo.c:355
+#: lib/sysinfo.c:207 lib/sysinfo.c:383
#, c-format
msgid "Manufacturer OUI: %02X %02X %02X (%s)"
msgstr "Üretici OUI: %02X %02X %02X (%s)"
-#: lib/sysinfo.c:196
+#: lib/sysinfo.c:224
#, fuzzy, c-format
msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
msgstr "işlem süresi: %u:%02u:%02u.%02u"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "FHSS 2.4 GHz"
msgstr "FHSS 2.4 GHz"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "DSSS 2.4 GHz"
msgstr "DSSS 2.4 GHz"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "IR Baseband"
msgstr "IR Tabanbant"
-#: lib/sysinfo.c:285
+#: lib/sysinfo.c:313
msgid "Commercial range 0..40 C"
msgstr "Ticari Aralık 0..40 C"
-#: lib/sysinfo.c:286
+#: lib/sysinfo.c:314
msgid "Industrial range -30..70 C"
msgstr "Endüstriyel aralık -30..70 C"
-#: lib/sysinfo.c:287 lib/sysinfo.c:396
-msgid "unknown"
-msgstr "tanımlanamayan"
-
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "manual"
msgstr "kılavuz"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "notsupported"
msgstr "desteklenmiyor"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "dynamic"
msgstr "dinamik"
-#: lib/sysinfo.c:345
+#: lib/sysinfo.c:373
msgid "Manufacturer:"
msgstr "Üretici:"
-#: lib/sysinfo.c:350
+#: lib/sysinfo.c:378
msgid "Manufacturer ID:"
msgstr "Üretici ID:"
-#: lib/sysinfo.c:361
+#: lib/sysinfo.c:389
msgid "Product Name:"
msgstr "Ürün Adı"
-#: lib/sysinfo.c:367
+#: lib/sysinfo.c:395
msgid "Product ID:"
msgstr "Ürün ID:"
-#: lib/sysinfo.c:373
+#: lib/sysinfo.c:401
msgid "Product Version:"
msgstr "Ürün Sürümü:"
-#: lib/sysinfo.c:379
+#: lib/sysinfo.c:407
#, c-format
msgid "PHYType: %s"
msgstr "PHYTürü: %s"
-#: lib/sysinfo.c:382
+#: lib/sysinfo.c:410
#, c-format
msgid "Temperature: %s"
msgstr "Sıcaklık: %s"
-#: lib/sysinfo.c:390
+#: lib/sysinfo.c:418
#, fuzzy, c-format
msgid "Regulatory Domain: %s"
msgstr "Düzenleme Alanı: %s"
-#: lib/sysinfo.c:391
+#: lib/sysinfo.c:419
msgid "FCC (USA)"
msgstr "FCC ( Amerika)"
-#: lib/sysinfo.c:392
+#: lib/sysinfo.c:420
msgid "DOC (Canada)"
msgstr "DOC (Kanada)"
-#: lib/sysinfo.c:393
+#: lib/sysinfo.c:421
msgid "ETSI (Europe)"
msgstr "ETSI (Avrupa)"
-#: lib/sysinfo.c:394
+#: lib/sysinfo.c:422
msgid "Spain"
msgstr "İspanya"
-#: lib/sysinfo.c:395
+#: lib/sysinfo.c:423
msgid "France"
msgstr "Fransa"
-#: lib/sysinfo.c:396
+#: lib/sysinfo.c:424
msgid "MKK (Japan)"
msgstr "MKK ( Japonya)"
-#: lib/sysinfo.c:399
+#: lib/sysinfo.c:427
#, c-format
msgid "Transmit Power: %u mW"
msgstr "Geçiş süresi: %u mW"
-#: lib/sysinfo.c:429
+#: lib/sysinfo.c:457
#, fuzzy, c-format
msgid "WEP implemented: %s"
msgstr "WEP girildi: %s"
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
#, c-format
msgid "Diversity: %s"
msgstr "Çeşitleme: %s"
-#: lib/sysinfo.c:460
+#: lib/sysinfo.c:488
#, c-format
msgid "Uptime: %u:%02u:%02u.%02u"
msgstr "işlem süresi: %u:%02u:%02u.%02u"
-#: lib/sysinfo.c:480
+#: lib/sysinfo.c:508
#, c-format
msgid "IP Address: %s"
msgstr "IP Adresi: %s"
msgid "Right"
msgstr "Sağ"
-#: lib/test.c:86
+#: lib/test.c:79
+msgid "Devices with ATMEL12350 MIB not yet supported."
+msgstr ""
+
+#: lib/test.c:91
#, fuzzy
msgid "Test mode"
msgstr "Test Kipi"
-#: lib/test.c:89
+#: lib/test.c:94
#, fuzzy
msgid "Using the \"Test mode\" may cause loss of your current"
msgstr "Test kipi kullanımı mevcut yapılandırmada kayıplara yol açabilir."
-#: lib/test.c:90
+#: lib/test.c:95
#, fuzzy
msgid "configuration."
msgstr "Yapılandırmayı yükle"
-#: lib/test.c:102
+#: lib/test.c:107
msgid "Options:"
msgstr "Seçenekler:"
-#: lib/test.c:128
+#: lib/test.c:133
msgid "Statistics:"
msgstr "İstatistikler:"
-#: lib/test.c:129
+#: lib/test.c:134
msgid "Success Frames: 0 Failed Frames: 0"
msgstr "Başarı Profili: 0 Başarısızlık Profili: 0"
-#: lib/test.c:190
+#: lib/test.c:195
#, c-format
msgid "Success Frames: %lu Failed Frames: %lu"
msgstr "Başarı Profili: %lu Başarısızlık Profili: %lu"
msgstr ""
#: lib/wlan.c:48
-msgid "[T] SIFS time (msec): "
+msgid "[T] SIFS time (2nd+ interframe spacing, usec): "
msgstr ""
#: lib/wlan.c:49
msgid "Long"
msgstr "Uzun"
-#: lib/wlan.c:237
+#: lib/wlan.c:239
msgid "Wireless Settings"
msgstr "Kablosuz Ayarlar"
-#: lib/wlan.c:731
+#: lib/wlan.c:735
msgid "Antenna Configuration:"
msgstr "Anten Yapılandırması"
-#: lib/wlan.c:748
+#: lib/wlan.c:752
msgid "General Options"
msgstr "Genel Seçenekler"
-#: lib/wlan.c:750
+#: lib/wlan.c:754
msgid ""
"UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
msgstr ""
"UIOPTY - anten; SCANLEDFR1234 - seçenekler; W - yapılandırmayı yaz; Q - "
"menüye geri dön"
-#: src/ap-config.c:54
-msgid "General"
-msgstr "Genel"
-
-#: src/ap-config.c:54
-msgid "Set general options"
-msgstr "Genel seçenekleri kurunuz"
-
-#: src/ap-config.c:55
-msgid "Advanced"
-msgstr "Gelişmiş"
+#: src/ap-auth.c:32 src/auth.c:28
+msgid "AuthorizedMacTableString packet error"
+msgstr "YetkiliMacTablosuDizgi paketi hatası"
-#: src/ap-config.c:55
-msgid "Set advanced options"
-msgstr "Gelişmiş seçenekleri kurunuz"
+#: src/ap-auth.c:33
+msgid "Invalid data in source file"
+msgstr ""
-#: src/ap-config.c:89
-msgid "Reset AP."
-msgstr "AP'yi sıfırla"
+#: src/ap-auth.c:34
+msgid "Can't open file"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Latest"
-msgstr "Son haberler"
+#: src/ap-auth.c:35
+msgid "Can't write to file"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Get info about latest events"
-msgstr "son gelişmeler hakkında bilgi edinin."
+#: src/ap-auth.c:36
+msgid "Error closing file"
+msgstr ""
-#: src/ap-mrtg.c:42
+#: src/ap-auth.c:44 src/ap-mrtg.c:41 src/ap-rrd.c:40
msgid ""
"\n"
"Usage:\n"
"\n"
"Kullanım:\n"
-#: src/ap-mrtg.c:44
-#, fuzzy
+#: src/ap-auth.c:45
+msgid "\tap-auth -i ip -c community -d filename [-h]\n"
+msgstr ""
+
+#: src/ap-auth.c:46
msgid ""
-"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-a aptype] [-v] [-"
-"h] [-r]\n"
+"\tap-auth -i ip -c community -u filename [-h]\n"
"\n"
msgstr ""
-"\tap-mrtg -i ip -c topluluk -t türü [-b bssid] [-v] [-h] [-r]\n"
-"\n"
-#: src/ap-mrtg.c:46
+#: src/ap-auth.c:47
msgid ""
-"Get stats from AP and return it in MRTG parsable format\n"
+"Change accesspoint's list of authorised MAC addresses\n"
"\n"
msgstr ""
-"AP'den istatistik al ve çözümlenebilir formatta MRTG'ye aktar\n"
-"\n"
-#: src/ap-mrtg.c:47
+#: src/ap-auth.c:48 src/ap-mrtg.c:45 src/ap-rrd.c:45
msgid "-i ip - AP ip address\n"
msgstr "-i ip - AP ip adresi\n"
-#: src/ap-mrtg.c:48
+#: src/ap-auth.c:49 src/ap-mrtg.c:46 src/ap-rrd.c:46
msgid "-c community - SNMP community string\n"
msgstr "-c topluluk - SNMP topluluk dizgisi\n"
-#: src/ap-mrtg.c:50
+#: src/ap-auth.c:50
msgid ""
-"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
-"or <l>ink quality in client mode\n"
+"-d filename - download list of authorised MAC addresses from AP to a file\n"
msgstr ""
-"-t türü - kablosuz türden istatistikler, eternet, ilişkilendirilmiş "
-"istasyonlar ya da kullanıcı kipinde bağlantı kalitesi\n"
-#: src/ap-mrtg.c:52
+#: src/ap-auth.c:52
msgid ""
-"-b bssid - mac address of the AP to which get link quality, only if "
-"type=l\n"
+"-u filename - upload list of authorised MAC addresses from a file to AP\n"
msgstr ""
-"-b bssid -bağlantı kalitesinin ulaştığı AP mac adresi, ancak tür =l "
-"ise kullanılır\n"
-#: src/ap-mrtg.c:53
-msgid "-n name - AP name - for check only\n"
-msgstr ""
+#: src/ap-auth.c:54 src/ap-mrtg.c:55 src/ap-rrd.c:55
+msgid ""
+"-h - print this help screen\n"
+"\n"
+msgstr "-h - bu yardım ekranını yazdır\n"
-#: src/ap-mrtg.c:54
+#: src/ap-auth.c:55
+#, fuzzy, c-format
msgid ""
-"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the "
-"ME-102\n"
+"ap-auth %s Copyright (c) 2004 Teemu Kiviniemi\n"
+"\n"
msgstr ""
+"ap-mrtg %s Telifhakkı (c) 2002 Roman Festchook\n"
+"\n"
-#: src/ap-mrtg.c:56
-msgid "-v - report MRTG about problems connecting to AP\n"
-msgstr "-v - r AP ilişkili problemleri MRTG'ye aktar\n"
+#: src/ap-auth.c:138 src/ap-mrtg.c:132
+#, fuzzy
+msgid "Error: invalid IP-address.\n"
+msgstr "geçersiz IP-adresi\n"
+
+#: src/ap-auth.c:203 src/ap-mrtg.c:204
+#, fuzzy
+msgid "Unable to determine AP MIB type (no response from AP)."
+msgstr "AP' den veri alınamıyor. Devam etmek için bir tuşa basınız."
+
+#: src/ap-auth.c:211
+msgid "NWN devices are not yet supported."
+msgstr ""
+
+#: src/ap-config.c:43 src/bridge.c:201
+msgid "Bridging"
+msgstr "Bağlanıyor"
+
+#: src/ap-config.c:43
+msgid "Set bridging and IP-related options"
+msgstr "Bağlantı kurma ve IP bağlantılı seçenekler"
+
+#: src/ap-config.c:45 src/ap-config.c:114 src/ap-config.c:123 src/bridge.c:125
+msgid "Wireless"
+msgstr "Kablosuz"
+
+#: src/ap-config.c:45
+msgid "Set wireless options"
+msgstr "Kablosuz seçenekleri kur"
+
+#: src/ap-config.c:46 src/ap-config.c:58
+msgid "Privacy"
+msgstr "Gizlilik"
+
+#: src/ap-config.c:47
+#, fuzzy
+msgid "Auth"
+msgstr "Hakkında"
+
+#: src/ap-config.c:48 src/ap-config.c:60
+msgid "Community"
+msgstr "Topluluk"
+
+#: src/ap-config.c:49
+msgid "Radio"
+msgstr "Radyo"
-#: src/ap-mrtg.c:57
+#: src/ap-config.c:49
+msgid "Set radio signal power and antenna options"
+msgstr "Radyo sinyal gücünü ve anten seçeneklerini ayarlayınız."
+
+#: src/ap-config.c:56
+msgid "General"
+msgstr "Genel"
+
+#: src/ap-config.c:56
+msgid "Set general options"
+msgstr "Genel seçenekleri kurunuz"
+
+#: src/ap-config.c:57
+msgid "Advanced"
+msgstr "Gelişmiş"
+
+#: src/ap-config.c:57
+msgid "Set advanced options"
+msgstr "Gelişmiş seçenekleri kurunuz"
+
+#: src/ap-config.c:59
+#, fuzzy
+msgid "MAC auth"
+msgstr "Mac adresini gir"
+
+#: src/ap-config.c:82
+msgid "Upload"
+msgstr "Yükleme"
+
+#: src/ap-config.c:82
+#, fuzzy
+msgid "Activate current configuration"
+msgstr "Geçerli yapılandırmaları aktif hale getir."
+
+#: src/ap-config.c:83
+msgid "Defaults"
+msgstr "Varsayılanlar"
+
+#: src/ap-config.c:83
+msgid "Restore factory default settings"
+msgstr "Fabrika varsayılan ayarlarını geri yükle "
+
+#: src/ap-config.c:84 src/ap-config.c:91
+msgid "Reset"
+msgstr "Sıfırla"
+
+#: src/ap-config.c:85
+msgid "Reset AP. All not uploaded configuration will be lost"
+msgstr "AP' yi sıfırla. Yüklenmemiş yapılandırmalar kaybolacaktır"
+
+#: src/ap-config.c:86
+msgid "TestMode"
+msgstr "TestKipi"
+
+#: src/ap-config.c:86
+msgid "Put Access Point in test mode"
+msgstr "Test kipine Erişim Noktası koy"
+
+#: src/ap-config.c:91
+msgid "Reset AP."
+msgstr "AP'yi sıfırla"
+
+#: src/ap-config.c:112 src/ap-config.c:122
+msgid "SysInfo"
+msgstr "Sistembilgisi"
+
+#: src/ap-config.c:113 src/bridge.c:124 src/bridge.c:127
+msgid "Ethernet"
+msgstr "Eternet"
+
+#: src/ap-config.c:113
+msgid "Get ethernet port statistics"
+msgstr "Eternet bağlantı noktaları istatistiklerini bul"
+
+#: src/ap-config.c:115 src/ap-config.c:124
+msgid "Stations"
+msgstr "İstasyonlar"
+
+#: src/ap-config.c:116
+msgid "AP link"
+msgstr ""
+
+#: src/ap-config.c:117
+msgid "KnownAPs"
+msgstr "Bilinen AP' ler"
+
+#: src/ap-config.c:117
+msgid "Get info about known Access Points"
+msgstr "Bilinen Erişim Noktaları hakkında bilgi edinin."
+
+#: src/ap-config.c:125
+msgid "Latest"
+msgstr "Son haberler"
+
+#: src/ap-config.c:125
+msgid "Get info about latest events"
+msgstr "son gelişmeler hakkında bilgi edinin."
+
+#: src/ap-config.c:150
+msgid "Info"
+msgstr "Bilgi"
+
+#: src/ap-config.c:151
+msgid "Config"
+msgstr "Yapılandırma"
+
+#: src/ap-config.c:152
+msgid "Commands"
+msgstr "Komutlar"
+
+#: src/ap-config.c:152
+msgid "Execute commands on Access Point"
+msgstr "Erişim Noktasında komut gönder"
+
+#: src/ap-config.c:154
+msgid "Connect"
+msgstr "Bağlan"
+
+#: src/ap-config.c:155
+msgid "Search"
+msgstr "Ara"
+
+#: src/ap-config.c:156
+msgid "Polling"
+msgstr ""
+
+#: src/ap-config.c:157
+msgid "Shell"
+msgstr "Kabuk"
+
+#: src/ap-config.c:159
+msgid "Exit"
+msgstr "Çıkış"
+
+#: src/ap-config.c:218
+#, c-format
+msgid "Wireless Access Point Configurator ver. %s"
+msgstr "Kablosuz Erişim Noktası Konfigürasyon Tanımlayıcısı Sürümü %s"
+
+#: src/aplink.c:25
+msgid "RSSI: ["
+msgstr ""
+
+#: src/aplink.c:26
+msgid "RSSI avg: ["
+msgstr ""
+
+#: src/aplink.c:27
+msgid "RSSI top: ["
+msgstr ""
+
+#: src/aplink.c:28
+msgid "RSSI rou: ["
+msgstr ""
+
+#: src/aplink.c:29
+msgid ""
+"P - pause, T - toggle graph view, Q - quit to menu, Other key - force update."
+msgstr ""
+
+#: src/aplink.c:81
+msgid "RSSI [%]"
+msgstr ""
+
+#: src/aplink.c:82
+msgid "RSSI average [%]"
+msgstr ""
+
+#: src/aplink.c:83
+msgid "RSSI rounded [%]"
+msgstr ""
+
+#: src/aplink.c:84
+msgid "Link Quality [%]"
+msgstr ""
+
+#: src/aplink.c:133
+msgid "Not available - device must have firmware with necessary "
+msgstr ""
+
+#: src/aplink.c:135
+msgid "vendor extensions and be in either 'Access Point client'"
+msgstr ""
+
+#: src/aplink.c:137
+msgid "or 'Repeater' mode."
+msgstr ""
+
+#: src/ap-mrtg.c:42
+#, fuzzy
+msgid ""
+"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-v] [-h] [-r]\n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c topluluk -t türü [-b bssid] [-v] [-h] [-r]\n"
+"\n"
+
+#: src/ap-mrtg.c:44
+msgid ""
+"Get stats from AP and return it in MRTG parsable format\n"
+"\n"
+msgstr ""
+"AP'den istatistik al ve çözümlenebilir formatta MRTG'ye aktar\n"
+"\n"
+
+#: src/ap-mrtg.c:47
+#, fuzzy
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality (last one will only "
+msgstr ""
+"-t türü - kablosuz türden istatistikler, eternet, ilişkilendirilmiş "
+"istasyonlar ya da kullanıcı kipinde bağlantı kalitesi\n"
+
+#: src/ap-mrtg.c:49
+msgid "work with ATMEL410 MIB devices in AP Client mode)\n"
+msgstr ""
+
+#: src/ap-mrtg.c:50
+#, fuzzy
+msgid ""
+"-b bssid - mac address of the AP from which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid -bağlantı kalitesinin ulaştığı AP mac adresi, ancak tür =l "
+"ise kullanılır\n"
+
+#: src/ap-mrtg.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr ""
+
+#: src/ap-mrtg.c:53
+msgid "-v - report MRTG about problems connecting to AP\n"
+msgstr "-v - r AP ilişkili problemleri MRTG'ye aktar\n"
+
+#: src/ap-mrtg.c:54 src/ap-rrd.c:54
msgid "-r - reset AP when getting LinkQuality stats\n"
msgstr ""
"-r - BağlantıKalitesi istatistiklerini alıp AP'yi yeniden başlat \n"
-#: src/ap-mrtg.c:58
+#: src/ap-mrtg.c:56
+#, fuzzy, c-format
msgid ""
-"-h - print this help screen\n"
+"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
"\n"
-msgstr "-h - bu yardım ekranını yazdır\n"
+msgstr ""
+"ap-mrtg %s Telifhakkı (c) 2002 Roman Festchook\n"
+"\n"
+
+#: src/ap-rrd.c:32
+#, c-format
+msgid "Error getting data from AP %s\n"
+msgstr ""
+
+#: src/ap-rrd.c:42
+#, fuzzy
+msgid ""
+"\tap-rrd -i ip -c community -t type -d db_file [-b bssid] [-n name] [-a "
+"aptype] [-h] [-r] \n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c topluluk -t türü [-b bssid] [-v] [-h] [-r]\n"
+"\n"
+
+#: src/ap-rrd.c:44
+#, fuzzy
+msgid ""
+"Get stats from AP and put it in to specified RRDtool database\n"
+"\n"
+msgstr ""
+"AP'den istatistik al ve çözümlenebilir formatta MRTG'ye aktar\n"
+"\n"
+
+#: src/ap-rrd.c:48
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality in client mode\n"
+msgstr ""
+"-t türü - kablosuz türden istatistikler, eternet, ilişkilendirilmiş "
+"istasyonlar ya da kullanıcı kipinde bağlantı kalitesi\n"
+
+#: src/ap-rrd.c:49
+msgid "-d db_file - RRD database file with full path\n"
+msgstr ""
+
+#: src/ap-rrd.c:51
+msgid ""
+"-b bssid - mac address of the AP to which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid -bağlantı kalitesinin ulaştığı AP mac adresi, ancak tür =l "
+"ise kullanılır\n"
-#: src/ap-mrtg.c:59
+#: src/ap-rrd.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr ""
+
+#: src/ap-rrd.c:53
+msgid ""
+"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-"
+"102\n"
+msgstr ""
+
+#: src/ap-rrd.c:56
#, fuzzy, c-format
msgid ""
-"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
+"ap-rrd %s Copyright (c) 2002-2004 Roman Festchook\n"
"\n"
msgstr ""
"ap-mrtg %s Telifhakkı (c) 2002 Roman Festchook\n"
"\n"
-#: src/ap-mrtg.c:143
+#: src/ap-rrd.c:133
msgid "Invalid IP-address\n"
msgstr "geçersiz IP-adresi\n"
-#: src/ap-mrtg.c:188
+#: src/ap-rrd.c:179
#, c-format
msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
msgstr ""
-#: src/ap-mrtg.c:207
-msgid "Create socket error"
-msgstr "Soket hatası oluştur"
+#: src/ap-tftp.c:84
+msgid "yes"
+msgstr ""
+
+#: src/ap-tftp.c:85
+#, fuzzy
+msgid "no"
+msgstr "Bilgi"
-#: src/ap-mrtg.c:211
-msgid "Bind socket error"
-msgstr "Soket hatası bağla"
+#: src/ap-tftp.c:87
+msgid "Error while read()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:100
+msgid "Undefined error"
+msgstr ""
-#: src/ap-trapd.c:148
+#: src/ap-tftp.c:101
+msgid "File not found"
+msgstr ""
+
+#: src/ap-tftp.c:102
+#, fuzzy
+msgid "Access violation"
+msgstr "Erişim Noktası"
+
+#: src/ap-tftp.c:103
+msgid "Disk full or allocation error"
+msgstr ""
+
+#: src/ap-tftp.c:104
+msgid "Illegal TFTP operation"
+msgstr ""
+
+#: src/ap-tftp.c:105
+msgid "Unknown transfer ID"
+msgstr ""
+
+#: src/ap-tftp.c:106
+msgid "File already exists"
+msgstr ""
+
+#: src/ap-tftp.c:107
+msgid "No such user"
+msgstr ""
+
+#: src/ap-tftp.c:157
+msgid "Remote-filename too long.\n"
+msgstr ""
+
+#: src/ap-tftp.c:183
+#, c-format
+msgid "%sError in read()"
+msgstr ""
+
+#: src/ap-tftp.c:212
+#, c-format
+msgid "sending %u bytes\n"
+msgstr ""
+
+#: src/ap-tftp.c:221
+#, c-format
+msgid "%sError in sendto()"
+msgstr ""
+
+#: src/ap-tftp.c:244
+#, c-format
+msgid "%sError in recvfrom()"
+msgstr ""
+
+#: src/ap-tftp.c:256
+#, c-format
+msgid "\rProgress: uploaded %3i%%."
+msgstr ""
+
+#: src/ap-tftp.c:267
+#, c-format
+msgid "%sMalformed packet received. Aborting.\n"
+msgstr ""
+
+#: src/ap-tftp.c:276
+#, c-format
+msgid "%sTimed out waiting for response from server (%i/%i).\n"
+msgstr ""
+
+#: src/ap-tftp.c:283
+#, c-format
+msgid "%sError in select()"
+msgstr ""
+
+#: src/ap-tftp.c:297
+#, c-format
+msgid "Received %d bytes: %04x %04x\n"
+msgstr ""
+
+#: src/ap-tftp.c:308
+#, c-format
+msgid "%sError: server responded with %s. Aborting.\n"
+msgstr ""
+
+#: src/ap-tftp.c:315
+#, c-format
+msgid "%sFlash programming in progress...\n"
+msgstr ""
+
+#: src/ap-tftp.c:317
+msgid "Finished successfully.\n"
+msgstr ""
+
+#: src/ap-tftp.c:335
+msgid "PLEASE BE _ABSOLUTELY_ SURE TO READ MANPAGE PRIOR USE!!!\n"
+msgstr ""
+
+#: src/ap-tftp.c:337
+#, c-format
+msgid ""
+"\n"
+"Usage: %s -i IP -f firmware_file.rom [-c community] [-h]\n"
+msgstr ""
+
+#: src/ap-tftp.c:361
+msgid "TFTP client for upgrading firmware in ATMEL AT76C510 WiSOC-based APs.\n"
+msgstr ""
+
+#: src/ap-tftp.c:363
+msgid "(C) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>\n"
+msgstr ""
+
+#: src/ap-tftp.c:379
+msgid "Error: invalid IP address format given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:405
+#, fuzzy
+msgid "Error: invalid argument combination.\n"
+msgstr "geçersiz IP-adresi\n"
+
+#: src/ap-tftp.c:412
+msgid "Error while open()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:419 src/ap-tftp.c:472
+msgid "Error: invalid firmware file given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:461
+#, c-format
+msgid ""
+"Firmware file contains:\n"
+"- string \"ATMEL\": %s\n"
+"- string \"802.11 AP\": %s\n"
+"- string \"atbrfirm.bin\": %s\n"
+"- string \"atsingle.bin\": %s\n"
+msgstr ""
+
+#: src/ap-tftp.c:485
+#, c-format
+msgid ""
+"Using:\n"
+"- server: %s\n"
+"- firmware file: \"%s\"\n"
+"- name used for upload: \"%s\"\n"
+msgstr ""
+
+#: src/ap-tftp.c:568
+msgid ""
+"Error: device with the given IP does not seem to run SmartBridges firmware.\n"
+msgstr ""
+
+#: src/ap-tftp.c:574
+msgid "Error: SNMP authorization error or device unavailable.\n"
+msgstr ""
+
+#: src/ap-tftp.c:653
+msgid "Error while lseek()ing in firmware file\n"
+msgstr ""
+
+#: src/ap-trapd.c:150
#, c-format
msgid "ap-trapd %s started%s%s."
msgstr "ap-trapd %s başladı%s%s."
-#: src/ap-trapd.c:149
+#: src/ap-trapd.c:151
msgid " on "
msgstr "aktif"
-#: src/ap-trapd.c:155
+#: src/ap-trapd.c:157
msgid "Unable to fork. Exiting."
msgstr "Çatallayamıyor. Çıkıyor."
-#: src/ap-trapd.c:159
+#: src/ap-trapd.c:161
msgid "Can't create socket. Exiting."
msgstr "Yuva oluşturulamıyor. Çıkıyor."
-#: src/ap-trapd.c:165
+#: src/ap-trapd.c:167
msgid "Can't bind socket. Exiting."
msgstr "Yuva bağlanamıyor. Çıkıyor."
-#: src/ap-trapd.c:172
+#: src/ap-trapd.c:174
#, c-format
msgid "Can't bind to device %s. Exiting."
msgstr "Aygıta bağlanamıyor %s. Çıkıyor."
-#: src/ap-trapd.c:183
+#: src/ap-trapd.c:185
#, c-format
msgid "Unable to process username %s. Error: %m."
msgstr "kullanıcı adı işlemiyor %s. hata: %m."
-#: src/ap-trapd.c:188
+#: src/ap-trapd.c:190
#, c-format
msgid "Unable to change to uid %d."
msgstr "uid' ye geçiş sağlanamıyor %d."
-#: src/ap-trapd.c:235
+#: src/ap-trapd.c:239
#, c-format
msgid ""
"Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."
msgstr ""
"tanımlanamayan SNMP sürümü alındı %d tuzağı. %s'ten:%d.Aracı: %s.Topluluk:%s."
-#: src/ap-trapd.c:307
-#, c-format
-msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
+#: src/ap-trapd.c:311
+#, fuzzy, c-format
+msgid "Agent:v%d %s (%s@%s:%d) Trap %i: %s%s%s. SysUptime %d:%02d:%02d.%02d"
msgstr "Aracı:v%d %s (%s@%s:%d) %s%s%s. SistemİşlemSüresi %d:%02d:%02d.%02d"
-#: src/auth_mac.c:33
+#: src/auth.c:30
+msgid "APClient authorization credentials"
+msgstr ""
+
+#: src/auth.c:32
#, fuzzy
-msgid "NUM MAC address"
+msgid "[A] MAC authorization: "
+msgstr "(A) Makro yetki: %s"
+
+#: src/auth.c:33
+#, fuzzy
+msgid "Enter MAC: "
+msgstr "Makro gir"
+
+#: src/auth.c:34
+#, fuzzy
+msgid "Delete Num: "
+msgstr "Numarayı sil:"
+
+#: src/auth.c:35
+#, fuzzy
+msgid " NUM MAC address "
msgstr "NUM MAKRO adres"
+#: src/auth.c:36
+#, fuzzy
+msgid "A: auth; N: new; D: del; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - yetki; N - yeni; D - sil; oklar - kaydırma; W - yapılandırmayı yaz; Q - "
+"durdur "
+
+#: src/auth.c:38
+msgid "[I] Radius server IP: "
+msgstr ""
+
+#: src/auth.c:39
+#, fuzzy
+msgid "[P] Radius server port: "
+msgstr "(P) Gizli bağlantı noktaları: %s"
+
+#: src/auth.c:40
+msgid "[S] Radius server secret: "
+msgstr ""
+
+#: src/auth.c:41
+#, fuzzy
+msgid "[T] Reauthorization time (minutes): "
+msgstr "(A) Makro yetki: %s"
+
+#: src/auth.c:42
+msgid "[F] Radius source port: "
+msgstr ""
+
+#: src/auth.c:43
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; IPSTF: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - yetki; N - yeni; D - sil; oklar - kaydırma; W - yapılandırmayı yaz; Q - "
+"durdur "
+
+#: src/auth.c:45
+#, fuzzy
+msgid "[M] 802.1x authorization: "
+msgstr "(A) Makro yetki: %s"
+
+#: src/auth.c:46
+#, fuzzy
+msgid "[T] key broadcasting time period (seconds): "
+msgstr "(A) Makro yetki: %s"
+
+#: src/auth.c:47
+msgid "[I] 802.1x auth. server IP: "
+msgstr ""
+
+#: src/auth.c:48
+msgid "[S] 802.1x auth. server secret: "
+msgstr ""
+
+#: src/auth.c:49
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; MTIS: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A - yetki; N - yeni; D - sil; oklar - kaydırma; W - yapılandırmayı yaz; Q - "
+"durdur "
+
+#: src/auth.c:114
+#, fuzzy
+msgid "Internal"
+msgstr "Genel"
+
+#: src/auth.c:116
+#, fuzzy
+msgid "Radius"
+msgstr "Radyo"
+
+#: src/auth.c:121
+msgid "Allow listed MACs only"
+msgstr ""
+
+#: src/auth.c:123
+msgid "Deny listed MACs only"
+msgstr ""
+
+#: src/auth.c:129
+msgid "Mixed environment"
+msgstr ""
+
+#: src/auth.c:213
+msgid "(not shown)"
+msgstr ""
+
+#: src/auth.c:276
+#, fuzzy
+msgid "Authorized MAC addresses:"
+msgstr "Yetkili makro adresler"
+
+#: src/auth.c:345
+msgid "(insufficient community used)"
+msgstr ""
+
+#: src/auth.c:472
+#, c-format
+msgid "Given MAC already exists in MAC list at position %d. Press any key."
+msgstr ""
+
+#: src/bridge.c:27
+msgid "[I] IP: "
+msgstr ""
+
+#: src/bridge.c:28
+#, fuzzy
+msgid "[N] Netmask: "
+msgstr "[N] Ağ Maskesi: %s"
+
+#: src/bridge.c:29
+#, fuzzy
+msgid "[G] Gateway: "
+msgstr "(G) Ağ Geçidi %s"
+
+#: src/bridge.c:30
+#, fuzzy
+msgid "[F] Filter non-IP traffic: "
+msgstr "(F) IP- dışı trafik süzgeci: %s"
+
+#: src/bridge.c:31
+#, fuzzy
+msgid "[P] Primary port: "
+msgstr "(P) Gizli bağlantı noktaları: %s"
+
+#: src/bridge.c:32
+#, fuzzy
+msgid "Attached station MAC: "
+msgstr "İliştirilmiş MAC İstasyonu: %02X%02X%02X%02X%02X%02X"
+
+#: src/bridge.c:33
+#, fuzzy
+msgid "[D] DHCP client: "
+msgstr "(D) DHCP protokolü: %s"
+
+#: src/bridge.c:34
+#, fuzzy
+msgid "[O] Operational mode: "
+msgstr "(O) İşlemsel Kip: %s"
+
#: src/bridge.c:35
+msgid "[M] Preferred BSSID (remote MAC addr.): "
+msgstr ""
+
+#: src/bridge.c:36
msgid "[C] Configuration-enabled port(s): "
msgstr ""
+#: src/bridge.c:37
+msgid "[T] Trap-sending port: "
+msgstr ""
+
#: src/bridge.c:38
-msgid "[B] Isolate wireless clients (broadcast traffic): "
+msgid "[R] Forward broadcast traffic: "
msgstr ""
#: src/bridge.c:39
+msgid "[B] Isolate wireless clients (broadcast traffic): "
+msgstr ""
+
+#: src/bridge.c:40
msgid "[U] Isolate wireless clients (unicast traffic): "
msgstr ""
-#: src/bridge.c:119
+#: src/bridge.c:41
+#, fuzzy
+msgid "INGFPDOMSCRBUT - set; W - write conf; Q - quit to menu"
+msgstr "BPGINFDRT - kur;W - yapılandırmayı yaz; Q - menüye dön"
+
+#: src/bridge.c:128
+#, fuzzy
+msgid "Wireless (can be risky)"
+msgstr "Kablosuz Ayarlar"
+
+#: src/bridge.c:129
#, fuzzy
msgid "Both"
msgstr "Her İki Tür"
msgid "Error:"
msgstr "Hata"
-#: src/stations.c:33
-msgid "AP link state"
+#: src/stations.c:82
+msgid "Not available (device not in AP mode)."
msgstr ""
-#: src/stations.c:37
-msgid " # MAC "
+#: src/stations.c:92
+msgid " # MAC Parent MAC RSSI LQ Sts MACn IP "
msgstr ""
-#: src/stations.c:40
-msgid " # MAC Parent MAC RSSI Status MACn IP "
-msgstr ""
+#: src/stations.c:136
+msgid "AssociatedSTAsInfo packet error"
+msgstr "İlişkiliSTAbilgi paketi hatası"
-#: src/stations.c:195 src/stations.c:367
+#: src/stations.c:189 src/stations.c:363
#, fuzzy
msgid ""
"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
"refresh"
msgstr "Oklar - kaydırma; S - dosyaya kaydet; Q - menüye geri dön"
-#: src/stations.c:200
+#: src/stations.c:193
#, fuzzy
msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
msgstr "Oklar - kaydırma; S - dosyaya kaydet; Q - menüye geri dön"
-#: src/stations.c:279
+#: src/stations.c:275
#, fuzzy
msgid "Id MAC address Quality Age RSSI"
msgstr "Id MAC adresi Kalite Yükseltme RSSI"
+#~ msgid "Create socket error. Press any key."
+#~ msgstr "Yuva hatası oluştur.. Bir tuşa basınız."
+
+#~ msgid "Bind socket error. Press any key."
+#~ msgstr "Yuva hatasını bağlayınız. Bir tuşa basınız."
+
+#~ msgid "Create socket error"
+#~ msgstr "Soket hatası oluştur"
+
+#~ msgid "Bind socket error"
+#~ msgstr "Soket hatası bağla"
+
+#, fuzzy
+#~ msgid "NUM MAC address"
+#~ msgstr "NUM MAKRO adres"
+
+#, fuzzy
+#~ msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
+#~ msgstr "BPGINFDRT - kur;W - yapılandırmayı yaz; Q - menüye dön"
+
+#, fuzzy
+#~ msgid "A - auth; W - write conf; Q - quit"
+#~ msgstr "DA -seçenekler; W - yapılandırmayı yaz; Q - menüye geri dön"
+
+#~ msgid "Arrows - scroll; S - save to file; Q - quit to menu."
+#~ msgstr "Oklar - kaydırma; S - dosyaya kaydet; Q - menüye geri dön"
+
#~ msgid "Associated Stations"
#~ msgstr "İlişkili istasyonlar"
msgid ""
msgstr ""
"Project-Id-Version: ap-utils 1.4.1\n"
-"POT-Creation-Date: 2004-11-28 00:59+0200\n"
+"POT-Creation-Date: 2005-03-07 01:13+0200\n"
"PO-Revision-Date: 2004-02-27 00:44+0200\n"
"Last-Translator: Roman Festchook <roma@polesye.net>\n"
"Language-Team: UK <roma@polesye.net>\n"
"Content-Transfer-Encoding: 8bit\n"
"Report-Msgid-Bugs-To: \n"
-#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
-msgid "Bridging"
-msgstr "íÏÓÔ"
-
-#: ap-gl/ap-gl.c:41 src/ap-config.c:41
-msgid "Set bridging and IP-related options"
-msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÏÐæ§ ÍÏÓÔÁ ÔÁ ¶ò ÐÒÏÔÏËÏÌÕ"
-
-#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
-#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
-msgid "Wireless"
-msgstr "òÁĦÏ"
-
-#: ap-gl/ap-gl.c:43 src/ap-config.c:43
-msgid "Set wireless options"
-msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒÉ ÒÁĦÏÍÅÒÅÖ¦"
-
-#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
-msgid "Privacy"
-msgstr "ûÉÆÒÕ×ÁÎÎÑ"
-
-#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
-msgid "MAC auth"
-msgstr "íáó ÄÏÓÔÕÐ"
-
-#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
-msgid "Community"
-msgstr "ëÏÍ'ÀΦԦ"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Radio"
-msgstr "ðÅÒÅÄÁ×ÁÞ"
-
-#: ap-gl/ap-gl.c:47 src/ap-config.c:47
-msgid "Set radio signal power and antenna options"
-msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÏÔÕÖΦÓÔØ ÐÅÒÅÄÁ×ÁÞÁ ÔÁ ÁÎÔÅÎÉ"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Upload"
-msgstr "úÁ×ÁÎÔÁÖÉÔÉ"
-
-#: ap-gl/ap-gl.c:62 src/ap-config.c:80
-msgid "Activate current configuration"
-msgstr "áËÔÉצÚÕ×ÁÔÉ ÐÏÔÏÞÎÕ ËÏÎƦÇÕÒÁæÀ"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Defaults"
-msgstr "æÁÂÒ¦ÞΦ"
-
-#: ap-gl/ap-gl.c:63 src/ap-config.c:81
-msgid "Restore factory default settings"
-msgstr "÷¦ÄÎÏ×ÉÔÉ ÆÁÂÒ¦ÞΦ ÎÁÓÔÒÏÊËÉ."
-
-#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
-msgid "Reset"
-msgstr "òÅÓÔÁÒÔ"
-
-#: ap-gl/ap-gl.c:65 src/ap-config.c:83
-msgid "Reset AP. All not uploaded configuration will be lost"
-msgstr "ðÅÒÅÚÁ×ÁÎÔÁÖÉÔÉ áò. îÅÁËÔÉצÚÏ×ÁΦ ÚͦÎÉ Õ ËÏÎƦÇÕÒÁæ§ ÂÕÄÁ ×ÔÒÁÞÅÎÏ."
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "TestMode"
-msgstr "ôÅÓÔ"
-
-#: ap-gl/ap-gl.c:66 src/ap-config.c:84
-msgid "Put Access Point in test mode"
-msgstr "ðÏÓÔÁ×ÉÔÉ áò Õ ÔÅÓÔÏ×ÉÊ ÒÅÖÉÍ"
-
-#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
-msgid "SysInfo"
-msgstr "óÉÓÔÅÍÁ"
-
-#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
-#: src/bridge.c:120
-msgid "Ethernet"
-msgstr "åÚÅÒÎÅÔ"
-
-#: ap-gl/ap-gl.c:80 src/ap-config.c:111
-msgid "Get ethernet port statistics"
-msgstr "ïÔÒÉÍÁÔÉ ÓÔÁÔÉÓÔÉËÕ ÅÚÅÒÎÅÔ ÐÏÒÔÕ"
-
-#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
-msgid "Stations"
-msgstr "óÔÁÎæ§"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "KnownAPs"
-msgstr "÷¦ÄÏͦôÏÞËÉ"
-
-#: ap-gl/ap-gl.c:83 src/ap-config.c:114
-msgid "Get info about known Access Points"
-msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁÃÉÀ ÐÒÏ ×¦ÄÏͦ ôÏÞËÉ äÏÓÔÕÐÕ"
-
-#: ap-gl/ap-gl.c:100 src/ap-config.c:147
-msgid "Info"
-msgstr "¶ÎÆÏÒÍÁæÑ"
-
-#: ap-gl/ap-gl.c:101 src/ap-config.c:148
-msgid "Config"
-msgstr "õÓÔÁÎÏ×ËÉ"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Commands"
-msgstr "ëÏÍÁÎÄÉ"
-
-#: ap-gl/ap-gl.c:102 src/ap-config.c:149
-msgid "Execute commands on Access Point"
-msgstr "÷ÉËÏÎÁÔÉ ËÏÍÁÎÄÉ ÎÁ áò"
-
-#: ap-gl/ap-gl.c:104 src/ap-config.c:151
-msgid "Connect"
-msgstr "ú'¤ÄÎÁÎÎÑ"
-
-#: ap-gl/ap-gl.c:105 src/ap-config.c:152
-msgid "Search"
-msgstr "ðÏÛÕË"
-
-#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
-msgid "About"
-msgstr "ðÒÏÇÒÁÍÁ"
-
-#: ap-gl/ap-gl.c:107 src/ap-config.c:154
-msgid "Shell"
-msgstr "ïÂÏÌÏÎËÁ"
-
-#: ap-gl/ap-gl.c:108 src/ap-config.c:155
-msgid "Exit"
-msgstr "÷ÉȦÄ"
-
-#: ap-gl/ap-gl.c:158 src/ap-config.c:204
-#, c-format
-msgid "Wireless Access Point Configurator ver. %s"
-msgstr "ëÏÎƦÇÕÒÁÔÏÒ ÔÏÞËÉ ÄÏÓÔÕÐÕ ÒÁĦÏÍÅÒÅÖ¦ ×ÅÒ. %s"
-
-#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
-msgid "AuthorizedMacTableString packet error"
-msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ AuthorizedMacTableString"
-
-#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
-msgid "[A] MAC authorization: "
-msgstr "[A] Máó Á×ÔÏÒÉÚÁæÑ: "
-
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
-msgid "Enter MAC: "
-msgstr "÷×ÅĦÔØ íáó:"
-
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
-msgid "Delete Num: "
-msgstr "÷ÉÄÁÌÉÔÉ ÎÏÍÅÒ:"
-
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
-msgid "Authorized MAC addresses"
-msgstr "á×ÔÏÒÉÚÏ×ÁΦ íáó ÁÄÒÅÓÉ"
-
-#: ap-gl/auth_mac.c:33
-msgid "NUM MAC address"
-msgstr "# íáó ÁÄÒÅÓÁ"
-
-#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
-msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
-msgstr ""
-"A Á×ÔÏÒÉÚÁæÑ; N ÎÏ×Á; D ×ÉÄÁÌÉÔÉ; ÓÔÒ¦ÌËÉ ÐÅÒÅÇÌÑÄ; W ÚÁÐÉÓÁÔÉ; Q ×ÉÊÔÉ"
-
-#: ap-gl/auth_mac.c:35
-msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
-msgstr "A - a×ÔÏÒÉÚÁæÑ; IPSTF - ×ÓÔÁÎÏ×ÉÔÉ;W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
-
-#: ap-gl/auth_mac.c:36
-msgid "A - auth; W - write conf; Q - quit"
-msgstr "A - a×ÔÏÒÉÚÁæÑ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
-
-#: ap-gl/auth_mac.c:38
-msgid "[I] RADIUS SERVER IP: "
-msgstr "[I] ¶ò ÁÄÒÅÓÁ RADIUS ÓÅÒ×ÅÒÁ: "
-
-#: ap-gl/auth_mac.c:39
-msgid "[P] RADIUS SERVER PORT: "
-msgstr "[P] ðÏÒÔ RADIUS ÓÅÒ×ÅÒÁ: "
-
-#: ap-gl/auth_mac.c:40
-msgid "[S] RADIUS SERVER SECRET: "
-msgstr "[S] ðÁÒÏÌØ RADIUS ÓÅÒ×ÅÒÁ: "
-
-#: ap-gl/auth_mac.c:41
-msgid "[T] REAUTHORIZATION TIME: "
-msgstr "[T] þÁÓ ÐÅÒÅÁ×ÔÏÒÉÚÁæ§: "
-
-#: ap-gl/auth_mac.c:42
-msgid "[F] RADIUS SOURCE PORT: "
-msgstr "[F] ÷ÉȦÄÎÉÊ ÐÏÒÔ RADIUS ÐÁËÅÔ¦×: "
-
-#: ap-gl/auth_mac.c:87
-msgid "Internal"
-msgstr "÷ÎÕÔÒ¦ÛÎÑ ÔÁÂÌÉÃÑ"
-
-#: ap-gl/auth_mac.c:95
-msgid "<hidden>"
-msgstr "<ÐÒÉÈÏ×ÁÎÏ>"
-
-#: ap-gl/bridge.c:26 src/bridge.c:26
-msgid "[I] IP: "
-msgstr "[I] ¶ò: "
-
-#: ap-gl/bridge.c:27 src/bridge.c:27
-msgid "[N] Netmask: "
-msgstr "[N] íÁÓËÁ: "
-
-#: ap-gl/bridge.c:28 src/bridge.c:28
-msgid "[G] Gateway: "
-msgstr "[G] ûÌÀÚ: "
-
-#: ap-gl/bridge.c:29 src/bridge.c:29
-msgid "[F] Filter non-IP traffic: "
-msgstr "[F] æ¦ÌØÔÒÕ×ÁÔÉ ÎÅ-¶ò ÔÒÁƦË: "
-
-#: ap-gl/bridge.c:30 src/bridge.c:30
-msgid "[P] Primary port: "
-msgstr "[P] çÏÌÏ×Î¦Ê ÐÏÒÔ: "
-
-#: ap-gl/bridge.c:31 src/bridge.c:31
-msgid "Attached station MAC: "
-msgstr "ð¦Ä'¤ÄÎÁÎÁ ÓÔÁÎæÑ: "
-
-#: ap-gl/bridge.c:32 src/bridge.c:32
-msgid "[D] DHCP client: "
-msgstr "[D] DHCP Ë̦¤ÎÔ: "
-
-#: ap-gl/bridge.c:33 src/bridge.c:33
-msgid "[O] Operational mode: "
-msgstr "[O] òÅÖÉÍ ÒÏÂÏÔÉ: "
-
-#: ap-gl/bridge.c:34 src/bridge.c:34
-msgid "[M] Preferred BSSID (remote MAC addr.): "
-msgstr "[M] ÷¦ÄÄÁÌÅÎÉÊ Máó: "
-
-#: ap-gl/bridge.c:36 src/bridge.c:36
-msgid "[T] Trap-sending port(s): "
-msgstr "[T] ðÏÒÔ ×¦ÄÐÒÁ×ËÉ ÔÒÁЦ×: "
-
-#: ap-gl/bridge.c:37 src/bridge.c:37
-msgid "[R] Forward broadcast traffic: "
-msgstr "[R] ðÅÒÅÄÁÞÁ ÂÒÏÁÄËÁÓÔÏ×ÉÈ ÐÁËÕÎ˦×: "
-
-#: ap-gl/bridge.c:39
-msgid "[U] Isolate wireless clients: "
-msgstr "[U] ¶ÚÏÌÀ×ÁÔÉ ÒÁĦÏË̦¤ÎÔ¦×: "
-
-#: ap-gl/bridge.c:40 src/bridge.c:40
-msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
-msgstr "INGFPDOMSCTRBU - ×ÓÔÁÎÏ×ÉÔÉ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
-
-#: ap-gl/bridge.c:124 src/bridge.c:109
-msgid "Wireless Bridge Point to MultiPoint"
-msgstr "òÁĦÏÍÏÓÔ ÔÏÞËÁ-ÂÁÇÁÔÏÔÏÞËÁ"
-
-#: ap-gl/bridge.c:125 src/bridge.c:110
-msgid "Access Point"
-msgstr "âÁÚÏ×Á ÓÔÁÎæÑ"
-
-#: ap-gl/bridge.c:126 src/bridge.c:111
-msgid "Access Point client"
-msgstr "ë̦¤ÎÔÓØËÁ ÓÔÁÎæÑ"
-
-#: ap-gl/bridge.c:127 src/bridge.c:112
-msgid "Wireless Bridge Point to Point"
-msgstr "òÁĦÏÍÏÓÔ ÔÏÞËÁ-ÔÏÞËÁ"
-
-#: ap-gl/bridge.c:128 src/bridge.c:113
-msgid "Repeater"
-msgstr "ðÏ×ÔÏÒÀ×ÁÞ"
-
-#: ap-gl/stations.c:77 src/stations.c:100
-msgid "AP is currently in AP Client Mode => no associated STAtions."
-msgstr "ôÏÞËÁ äÏÓÔÕÐÕ Õ ÒÅÖÉͦ Ë̦¤ÎÔÁ => ÎÅÍÁ¤ ЦÄ'¤ÄÎÁÎÉÈ ÓÔÁÎæÊ"
-
-#: ap-gl/stations.c:102
-msgid "# MAC LQ RSSI Status Port IP"
-msgstr "# MAC LQ RSSI óÔÁÔ ðÏÒÔ IP"
-
-#: ap-gl/stations.c:128 src/stations.c:159
-msgid "AssociatedSTAsInfo packet error"
-msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ AssociatedSTAsInfo."
-
-#: ap-gl/stations.c:160
-msgid "Arrows - scroll; S - save to file; Q - quit to menu."
-msgstr "óÔÒ¦ÌËÉ - ÐÒÏËÒÕÔËÁ; S - ÚÂÅÒÅÇÔÉ Õ ÆÁÊÌ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
-
-#: lib/aps.c:29
+#: lib/aps.c:30
msgid "Known Access Points"
msgstr "÷¦ÄÏͦ ÔÏÞËÉ ÄÏÓÔÕÐÕ"
-#: lib/aps.c:129
+#: lib/aps.c:130
msgid "Your Access Point is not in \"AP client\" mode => getting"
msgstr "÷ÁÛÁ ÔÏÞËÁ ÄÏÓÔÕÐÕ ÎÅ Õ ÒÅÖÉͦ ë̦¤ÎÔÁ, ÏÔÒÉÍÁÎÎÑ ÄÁÎÎÉÈ"
-#: lib/aps.c:132
+#: lib/aps.c:133
msgid "up-to-date \"Known APs\" info requires your AP to be"
msgstr "ÐÒÏ ×¦ÄÏͦ ÔÏÞËÉ ÄÏÓÔÕÐÕ ×ÉÍÁÇÁ¤ ÔÉÍÞÁÓÏ×ÏÇÏ ËÏÎƦÇÕÒÕ×ÁÎÎÑ"
-#: lib/aps.c:135
+#: lib/aps.c:136
msgid "temporarily configured into \"AP client\" mode and rebooted."
msgstr "Õ ÒÅÖÉÍ ë̦¤ÎÔÁ ÔÁ ÐÅÒÅÚÁ×ÁÎÔÁÖÅÎÎÑ."
-#: lib/aps.c:138
+#: lib/aps.c:139
msgid "Your AP will be reconfigured back to original mode by this"
msgstr "÷ÁÛÕ ÔÏÞËÕ ÄÏÓÔÕÐÕ ÂÕÄÅ ÐÏ×ÅÒÎÅÎÏ ÄÏ ÐÏÞÁÔËÏ×ÏÇÏ ÓÔÁÎÕ ËÏÌÉ"
-#: lib/aps.c:141
+#: lib/aps.c:142
msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
msgstr "÷É ×ÉÊÄÅÔÅ Ú ÒÅÖÉÍÕ \"÷¦ÄÏͦôÏÞËÉ\". ¶ÎËÏÌÉ, ÃÅ ÍÏÖÅ ÓÐÒÉÞÉÎÉÔÉ"
-#: lib/aps.c:144
+#: lib/aps.c:145
msgid "cause loss of Access Point's current configuration."
msgstr "×ÔÒÁÔÕ ÐÏÔÏÞÎϧ ËÏÎƦÇÕÒÁæ§ ÷ÁÛϧ ôÏÞËÉ äÏÓÔÕÐÕ"
-#: lib/aps.c:148
+#: lib/aps.c:149
msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
msgstr "îŠצÄÐÏצÄÁÊÔÅ ôÁË ÑËÝÏ ÷É Ð¦Ä'¤ÄÎÁΦ ÄÏ ÔÏÞËÉ ÄÏÓÔÕÐÕ"
-#: lib/aps.c:151
+#: lib/aps.c:152
msgid "via its wireless port."
msgstr "ÞÅÒÅÚ §§ ÒÁĦÏÐÏÒÔ."
-#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
+#: lib/aps.c:154 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:96
msgid "Do you want to continue? "
msgstr "âÁÖÁ¤ÔÅ ÐÒÏÄÏ×ÖÉÔÉ? "
-#: lib/aps.c:207
+#: lib/aps.c:208
msgid "NetworkType"
msgstr "ôÉÐ ÍÅÒÅÖ¦"
-#: lib/aps.c:283
+#: lib/aps.c:284
msgid "Infrastructure"
msgstr "¶ÎÆÒÁÓÔÒÕËÔÕÒÁ"
-#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
+#: lib/aps.c:344 lib/aps.c:352 lib/aps.c:360
msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
msgstr "CN: ëÁÎÁÌ; P: ôÉÐ ÐÒÅÁÍÂÕÌÉ (S: ëÏÒÏÔËÁ; L: äÏ×ÇÁ)"
-#: lib/aps.c:345
+#: lib/aps.c:346
msgid "RSSI: Radio Signal Strength Indicator [%]"
msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [%]"
-#: lib/aps.c:347 lib/aps.c:355
+#: lib/aps.c:348 lib/aps.c:356
msgid "; LQ: Link Quality [%]"
msgstr "; LQ: ñ˦ÓÔØ Ú'¤ÄÎÁÎÎÑ [%]"
-#: lib/aps.c:353
+#: lib/aps.c:354
msgid "RSSI: Radio Signal Strength Indicator [dBm]"
msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [dBm]"
-#: lib/aps.c:361
+#: lib/aps.c:362
msgid "RSSI: Radio Signal Strength Indicator [raw]"
msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [ÎÅÏÂÒÏÂÌÅÎÅ]"
-#: lib/aps.c:363
+#: lib/aps.c:364
msgid "; LQ: Link Q. [raw]"
msgstr "; LQ: ñ˦ÓÔØ Ì¦ÎËÕ [ÎÅÏÂÒÏÂÌÅÎÅ]"
-#: lib/aps.c:369
+#: lib/aps.c:370
msgid ""
"# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
"reset"
msgstr ""
"# ÐÒɤÄÎÁÔÉÓÑ ÄÏ áò; R ÐÅÒÅÚÁ×ÁÎÔÁÖÉÔÉ; S ÐÏÎÏ×ÉÔÉ; T ÐÅÒÅÍËÎÕÔÉ; Q ×ÉÊÔÉ"
-#: lib/aps.c:371
+#: lib/aps.c:372
msgid ""
"# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
"view"
msgstr ""
"# ÐÒɤÄÎÁÔÉÓÑ ÄÏ áò; R ÚÁÐÕÓÔÉÔÉ ÐÏÛÕË; S ÐÏÎÏ×ÉÔÉ; T ÐÅÒÅÍËÎÕÔÉ; Q ×ÉÊÔÉ"
-#: lib/aps.c:500 lib/ap_search.c:167
+#: lib/aps.c:501 lib/ap_search.c:173
#, c-format
msgid "Failure in sendto(): %s. Press any key."
msgstr "îÅ×iÒÎÉÊ sendto: %s. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/aps.c:509
+#: lib/aps.c:510
msgid "You have just initiated the AP scan. Be advised that it may"
msgstr "÷É ÚÁÐÕÓÔÉÌÉ ÓËÁÎÕ×ÁÎÎÑ ÄÌÑ ÐÏÛÕËÕ ÔÏÞÏË ÄÏÓÔÕÐÕ. ãÅ ÍÏÖÅ"
-#: lib/aps.c:512
+#: lib/aps.c:513
msgid "take a few seconds for your Access Point to find out some"
msgstr "ÚÁÊÎÑÔÉ ÄÅ˦ÌØËÁ ÓÅËÕÎÄ ÄÏËÉ ×ÁÛÁ ÔÏÞËÁ ÄÏÓÔÕÐÕ ÚÎÁÊÄÅ"
-#: lib/aps.c:515
+#: lib/aps.c:516
msgid "values, so expect finishing the scan in about 5 seconds."
msgstr ""
"ÎÅÏÂȦÄΦ ÄÁÎΦ, ÔÏÖ ÒÁÚÒÁÈÏ×ÕÊÔÅ ÎÁ ÚÁ×ÅÒÛÅÎΦ ÓËÁÎÕ×ÁÎÎÑ ÚÁ 5 ÓÅËÕÎÄ."
-#: lib/aps.c:518
+#: lib/aps.c:519
msgid "Also note that your Access Point stops forwarding the network"
msgstr "ôÁËÖ ÚÁÕ×ÁÖÔÅ, ÝÏ ÷ÁÛÁ ÔÏÞËÁ ÄÏÓÔÕÐÕ ÐÒÉÐÉÎѤ ÐÅÒÅÄÁ×ÁÔÉ"
-#: lib/aps.c:521
+#: lib/aps.c:522
msgid "traffic while the scan is in progress, but restores itself"
msgstr "ÍÅÒÅÖÅ×ÉÊ ÔÒÁÆ¦Ë ÐÒÉ ÓËÁÎÕ×ÁÎΦ, ÔÁ צÄÎÏ×ÌÀ¤ ÓÅÂÅ Õ ÎÏÒÍÁÌØÎÉÊ"
-#: lib/aps.c:524
+#: lib/aps.c:525
msgid "to normal operation in time ranging up to 1 minute."
msgstr "ÒÅÖÉÍ ÒÁÂÏÔÉ ÐÒÉÂÌÉÚÎÏ ÚÁ È×ÉÌÉÎÕ."
-#: lib/aps.c:527
+#: lib/aps.c:528
msgid "Hence, if you are connected to target Access Point via its"
msgstr "ôÁËÏÖ, ÑËÝÏ ÷É Ð¦Ä'¤ÄÎÁΦ ÄÏ Ã¦ÏÌØÏ×ϧ ÔÏÞËÉ ÄÏÓÔÕÐÕ ÞÅÒÅÚ §§"
-#: lib/aps.c:530
+#: lib/aps.c:531
msgid "wireless port, you need to wait a bit longer"
msgstr "ÒÁÄ¦Ï ÐÏÒÔ, ÔÏ ÷ÁÍ ÐÏÔÒ¦ÂÎÏ ÚÁÖÄÁÔÉ ÔÒÏÈÉ ÄÏ×ÛÅ "
-#: lib/aps.c:533
+#: lib/aps.c:534
msgid "after pressing 'S'."
msgstr "ЦÓÌÑ ÎÁÔÉÓËÁÎÎÑ 'S'."
msgstr "ëÏÍ'ÀΦԦ: "
#: lib/ap_search.c:49
-msgid " NUM IP ADDRESS MIB TYPE NAME"
+#, fuzzy
+msgid " NUM IP ADDRESS MIB TYPE FW TYPE (VERSION) AP NAME"
msgstr " # IP áäòåóá ôéð ¶í'ñ"
-#: lib/ap_search.c:100
+#: lib/ap_search.c:106
msgid "Please wait while scanning, or press 'Q' to quit."
msgstr "úÁÞÅËÁÊÔÅ ÐÏËÉ ÊÄÅ ÐÏÛÕË ÁÂÏ ÎÁÔÉÓΦÔØ 'Q' ÄÌÑ ×ÉÈÏÄÕ. "
-#: lib/ap_search.c:116
+#: lib/ap_search.c:122
msgid "Can't set broadcast option on socket. Press any key."
msgstr ""
"îÅ ÍÏÖÕ ×ÓÔÁÎÏ×ÉÔÉ ÂÒÏÁÄËÁÓÔÏ×ÉÊ ÓÏËÅÔ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap_search.c:125
+#: lib/ap_search.c:131
msgid "Can't set multicast membership on socket. Press any key."
msgstr "îÅ ÍÏÖÕ ×ÓÔÁÎÏ×ÉÔÉ ÍÕÌØÔÉËÁÓÔÏ×ÉÊ ÓÏËÅÔ. ðÒÏÄÏ×ÖÅÎÎÑ ÂÕÄØ ÑËÁ ËÌÁצÛÁ."
-#: lib/ap_search.c:132
+#: lib/ap_search.c:138
msgid "Scanning via network interface:"
msgstr "ûÕËÁ¤ÍÏ ÞÅÒÅÚ ÍÅÒÅÖÅ×ÉÊ ¦ÎÔÅÒÆÅÊÓ:"
-#: lib/ap_search.c:133
+#: lib/ap_search.c:139
#, c-format
msgid " Index: %i"
msgstr " ¶ÎÄÅËÓ: %i"
-#: lib/ap_search.c:135
+#: lib/ap_search.c:141
#, c-format
msgid " Name: %s"
msgstr " ¶Í'Ñ: %s"
-#: lib/ap_search.c:137
+#: lib/ap_search.c:143
#, c-format
msgid " IP: %s"
msgstr " IP: %s"
-#: lib/ap_search.c:146
+#: lib/ap_search.c:152
#, c-format
msgid "Scanning for AP with MIB type: %s"
msgstr "÷ÉÚÎÁÞÁÀ ÔÉÐ áò: %s"
-#: lib/ap_search.c:334
-msgid "Please enter SNMP community name that will be used for AP detection."
-msgstr "÷×ÅĦÔØ SNMP ËÏÍ'ÀΦԦ, ÝÏ ÂÕÄÅ ×ÉËÏÒÉÓÔÁÎÏ ÄÌÑ ÐÏÛÕËÕ áò"
-
-#: lib/ap_search.c:345
+#: lib/ap_search.c:378
msgid "Access Points Search"
msgstr "ðÏÛÕË ÔÏÞÏË ÄÏÓÔÕÐÕ"
-#: lib/ap_search.c:363
+#: lib/ap_search.c:396
msgid "realloc() error."
msgstr "ðÏÍÉÌËÁ realloc()."
-#: lib/ap_search.c:375
+#: lib/ap_search.c:408
msgid "Network interface discovery error."
msgstr "ðÏÍÉÌËÁ ×ÉÚÎÁÞÅÎÎÑ ÍÅÒÅÖÅ×ÉÈ ¦ÎÔÅÒÆÅÊÓ¦×."
-#: lib/ap_search.c:450
+#: lib/ap_search.c:483
msgid "No local network interfaces found. Press any key."
msgstr "îÅ ÚÎÁÊÄÅÎÏ ÍÅÒÅÖÅ×ÉÈ ¦ÎÔÅÒÆÅÊÓ¦×. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap_search.c:452
+#: lib/ap_search.c:485
msgid "No directly reachable Access Points found. Press any key."
msgstr "îÅ ÚÎÁÊÄÅÎÏ ÄÏÓÔÕÐÎÉÈ ÎÁÐÒÑÍÕ áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap_search.c:457
+#: lib/ap_search.c:490
msgid "Single-screen maximum number of APs found."
msgstr "úÎÁÊÄÅÎÏ ÍÁËÓÉÍÁÌØÎÕ ÄÌÑ ÐÒÏÇÒÁÍÉ Ë¦ÌØ˦ÓÔØ áò."
-#: lib/ap_search.c:460
+#: lib/ap_search.c:493
msgid "# - connect to AP; Q - quit"
msgstr "# - ЦÄ'¤ÄÎÁÔÉÓÑ ÄÏ AP; Q - ×ÉÊÔÉ"
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:82
msgid "MAC address: "
msgstr "MAC ÁÄÒÅÓÁ: "
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:83
msgid "[S] SNMP traps: "
msgstr "[S] SNMP ÔÒÁÐÉ: "
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:85
msgid "[C] Frequency channel: "
msgstr "[C] þÁÓÔÏÔÎÉÊ ËÁÎÁÌ: "
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:87
msgid "Receive antenna:"
msgstr "ðÒÉÊÍÁÀÞÁ ÁÎÔÅÎÁ:"
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:88
msgid "[U] Left"
msgstr "[U] ì¦×Á"
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:89
msgid "[I] Right"
msgstr "[I] ðÒÁ×Á"
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:90
msgid "Transmit antenna:"
msgstr "ðÅÒÅÄÁÀÞÁ ÁÎÔÅÎÁ:"
-#: lib/ap-utils.h:88
+#: lib/ap-utils.h:91
msgid "[O] Left"
msgstr "[O] ì¦×Á"
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:92
msgid "[P] Right"
msgstr "[P] ðÒÁ×Á"
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:93
msgid "Diversity select:"
msgstr "÷ÉÂ¦Ò ÁÎÔÅÎÉ:"
-#: lib/ap-utils.h:91
+#: lib/ap-utils.h:94
msgid "[T] Left"
msgstr "[T] ì¦×Á"
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:95
msgid "[Y] Right"
msgstr "[Y] ðÒÁ×Á"
-#: lib/ap-utils.h:94
+#: lib/ap-utils.h:97
msgid "Yes"
msgstr "ôÁË"
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:98
msgid "No"
msgstr "î¦"
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:100
msgid "On"
msgstr "ôÁË"
-#: lib/ap-utils.h:98
+#: lib/ap-utils.h:101
msgid "Off"
msgstr "î¦"
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:103
msgid "Basic"
msgstr "ïÓÎÏ×ÎÉÊ"
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:105
msgid "Press any key to continue."
msgstr "âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap-utils.h:103
-msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+#: lib/ap-utils.h:106
+#, fuzzy
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update"
msgstr "Q - ×ÉÊÔÉ × ÍÅÎÀ. T - ÐÅÒÅÍËÎÕÔÉ ÒÅÖÉÍ ÚÁÐÉÔÕ, ¶ÎÛ¦ - ÐÏÎÏ×ÉÔÉ."
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:108
msgid "Unable to write data to AP. Press any key to continue."
msgstr "îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÄÁÎΦ × áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:109
msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
msgstr "îÅ ÍÏÖÕ ÏÔÒÉÍÁÔÉ (צÒΦ) ÄÁÎΦ Ú áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap-utils.h:107
-msgid "Trying to retrieve data from AP. Please wait..."
+#: lib/ap-utils.h:110
+#, fuzzy
+msgid "Trying to retrieve data from AP - please wait (or press Q to quit)."
msgstr "ïÔÒÉÍÕÀ ÄÁÎΦ - ÚÁÖĦÔØ ÂÕÄØ ÌÁÓËÁ..."
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:111
msgid "Writing data to AP. Please wait..."
msgstr "úÁÐÉÓÕÀ ÄÁÎΦ - ÚÁÖĦÔØ ÂÕÄØ ÌÁÓËÁ..."
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:112
msgid "Configuration written to the AP. Press any key to continue."
msgstr "ëÏÎƦÇÕÒÁæÀ ÚÁÐÉÓÁÎÏ × áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:113
msgid "select() function error. Press any key."
msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ select(). âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap-utils.h:112
-msgid "Create socket error. Press any key."
-msgstr "ðÏÍÉÌËÁ ÓÔ×ÏÒÅÎÎÑ ÓÏËÅÔÕ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
+#: lib/ap-utils.h:114
+#, fuzzy
+msgid "socket() or bind() function error. Press any key."
+msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ select(). âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/ap-utils.h:113
-msgid "Bind socket error. Press any key."
-msgstr "ðÏÍÉÌËÁ ÐÒÉ×`ÑÚËÉ ÓÏËÅÔÕ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
+#: lib/ap-utils.h:116
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr ""
+"îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÆÁÊÌ ÓÐÉÓËÕ AP ~/.ap-config. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ "
+"ÐÒÏÄÏ×ÖÅÎÎÑ"
+
+#: lib/ap-utils.h:117
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+"æÁÊÌ ÓÐÉÓËÕ AP ~/.ap-config ×ÄÁÌÏ ÚÁÐÉÓÁÎÏ. îÁÔÉÓΦÔØ ÂÕÄØ ÑËÕ ËÌÁצÛÕ."
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:119
msgid "Back to main menu"
msgstr "ðÏ×ÅÒÎÕÔÉÓÑ ÄÏ ÍÅÎÀ"
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:120
msgid "Exit program"
msgstr "÷ÉÊÔÉ Ú ÐÒÏÇÒÁÍÉ"
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:121
msgid "Run subshell. To return type 'exit'."
msgstr "úÁÐÕÓÔÉÔÉ ÛÅÌÌ. äÌÑ ÐÏ×ÅÒÎÅÎÎÑ ÎÁÂÅÒ¦ÔØ 'exit'."
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:122
+msgid "Change polling mode interval"
+msgstr ""
+
+#: lib/ap-utils.h:123
msgid "Short info about program"
msgstr "ðÒÏ ÐÒÏÇÒÁÍÍÕ"
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:124
msgid "Find connected Access Points"
msgstr "úÎÁÊÔÉ Ð¦ÄËÌÀÞÅΦ áò"
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:125
msgid "Set connection options: ip and community"
msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒÉ Ú`¤ÄÎÁÎÎÑ"
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:126
msgid "Set encryption; edit WEP keys"
msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÛÉÆÒÕ×ÁÎÎÑ, ÒÅÄÁÇÕ×ÁÔÉ WEP ËÌÀÞ¦"
-#: lib/ap-utils.h:122
-msgid "Set MAC authorization; edit MAC authorization table"
+#: lib/ap-utils.h:127
+#, fuzzy
+msgid "Set authorization; edit MAC authorization table"
msgstr "÷ÓÔÁÎÏ×ÉÔÉ íáó Á×ÔÏÒÉÚÁæÀ; ÒÅÄÁÇÕ×ÁÔÉ ÔÁÂÌÉÃÀ Á×ÔÏÒÉÚÁæ§"
-#: lib/ap-utils.h:123
+#: lib/ap-utils.h:128
msgid "Set SNMP community/password for access to the AP"
msgstr "÷ÓÔÁÎÏ×ÉÔÉ SNMP ËÏÍ'ÀΦԦ/ÐÁÒÏÌØ ÄÌÑ ÄÏÓÔÕÐÕ ÄÏ áò"
-#: lib/ap-utils.h:124
+#: lib/ap-utils.h:129
msgid "Get info about AP hardware and firmware"
msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ ÐÒÏ ÁÐÁÒÁÔÎÅ ÔÁ ÐÒÏÇÒÁÍÎÅ ÚÁÂÅÚÐÅÞÅÎÎÑ"
-#: lib/ap-utils.h:125
+#: lib/ap-utils.h:130
msgid "Get wireless port statistics"
msgstr "ïÔÒÉÍÁÔÉ ÓÔÁÔÉÓÔÉËÕ ÒÁÄ¦Ï ÐÏÒÔÕ"
-#: lib/ap-utils.h:126
+#: lib/ap-utils.h:131
msgid "Get list of currently associated stations (Access Point clients)"
msgstr "ïÔÒÉÍÁÔÉ ÐÅÒÅÌ¦Ë ÁÓÏæÊÏ×ÁÎÉÈ ÓÔÁÎÃ¦Ê (Ë̦¤ÎÔ¦× áò)"
-#: lib/ap-utils.h:127
+#: lib/ap-utils.h:132
+msgid "Get link status in APclient mode"
+msgstr ""
+
+#: lib/ap-utils.h:133
msgid "Get info and statistics from AP"
msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ ÔÁ ÓÔÁÔÉÓÔÉËÕ Ú áò"
-#: lib/ap-utils.h:128
+#: lib/ap-utils.h:134
msgid "Set various configuration options"
msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒÉ ËÏÎƦÇÕÒÁæ§"
-#: lib/ap-utils.h:130
+#: lib/ap-utils.h:136
msgid "Associated stations"
msgstr "áÓÏæÊÏ×ÁΦ ÓÔÁÎæ§"
-#: lib/ap-utils.h:132
+#: lib/ap-utils.h:137
+#, fuzzy
+msgid "AP Client link state"
+msgstr "óÔÁÎ Ú×'ÑÚËÕ Ú AP"
+
+#: lib/ap-utils.h:139
msgid "Polling: on"
msgstr "ïÐÉÔÕ×ÁÎÎÑ: ÔÁË"
-#: lib/ap-utils.h:133
+#: lib/ap-utils.h:140
msgid "Polling: off"
msgstr "ïÐÉÔÕ×ÁÎÎÑ: Φ"
msgid "Configuration uploaded. Press any key to continue."
msgstr "ëÏÎƦÇÕÒÁæÀ ÁËÔÉצÚÏ×ÁÎÏ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/common.c:30
+#: lib/common.c:32
msgid "Access Point IP-address: "
msgstr "¶ò ÁÄÒÅÓÁ áò: "
-#: lib/common.c:31
+#: lib/common.c:33
msgid "Password (community): "
msgstr "ðÁÒÏÌØ (ËÏÍ`ÀΦԦ): "
-#: lib/common.c:32
+#: lib/common.c:34
msgid "Autodetect AP MIB properties? "
msgstr "á×ÔÏÍÁÔÉÞÎÏ ×ÉÚÎÁÞÉÔÉ MIB ÔÉÐ áò? "
-#: lib/common.c:33
+#: lib/common.c:35
msgid "AP MIB type: "
msgstr "ôÉÐ MIB áò: "
-#: lib/common.c:34
+#: lib/common.c:36
msgid "AP MIB vendor extensions: "
msgstr "MIB áò ÒÏÚÛÉÒÅÎÎÑ ×ÉÒÏÂÎÉËÁ: "
-#: lib/common.c:35
+#: lib/common.c:37
msgid "Do you want to use AP's name as its label? "
msgstr "âÁÖÁ¤ÔÅ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÎÁÚ×Õ áò ÑË ÊÏÇÏ Í¦ÔËÕ? "
-#: lib/common.c:36
+#: lib/common.c:38
msgid "Access Point label: "
msgstr "í¦ÔËÁ áò: "
-#: lib/common.c:37
+#: lib/common.c:39
msgid "Save connect-settings: "
msgstr "úÂÅÒÅÇÔÉ Ã¦ ÐÁÒÁÍÅÔÒÉ: "
-#: lib/common.c:100
+#: lib/common.c:40
+msgid "[P] Polling mode interval (tenths of second): "
+msgstr ""
+
+#: lib/common.c:41
+#, fuzzy
+msgid "P - change polling mode interval; Q - quit to menu"
+msgstr "# - ×ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒ; W - ÚÁÐÉÓÁÔÉ ËÏÎƦÇÕÒÁæÀ; Q - ×ÉÊÔÉ × ÍÅÎÀ"
+
+#: lib/common.c:89 src/ap-config.c:158
+msgid "About"
+msgstr "ðÒÏÇÒÁÍÁ"
+
+#: lib/common.c:106
#, c-format
msgid "From %s"
msgstr "Ú %s"
-#: lib/common.c:102
+#: lib/common.c:108
#, c-format
msgid "Version %s"
msgstr "÷ÅÒÓ¦Ñ %s"
-#: lib/common.c:105
+#: lib/common.c:111
msgid "Written by Roman Festchook roma@polesye.net"
msgstr "á×ÔÏÒ òÏÍÁÎ æÅÝÕË roma@polesye.net"
-#: lib/common.c:107
-msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+#: lib/common.c:113
+#, fuzzy
+msgid "and Jan Rafaj jr-aputils@cedric.unob.cz"
msgstr "þÁÓÔËÏ×Ï Jan Rafaj aputils@cedric.unob.cz"
-#: lib/common.c:109
-msgid "Copyright (c) 2001-2004"
+#: lib/common.c:115
+#, fuzzy
+msgid "Copyright (c) 2001-2005"
msgstr "Copyright (c) 2001-2004"
-#: lib/common.c:111
+#: lib/common.c:117
msgid "Roman Festchook and Jan Rafaj"
msgstr "òÏÍÁÎ æÅÝÕË ÔÁ Jan Rafaj"
-#: lib/common.c:114
+#: lib/common.c:120
msgid "This program is distributed under the terms"
msgstr "ãÑ ÐÒÏÇÒÁÍÁ ÒÏÚÐÏ×ÓÀÄÖÕ¤ÔØÓÑ ÎÁ ÕÍÏ×ÁÈ"
-#: lib/common.c:116
+#: lib/common.c:122
msgid "of the GNU General Public License version 2."
msgstr "GNU úÁÇÁÌØÎϧ ðÕÂ̦ÞÎϧ ì¦ÃÅÎÚ¦§ ×ÅÒÓ¦§ 2"
-#: lib/common.c:118
+#: lib/common.c:124
msgid "See the included COPYING file for details."
msgstr "ÄÌÑ ¦ÎÆÏÒÍÁæ§ ÄÉצÔØÓÑ ÆÁÊÌ COPYING"
-#: lib/common.c:175
+#: lib/common.c:165
msgid "Connect options"
msgstr "ïÐæ§ Ú'¤ÄÎÁÎÎÑ"
-#: lib/common.c:183
+#: lib/common.c:173
msgid "Enter IP address of your Access Point."
msgstr "÷×ÅĦÔØ ¶ò ÁÄÒÅÓÕ ÔÏÞËÉ ÄÏÓÔÕÐÕ."
-#: lib/common.c:192
+#: lib/common.c:182
msgid "Entered characters will not be displayed for security reason."
msgstr "÷×ÅÄÅΦ ÓÉÍ×ÏÌÉ ÎŠצÄÏÂÒÁÖÕÀÔØÓÑ Ú Í¦ÒËÕ×ÁΦ ÂÅÚÐÅËÉ."
-#: lib/common.c:266
+#: lib/common.c:249
msgid "This label will be stored on HDD (independently on AP name!)."
msgstr "í¦ÔËÕ ÂÕÄÅ ÚÂÅÒÅÖÅÎÏ ÎÁ ÖÏÒÓÔËÉÊ ÄÉÓË (ÎÅÚÁÌÅÖÎÏ ×¦Ä ÎÁÚ×É áò)."
-#: lib/common.c:361
+#: lib/common.c:362
msgid "Trying to probe AP for MIB properties. Please wait..."
msgstr "ïÐÉÔÕÀ áò Õ ÐÏÛÕËÕ ×ÌÁÓÔÉ×ÏÓÔÅÊ MIB - ÚÁÖĦÔØ ÂÕÄØ ÌÁÓËÁ..."
-#: lib/common.c:390
+#: lib/common.c:391
msgid ""
"Unable to determine AP MIB properties (no response from AP). Press any key."
msgstr ""
"îÅ ÍÏÖÕ ×ÉÚÎÁÞÉÔÉ ÔÉÐ áò MIB (ΊצÄÐÏצÄÁ¤). âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ "
"ÐÒÏÄÏ×ÖÅÎÎÑ"
-#: lib/file.c:205
+#: lib/common.c:489 lib/set_oeminfo.c:221
+#, c-format
+msgid "%s%u"
+msgstr ""
+
+#: lib/common.c:491
+#, c-format
+msgid "(%0.1f seconds)"
+msgstr ""
+
+#: lib/file.c:199
msgid "NUM IP ADDRESS MIB TYPE MIB EXT. LABEL"
msgstr " # ¶ò ÁÄÒÅÓÁ ôÉÐ MIB MIB ÒÏÚ. í¦ÔËÁ"
-#: lib/file.c:206
+#: lib/file.c:200
msgid "Choose an AP to connect to"
msgstr "÷ÉÂÅÒ¦ÔØ áò ÄÌÑ Ú`¤ÄÎÁÎÎÑ"
-#: lib/file.c:212
+#: lib/file.c:206
msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
msgstr ""
"1-9,C Ú`¤ÄÎÁÎÎÑ; N ÎÏ×ÉÊ; D ×ÉÄÁÌÉÔÉ; W ÚÂÅÒÅÇÔÉ; Q ×ÉÊÔÉ; ÓÔÒ¦ÌËÉ ÐÒÏËÒÕÔËÁ"
-#: lib/file.c:268
+#: lib/file.c:257
msgid "Connect to AP num:"
msgstr "ú`ÜÄÎÁÔÉÓÑ Ú áò #:"
-#: lib/file.c:304
+#: lib/file.c:288
msgid "Delete num:"
msgstr "÷ÉÄÁÌÉÔÉ #:"
-#: lib/file.c:372
-msgid "AP list file ~/.ap-config successfully written. Press any key."
-msgstr ""
-"æÁÊÌ ÓÐÉÓËÕ AP ~/.ap-config ×ÄÁÌÏ ÚÁÐÉÓÁÎÏ. îÁÔÉÓΦÔØ ÂÕÄØ ÑËÕ ËÌÁצÛÕ."
-
-#: lib/file.c:376
-msgid "Unable to write AP list file ~/.ap-config. Press any key."
-msgstr ""
-"îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÆÁÊÌ ÓÐÉÓËÕ AP ~/.ap-config. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ "
-"ÐÒÏÄÏ×ÖÅÎÎÑ"
-
-#: lib/file.c:426
+#: lib/file.c:442
msgid "Unable to write stations file. Press any key."
msgstr ""
"îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÆÁÊÌ ÓÐÉÓËÕ ÓÔÁÎæÊ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/file.c:428
+#: lib/file.c:444
msgid "Stations file succesfully written. Press any key."
msgstr "æÁÊÌ ÓÐÉÓËÕ ÓÔÁÎÃ¦Ê ×ÄÁÌÏ ÚÁÐÉÓÁÎÏ. îÁÔÉÓΦÔØ ÂÕÄØ ÑËÕ ËÌÁצÛÕ."
-#: lib/input.c:33
+#: lib/input.c:32
msgid "Invalid value. Press any key to continue."
msgstr "îÅצÒÎÅ ÚÎÁÞÅÎÎÑ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/input.c:34
+#: lib/input.c:33
#, c-format
msgid "Value must be in range %u - %u. Press any key to continue."
msgstr ""
"úÎÁÞÅÎÎÑ ÍÁ¤ ÂÕÔÉ Õ ÄÉÁÐÁÚÏΦ %u - %u. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
-#: lib/input.c:412
+#: lib/input.c:460
msgid "Y - Yes; Any other key - No (it's safer to answer No)"
msgstr "(Y - ÔÁË; N - Φ (ÂÅÚÐÅÞΦÛŠצÄÐÏצÓÔÉ Î¦)"
-#: lib/oui.c:6056
+#: lib/oui.c:6061
msgid "Unknown or Private"
msgstr "îÅצÄÏÍÉÊ ÁÂÏ ÐÒÉ×ÁÔÎÉÊ"
"key."
msgstr "÷É ÎÅ ÍÏÖÅÔÅ ×ÉÍËÎÕÔÉ ÏÂÉÄצ ÁÎÔÅÎÉ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-#: lib/scr.c:168
+#: lib/scr.c:157
#, c-format
msgid "Current AP: %s Type: %s Ext: %s"
msgstr "ðÏÔÏÞÎÉÊ ÐÒÉÓÔÒ¦Ê: %s ôÉÐ: %s òÏÚ: %s"
"[key] - set community/password; W - write config to AP; Q - quit to menu"
msgstr "# - ×ÓÔÁÎÏ×ÉÔÉ ËÏÍ`ÀΦԦ/ÐÁÒÏÌØ; W - ÚÁÐÉÓÁÔÉ ÕÓÔÁÎÏ×ËÉ; Q - ×ÉȦÄ"
+#: lib/set_oeminfo.c:28
+#, fuzzy
+msgid "Info structure version: "
+msgstr "÷ÅÒÓ¦Ñ ÓÔÒÕËÔÕÒÉ: %u"
+
+#: lib/set_oeminfo.c:29
+#, fuzzy
+msgid "[M] Device MAC address: "
+msgstr "MAC ÁÄÒÅÓÁ: "
+
+#: lib/set_oeminfo.c:30
+#, fuzzy
+msgid " Manufacturer with this OUI: "
+msgstr "ID ×ÉÒÏÂÎÉËÁ:"
+
+#: lib/set_oeminfo.c:31
+#, fuzzy
+msgid "[D] Regulatory domain: "
+msgstr "òÅÇÕÌÑÔÏÒΦ ÏÂÍÅÖÅÎÎÑ: %s"
+
+#: lib/set_oeminfo.c:32
+#, fuzzy
+msgid "[T] Product type: "
+msgstr "ôÉÐ ÐÒÏÄÕËÔÕ: %u"
+
+#: lib/set_oeminfo.c:33
+#, fuzzy
+msgid "[E] OEM name: "
+msgstr "OEM ¶Í`Ñ:"
+
+#: lib/set_oeminfo.c:34
+#, fuzzy
+msgid "[I] OEM ID: "
+msgstr "[I] ¶ò: "
+
+#: lib/set_oeminfo.c:35
+#, fuzzy
+msgid "[N] Product name: "
+msgstr "¶Í`Ñ ÐÒÏÄÕËÔÕ:"
+
+#: lib/set_oeminfo.c:36
+#, fuzzy
+msgid "[H] Hardware revision: "
+msgstr "áÐÁÒÁÔÎÁ ×ÅÒÓ¦Ñ: %u"
+
+#: lib/set_oeminfo.c:37
+#, fuzzy
+msgid "[O] Country code: "
+msgstr "[O] ëÏÍÁÎÄÁ: "
+
+#: lib/set_oeminfo.c:38
+#, fuzzy
+msgid "[C] Default channel: "
+msgstr "[C] þÁÓÔÏÔÎÉÊ ËÁÎÁÌ: "
+
+#: lib/set_oeminfo.c:39
+#, fuzzy
+msgid "[A] Calibrated channels: "
+msgstr "[C] þÁÓÔÏÔÎÉÊ ËÁÎÁÌ: "
+
+#: lib/set_oeminfo.c:40
+msgid "[P] Nominal Tx Power (CR31) value for calibrated channels: "
+msgstr ""
+
+#: lib/set_oeminfo.c:41
+#, fuzzy
+msgid ""
+"Keys in brackets - set corresponding option; W - write conf; Q - quit to menu"
+msgstr "# - ×ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒ; W - ÚÁÐÉÓÁÔÉ ËÏÎƦÇÕÒÁæÀ; Q - ×ÉÊÔÉ × ÍÅÎÀ"
+
+#: lib/set_oeminfo.c:101
+msgid "THIS IS A SECRET MENU LEADING TO VERY DANGEROUS OPTIONS."
+msgstr ""
+
+#: lib/set_oeminfo.c:103
+msgid "It is intended only for WISPs and repair shops."
+msgstr ""
+
+#: lib/set_oeminfo.c:107
+msgid "It allows to set OEM information stored in the AP (like its"
+msgstr ""
+
+#: lib/set_oeminfo.c:109
+msgid "MAC address, manuf. name, OEM ID, etc.). BE ABSOLUTELY SURE"
+msgstr ""
+
+#: lib/set_oeminfo.c:111
+msgid "THAT YOU KNOW WHAT YOU ARE DOING, AND THAT YOU HAVE THE"
+msgstr ""
+
+#: lib/set_oeminfo.c:113
+msgid "LEGAL RIGHT TO DO ANY MODIFICATION. Disobserving of these"
+msgstr ""
+
+#: lib/set_oeminfo.c:115
+msgid "rules may lead you into a conflict with your local"
+msgstr ""
+
+#: lib/set_oeminfo.c:117
+msgid "regulations and/or law."
+msgstr ""
+
+#: lib/set_oeminfo.c:119
+msgid "Also be warned that the setting of any from these options"
+msgstr ""
+
+#: lib/set_oeminfo.c:121
+msgid "may DAMAGE YOUR AP (other reason why this menu is hidden)."
+msgstr ""
+
+#: lib/set_oeminfo.c:123
+msgid "Values changed here will NOT be restored upon reset"
+msgstr ""
+
+#: lib/set_oeminfo.c:125
+msgid "of the device to factory defaults! It is advisable to"
+msgstr ""
+
+#: lib/set_oeminfo.c:127
+msgid "write them down somewhere prior their changing."
+msgstr ""
+
+#: lib/set_oeminfo.c:129
+msgid "Finally, note that you need to use MANUFACTURER community, "
+msgstr ""
+
+#: lib/set_oeminfo.c:131
+msgid "in order to be able to do any OEM info modification."
+msgstr ""
+
+#: lib/set_oeminfo.c:133
+msgid "Proceed further only at your full risk and responsibility. "
+msgstr ""
+
+#: lib/set_oeminfo.c:135
+msgid "You got the warnings."
+msgstr ""
+
+#: lib/set_oeminfo.c:141
+msgid "OEM Info settings"
+msgstr ""
+
#: lib/stat.c:29
msgid "Ethernet Statistics"
msgstr "óÔÁÔÉÓÔÉËÁ ÅÚÅÒÎÅÔ ÐÏÒÔÕ"
msgid "System Info"
msgstr "óÉÓÔÅÍÎÁ ¦ÎÆÏÒÍÁæÑ"
-#: lib/sysinfo.c:120
+#: lib/sysinfo.c:55 src/bridge.c:50
+msgid "Wireless Bridge Point to MultiPoint"
+msgstr "òÁĦÏÍÏÓÔ ÔÏÞËÁ-ÂÁÇÁÔÏÔÏÞËÁ"
+
+#: lib/sysinfo.c:56 src/bridge.c:51
+msgid "Access Point"
+msgstr "âÁÚÏ×Á ÓÔÁÎæÑ"
+
+#: lib/sysinfo.c:57 src/bridge.c:52
+msgid "Access Point client"
+msgstr "ë̦¤ÎÔÓØËÁ ÓÔÁÎæÑ"
+
+#: lib/sysinfo.c:58 src/bridge.c:53
+msgid "Wireless Bridge Point to Point"
+msgstr "òÁĦÏÍÏÓÔ ÔÏÞËÁ-ÔÏÞËÁ"
+
+#: lib/sysinfo.c:59 src/bridge.c:54
+msgid "Repeater"
+msgstr "ðÏ×ÔÏÒÀ×ÁÞ"
+
+#: lib/sysinfo.c:60 lib/sysinfo.c:315 lib/sysinfo.c:424 src/bridge.c:55
+msgid "unknown"
+msgstr "ÎÅצÄÏÍÉÊ"
+
+#: lib/sysinfo.c:144
msgid "Device hardware/software/name info:"
msgstr "¶ÎÆÏÒÍÁÃ¦Ñ ÐÒÏ ÐÒÉÓÔÒ¦Ê ÁÐÁÒÁÔÕÒÁ/ÐÒÏÇÒÁÍÁ/ÎÁÚ×Á:"
-#: lib/sysinfo.c:154
-msgid "Product name:"
+#: lib/sysinfo.c:172
+#, fuzzy, c-format
+msgid "Operational mode: %s"
+msgstr "[O] òÅÖÉÍ ÒÏÂÏÔÉ: "
+
+#: lib/sysinfo.c:182
+#, fuzzy
+msgid "Product name: "
msgstr "¶Í`Ñ ÐÒÏÄÕËÔÕ:"
-#: lib/sysinfo.c:158
+#: lib/sysinfo.c:186
#, c-format
msgid "Product type: %u"
msgstr "ôÉÐ ÐÒÏÄÕËÔÕ: %u"
-#: lib/sysinfo.c:161
-msgid "OEM name:"
+#: lib/sysinfo.c:189
+#, fuzzy
+msgid "OEM name: "
msgstr "OEM ¶Í`Ñ:"
-#: lib/sysinfo.c:168
+#: lib/sysinfo.c:196
#, c-format
msgid "Hardware revision: %u"
msgstr "áÐÁÒÁÔÎÁ ×ÅÒÓ¦Ñ: %u"
-#: lib/sysinfo.c:176
+#: lib/sysinfo.c:204
#, c-format
msgid "Info structure version: %u"
msgstr "÷ÅÒÓ¦Ñ ÓÔÒÕËÔÕÒÉ: %u"
-#: lib/sysinfo.c:179 lib/sysinfo.c:355
+#: lib/sysinfo.c:207 lib/sysinfo.c:383
#, c-format
msgid "Manufacturer OUI: %02X %02X %02X (%s)"
msgstr "OUI ×ÉÒÏÂÎÉËÁ: %02X %02X %02X (%s)"
-#: lib/sysinfo.c:196
+#: lib/sysinfo.c:224
#, c-format
msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
msgstr "îÁÐÒÁÃØÏ×ÁÎÏ: %u ÄΦ×, :%02u:%02u.%02u ÇÏÄ:È×:ÓÅË"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "FHSS 2.4 GHz"
msgstr "FHSS 2.4 ççÃ"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "DSSS 2.4 GHz"
msgstr "ûðó 2.4 ççÃ"
-#: lib/sysinfo.c:284
+#: lib/sysinfo.c:312
msgid "IR Baseband"
msgstr "¶ÎÆÒÁÞÅÒ×ÏÎÉÊ"
-#: lib/sysinfo.c:285
+#: lib/sysinfo.c:313
msgid "Commercial range 0..40 C"
msgstr "ëÏÍÅÒæÊÎÉÊ Ä¦ÁÐÁÚÏÎ 0..40 C"
-#: lib/sysinfo.c:286
+#: lib/sysinfo.c:314
msgid "Industrial range -30..70 C"
msgstr "¶ÎÄÕÓÔÒ¦ÁÌØÎÉÊ Ä¦ÁÐÁÚÏÎ -30..70 C"
-#: lib/sysinfo.c:287 lib/sysinfo.c:396
-msgid "unknown"
-msgstr "ÎÅצÄÏÍÉÊ"
-
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "manual"
msgstr "×ÒÕÞÎÕ"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "notsupported"
msgstr "ΊЦÄÔÒÉÍÕ¤ÔØÓÑ"
-#: lib/sysinfo.c:289
+#: lib/sysinfo.c:317
msgid "dynamic"
msgstr "ĦÎÁͦÞÎÏ"
-#: lib/sysinfo.c:345
+#: lib/sysinfo.c:373
msgid "Manufacturer:"
msgstr "÷ÉÒÏÂÎÉË:"
-#: lib/sysinfo.c:350
+#: lib/sysinfo.c:378
msgid "Manufacturer ID:"
msgstr "ID ×ÉÒÏÂÎÉËÁ:"
-#: lib/sysinfo.c:361
+#: lib/sysinfo.c:389
msgid "Product Name:"
msgstr "¶Í`Ñ ÐÒÏÄÕËÔÕ:"
-#: lib/sysinfo.c:367
+#: lib/sysinfo.c:395
msgid "Product ID:"
msgstr "ID ÐÒÏÄÕËÔÕ:"
-#: lib/sysinfo.c:373
+#: lib/sysinfo.c:401
msgid "Product Version:"
msgstr "÷ÅÒÓ¦Ñ ÐÒÏÄÕËÔÕ:"
-#: lib/sysinfo.c:379
+#: lib/sysinfo.c:407
#, c-format
msgid "PHYType: %s"
msgstr "ôÉÐ PHY: %s"
-#: lib/sysinfo.c:382
+#: lib/sysinfo.c:410
#, c-format
msgid "Temperature: %s"
msgstr "ôÅÍÐÅÒÁÔÕÒÁ: %s"
-#: lib/sysinfo.c:390
+#: lib/sysinfo.c:418
#, c-format
msgid "Regulatory Domain: %s"
msgstr "òÅÇÕÌÑÔÏÒΦ ÏÂÍÅÖÅÎÎÑ: %s"
-#: lib/sysinfo.c:391
+#: lib/sysinfo.c:419
msgid "FCC (USA)"
msgstr "FCC (óûá)"
-#: lib/sysinfo.c:392
+#: lib/sysinfo.c:420
msgid "DOC (Canada)"
msgstr "DOC (ëÁÎÁÄÁ)"
-#: lib/sysinfo.c:393
+#: lib/sysinfo.c:421
msgid "ETSI (Europe)"
msgstr "ETSI (´×ÒÏÐÁ)"
-#: lib/sysinfo.c:394
+#: lib/sysinfo.c:422
msgid "Spain"
msgstr "¶ÓÐÁΦÑ"
-#: lib/sysinfo.c:395
+#: lib/sysinfo.c:423
msgid "France"
msgstr "æÒÁÎæÑ"
-#: lib/sysinfo.c:396
+#: lib/sysinfo.c:424
msgid "MKK (Japan)"
msgstr "MKK (ñÐÏΦÑ)"
-#: lib/sysinfo.c:399
+#: lib/sysinfo.c:427
#, c-format
msgid "Transmit Power: %u mW"
msgstr "ðÏÔÕÖΦÓÔØ: %u Í÷Ô"
-#: lib/sysinfo.c:429
+#: lib/sysinfo.c:457
#, c-format
msgid "WEP implemented: %s"
msgstr "ð¦ÄÔÒÉÍËÁ WEP: %s"
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
#, c-format
msgid "Diversity: %s"
msgstr "÷ÉÂ¦Ò ÁÎÔÅÎÉ: %s"
-#: lib/sysinfo.c:460
+#: lib/sysinfo.c:488
#, c-format
msgid "Uptime: %u:%02u:%02u.%02u"
msgstr "îÁÐÒÁÃØÏ×ÁÎÏ: %u:%02u:%02u.%02u"
-#: lib/sysinfo.c:480
+#: lib/sysinfo.c:508
#, c-format
msgid "IP Address: %s"
msgstr "IP ÁÄÒÅÓÁ: %s"
msgid "Right"
msgstr "ðÒÁ×Á"
-#: lib/test.c:86
+#: lib/test.c:79
+msgid "Devices with ATMEL12350 MIB not yet supported."
+msgstr ""
+
+#: lib/test.c:91
msgid "Test mode"
msgstr "ôÅÓÔÏ×ÉÊ ÒÅÖÉÍ"
-#: lib/test.c:89
+#: lib/test.c:94
msgid "Using the \"Test mode\" may cause loss of your current"
msgstr "÷ÉËÏÒÉÓÔÁÎÎÑ ÔÅÓÔÏ×ÏÇÏ ÒÅÖÉÍÕ ÍÏÖÅ ÐÒÉÚ×ÅÓÔÉ ÄÏ ×ÔÒÁÔÉ"
-#: lib/test.c:90
+#: lib/test.c:95
msgid "configuration."
msgstr "ÐÏÔÏÞÎϧ ËÏÎƦÇÕÒÁæ§."
-#: lib/test.c:102
+#: lib/test.c:107
msgid "Options:"
msgstr "ðÁÒÁÍÅÔÒÉ:"
-#: lib/test.c:128
+#: lib/test.c:133
msgid "Statistics:"
msgstr "óÔÁÔÉÓÔÉËÁ:"
-#: lib/test.c:129
+#: lib/test.c:134
msgid "Success Frames: 0 Failed Frames: 0"
msgstr "÷ÄÁÌÉÈ ×¦ËÏÎ: 0 îÅ×ÄÁÌÉÈ ×¦ËÏÎ: 0"
-#: lib/test.c:190
+#: lib/test.c:195
#, c-format
msgid "Success Frames: %lu Failed Frames: %lu"
msgstr "÷ÄÁÌÉÈ ×¦ËÏÎ: %lu îÅ×ÄÁÌÉÈ ×¦ËÏÎ: %lu"
msgstr "[D] ¶ÎÔÅÒ×ÁÌ ×¦ÄÐÒÁ×ËÉ DTIM (ÂÅËÏÎÉ): "
#: lib/wlan.c:48
-msgid "[T] SIFS time (msec): "
+#, fuzzy
+msgid "[T] SIFS time (2nd+ interframe spacing, usec): "
msgstr "[T] þÁÓ SIFS (ÍÓÅË): "
#: lib/wlan.c:49
msgid "Long"
msgstr "ÄÏ×ÇÁ"
-#: lib/wlan.c:237
+#: lib/wlan.c:239
msgid "Wireless Settings"
msgstr "ðÁÒÁÍÅÔÒÉ ÒÁĦÏÍÅÒÅÖ¦"
-#: lib/wlan.c:731
+#: lib/wlan.c:735
msgid "Antenna Configuration:"
msgstr "ëÏÎƦÇÕÒÁÃ¦Ñ ÁÎÔÅÎ:"
-#: lib/wlan.c:748
+#: lib/wlan.c:752
msgid "General Options"
msgstr "úÁÇÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
-#: lib/wlan.c:750
+#: lib/wlan.c:754
msgid ""
"UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
msgstr "UIOPTY - ÁÎÔÅÎÁ; SCANLEDFR1234 - ×ÓÔÁÎÏ×ÉÔÉ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
-#: src/ap-config.c:54
-msgid "General"
-msgstr "çÏÌÏ×Φ"
-
-#: src/ap-config.c:54
-msgid "Set general options"
-msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÚÁÇÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
-
-#: src/ap-config.c:55
-msgid "Advanced"
-msgstr "óÐÅæÁÌØΦ"
+#: src/ap-auth.c:32 src/auth.c:28
+msgid "AuthorizedMacTableString packet error"
+msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ AuthorizedMacTableString"
-#: src/ap-config.c:55
-msgid "Set advanced options"
-msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÓÐÅæÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
+#: src/ap-auth.c:33
+msgid "Invalid data in source file"
+msgstr ""
-#: src/ap-config.c:89
-msgid "Reset AP."
-msgstr "òÅÓÔÁÒÔ"
+#: src/ap-auth.c:34
+msgid "Can't open file"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Latest"
-msgstr "ðÏĦ§"
+#: src/ap-auth.c:35
+msgid "Can't write to file"
+msgstr ""
-#: src/ap-config.c:122
-msgid "Get info about latest events"
-msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ ÐÒÏ ÏÓÔÁÎΦ ÐÏĦ§"
+#: src/ap-auth.c:36
+msgid "Error closing file"
+msgstr ""
-#: src/ap-mrtg.c:42
+#: src/ap-auth.c:44 src/ap-mrtg.c:41 src/ap-rrd.c:40
msgid ""
"\n"
"Usage:\n"
"\n"
"÷ÉËÏÒÉÓÔÁÎÎÑ:\n"
-#: src/ap-mrtg.c:44
+#: src/ap-auth.c:45
+msgid "\tap-auth -i ip -c community -d filename [-h]\n"
+msgstr ""
+
+#: src/ap-auth.c:46
msgid ""
-"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-a aptype] [-v] [-"
-"h] [-r]\n"
+"\tap-auth -i ip -c community -u filename [-h]\n"
"\n"
msgstr ""
-"\tap-mrtg -i ip -c ËÏÍ`ÀΦԦ -t ÔÉÐ [-b bssid] [-n name] [-a aptype] [-v] [-"
-"h] [-r]\n"
-"\n"
-#: src/ap-mrtg.c:46
+#: src/ap-auth.c:47
msgid ""
-"Get stats from AP and return it in MRTG parsable format\n"
+"Change accesspoint's list of authorised MAC addresses\n"
"\n"
msgstr ""
-"ïÔÒÉÍÕ¤ ÄÁÎΦ Ú ÔÏÞËÉ ÄÏÓÔÕÐÕ ÔÁ ÐÏ×ÅÒÔÁ¤ §È Õ MRTG ÆÏÒÍÁÔ¦\n"
-"\n"
-#: src/ap-mrtg.c:47
+#: src/ap-auth.c:48 src/ap-mrtg.c:45 src/ap-rrd.c:45
msgid "-i ip - AP ip address\n"
msgstr "-i ip - ip ÁÄÒÅÓÁ ÔÏÞËÉ ÄÏÓÔÕÐÕ\n"
-#: src/ap-mrtg.c:48
+#: src/ap-auth.c:49 src/ap-mrtg.c:46 src/ap-rrd.c:46
msgid "-c community - SNMP community string\n"
msgstr "-c ËÏÍ`ÀΦԦ - SNMP ËÏÍ'ÀΦԦ\n"
-#: src/ap-mrtg.c:50
-msgid ""
-"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
-"or <l>ink quality in client mode\n"
-msgstr ""
-"-t ÔÉÐ - ÔÉÐ ÓÔÁÔÉÓÔÉËÉ w - ÒÁĦÏ, e - ÅÚÅÒÎÅÔ, s - ÁÓÏæÊÏ×ÁΦ "
-"ÓÔÁÎæ§ ÁÂÏ l - Ñ˦ÓÔØ ËÁÎÁÌÕ Õ ÒÅÖÉͦ Ë̦ÅÎÔÁ\n"
-
-#: src/ap-mrtg.c:52
+#: src/ap-auth.c:50
msgid ""
-"-b bssid - mac address of the AP to which get link quality, only if "
-"type=l\n"
+"-d filename - download list of authorised MAC addresses from AP to a file\n"
msgstr ""
-"-b bssid - ÍÁË-ÁÄÒÅÓÁ ÂÁÚÏ×ϧ ÓÔÁÎæ§ ÄÏ ÑËϧ ×ÉÚÎÁÞÁÔÉ Ñ˦ÓÔØ "
-"̦ÎËÕ×ÉËÏÒÉÓÔÏ×ÕÊÔÅ Ô¦ÌØ˦ ÌÉÛÅ, ÑËÝÏ ÔÉÐ=l\n"
-
-#: src/ap-mrtg.c:53
-msgid "-n name - AP name - for check only\n"
-msgstr "-n ÎÁÚ×Á - ÎÁÚ×Á ÔÏÞËÉ ÄÏÓÔÕÐÕ (ÌÉÛÅ ÄÌÑ ÐÅÒÅצÒËÉ)\n"
-#: src/ap-mrtg.c:54
+#: src/ap-auth.c:52
msgid ""
-"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the "
-"ME-102\n"
-msgstr ""
-"-a ÔÉÐ - ÔÉÐ ÔÏÞËÉ ÄÏÓÔÕÐÕ - 410 (ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ) ÁÂÏ 510 ÄÌÑ "
-"ATMEL12350, ÑË íå-102\n"
-
-#: src/ap-mrtg.c:56
-msgid "-v - report MRTG about problems connecting to AP\n"
-msgstr ""
-"-v - ÐÏצÄÏÍÌÑÔÉ MRTG ÐÒÏ ÐÏÍÉÌËÉ Ú`¤ÄÎÁÎÎÑ Ú ÔÏÞËÏÀ ÄÏÓÔÕÐÕ\n"
-
-#: src/ap-mrtg.c:57
-msgid "-r - reset AP when getting LinkQuality stats\n"
+"-u filename - upload list of authorised MAC addresses from a file to AP\n"
msgstr ""
-"-r - ÒÅÓÔÁÒÔÕ×ÁÔÉ ÔÏÞËÕ ÄÏÓÔÕÐÕ ÐÒÉ ÏÔÒÉÍÁÎΦ ÄÁÎÎÉÈ ÐÒÏ Ñ˦ÓÔØ "
-"̦ÎËÕ\n"
-#: src/ap-mrtg.c:58
+#: src/ap-auth.c:54 src/ap-mrtg.c:55 src/ap-rrd.c:55
msgid ""
"-h - print this help screen\n"
"\n"
"-h - ÎÁÄÒÕËÕ×ÁÔÉ ÃÅÊ ÅËÒÁÎ ÄÏÐÏÍÏÇÉ\n"
"\n"
-#: src/ap-mrtg.c:59
-#, c-format
+#: src/ap-auth.c:55
+#, fuzzy, c-format
msgid ""
-"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
+"ap-auth %s Copyright (c) 2004 Teemu Kiviniemi\n"
"\n"
msgstr ""
"ap-mrtg %s Copyright (c) 2002-2003 òÏÍÁÎ æÅÝÕË\n"
"\n"
-#: src/ap-mrtg.c:143
-msgid "Invalid IP-address\n"
+#: src/ap-auth.c:138 src/ap-mrtg.c:132
+#, fuzzy
+msgid "Error: invalid IP-address.\n"
msgstr "îÅצÒÎÁ ¶ò ÁÄÒÅÓÁ\n"
-#: src/ap-mrtg.c:188
-#, c-format
-msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
-msgstr "îÅצÒÎÉÊ ÔÉÐ '%s' - ÄÏÚ×ÏÌÅΦ ÔÉÐÉ 510 ÔÁ 410\n"
+#: src/ap-auth.c:203 src/ap-mrtg.c:204
+#, fuzzy
+msgid "Unable to determine AP MIB type (no response from AP)."
+msgstr ""
+"îÅ ÍÏÖÕ ×ÉÚÎÁÞÉÔÉ ÔÉÐ áò MIB (ΊצÄÐÏצÄÁ¤). âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ "
+"ÐÒÏÄÏ×ÖÅÎÎÑ"
-#: src/ap-mrtg.c:207
-msgid "Create socket error"
-msgstr "ðÏÍÉÌËÁ ÓÔ×ÏÒÅÎÎÑ ÓÏËÅÔÕ"
+#: src/ap-auth.c:211
+msgid "NWN devices are not yet supported."
+msgstr ""
-#: src/ap-mrtg.c:211
-msgid "Bind socket error"
-msgstr "ðÏÍÉÌËÁ ÐÒÉ×`ÑÚËÉ ÓÏËÅÔÕ"
+#: src/ap-config.c:43 src/bridge.c:201
+msgid "Bridging"
+msgstr "íÏÓÔ"
-#: src/ap-trapd.c:148
-#, c-format
-msgid "ap-trapd %s started%s%s."
-msgstr "ap-trapd %s ÓÔÁÒÔÏ×ÁÎÏ%s%s."
+#: src/ap-config.c:43
+msgid "Set bridging and IP-related options"
+msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÏÐæ§ ÍÏÓÔÁ ÔÁ ¶ò ÐÒÏÔÏËÏÌÕ"
-#: src/ap-trapd.c:149
-msgid " on "
-msgstr " ÎÁ "
+#: src/ap-config.c:45 src/ap-config.c:114 src/ap-config.c:123 src/bridge.c:125
+msgid "Wireless"
+msgstr "òÁĦÏ"
-#: src/ap-trapd.c:155
-msgid "Unable to fork. Exiting."
-msgstr "îÅ ÍÏÖÕ ×ÉËÏÎÁÔÉ fork. ÷ÉÈÏÄÖÕ."
+#: src/ap-config.c:45
+msgid "Set wireless options"
+msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒÉ ÒÁĦÏÍÅÒÅÖ¦"
-#: src/ap-trapd.c:159
-msgid "Can't create socket. Exiting."
-msgstr "îÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ ÓÏËÅÔ. ÷ÉÈÏÄÖÕ."
+#: src/ap-config.c:46 src/ap-config.c:58
+msgid "Privacy"
+msgstr "ûÉÆÒÕ×ÁÎÎÑ"
-#: src/ap-trapd.c:165
-msgid "Can't bind socket. Exiting."
-msgstr "îÅ ÍÏÖÕ ÐÒÉ×`ÑÚÁÔÉ ÓÏËÅÔ. ÷ÉÈÏÄÖÕ."
+#: src/ap-config.c:47
+#, fuzzy
+msgid "Auth"
+msgstr "ðÒÏÇÒÁÍÁ"
-#: src/ap-trapd.c:172
-#, c-format
-msgid "Can't bind to device %s. Exiting."
-msgstr "îÅ ÍÏÖÕ ÐÒÉ×`ÑÚÁÔÉÓÑ ÄÏ ÐÒÉÓÔÒÏÀ %s. ÷ÉÈÏÄÖÕ."
+#: src/ap-config.c:48 src/ap-config.c:60
+msgid "Community"
+msgstr "ëÏÍ'ÀΦԦ"
-#: src/ap-trapd.c:183
+#: src/ap-config.c:49
+msgid "Radio"
+msgstr "ðÅÒÅÄÁ×ÁÞ"
+
+#: src/ap-config.c:49
+msgid "Set radio signal power and antenna options"
+msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÏÔÕÖΦÓÔØ ÐÅÒÅÄÁ×ÁÞÁ ÔÁ ÁÎÔÅÎÉ"
+
+#: src/ap-config.c:56
+msgid "General"
+msgstr "çÏÌÏ×Φ"
+
+#: src/ap-config.c:56
+msgid "Set general options"
+msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÚÁÇÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
+
+#: src/ap-config.c:57
+msgid "Advanced"
+msgstr "óÐÅæÁÌØΦ"
+
+#: src/ap-config.c:57
+msgid "Set advanced options"
+msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÓÐÅæÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
+
+#: src/ap-config.c:59
+msgid "MAC auth"
+msgstr "íáó ÄÏÓÔÕÐ"
+
+#: src/ap-config.c:82
+msgid "Upload"
+msgstr "úÁ×ÁÎÔÁÖÉÔÉ"
+
+#: src/ap-config.c:82
+msgid "Activate current configuration"
+msgstr "áËÔÉצÚÕ×ÁÔÉ ÐÏÔÏÞÎÕ ËÏÎƦÇÕÒÁæÀ"
+
+#: src/ap-config.c:83
+msgid "Defaults"
+msgstr "æÁÂÒ¦ÞΦ"
+
+#: src/ap-config.c:83
+msgid "Restore factory default settings"
+msgstr "÷¦ÄÎÏ×ÉÔÉ ÆÁÂÒ¦ÞΦ ÎÁÓÔÒÏÊËÉ."
+
+#: src/ap-config.c:84 src/ap-config.c:91
+msgid "Reset"
+msgstr "òÅÓÔÁÒÔ"
+
+#: src/ap-config.c:85
+msgid "Reset AP. All not uploaded configuration will be lost"
+msgstr "ðÅÒÅÚÁ×ÁÎÔÁÖÉÔÉ áò. îÅÁËÔÉצÚÏ×ÁΦ ÚͦÎÉ Õ ËÏÎƦÇÕÒÁæ§ ÂÕÄÁ ×ÔÒÁÞÅÎÏ."
+
+#: src/ap-config.c:86
+msgid "TestMode"
+msgstr "ôÅÓÔ"
+
+#: src/ap-config.c:86
+msgid "Put Access Point in test mode"
+msgstr "ðÏÓÔÁ×ÉÔÉ áò Õ ÔÅÓÔÏ×ÉÊ ÒÅÖÉÍ"
+
+#: src/ap-config.c:91
+msgid "Reset AP."
+msgstr "òÅÓÔÁÒÔ"
+
+#: src/ap-config.c:112 src/ap-config.c:122
+msgid "SysInfo"
+msgstr "óÉÓÔÅÍÁ"
+
+#: src/ap-config.c:113 src/bridge.c:124 src/bridge.c:127
+msgid "Ethernet"
+msgstr "åÚÅÒÎÅÔ"
+
+#: src/ap-config.c:113
+msgid "Get ethernet port statistics"
+msgstr "ïÔÒÉÍÁÔÉ ÓÔÁÔÉÓÔÉËÕ ÅÚÅÒÎÅÔ ÐÏÒÔÕ"
+
+#: src/ap-config.c:115 src/ap-config.c:124
+msgid "Stations"
+msgstr "óÔÁÎæ§"
+
+#: src/ap-config.c:116
+#, fuzzy
+msgid "AP link"
+msgstr "óÔÁÎ Ú×'ÑÚËÕ Ú AP"
+
+#: src/ap-config.c:117
+msgid "KnownAPs"
+msgstr "÷¦ÄÏͦôÏÞËÉ"
+
+#: src/ap-config.c:117
+msgid "Get info about known Access Points"
+msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁÃÉÀ ÐÒÏ ×¦ÄÏͦ ôÏÞËÉ äÏÓÔÕÐÕ"
+
+#: src/ap-config.c:125
+msgid "Latest"
+msgstr "ðÏĦ§"
+
+#: src/ap-config.c:125
+msgid "Get info about latest events"
+msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ ÐÒÏ ÏÓÔÁÎΦ ÐÏĦ§"
+
+#: src/ap-config.c:150
+msgid "Info"
+msgstr "¶ÎÆÏÒÍÁæÑ"
+
+#: src/ap-config.c:151
+msgid "Config"
+msgstr "õÓÔÁÎÏ×ËÉ"
+
+#: src/ap-config.c:152
+msgid "Commands"
+msgstr "ëÏÍÁÎÄÉ"
+
+#: src/ap-config.c:152
+msgid "Execute commands on Access Point"
+msgstr "÷ÉËÏÎÁÔÉ ËÏÍÁÎÄÉ ÎÁ áò"
+
+#: src/ap-config.c:154
+msgid "Connect"
+msgstr "ú'¤ÄÎÁÎÎÑ"
+
+#: src/ap-config.c:155
+msgid "Search"
+msgstr "ðÏÛÕË"
+
+#: src/ap-config.c:156
+#, fuzzy
+msgid "Polling"
+msgstr "ïÐÉÔÕ×ÁÎÎÑ: ÔÁË"
+
+#: src/ap-config.c:157
+msgid "Shell"
+msgstr "ïÂÏÌÏÎËÁ"
+
+#: src/ap-config.c:159
+msgid "Exit"
+msgstr "÷ÉȦÄ"
+
+#: src/ap-config.c:218
+#, c-format
+msgid "Wireless Access Point Configurator ver. %s"
+msgstr "ëÏÎƦÇÕÒÁÔÏÒ ÔÏÞËÉ ÄÏÓÔÕÐÕ ÒÁĦÏÍÅÒÅÖ¦ ×ÅÒ. %s"
+
+#: src/aplink.c:25
+msgid "RSSI: ["
+msgstr ""
+
+#: src/aplink.c:26
+msgid "RSSI avg: ["
+msgstr ""
+
+#: src/aplink.c:27
+msgid "RSSI top: ["
+msgstr ""
+
+#: src/aplink.c:28
+msgid "RSSI rou: ["
+msgstr ""
+
+#: src/aplink.c:29
+#, fuzzy
+msgid ""
+"P - pause, T - toggle graph view, Q - quit to menu, Other key - force update."
+msgstr "Q - ×ÉÊÔÉ × ÍÅÎÀ. T - ÐÅÒÅÍËÎÕÔÉ ÒÅÖÉÍ ÚÁÐÉÔÕ, ¶ÎÛ¦ - ÐÏÎÏ×ÉÔÉ."
+
+#: src/aplink.c:81
+msgid "RSSI [%]"
+msgstr ""
+
+#: src/aplink.c:82
+msgid "RSSI average [%]"
+msgstr ""
+
+#: src/aplink.c:83
+msgid "RSSI rounded [%]"
+msgstr ""
+
+#: src/aplink.c:84
+#, fuzzy
+msgid "Link Quality [%]"
+msgstr "; LQ: ñ˦ÓÔØ Ú'¤ÄÎÁÎÎÑ [%]"
+
+#: src/aplink.c:133
+msgid "Not available - device must have firmware with necessary "
+msgstr ""
+
+#: src/aplink.c:135
+msgid "vendor extensions and be in either 'Access Point client'"
+msgstr ""
+
+#: src/aplink.c:137
+msgid "or 'Repeater' mode."
+msgstr ""
+
+#: src/ap-mrtg.c:42
+#, fuzzy
+msgid ""
+"\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-v] [-h] [-r]\n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c ËÏÍ`ÀΦԦ -t ÔÉÐ [-b bssid] [-n name] [-a aptype] [-v] [-"
+"h] [-r]\n"
+"\n"
+
+#: src/ap-mrtg.c:44
+msgid ""
+"Get stats from AP and return it in MRTG parsable format\n"
+"\n"
+msgstr ""
+"ïÔÒÉÍÕ¤ ÄÁÎΦ Ú ÔÏÞËÉ ÄÏÓÔÕÐÕ ÔÁ ÐÏ×ÅÒÔÁ¤ §È Õ MRTG ÆÏÒÍÁÔ¦\n"
+"\n"
+
+#: src/ap-mrtg.c:47
+#, fuzzy
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality (last one will only "
+msgstr ""
+"-t ÔÉÐ - ÔÉÐ ÓÔÁÔÉÓÔÉËÉ w - ÒÁĦÏ, e - ÅÚÅÒÎÅÔ, s - ÁÓÏæÊÏ×ÁΦ "
+"ÓÔÁÎæ§ ÁÂÏ l - Ñ˦ÓÔØ ËÁÎÁÌÕ Õ ÒÅÖÉͦ Ë̦ÅÎÔÁ\n"
+
+#: src/ap-mrtg.c:49
+msgid "work with ATMEL410 MIB devices in AP Client mode)\n"
+msgstr ""
+
+#: src/ap-mrtg.c:50
+#, fuzzy
+msgid ""
+"-b bssid - mac address of the AP from which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid - ÍÁË-ÁÄÒÅÓÁ ÂÁÚÏ×ϧ ÓÔÁÎæ§ ÄÏ ÑËϧ ×ÉÚÎÁÞÁÔÉ Ñ˦ÓÔØ "
+"̦ÎËÕ×ÉËÏÒÉÓÔÏ×ÕÊÔÅ Ô¦ÌØ˦ ÌÉÛÅ, ÑËÝÏ ÔÉÐ=l\n"
+
+#: src/ap-mrtg.c:52
+#, fuzzy
+msgid "-n name - AP name - for check only\n"
+msgstr "-n ÎÁÚ×Á - ÎÁÚ×Á ÔÏÞËÉ ÄÏÓÔÕÐÕ (ÌÉÛÅ ÄÌÑ ÐÅÒÅצÒËÉ)\n"
+
+#: src/ap-mrtg.c:53
+msgid "-v - report MRTG about problems connecting to AP\n"
+msgstr ""
+"-v - ÐÏצÄÏÍÌÑÔÉ MRTG ÐÒÏ ÐÏÍÉÌËÉ Ú`¤ÄÎÁÎÎÑ Ú ÔÏÞËÏÀ ÄÏÓÔÕÐÕ\n"
+
+#: src/ap-mrtg.c:54 src/ap-rrd.c:54
+msgid "-r - reset AP when getting LinkQuality stats\n"
+msgstr ""
+"-r - ÒÅÓÔÁÒÔÕ×ÁÔÉ ÔÏÞËÕ ÄÏÓÔÕÐÕ ÐÒÉ ÏÔÒÉÍÁÎΦ ÄÁÎÎÉÈ ÐÒÏ Ñ˦ÓÔØ "
+"̦ÎËÕ\n"
+
+#: src/ap-mrtg.c:56
+#, c-format
+msgid ""
+"ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n"
+"\n"
+msgstr ""
+"ap-mrtg %s Copyright (c) 2002-2003 òÏÍÁÎ æÅÝÕË\n"
+"\n"
+
+#: src/ap-rrd.c:32
+#, c-format
+msgid "Error getting data from AP %s\n"
+msgstr ""
+
+#: src/ap-rrd.c:42
+#, fuzzy
+msgid ""
+"\tap-rrd -i ip -c community -t type -d db_file [-b bssid] [-n name] [-a "
+"aptype] [-h] [-r] \n"
+"\n"
+msgstr ""
+"\tap-mrtg -i ip -c ËÏÍ`ÀΦԦ -t ÔÉÐ [-b bssid] [-n name] [-a aptype] [-v] [-"
+"h] [-r]\n"
+"\n"
+
+#: src/ap-rrd.c:44
+#, fuzzy
+msgid ""
+"Get stats from AP and put it in to specified RRDtool database\n"
+"\n"
+msgstr ""
+"ïÔÒÉÍÕ¤ ÄÁÎΦ Ú ÔÏÞËÉ ÄÏÓÔÕÐÕ ÔÁ ÐÏ×ÅÒÔÁ¤ §È Õ MRTG ÆÏÒÍÁÔ¦\n"
+"\n"
+
+#: src/ap-rrd.c:48
+msgid ""
+"-t type - statistics type <w>ireless, <e>thernet, associated <s>tations "
+"or <l>ink quality in client mode\n"
+msgstr ""
+"-t ÔÉÐ - ÔÉÐ ÓÔÁÔÉÓÔÉËÉ w - ÒÁĦÏ, e - ÅÚÅÒÎÅÔ, s - ÁÓÏæÊÏ×ÁΦ "
+"ÓÔÁÎæ§ ÁÂÏ l - Ñ˦ÓÔØ ËÁÎÁÌÕ Õ ÒÅÖÉͦ Ë̦ÅÎÔÁ\n"
+
+#: src/ap-rrd.c:49
+msgid "-d db_file - RRD database file with full path\n"
+msgstr ""
+
+#: src/ap-rrd.c:51
+msgid ""
+"-b bssid - mac address of the AP to which get link quality, only if "
+"type=l\n"
+msgstr ""
+"-b bssid - ÍÁË-ÁÄÒÅÓÁ ÂÁÚÏ×ϧ ÓÔÁÎæ§ ÄÏ ÑËϧ ×ÉÚÎÁÞÁÔÉ Ñ˦ÓÔØ "
+"̦ÎËÕ×ÉËÏÒÉÓÔÏ×ÕÊÔÅ Ô¦ÌØ˦ ÌÉÛÅ, ÑËÝÏ ÔÉÐ=l\n"
+
+#: src/ap-rrd.c:52
+msgid "-n name - AP name - for check only\n"
+msgstr "-n ÎÁÚ×Á - ÎÁÚ×Á ÔÏÞËÉ ÄÏÓÔÕÐÕ (ÌÉÛÅ ÄÌÑ ÐÅÒÅצÒËÉ)\n"
+
+#: src/ap-rrd.c:53
+#, fuzzy
+msgid ""
+"-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-"
+"102\n"
+msgstr ""
+"-a ÔÉÐ - ÔÉÐ ÔÏÞËÉ ÄÏÓÔÕÐÕ - 410 (ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ) ÁÂÏ 510 ÄÌÑ "
+"ATMEL12350, ÑË íå-102\n"
+
+#: src/ap-rrd.c:56
+#, fuzzy, c-format
+msgid ""
+"ap-rrd %s Copyright (c) 2002-2004 Roman Festchook\n"
+"\n"
+msgstr ""
+"ap-mrtg %s Copyright (c) 2002-2003 òÏÍÁÎ æÅÝÕË\n"
+"\n"
+
+#: src/ap-rrd.c:133
+msgid "Invalid IP-address\n"
+msgstr "îÅצÒÎÁ ¶ò ÁÄÒÅÓÁ\n"
+
+#: src/ap-rrd.c:179
+#, c-format
+msgid "Invalid AP-Type '%s' - valid types are 510 or 410\n"
+msgstr "îÅצÒÎÉÊ ÔÉÐ '%s' - ÄÏÚ×ÏÌÅΦ ÔÉÐÉ 510 ÔÁ 410\n"
+
+#: src/ap-tftp.c:84
+#, fuzzy
+msgid "yes"
+msgstr "ôÁË"
+
+#: src/ap-tftp.c:85
+#, fuzzy
+msgid "no"
+msgstr "¶ÎÆÏÒÍÁæÑ"
+
+#: src/ap-tftp.c:87
+msgid "Error while read()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:100
+msgid "Undefined error"
+msgstr ""
+
+#: src/ap-tftp.c:101
+msgid "File not found"
+msgstr ""
+
+#: src/ap-tftp.c:102
+#, fuzzy
+msgid "Access violation"
+msgstr "âÁÚÏ×Á ÓÔÁÎæÑ"
+
+#: src/ap-tftp.c:103
+msgid "Disk full or allocation error"
+msgstr ""
+
+#: src/ap-tftp.c:104
+msgid "Illegal TFTP operation"
+msgstr ""
+
+#: src/ap-tftp.c:105
+msgid "Unknown transfer ID"
+msgstr ""
+
+#: src/ap-tftp.c:106
+msgid "File already exists"
+msgstr ""
+
+#: src/ap-tftp.c:107
+msgid "No such user"
+msgstr ""
+
+#: src/ap-tftp.c:157
+msgid "Remote-filename too long.\n"
+msgstr ""
+
+#: src/ap-tftp.c:183
+#, c-format
+msgid "%sError in read()"
+msgstr ""
+
+#: src/ap-tftp.c:212
+#, c-format
+msgid "sending %u bytes\n"
+msgstr ""
+
+#: src/ap-tftp.c:221
+#, c-format
+msgid "%sError in sendto()"
+msgstr ""
+
+#: src/ap-tftp.c:244
+#, c-format
+msgid "%sError in recvfrom()"
+msgstr ""
+
+#: src/ap-tftp.c:256
+#, c-format
+msgid "\rProgress: uploaded %3i%%."
+msgstr ""
+
+#: src/ap-tftp.c:267
+#, c-format
+msgid "%sMalformed packet received. Aborting.\n"
+msgstr ""
+
+#: src/ap-tftp.c:276
+#, c-format
+msgid "%sTimed out waiting for response from server (%i/%i).\n"
+msgstr ""
+
+#: src/ap-tftp.c:283
+#, c-format
+msgid "%sError in select()"
+msgstr ""
+
+#: src/ap-tftp.c:297
+#, c-format
+msgid "Received %d bytes: %04x %04x\n"
+msgstr ""
+
+#: src/ap-tftp.c:308
+#, c-format
+msgid "%sError: server responded with %s. Aborting.\n"
+msgstr ""
+
+#: src/ap-tftp.c:315
+#, c-format
+msgid "%sFlash programming in progress...\n"
+msgstr ""
+
+#: src/ap-tftp.c:317
+msgid "Finished successfully.\n"
+msgstr ""
+
+#: src/ap-tftp.c:335
+msgid "PLEASE BE _ABSOLUTELY_ SURE TO READ MANPAGE PRIOR USE!!!\n"
+msgstr ""
+
+#: src/ap-tftp.c:337
+#, c-format
+msgid ""
+"\n"
+"Usage: %s -i IP -f firmware_file.rom [-c community] [-h]\n"
+msgstr ""
+
+#: src/ap-tftp.c:361
+msgid "TFTP client for upgrading firmware in ATMEL AT76C510 WiSOC-based APs.\n"
+msgstr ""
+
+#: src/ap-tftp.c:363
+msgid "(C) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>\n"
+msgstr ""
+
+#: src/ap-tftp.c:379
+msgid "Error: invalid IP address format given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:405
+#, fuzzy
+msgid "Error: invalid argument combination.\n"
+msgstr "îÅצÒÎÁ ¶ò ÁÄÒÅÓÁ\n"
+
+#: src/ap-tftp.c:412
+msgid "Error while open()ing firmware file"
+msgstr ""
+
+#: src/ap-tftp.c:419 src/ap-tftp.c:472
+msgid "Error: invalid firmware file given.\n"
+msgstr ""
+
+#: src/ap-tftp.c:461
+#, c-format
+msgid ""
+"Firmware file contains:\n"
+"- string \"ATMEL\": %s\n"
+"- string \"802.11 AP\": %s\n"
+"- string \"atbrfirm.bin\": %s\n"
+"- string \"atsingle.bin\": %s\n"
+msgstr ""
+
+#: src/ap-tftp.c:485
+#, c-format
+msgid ""
+"Using:\n"
+"- server: %s\n"
+"- firmware file: \"%s\"\n"
+"- name used for upload: \"%s\"\n"
+msgstr ""
+
+#: src/ap-tftp.c:568
+msgid ""
+"Error: device with the given IP does not seem to run SmartBridges firmware.\n"
+msgstr ""
+
+#: src/ap-tftp.c:574
+msgid "Error: SNMP authorization error or device unavailable.\n"
+msgstr ""
+
+#: src/ap-tftp.c:653
+msgid "Error while lseek()ing in firmware file\n"
+msgstr ""
+
+#: src/ap-trapd.c:150
+#, c-format
+msgid "ap-trapd %s started%s%s."
+msgstr "ap-trapd %s ÓÔÁÒÔÏ×ÁÎÏ%s%s."
+
+#: src/ap-trapd.c:151
+msgid " on "
+msgstr " ÎÁ "
+
+#: src/ap-trapd.c:157
+msgid "Unable to fork. Exiting."
+msgstr "îÅ ÍÏÖÕ ×ÉËÏÎÁÔÉ fork. ÷ÉÈÏÄÖÕ."
+
+#: src/ap-trapd.c:161
+msgid "Can't create socket. Exiting."
+msgstr "îÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ ÓÏËÅÔ. ÷ÉÈÏÄÖÕ."
+
+#: src/ap-trapd.c:167
+msgid "Can't bind socket. Exiting."
+msgstr "îÅ ÍÏÖÕ ÐÒÉ×`ÑÚÁÔÉ ÓÏËÅÔ. ÷ÉÈÏÄÖÕ."
+
+#: src/ap-trapd.c:174
+#, c-format
+msgid "Can't bind to device %s. Exiting."
+msgstr "îÅ ÍÏÖÕ ÐÒÉ×`ÑÚÁÔÉÓÑ ÄÏ ÐÒÉÓÔÒÏÀ %s. ÷ÉÈÏÄÖÕ."
+
+#: src/ap-trapd.c:185
#, c-format
msgid "Unable to process username %s. Error: %m."
msgstr "îÅ ÍÏÖÕ ÏÂÒÏÂÉÔÉ ÌÏǦΠ%s. ðÏÍÉÌËÁ: %m."
-#: src/ap-trapd.c:188
+#: src/ap-trapd.c:190
#, c-format
msgid "Unable to change to uid %d."
msgstr "îÅ ÍÏÖÕ ÐÅÒÅÚÁÐÕÓÔÉÔÉÓØ Ð¦Ä uid %d. "
-#: src/ap-trapd.c:235
+#: src/ap-trapd.c:239
#, c-format
msgid ""
"Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."
msgstr ""
"ïÔÒÉÍÁÎÏ ÎÅצÄÏÍÉÊ SNMP ×ÅÒ %d ÔÒÁÐ. ú %s:%d. áÇÅÎÔ: %s. ëÏÍ`ÀΦԦ: %s."
-#: src/ap-trapd.c:307
-#, c-format
-msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
+#: src/ap-trapd.c:311
+#, fuzzy, c-format
+msgid "Agent:v%d %s (%s@%s:%d) Trap %i: %s%s%s. SysUptime %d:%02d:%02d.%02d"
msgstr "áÇÅÎÔ:v%d %s (%s@%s:%d) %s%s%s. îÁÐÒÁÃØÏ×ÁÎÏ %d:%02d:%02d.%02d"
-#: src/auth_mac.c:33
-msgid "NUM MAC address"
+#: src/auth.c:30
+msgid "APClient authorization credentials"
+msgstr ""
+
+#: src/auth.c:32
+msgid "[A] MAC authorization: "
+msgstr "[A] Máó Á×ÔÏÒÉÚÁæÑ: "
+
+#: src/auth.c:33
+msgid "Enter MAC: "
+msgstr "÷×ÅĦÔØ íáó:"
+
+#: src/auth.c:34
+msgid "Delete Num: "
+msgstr "÷ÉÄÁÌÉÔÉ ÎÏÍÅÒ:"
+
+#: src/auth.c:35
+#, fuzzy
+msgid " NUM MAC address "
msgstr "# íáó ÁÄÒÅÓÁ"
+#: src/auth.c:36
+#, fuzzy
+msgid "A: auth; N: new; D: del; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A Á×ÔÏÒÉÚÁæÑ; N ÎÏ×Á; D ×ÉÄÁÌÉÔÉ; ÓÔÒ¦ÌËÉ ÐÅÒÅÇÌÑÄ; W ÚÁÐÉÓÁÔÉ; Q ×ÉÊÔÉ"
+
+#: src/auth.c:38
+msgid "[I] Radius server IP: "
+msgstr ""
+
+#: src/auth.c:39
+#, fuzzy
+msgid "[P] Radius server port: "
+msgstr "[P] çÏÌÏ×Î¦Ê ÐÏÒÔ: "
+
+#: src/auth.c:40
+msgid "[S] Radius server secret: "
+msgstr ""
+
+#: src/auth.c:41
+#, fuzzy
+msgid "[T] Reauthorization time (minutes): "
+msgstr "[A] Máó Á×ÔÏÒÉÚÁæÑ: "
+
+#: src/auth.c:42
+msgid "[F] Radius source port: "
+msgstr ""
+
+#: src/auth.c:43
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; IPSTF: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A Á×ÔÏÒÉÚÁæÑ; N ÎÏ×Á; D ×ÉÄÁÌÉÔÉ; ÓÔÒ¦ÌËÉ ÐÅÒÅÇÌÑÄ; W ÚÁÐÉÓÁÔÉ; Q ×ÉÊÔÉ"
+
+#: src/auth.c:45
+#, fuzzy
+msgid "[M] 802.1x authorization: "
+msgstr "[A] Máó Á×ÔÏÒÉÚÁæÑ: "
+
+#: src/auth.c:46
+#, fuzzy
+msgid "[T] key broadcasting time period (seconds): "
+msgstr "[B] ðÅÒ¦ÏÄ ÂÅËÏÎ¦× (ÍÓÅË): "
+
+#: src/auth.c:47
+msgid "[I] 802.1x auth. server IP: "
+msgstr ""
+
+#: src/auth.c:48
+msgid "[S] 802.1x auth. server secret: "
+msgstr ""
+
+#: src/auth.c:49
+#, fuzzy
+msgid ""
+"A: auth; N: new; D: del; MTIS: set; arrows: scroll; W: write conf; Q: quit"
+msgstr ""
+"A Á×ÔÏÒÉÚÁæÑ; N ÎÏ×Á; D ×ÉÄÁÌÉÔÉ; ÓÔÒ¦ÌËÉ ÐÅÒÅÇÌÑÄ; W ÚÁÐÉÓÁÔÉ; Q ×ÉÊÔÉ"
+
+#: src/auth.c:114
+msgid "Internal"
+msgstr "÷ÎÕÔÒ¦ÛÎÑ ÔÁÂÌÉÃÑ"
+
+#: src/auth.c:116
+#, fuzzy
+msgid "Radius"
+msgstr "ðÅÒÅÄÁ×ÁÞ"
+
+#: src/auth.c:121
+msgid "Allow listed MACs only"
+msgstr ""
+
+#: src/auth.c:123
+msgid "Deny listed MACs only"
+msgstr ""
+
+#: src/auth.c:129
+msgid "Mixed environment"
+msgstr ""
+
+#: src/auth.c:213
+msgid "(not shown)"
+msgstr ""
+
+#: src/auth.c:276
+#, fuzzy
+msgid "Authorized MAC addresses:"
+msgstr "á×ÔÏÒÉÚÏ×ÁΦ íáó ÁÄÒÅÓÉ"
+
+#: src/auth.c:345
+msgid "(insufficient community used)"
+msgstr ""
+
+#: src/auth.c:472
+#, c-format
+msgid "Given MAC already exists in MAC list at position %d. Press any key."
+msgstr ""
+
+#: src/bridge.c:27
+msgid "[I] IP: "
+msgstr "[I] ¶ò: "
+
+#: src/bridge.c:28
+msgid "[N] Netmask: "
+msgstr "[N] íÁÓËÁ: "
+
+#: src/bridge.c:29
+msgid "[G] Gateway: "
+msgstr "[G] ûÌÀÚ: "
+
+#: src/bridge.c:30
+msgid "[F] Filter non-IP traffic: "
+msgstr "[F] æ¦ÌØÔÒÕ×ÁÔÉ ÎÅ-¶ò ÔÒÁƦË: "
+
+#: src/bridge.c:31
+msgid "[P] Primary port: "
+msgstr "[P] çÏÌÏ×Î¦Ê ÐÏÒÔ: "
+
+#: src/bridge.c:32
+msgid "Attached station MAC: "
+msgstr "ð¦Ä'¤ÄÎÁÎÁ ÓÔÁÎæÑ: "
+
+#: src/bridge.c:33
+msgid "[D] DHCP client: "
+msgstr "[D] DHCP Ë̦¤ÎÔ: "
+
+#: src/bridge.c:34
+msgid "[O] Operational mode: "
+msgstr "[O] òÅÖÉÍ ÒÏÂÏÔÉ: "
+
#: src/bridge.c:35
+msgid "[M] Preferred BSSID (remote MAC addr.): "
+msgstr "[M] ÷¦ÄÄÁÌÅÎÉÊ Máó: "
+
+#: src/bridge.c:36
msgid "[C] Configuration-enabled port(s): "
msgstr "[C] ðÏÒÔ ËÏÎƦÇÕÒÕ×ÁÎÎÑ: "
+#: src/bridge.c:37
+#, fuzzy
+msgid "[T] Trap-sending port: "
+msgstr "[T] ðÏÒÔ ×¦ÄÐÒÁ×ËÉ ÔÒÁЦ×: "
+
#: src/bridge.c:38
+msgid "[R] Forward broadcast traffic: "
+msgstr "[R] ðÅÒÅÄÁÞÁ ÂÒÏÁÄËÁÓÔÏ×ÉÈ ÐÁËÕÎ˦×: "
+
+#: src/bridge.c:39
msgid "[B] Isolate wireless clients (broadcast traffic): "
msgstr "[B] ¶ÚÏÌÀ×ÁÔÉ ÒÁĦÏË̦¤ÎÔ¦× (ÂÒÏÁÄËÁÓÔÏצ ÐÁËÕÎËÉ): "
-#: src/bridge.c:39
+#: src/bridge.c:40
msgid "[U] Isolate wireless clients (unicast traffic): "
msgstr "[U] ¶ÚÏÌÀ×ÁÔÉ ÒÁĦÏË̦¤ÎÔ¦× (ÕΦËÁÓÔÏצ ÐÁËÕÎËÉ): "
-#: src/bridge.c:119
+#: src/bridge.c:41
+#, fuzzy
+msgid "INGFPDOMSCRBUT - set; W - write conf; Q - quit to menu"
+msgstr "INGFPDOMSCTRBU - ×ÓÔÁÎÏ×ÉÔÉ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
+
+#: src/bridge.c:128
+#, fuzzy
+msgid "Wireless (can be risky)"
+msgstr "ðÁÒÁÍÅÔÒÉ ÒÁĦÏÍÅÒÅÖ¦"
+
+#: src/bridge.c:129
msgid "Both"
msgstr "ïÂÉÄ×Á"
msgid "Error:"
msgstr "ðÏÍÉÌËÁ:"
-#: src/stations.c:33
-msgid "AP link state"
-msgstr "óÔÁÎ Ú×'ÑÚËÕ Ú AP"
-
-#: src/stations.c:37
-msgid " # MAC "
-msgstr " # MAC "
+#: src/stations.c:82
+msgid "Not available (device not in AP mode)."
+msgstr ""
-#: src/stations.c:40
-msgid " # MAC Parent MAC RSSI Status MACn IP "
+#: src/stations.c:92
+#, fuzzy
+msgid " # MAC Parent MAC RSSI LQ Sts MACn IP "
msgstr " # MAC MAC ÂÁÚÉ RSSI óÔÁÔÕ MACn IP "
-#: src/stations.c:195 src/stations.c:367
+#: src/stations.c:136
+msgid "AssociatedSTAsInfo packet error"
+msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ AssociatedSTAsInfo."
+
+#: src/stations.c:189 src/stations.c:363
msgid ""
"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
"refresh"
msgstr ""
"óÔÒ¦ÌËÉ - ÐÒÏËÒÕÔËÁ; S - ÚÂÅÒÅÇÔÉ Õ ÆÁÊÌ; T - ÐÅÒÅÍËÎÕÔÉ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
-#: src/stations.c:200
+#: src/stations.c:193
msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
msgstr "óÔÒ¦ÌËÉ - ÐÒÏËÒÕÔËÁ; S - ÚÂÅÒÅÇÔÉ Õ ÆÁÊÌ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
-#: src/stations.c:279
+#: src/stations.c:275
msgid "Id MAC address Quality Age RSSI"
msgstr "# MAC ÁÄÒÅÓÁ ñ˦ÓÔØ âÅÚÄ¦Ñ óÉÌÁ ÓÉÇÎÁÌÕ"
+
+#~ msgid "Please enter SNMP community name that will be used for AP detection."
+#~ msgstr "÷×ÅĦÔØ SNMP ËÏÍ'ÀΦԦ, ÝÏ ÂÕÄÅ ×ÉËÏÒÉÓÔÁÎÏ ÄÌÑ ÐÏÛÕËÕ áò"
+
+#~ msgid "Create socket error. Press any key."
+#~ msgstr "ðÏÍÉÌËÁ ÓÔ×ÏÒÅÎÎÑ ÓÏËÅÔÕ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
+
+#~ msgid "Bind socket error. Press any key."
+#~ msgstr "ðÏÍÉÌËÁ ÐÒÉ×`ÑÚËÉ ÓÏËÅÔÕ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
+
+#~ msgid "Create socket error"
+#~ msgstr "ðÏÍÉÌËÁ ÓÔ×ÏÒÅÎÎÑ ÓÏËÅÔÕ"
+
+#~ msgid "Bind socket error"
+#~ msgstr "ðÏÍÉÌËÁ ÐÒÉ×`ÑÚËÉ ÓÏËÅÔÕ"
+
+#~ msgid "NUM MAC address"
+#~ msgstr "# íáó ÁÄÒÅÓÁ"
+
+#~ msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
+#~ msgstr "A - a×ÔÏÒÉÚÁæÑ; IPSTF - ×ÓÔÁÎÏ×ÉÔÉ;W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
+
+#~ msgid "A - auth; W - write conf; Q - quit"
+#~ msgstr "A - a×ÔÏÒÉÚÁæÑ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
+
+#~ msgid "[I] RADIUS SERVER IP: "
+#~ msgstr "[I] ¶ò ÁÄÒÅÓÁ RADIUS ÓÅÒ×ÅÒÁ: "
+
+#~ msgid "[P] RADIUS SERVER PORT: "
+#~ msgstr "[P] ðÏÒÔ RADIUS ÓÅÒ×ÅÒÁ: "
+
+#~ msgid "[S] RADIUS SERVER SECRET: "
+#~ msgstr "[S] ðÁÒÏÌØ RADIUS ÓÅÒ×ÅÒÁ: "
+
+#~ msgid "[T] REAUTHORIZATION TIME: "
+#~ msgstr "[T] þÁÓ ÐÅÒÅÁ×ÔÏÒÉÚÁæ§: "
+
+#~ msgid "[F] RADIUS SOURCE PORT: "
+#~ msgstr "[F] ÷ÉȦÄÎÉÊ ÐÏÒÔ RADIUS ÐÁËÅÔ¦×: "
+
+#~ msgid "<hidden>"
+#~ msgstr "<ÐÒÉÈÏ×ÁÎÏ>"
+
+#~ msgid "[U] Isolate wireless clients: "
+#~ msgstr "[U] ¶ÚÏÌÀ×ÁÔÉ ÒÁĦÏË̦¤ÎÔ¦×: "
+
+#~ msgid "AP is currently in AP Client Mode => no associated STAtions."
+#~ msgstr "ôÏÞËÁ äÏÓÔÕÐÕ Õ ÒÅÖÉͦ Ë̦¤ÎÔÁ => ÎÅÍÁ¤ ЦÄ'¤ÄÎÁÎÉÈ ÓÔÁÎæÊ"
+
+#~ msgid "# MAC LQ RSSI Status Port IP"
+#~ msgstr "# MAC LQ RSSI óÔÁÔ ðÏÒÔ IP"
+
+#~ msgid "Arrows - scroll; S - save to file; Q - quit to menu."
+#~ msgstr "óÔÒ¦ÌËÉ - ÐÒÏËÒÕÔËÁ; S - ÚÂÅÒÅÇÔÉ Õ ÆÁÊÌ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
+
+#~ msgid " # MAC "
+#~ msgstr " # MAC "
INCLUDES = -I../lib -I../intl -I..
LIBS = @INTLLIBS@ @LIBS@
-bin_PROGRAMS = ap-config ap-mrtg ap-auth
+bin_PROGRAMS = ap-config ap-mrtg ap-auth ap-tftp ap-rrd
sbin_PROGRAMS = ap-trapd
-ap_config_SOURCES = ap-config.c auth_mac.c bridge.c nwn_advanced.c nwn_latest.c stations.c
-ap_config_LDADD = ../lib/libap.a -lmenu
+ap_config_SOURCES = ap-config.c auth.c bridge.c nwn_advanced.c nwn_latest.c stations.c aplink.c
+ap_config_LDADD = ../lib/libap.a -lmenu @CURSESLIBS@
-ap_mrtg_SOURCES = ap-mrtg.c
-ap_mrtg_LDADD = ../lib/libap.a
+ap_tftp_SOURCES = ap-tftp.c
+ap_tftp_LDADD = ../lib/libap.a
ap_trapd_SOURCES = ap-trapd.c
ap_auth_SOURCES = ap-auth.c
ap_auth_LDADD = ../lib/libap.a
+
+ap_mrtg_SOURCES = ap-mrtg.c
+ap_mrtg_LDADD = ../lib/libap.a
+
+ap_rrd_SOURCES = ap-rrd.c
+ap_rrd_LDADD = ../lib/libap.a
+
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CURSESLIBS = @CURSESLIBS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
target_alias = @target_alias@
INCLUDES = -I../lib -I../intl -I..
-bin_PROGRAMS = ap-config ap-mrtg ap-auth
+bin_PROGRAMS = ap-config ap-mrtg ap-auth ap-tftp ap-rrd
sbin_PROGRAMS = ap-trapd
-ap_config_SOURCES = ap-config.c auth_mac.c bridge.c nwn_advanced.c nwn_latest.c stations.c
-ap_config_LDADD = ../lib/libap.a -lmenu
+ap_config_SOURCES = ap-config.c auth.c bridge.c nwn_advanced.c nwn_latest.c stations.c aplink.c
+ap_config_LDADD = ../lib/libap.a -lmenu @CURSESLIBS@
-ap_mrtg_SOURCES = ap-mrtg.c
-ap_mrtg_LDADD = ../lib/libap.a
+ap_tftp_SOURCES = ap-tftp.c
+ap_tftp_LDADD = ../lib/libap.a
ap_trapd_SOURCES = ap-trapd.c
ap_auth_SOURCES = ap-auth.c
ap_auth_LDADD = ../lib/libap.a
+
+ap_mrtg_SOURCES = ap-mrtg.c
+ap_mrtg_LDADD = ../lib/libap.a
+
+ap_rrd_SOURCES = ap-rrd.c
+ap_rrd_LDADD = ../lib/libap.a
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
-bin_PROGRAMS = ap-config$(EXEEXT) ap-mrtg$(EXEEXT) ap-auth$(EXEEXT)
+bin_PROGRAMS = ap-config$(EXEEXT) ap-mrtg$(EXEEXT) ap-auth$(EXEEXT) \
+ ap-tftp$(EXEEXT) ap-rrd$(EXEEXT)
sbin_PROGRAMS = ap-trapd$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS)
ap_auth_OBJECTS = $(am_ap_auth_OBJECTS)
ap_auth_DEPENDENCIES = ../lib/libap.a
ap_auth_LDFLAGS =
-am_ap_config_OBJECTS = ap-config.$(OBJEXT) auth_mac.$(OBJEXT) \
+am_ap_config_OBJECTS = ap-config.$(OBJEXT) auth.$(OBJEXT) \
bridge.$(OBJEXT) nwn_advanced.$(OBJEXT) nwn_latest.$(OBJEXT) \
- stations.$(OBJEXT)
+ stations.$(OBJEXT) aplink.$(OBJEXT)
ap_config_OBJECTS = $(am_ap_config_OBJECTS)
ap_config_DEPENDENCIES = ../lib/libap.a
ap_config_LDFLAGS =
ap_mrtg_OBJECTS = $(am_ap_mrtg_OBJECTS)
ap_mrtg_DEPENDENCIES = ../lib/libap.a
ap_mrtg_LDFLAGS =
+am_ap_rrd_OBJECTS = ap-rrd.$(OBJEXT)
+ap_rrd_OBJECTS = $(am_ap_rrd_OBJECTS)
+ap_rrd_DEPENDENCIES = ../lib/libap.a
+ap_rrd_LDFLAGS =
+am_ap_tftp_OBJECTS = ap-tftp.$(OBJEXT)
+ap_tftp_OBJECTS = $(am_ap_tftp_OBJECTS)
+ap_tftp_DEPENDENCIES = ../lib/libap.a
+ap_tftp_LDFLAGS =
am_ap_trapd_OBJECTS = ap-trapd.$(OBJEXT)
ap_trapd_OBJECTS = $(am_ap_trapd_OBJECTS)
ap_trapd_LDADD = $(LDADD)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ap-auth.Po ./$(DEPDIR)/ap-config.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/ap-mrtg.Po ./$(DEPDIR)/ap-trapd.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/auth_mac.Po ./$(DEPDIR)/bridge.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/nwn_advanced.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/ap-mrtg.Po ./$(DEPDIR)/ap-rrd.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/ap-tftp.Po ./$(DEPDIR)/ap-trapd.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/aplink.Po ./$(DEPDIR)/auth.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/bridge.Po ./$(DEPDIR)/nwn_advanced.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/nwn_latest.Po ./$(DEPDIR)/stations.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(ap_auth_SOURCES) $(ap_config_SOURCES) \
- $(ap_mrtg_SOURCES) $(ap_trapd_SOURCES)
+ $(ap_mrtg_SOURCES) $(ap_rrd_SOURCES) $(ap_tftp_SOURCES) \
+ $(ap_trapd_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(ap_auth_SOURCES) $(ap_config_SOURCES) $(ap_mrtg_SOURCES) $(ap_trapd_SOURCES)
+SOURCES = $(ap_auth_SOURCES) $(ap_config_SOURCES) $(ap_mrtg_SOURCES) $(ap_rrd_SOURCES) $(ap_tftp_SOURCES) $(ap_trapd_SOURCES)
all: all-am
ap-mrtg$(EXEEXT): $(ap_mrtg_OBJECTS) $(ap_mrtg_DEPENDENCIES)
@rm -f ap-mrtg$(EXEEXT)
$(LINK) $(ap_mrtg_LDFLAGS) $(ap_mrtg_OBJECTS) $(ap_mrtg_LDADD) $(LIBS)
+ap-rrd$(EXEEXT): $(ap_rrd_OBJECTS) $(ap_rrd_DEPENDENCIES)
+ @rm -f ap-rrd$(EXEEXT)
+ $(LINK) $(ap_rrd_LDFLAGS) $(ap_rrd_OBJECTS) $(ap_rrd_LDADD) $(LIBS)
+ap-tftp$(EXEEXT): $(ap_tftp_OBJECTS) $(ap_tftp_DEPENDENCIES)
+ @rm -f ap-tftp$(EXEEXT)
+ $(LINK) $(ap_tftp_LDFLAGS) $(ap_tftp_OBJECTS) $(ap_tftp_LDADD) $(LIBS)
ap-trapd$(EXEEXT): $(ap_trapd_OBJECTS) $(ap_trapd_DEPENDENCIES)
@rm -f ap-trapd$(EXEEXT)
$(LINK) $(ap_trapd_LDFLAGS) $(ap_trapd_OBJECTS) $(ap_trapd_LDADD) $(LIBS)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ap-auth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ap-config.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ap-mrtg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ap-rrd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ap-tftp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ap-trapd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_mac.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aplink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bridge.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nwn_advanced.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nwn_latest.Po@am__quote@
/*
* ap-auth.c from Access Point SNMP Utils for Linux
*
- * Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ * Copyright (c) 2004 Teemu Kiviniemi <teemuki at fotokone.fi>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
#endif
#include "ap-utils.h"
-#define PACKET_ERROR _("AuthorizedMacTableString packet error")
+#define ERROR_PACKET _("AuthorizedMacTableString packet error")
#define ERROR_DATA _("Invalid data in source file")
#define ERROR_FILE_OPEN _("Can't open file")
#define ERROR_FILE_WRITE _("Can't write to file")
#define ERROR_FILE_CLOSE _("Error closing file")
-short ap_type = ATMEL410;
+short ap_type;
char *community = NULL;
-int sockfd;
struct in_addr ap_ip;
void usage()
printf(_("\nUsage:\n"));
printf(_("\tap-auth -i ip -c community -d filename [-h]\n"));
printf(_("\tap-auth -i ip -c community -u filename [-h]\n\n"));
- printf(_("Change accesspoint's list of authorised MAC"
- " addresses\n\n"));
+ printf(_("Change accesspoint's list of authorised MAC addresses\n\n"));
printf(_("-i ip - AP ip address\n"));
printf(_("-c community - SNMP community string\n"));
printf(_("-d filename - download list of authorised MAC addresses from AP"
- " to a file\n"));
+ " to a file\n"));
printf(_("-u filename - upload list of authorised MAC addresses from"
- " a file to AP\n"));
+ " a file to AP\n"));
printf(_("-h - print this help screen\n\n"));
- printf(_("ap-auth %s Copyright (c) 2002-2004 Roman Festchook\n\n"),
+ printf(_("ap-auth %s Copyright (c) 2004 Teemu Kiviniemi\n\n"),
VERSION);
}
{
int i;
char tmp[3];
-
+
if (strlen (addr) != 12)
return 1;
-
+
tmp[2] = '\0';
-
+
for (i = 0; i < 6 ; i++) {
tmp[0] = addr[2 * i];
tmp[1] = addr[2 * i + 1];
ml->addr[i] = strtol (tmp, NULL, 16);
}
-
+
return 0;
}
extern int optopt;
int opt = 0;
int mode = 0; /* 1 = download, 2 = upload */
-
FILE *f;
char *filename = NULL;
- struct sockaddr_in client;
-
+
struct AuthorizedMacTableString {
unsigned int short Action;
unsigned int short NumOfAllTableAddresses;
unsigned int short NumOfCurrentAddress;
unsigned char MacAddress[6];
} *AuthMac = NULL, get;
-
+
struct MacListStat *first = NULL, *curr = NULL;
-
- char AutorizedMac[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x02, 0x00
+
+ char sysDescr_NWN[] = {
+ 0x2B, 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00
+ };
+ char sysDescr_ATMEL[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x01, 0x00
+ };
+ char AutorizedMac_ATMEL[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x02, 0x00
};
-
+
int total_mac, mac_num = 0;
varbind varbinds[1];
char mac_tmp[13];
+ char *cp;
struct MacListStat ml_tmp;
int i, tmp;
-
+
#ifdef HAVE_GETTEXT
setlocale(LC_ALL, "");
bindtextdomain("ap-utils", LOCALEDIR);
textdomain("ap-utils");
#endif
- memset(&client, 0, sizeof client);
- client.sin_family = AF_INET;
- client.sin_port = INADDR_ANY;
- client.sin_addr.s_addr = INADDR_ANY;
-
do {
opterr = 0;
switch (opt = getopt(argc, argv, "i:c:d:u:")) {
case 'i':
- if (inet_aton(optarg, &ap_ip) == 0) {
- printf(_("Invalid IP-address\n"));
+ for (cp = optarg, i = 0; *cp && (cp = index(cp, '.')); cp++, i++);
+ if (i < 3 || inet_aton(optarg, &ap_ip) == 0) {
+ printf(_("Error: invalid IP-address.\n"));
return 1;
}
break;
return 1;
}
} while (opt != -1);
-
+
if (!community) {
usage();
return 1;
}
-
- if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
- perror(_("Create socket error"));
- return 1;
+
+ /*
+ * Part detecting ap_type (ATMEL AP MIB type) follows.
+ * We could use get_mib_details() here with advantage, but it would
+ * have to involve 1. putting it to separate file in lib/ and
+ * 2. patch it so it would not contain curses-related commands (TODO)
+ */
+
+ /* determine private MIB type according to enterprises ID */
+ varbinds[0].oid = sysDescr_NWN;
+ varbinds[0].len_oid = sizeof(sysDescr_NWN);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET) > 0) {
+ ap_type = NWN;
+ } else {
+ varbinds[0].oid = sysDescr_ATMEL;
+ varbinds[0].len_oid = sizeof(sysDescr_ATMEL);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET) > 0) {
+ ap_type = ATMEL410;
+ } else {
+ sysDescr_ATMEL[5] = 0xE0;
+ sysDescr_ATMEL[6] = 0x3E;
+ varbinds[0].oid = sysDescr_ATMEL;
+ varbinds[0].len_oid = sizeof(sysDescr_ATMEL);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET) > 0) {
+ ap_type = ATMEL12350;
+ } else {
+ printf(_("Unable to determine AP MIB type "
+ "(no response from AP)."));
+ return 1;
+ }
+ }
}
- if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1) {
- perror(_("Bind socket error"));
+
+ if (ap_type == NWN) {
+ printf(_("NWN devices are not yet supported."));
return 1;
}
-
+
+ if (ap_type == ATMEL12350) {
+ AutorizedMac_ATMEL[5] = 0xE0;
+ AutorizedMac_ATMEL[6] = 0x3E;
+ }
+
switch (mode) {
-
+
case 1: /* download */
-
+
total_mac = 0;
mac_num = 0;
-
+
while (mac_num <= total_mac) {
get.Action = 0x02; rshort(get.Action);
get.NumOfAllTableAddresses = total_mac; rshort(get.NumOfAllTableAddresses);
get.NumOfCurrentAddress = mac_num; rshort(get.NumOfCurrentAddress);
- varbinds[0].oid = AutorizedMac;
- varbinds[0].len_oid = sizeof(AutorizedMac);
+ varbinds[0].oid = AutorizedMac_ATMEL;
+ varbinds[0].len_oid = sizeof(AutorizedMac_ATMEL);
varbinds[0].value = (char *) &get;
varbinds[0].len_val = 12;
varbinds[0].type = STRING_VALUE;
printf("\n");
return 1;
}
-
+
if (varbinds[0].len_val == 12) {
if (AuthMac)
free(AuthMac);
len_val);
memcpy(AuthMac, varbinds[0].value, varbinds[0].len_val);
} else {
- printf(PACKET_ERROR);
+ printf(ERROR_PACKET);
printf("\n");
return 1;
}
-
+
rshort(AuthMac->NumOfAllTableAddresses);
total_mac =
(AuthMac->NumOfAllTableAddresses ==
65535) ? 0 : AuthMac->NumOfAllTableAddresses;
-
+
if (mac_num) {
if (first == NULL) {
first = (struct MacListStat *)
mac_num = 0;
while (!feof (f)) {
tmp = fread (mac_tmp, 1, sizeof (mac_tmp), f);
-
+
if (tmp == sizeof (mac_tmp)) {
if (mac_tmp[12] != '\n') {
printf(ERROR_DATA);
return 1;
}
mac_tmp[12] = '\0';
-
+
if (get_addr (&ml_tmp, mac_tmp) != 0) {
printf(ERROR_DATA);
printf("\n");
}
}
fclose(f);
-
+
curr = first;
i = 1;
while (curr != NULL) {
get.NumOfCurrentAddress = i;
rshort(get.NumOfCurrentAddress);
memcpy(get.MacAddress, curr->addr, 6);
- varbinds[0].oid = AutorizedMac;
- varbinds[0].len_oid = sizeof(AutorizedMac);
+ varbinds[0].oid = AutorizedMac_ATMEL;
+ varbinds[0].len_oid = sizeof(AutorizedMac_ATMEL);
varbinds[0].value = (char *) &get;
varbinds[0].len_val = 12;
varbinds[0].type = STRING_VALUE;
return 1;
}
if (varbinds[0].len_val != 12) {
- printf(PACKET_ERROR);
+ printf(ERROR_PACKET);
printf("\n");
return 1;
}
usage();
return 1;
}
-
- close(sockfd);
-
+
curr = first;
while (curr != NULL) {
curr = curr->next;
free (first);
first = curr;
}
-
+
if (community)
free(community);
if (filename)
#include <sys/ioctl.h>
#include "ap-utils.h"
+extern short ap_type;
+extern int snmp_quit_by_keypress;
+
WINDOW *win_for_menu, *sub_for_menu, *win_for_help, *main_win, *main_sub;
char *community;
-int sockfd, atmel410_filter = 0, wait_mode = WAIT_FOREVER;
+int atmel410_filter = 0, wait_mode = WAIT_FOREVER;
struct in_addr ap_ip;
char *prog_title = "Wireless Access Point Configurator";
char set_oeminfo_allowed = 0;
-extern short ap_type;
void config_menu()
{
0},
{_("Wireless"), _("Set wireless options"), atmel_wireless, 0},
{_("Privacy"), MENU_ENCRYPT, wep, 0},
- {_("MAC auth"), MENU_MAC, atmel_auth_mac, 0},
+ {_("Auth"), MENU_AUTH, atmel_auth, 0},
{_("Community"), MENU_COMMUNITY, AuthorizedSettings, 0},
{_("Radio"), _("Set radio signal power and antenna options"),
power, 0},
{_("General"), _("Set general options"), nwn_wireless, 0},
{_("Advanced"), _("Set advanced options"), advanced, 0},
{_("Privacy"), MENU_ENCRYPT, nwn_wep, 0},
- {_("MAC auth"), MENU_MAC, nwn_auth_mac, 0},
+ {_("MAC auth"), MENU_AUTH, nwn_auth_mac, 0},
{_("Community"), MENU_COMMUNITY, AuthorizedSettings, 0},
{"..", MAIN_MENU, NULL, 0},
{0, 0, NULL, 0}
{_("Ethernet"), _("Get ethernet port statistics"), EthStat, 0},
{_("Wireless"), MENU_WIRELESS, WirelessStat, 0},
{_("Stations"), MENU_STAS, atmel_stations, 0},
+ {_("AP link"), MENU_APLINK, atmel_aplink, 0},
{_("KnownAPs"), _("Get info about known Access Points"), APs, 0},
{"..", MAIN_MENU, NULL, 0},
{0, 0, NULL, 0}
command_menu, 1},
{_("Connect"), MENU_CONNECT, _auth, 0},
{_("Search"), MENU_SEARCH, ap_search, 0},
- {_("About"), MENU_ABOUT, about, 0},
+ {_("Polling"), MENU_POLLING, polling_interval, 0},
{_("Shell"), MENU_SHELL, exit_shell, 0},
+ {_("About"), MENU_ABOUT, about, 0},
{_("Exit"), MENU_EXIT, exit_program, 0},
{0, 0, NULL, 0}
};
initscr();
if (has_colors()) {
start_color();
- init_pair(1, COLOR_BLACK, COLOR_CYAN);
- init_pair(2, COLOR_BLACK, COLOR_WHITE);
- init_pair(3, COLOR_BLACK, COLOR_GREEN);
- init_pair(4, COLOR_WHITE, COLOR_RED);
+
+ /* Never trust that these are defined by default. */
+ init_pair (COLOR_RED, COLOR_RED, COLOR_BLACK );
+ init_pair (COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
+ init_pair (COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);
+ init_pair (COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);
+ init_pair (COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK);
+ init_pair (COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
+
+ init_pair(11, COLOR_BLACK, COLOR_CYAN);
+ init_pair(12, COLOR_BLACK, COLOR_WHITE);
+ init_pair(13, COLOR_BLACK, COLOR_GREEN);
+ init_pair(14, COLOR_WHITE, COLOR_RED);
}
noraw();
scrollok(stdscr, TRUE);
idlok(stdscr, TRUE);
keypad(stdscr, TRUE);
+ snmp_quit_by_keypress = 1;
refresh();
/* draw help win */
win_for_help = newwin(1, COLS, LINES - 1, 0);
- wattrset(win_for_help, COLOR_PAIR(1));
+ wattrset(win_for_help, COLOR_PAIR(11));
print_help("");
/* draw title win */
win_for_title = newwin(1, COLS, 0, 0);
- wattrset(win_for_title, COLOR_PAIR(1));
+ wattrset(win_for_title, COLOR_PAIR(11));
for (i = 0; i < COLS; i++)
waddch(win_for_title, ' ');
sprintf(message, _("Wireless Access Point Configurator ver. %s"),
sub_for_menu = derwin(win_for_menu, LINES - 5, MCOLS - 2, 2, 1);
set_menu_win(NULL, win_for_menu);
set_menu_sub(NULL, sub_for_menu);
- attrset(COLOR_PAIR(1));
+ attrset(COLOR_PAIR(11));
/* íÁÌÀÀ ÒÁÍËÕ */
waddch(win_for_menu, ACS_BSSB);
/* Not reachable */
return 0;
}
-
#define ERR_STR_V "\n\n-\n\n"
#define ERR_STR_N "999999999\n999999999\n-\n\n"
-short ap_type = ATMEL410;
+short ap_type;
char *community = NULL;
-int sockfd;
struct in_addr ap_ip;
void usage()
{
printf(_("\nUsage:\n"));
- printf(_
- ("\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] [-a aptype] [-v] [-h] [-r]\n\n"));
- printf(_
- ("Get stats from AP and return it in MRTG parsable format\n\n"));
+ printf(_("\tap-mrtg -i ip -c community -t type [-b bssid] [-n name] "
+ "[-v] [-h] [-r]\n\n"));
+ printf(_("Get stats from AP and return it in MRTG parsable format\n\n"));
printf(_("-i ip - AP ip address\n"));
printf(_("-c community - SNMP community string\n"));
- printf(_
- ("-t type - statistics type <w>ireless, <e>thernet, associated <s>tations or <l>ink quality in client mode\n"));
- printf(_
- ("-b bssid - mac address of the AP to which get link quality, only if type=l\n"));
- printf(_("-n name - AP name - for check only\n"));
- printf(_("-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-102\n"));
- printf(_
- ("-v - report MRTG about problems connecting to AP\n"));
+ printf(_("-t type - statistics type <w>ireless, <e>thernet, "
+ "associated <s>tations or <l>ink quality (last one will only "));
+ printf(_("work with ATMEL410 MIB devices in AP Client mode)\n"));
+ printf(_("-b bssid - mac address of the AP from which get link quality"
+ ", only if type=l\n"));
+ printf(_("-n name - AP name - for check only\n"));
+ printf(_("-v - report MRTG about problems connecting to AP\n"));
printf(_("-r - reset AP when getting LinkQuality stats\n"));
printf(_("-h - print this help screen\n\n"));
printf(_("ap-mrtg %s Copyright (c) 2002-2003 Roman Festchook\n\n"),
VERSION);
-
}
-
int main(int argc, char **argv)
{
extern char *optarg;
unsigned char essid[32];
} *app = NULL;
- char Wireless[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x03, 0x01,
- 0x00
+ char sysDescr_NWN[] = {
+ 0x2B, 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00
+ };
+ char sysDescr_ATMEL[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x01, 0x00
};
- char EthRx[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x07, 0x01,
- 0x00
+ char bridgeOperationalMode[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x04, 0x01, 0x00
};
- char EthTx[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x07, 0x02,
- 0x00
+ char EthRxStatistics[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x07, 0x01, 0x00
};
- char operAccessPointName[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x01, 0x0A,
- 0x00
+ char EthTxStatistics[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x07, 0x02, 0x00
};
- char StasNum[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x05, 0x01,
- 0x00
+ char operAccessPointName[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x01, 0x0A, 0x00
};
- char KnownAP[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x07,
- 0x01, 0x00
+ char wirelessStatistics[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x03, 0x01, 0x00
};
- char bridgeOperationalMode[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x01, 0x04, 0x01, 0x00
+ char AssociatedSTAsNum[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x05, 0x01, 0x00
+ };
+ char wirelessKnownAPs[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x07, 0x01, 0x00
};
- struct EthernetRxStatistics *EthRxStat = NULL;
- struct EthernetTxStatistics *EthTxStat = NULL;
- struct WirelessStatistics *WirelessStat = NULL;
+ struct EthRxStatistics_s *EthRxStat = NULL;
+ struct EthTxStatistics_s *EthTxStat = NULL;
+ struct wirelessStatistics_s *WirelessStat = NULL;
varbind varbinds[2];
int i, reset_flag=0;
char message[12], bssid_flag, stat_type = 0, *ERR_STR =
- ERR_STR_N, *bssid = NULL, *name = NULL;
- struct sockaddr_in client;
+ ERR_STR_N, *bssid = NULL, *name = NULL, *cp;
#ifdef HAVE_GETTEXT
setlocale(LC_ALL, "");
textdomain("ap-utils");
#endif
- memset(&client, 0, sizeof client);
- client.sin_family = AF_INET;
- client.sin_port = INADDR_ANY;
- client.sin_addr.s_addr = INADDR_ANY;
-
if (argc < 4) {
usage();
exit(0);
do {
opterr = 0;
- switch (opt = getopt(argc, argv, "i:c:t:b:n:a:rv")) {
+ switch (opt = getopt(argc, argv, "i:c:t:b:n:rv")) {
case 'i':
- if (inet_aton(optarg, &ap_ip) == 0) {
- printf(_("Invalid IP-address\n"));
+ for (cp = optarg, i = 0; *cp && (cp = index(cp, '.')); cp++, i++);
+ if (i < 3 || inet_aton(optarg, &ap_ip) == 0) {
+ printf(_("Error: invalid IP-address.\n"));
return 1;
}
break;
case 'r':
reset_flag=1;
break;
- case 'a':
- if ( strcmp( optarg, "510\0" ) == 0) {
- Wireless[5] = 0xE0;
- Wireless[6] = 0x3E;
- EthRx[5] = 0xE0;
- EthRx[6] = 0x3E;
- EthTx[5] = 0xE0;
- EthTx[6] = 0x3E;
- operAccessPointName[5] = 0xE0;
- operAccessPointName[6] = 0x3E;
- StasNum[5] = 0xE0;
- StasNum[6] = 0x3E;
- KnownAP[5] = 0xE0;
- KnownAP[6] = 0x3E;
- bridgeOperationalMode[5] = 0xE0;
- bridgeOperationalMode[6] = 0x3E;
- } else if (strcmp(optarg, "410") == 0) {
- /* nothing - hard-coded defaults are fine */
- } else {
- /* Invalid AP-Type */
- printf(_("Invalid AP-Type '%s' - valid types are 510 or 410\n"), optarg);
- return 1;
- }
- break;
case -1:
break;
default:
goto quit;
}
+ /*
+ * Part detecting ap_type (ATMEL AP MIB type) follows.
+ * We could use get_mib_details() here with advantage, but it would
+ * have to involve 1. putting it to separate file in lib/ and
+ * 2. patch it so it would not contain curses-related commands (TODO)
+ */
+
+ /* determine private MIB type according to enterprises ID */
+ varbinds[0].oid = sysDescr_NWN;
+ varbinds[0].len_oid = sizeof(sysDescr_NWN);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET) > 0) {
+ ap_type = NWN;
+ } else {
+ varbinds[0].oid = sysDescr_ATMEL;
+ varbinds[0].len_oid = sizeof(sysDescr_ATMEL);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET) > 0) {
+ ap_type = ATMEL410;
+ } else {
+ sysDescr_ATMEL[5] = 0xE0;
+ sysDescr_ATMEL[6] = 0x3E;
+ varbinds[0].oid = sysDescr_ATMEL;
+ varbinds[0].len_oid = sizeof(sysDescr_ATMEL);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET) > 0) {
+ ap_type = ATMEL12350;
+ } else {
+ printf(_("Unable to determine AP MIB type "
+ "(no response from AP)."));
+ return 1;
+ }
+ }
+ }
- if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
- perror(_("Create socket error"));
+ if (ap_type == NWN) {
+ printf("NWN devices are not yet supported.");
return 1;
}
- if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1) {
- perror(_("Bind socket error"));
- return 1;
+
+ if (ap_type == ATMEL12350) {
+ bridgeOperationalMode[5] = 0xE0;
+ bridgeOperationalMode[6] = 0x3E;
+ EthRxStatistics[5] = 0xE0;
+ EthRxStatistics[6] = 0x3E;
+ EthTxStatistics[5] = 0xE0;
+ EthTxStatistics[6] = 0x3E;
+ operAccessPointName[5] = 0xE0;
+ operAccessPointName[6] = 0x3E;
+ wirelessStatistics[5] = 0xE0;
+ wirelessStatistics[6] = 0x3E;
+ AssociatedSTAsNum[5] = 0xE0;
+ AssociatedSTAsNum[6] = 0x3E;
+ wirelessKnownAPs[5] = 0xE0;
+ wirelessKnownAPs[6] = 0x3E;
}
switch (stat_type) {
case 'e':
-
- varbinds[0].oid = EthRx;
- varbinds[0].len_oid = sizeof(EthRx);
- varbinds[0].value = EthRx;
+ varbinds[0].oid = EthRxStatistics;
+ varbinds[0].len_oid = sizeof(EthRxStatistics);
+ varbinds[0].value = EthRxStatistics;
varbinds[0].len_val = 0;
varbinds[0].type = NULL_VALUE;
- varbinds[1].oid = EthTx;
- varbinds[1].len_oid = sizeof(EthTx);
- varbinds[1].value = EthTx;
+ varbinds[1].oid = EthTxStatistics;
+ varbinds[1].len_oid = sizeof(EthTxStatistics);
+ varbinds[1].value = EthTxStatistics;
varbinds[1].len_val = 0;
varbinds[1].type = NULL_VALUE;
- if (snmp(varbinds, 2, GET) <= 0) {
+ if (snmp(varbinds, 2, GET) < 2) {
printf(ERR_STR);
return 1;
}
if (EthRxStat)
free(EthRxStat);
EthRxStat =
- (struct EthernetRxStatistics *) malloc(varbinds[0].
+ (struct EthRxStatistics_s *) malloc(varbinds[0].
len_val);
memcpy(EthRxStat, varbinds[0].value, varbinds[0].len_val);
} else {
if (EthTxStat)
free(EthTxStat);
EthTxStat =
- (struct EthernetTxStatistics *) malloc(varbinds[1].
+ (struct EthTxStatistics_s *) malloc(varbinds[1].
len_val);
memcpy(EthTxStat, varbinds[1].value, varbinds[1].len_val);
} else {
free(EthTxStat);
break;
case 'w':
- varbinds[0].oid = Wireless;
- varbinds[0].len_oid = sizeof(Wireless);
- varbinds[0].value = Wireless;
+ varbinds[0].oid = wirelessStatistics;
+ varbinds[0].len_oid = sizeof(wirelessStatistics);
+ varbinds[0].value = wirelessStatistics;
varbinds[0].len_val = 0;
varbinds[0].type = NULL_VALUE;
return 1;
}
- if (varbinds[0].len_val == 88) {
+ if (varbinds[0].len_val == 88 || varbinds[0].len_val == 104) {
+ /*
+ * 88 ... using traditional ATMEL 12350 MIB
+ * 104 .. using functionally enhanced ATMEL 12350 MIB by EZYNET
+ */
if (WirelessStat)
free(WirelessStat);
WirelessStat =
- (struct WirelessStatistics *) malloc(varbinds[0].len_val);
+ (struct wirelessStatistics_s *) malloc(varbinds[0].len_val);
memcpy(WirelessStat, varbinds[0].value, varbinds[0].len_val);
} else {
printf(ERR_STR);
break;
case 's':
- varbinds[0].oid = StasNum;
- varbinds[0].len_oid = sizeof(StasNum);
- varbinds[0].value = StasNum;
+ varbinds[0].oid = AssociatedSTAsNum;
+ varbinds[0].len_oid = sizeof(AssociatedSTAsNum);
+ varbinds[0].value = AssociatedSTAsNum;
varbinds[0].len_val = 0;
varbinds[0].type = NULL_VALUE;
break;
case 'l':
-
varbinds[0].oid = bridgeOperationalMode;
varbinds[0].len_oid = sizeof(bridgeOperationalMode);
varbinds[0].len_val = 0;
return 1;
}
- if (*(varbinds[0].value) != 3) {
+ if (!(ap_type == ATMEL410 && *(varbinds[0].value) == 3)) {
printf(ERR_STR);
return 1;
}
}
sleep(10);
}
-
- varbinds[0].oid = KnownAP;
- varbinds[0].len_oid = sizeof(KnownAP);
+
+ varbinds[0].oid = wirelessKnownAPs;
+ varbinds[0].len_oid = sizeof(wirelessKnownAPs);
varbinds[0].type = NULL_VALUE;
varbinds[0].len_val = 0;
printf("-\n");
-
if ( name != NULL ) {
varbinds[0].oid = operAccessPointName;
varbinds[0].len_oid = sizeof(operAccessPointName);
printf("-\n");
}
- close(sockfd);
-
-
quit:
if (community)
free(community);
free(name);
return 0;
}
-
--- /dev/null
+/*
+ * ap-rrd.c from Access Point SNMP Utils for Linux
+ *
+ * Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License Version 2 from
+ * June 1991 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include <stdio.h>
+#include <fcntl.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#if defined (__GLIBC__)
+#include <libgen.h>
+#endif
+#include "ap-utils.h"
+
+#define ERR_STR _("Error getting data from AP %s\n")
+
+short ap_type = ATMEL410;
+char *community = NULL;
+struct in_addr ap_ip;
+
+void usage()
+{
+ printf(_("\nUsage:\n"));
+ printf(_
+ ("\tap-rrd -i ip -c community -t type -d db_file [-b bssid] [-n name] [-a aptype] [-h] [-r] \n\n"));
+ printf(_
+ ("Get stats from AP and put it in to specified RRDtool database\n\n"));
+ printf(_("-i ip - AP ip address\n"));
+ printf(_("-c community - SNMP community string\n"));
+ printf(_
+ ("-t type - statistics type <w>ireless, <e>thernet, associated <s>tations or <l>ink quality in client mode\n"));
+ printf(_("-d db_file - RRD database file with full path\n"));
+ printf(_
+ ("-b bssid - mac address of the AP to which get link quality, only if type=l\n"));
+ printf(_("-n name - AP name - for check only\n"));
+ printf(_("-a aptype - AP type - 410 (default) or 510 for ATMEL12350's, like the ME-102\n"));
+ printf(_("-r - reset AP when getting LinkQuality stats\n"));
+ printf(_("-h - print this help screen\n\n"));
+ printf(_("ap-rrd %s Copyright (c) 2002-2004 Roman Festchook\n\n"),
+ VERSION);
+
+}
+
+
+int main(int argc, char **argv)
+{
+ extern char *optarg;
+ extern int optind;
+ extern int opterr;
+ extern int optopt;
+ int opt = 0;
+
+ struct ap {
+ char mac[6];
+ unsigned char q1;
+ unsigned char q2;
+ unsigned char channel;
+ unsigned char x2;
+ unsigned char options;
+ unsigned char x3[5];
+ unsigned char essid[32];
+ } *app = NULL;
+
+ char Wireless[] =
+ { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x03, 0x01,
+ 0x00
+ };
+ char EthRx[] =
+ { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x07, 0x01,
+ 0x00
+ };
+ char EthTx[] =
+ { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x07, 0x02,
+ 0x00
+ };
+ char operAccessPointName[] =
+ { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x01, 0x0A,
+ 0x00
+ };
+ char StasNum[] =
+ { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x05, 0x01,
+ 0x00
+ };
+ char KnownAP[] =
+ { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x07,
+ 0x01, 0x00
+ };
+ char bridgeOperationalMode[] =
+ { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
+ 0x01, 0x04, 0x01, 0x00
+ };
+
+ struct EthRxStatistics_s *EthRxStat = NULL;
+ struct EthTxStatistics_s *EthTxStat = NULL;
+ struct wirelessStatistics_s *WirelessStat = NULL;
+ varbind varbinds[2];
+ int i, reset_flag=0;
+ char message[12], bssid_flag, stat_type = 0, *bssid = NULL, *name = NULL, *rrd_file = NULL, cmd[1024];
+
+#ifdef HAVE_GETTEXT
+ setlocale(LC_ALL, "");
+ bindtextdomain("ap-utils", LOCALEDIR);
+ textdomain("ap-utils");
+#endif
+
+ if (argc < 4) {
+ usage();
+ exit(0);
+ }
+
+ do {
+ opterr = 0;
+ switch (opt = getopt(argc, argv, "i:c:t:b:n:a:d:r")) {
+ case 'i':
+ if (inet_aton(optarg, &ap_ip) == 0) {
+ printf(_("Invalid IP-address\n"));
+ return 1;
+ }
+ break;
+ case 't':
+ stat_type = optarg[0];
+ break;
+ case 'c':
+ community = malloc(strlen(optarg) + 1);
+ strncpy(community, optarg, strlen(optarg) + 1);
+ break;
+ case 'b':
+ bssid = malloc(strlen(optarg) + 1);
+ strncpy(bssid, optarg, strlen(optarg) + 1);
+ break;
+ case 'd':
+ rrd_file = malloc(strlen(optarg) + 1);
+ strncpy(rrd_file, optarg, strlen(optarg) + 1);
+ break;
+ case 'n':
+ name = malloc(strlen(optarg) + 1);
+ strncpy(name, optarg, strlen(optarg) + 1);
+ break;
+ case 'r':
+ reset_flag=1;
+ break;
+ case 'a':
+ if ( strcmp( optarg, "510\0" ) == 0) {
+ Wireless[5] = 0xE0;
+ Wireless[6] = 0x3E;
+ EthRx[5] = 0xE0;
+ EthRx[6] = 0x3E;
+ EthTx[5] = 0xE0;
+ EthTx[6] = 0x3E;
+ operAccessPointName[5] = 0xE0;
+ operAccessPointName[6] = 0x3E;
+ StasNum[5] = 0xE0;
+ StasNum[6] = 0x3E;
+ KnownAP[5] = 0xE0;
+ KnownAP[6] = 0x3E;
+ bridgeOperationalMode[5] = 0xE0;
+ bridgeOperationalMode[6] = 0x3E;
+ } else if (strcmp(optarg, "410") == 0) {
+ /* nothing - hard-coded defaults are fine */
+ } else {
+ /* Invalid AP-Type */
+ printf(_("Invalid AP-Type '%s' - valid types are 510 or 410\n"), optarg);
+ return 1;
+ }
+ break;
+ case -1:
+ break;
+ default:
+ usage();
+ goto quit;
+ }
+ } while (opt != -1);
+
+ if (!community) {
+ usage();
+ goto quit;
+ }
+
+ switch (stat_type) {
+
+ case 'e':
+
+ varbinds[0].oid = EthRx;
+ varbinds[0].len_oid = sizeof(EthRx);
+ varbinds[0].value = EthRx;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ varbinds[1].oid = EthTx;
+ varbinds[1].len_oid = sizeof(EthTx);
+ varbinds[1].value = EthTx;
+ varbinds[1].len_val = 0;
+ varbinds[1].type = NULL_VALUE;
+
+ if (snmp(varbinds, 2, GET) <= 0) {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+
+ if (varbinds[0].len_val == 64) {
+ if (EthRxStat)
+ free(EthRxStat);
+ EthRxStat =
+ (struct EthRxStatistics_s *) malloc(varbinds[0].
+ len_val);
+ memcpy(EthRxStat, varbinds[0].value, varbinds[0].len_val);
+ } else {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+
+ if (varbinds[1].len_val == 56) {
+ if (EthTxStat)
+ free(EthTxStat);
+ EthTxStat =
+ (struct EthTxStatistics_s *) malloc(varbinds[1].
+ len_val);
+ memcpy(EthTxStat, varbinds[1].value, varbinds[1].len_val);
+ } else {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+ sprintf(cmd, "rrdtool update %s N:%u:%u", rrd_file, swap4(EthRxStat->TotalBytesRx), swap4(EthTxStat->TotalBytesTx));
+ system(cmd);
+ if (EthRxStat)
+ free(EthRxStat);
+ if (EthTxStat)
+ free(EthTxStat);
+ break;
+ case 'w':
+ varbinds[0].oid = Wireless;
+ varbinds[0].len_oid = sizeof(Wireless);
+ varbinds[0].value = Wireless;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+
+ if (snmp(varbinds, 1, GET) <= 0) {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+
+ if (varbinds[0].len_val == 88) {
+ if (WirelessStat)
+ free(WirelessStat);
+ WirelessStat =
+ (struct wirelessStatistics_s *) malloc(varbinds[0].len_val);
+ memcpy(WirelessStat, varbinds[0].value, varbinds[0].len_val);
+ } else {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+ sprintf(cmd, "rrdtool update %s N:%u:%u", rrd_file,
+ swap4(WirelessStat->UnicastReceivedPackets) +
+ swap4(WirelessStat->BroadcastReceivedPackets) +
+ swap4(WirelessStat->MulticastReceivedPackets),
+ swap4(WirelessStat->UnicastTransmittedPackets) +
+ swap4(WirelessStat->BroadcastTransmittedPackets) +
+ swap4(WirelessStat->MulticastTransmittedPackets));
+ system(cmd);
+ break;
+
+ case 's':
+ varbinds[0].oid = StasNum;
+ varbinds[0].len_oid = sizeof(StasNum);
+ varbinds[0].value = StasNum;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+
+ if (snmp(varbinds, 1, GET) <= 0) {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+
+ sprintf(cmd, "rrdtool update %s N:%u", rrd_file, *varbinds[0].value);
+ system(cmd);
+ break;
+
+ case 'l':
+
+ varbinds[0].oid = bridgeOperationalMode;
+ varbinds[0].len_oid = sizeof(bridgeOperationalMode);
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+
+ if (snmp(varbinds, 1, GET) <= 0) {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+
+ if (*(varbinds[0].value) != 3) {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+
+ if (reset_flag) {
+ if (SysReset()) {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+ sleep(10);
+ }
+
+ varbinds[0].oid = KnownAP;
+ varbinds[0].len_oid = sizeof(KnownAP);
+ varbinds[0].type = NULL_VALUE;
+ varbinds[0].len_val = 0;
+
+ if (snmp(varbinds, 1, GET) <= 0) {
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ return 1;
+ }
+ bssid_flag = 1;
+ for (i = 0; i < varbinds[0].len_val; i += 48) {
+ if (app)
+ free(app);
+ app = (struct ap *) malloc(48);
+ memcpy(app, varbinds[0].value + i, 48);
+ if (!app->channel)
+ continue;
+ if (bssid) {
+ sprintf(message, "%02X%02X%02X%02X%02X%02X",
+ app->mac[0] & 0xFF, app->mac[1] & 0xFF,
+ app->mac[2] & 0xFF, app->mac[3] & 0xFF,
+ app->mac[4] & 0xFF, app->mac[5] & 0xFF);
+ if (memcmp(message, bssid, 12))
+ continue;
+ };
+ sprintf(cmd, "rrdtool update %s N:%u:%u", rrd_file, app->q2, 96 - app->q1);
+ system(cmd);
+ bssid_flag = 0;
+ break;
+ }
+ if (bssid_flag)
+ printf(ERR_STR, inet_ntoa(ap_ip));
+ break;
+ default:
+ usage();
+ goto quit;
+ }
+
+/* printf("-\n");
+
+
+ if ( name != NULL ) {
+ varbinds[0].oid = operAccessPointName;
+ varbinds[0].len_oid = sizeof(operAccessPointName);
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET) <= 0) {
+ printf("\n");
+ return 1;
+ }
+
+ for (i = 0; i < 32 && *(varbinds[0].value + i); i++)
+ putchar(*(varbinds[0].value + i));
+ putchar('\n');
+ if (strncmp(name,varbinds[0].value,strlen(name)) ){
+ return 2;
+ }
+ } else {
+ printf("-\n");
+ }
+*/
+
+ quit:
+ if (community)
+ free(community);
+ if (app)
+ free(app);
+ if (bssid)
+ free(bssid);
+ if (name)
+ free(name);
+ return 0;
+}
--- /dev/null
+/* ------------------------------------------------------------------------- */
+/* ap-tftp.c */
+/* */
+/* Version: 1.1 */
+/* */
+/* Copyright (C) 2004-2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz> */
+/* */
+/* A simple tftp client for upgrading ATMEL AT76C510 WiSOC-based APs. */
+/* Supports ATMEL+INTERSIL boards (1.4x.y firmware) and ATMEL+RFMD boards */
+/* (0.x.y.z firmware). */
+/* Modelled around TELLUS (GEMTEK/ATMEL OEM) and SMARTBRIDGES TFTP clients */
+/* functionality. */
+/* Tested with TELLUS, D-Link and SmartBridges hardware. */
+/* This program is part of AP-UTILS project (http://ap-utils.polesye.net) */
+/* */
+/* Loosely based on a simple tftp client for busybox. */
+/* Tries to follow RFC1350. */
+/* Only "octet" mode and "put" method supported. */
+/* */
+/* Not implemented: */
+/* - uploading of OEM (default) settings */
+/* - uploading of PATCH code */
+/* */
+/* Code based on: */
+/* */
+/* bb tftp: Copyright (C) 2001 Magnus Damm <damm@opensource.se> */
+/* */
+/* atftp: Copyright (C) 2000 Jean-Pierre Lefebvre <helix@step.polymtl.ca> */
+/* and Remi Lefebvre <remi@debian.org> */
+/* */
+/* utftp: Copyright (C) 1999 Uwe Ohse <uwe@ohse.de> */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation; either version 2 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
+/* General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program; if not, write to the Free Software */
+/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+/* */
+/* ------------------------------------------------------------------------- */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <sys/stat.h>
+#include <netdb.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include "ap-utils.h"
+
+#ifdef HAVE_GETTEXT
+/* GNU gettext stuff*/
+#include <locale.h>
+#include <libgnuintl.h>
+#define _(String) gettext (String)
+#else
+#define _(String) (String)
+#endif
+
+#define TFTP_BLOCKSIZE_DEFAULT 512 /* according to RFC 1350, do not change */
+#define TFTP_TIMEOUT 2 /* # seconds waiting for single response */
+#define TFTP_RETRIES 5 /* # retries with TFTP_TIMEOUT */
+#undef FEATURE_TFTP_DEBUG
+
+/* opcodes we support */
+#define TFTP_WRQ 2
+#define TFTP_DATA 3
+#define TFTP_ACK 4
+#define TFTP_ERROR 5
+
+#ifdef FEATURE_TFTP_DEBUG
+#define YES _("yes")
+#define NO _("no")
+#endif
+#define ERR_READFW _("Error while read()ing firmware file")
+
+
+/* This is necessary becouse of linkage to libap.a */
+short ap_type = ATMEL410;
+char *community = NULL;
+struct in_addr ap_ip;
+
+int tftp(int ip, const char *remotefile, int localfd, const char *wopt,
+ int woptlen, int maxdlen)
+{
+/* known errors server may respond with */
+char *tftp_error_msg[8] = {
+ _("Undefined error"),
+ _("File not found"),
+ _("Access violation"),
+ _("Disk full or allocation error"),
+ _("Illegal TFTP operation"),
+ _("Unknown transfer ID"),
+ _("File already exists"),
+ _("No such user")
+};
+ const int port = 69;
+ struct sockaddr_in to;
+ struct sockaddr_in from;
+ struct timeval tv;
+ fd_set rfds;
+ unsigned short tmp;
+ int fromlen;
+ int opcode = TFTP_WRQ;
+ int tftp_bufsize = TFTP_BLOCKSIZE_DEFAULT;
+ int timeout;
+ int block_nr = 1;
+ int finished = 0;
+ int socketfd;
+ int len;
+ int bc = lseek(localfd, 0, SEEK_CUR);
+ char *nl = "";
+ char *cp;
+ char *buf = malloc(tftp_bufsize);
+ char buf2[64];
+
+ printf("Trying to upload firmware to the AP...\n");
+
+ if ((socketfd = socket(PF_INET, SOCK_DGRAM, 0)) < 0) {
+ perror("socket()");
+ return EXIT_FAILURE;
+ }
+
+ len = sizeof(to);
+ memset(&to, 0, len);
+ bind(socketfd, (struct sockaddr *)&to, len);
+
+ to.sin_family = AF_INET;
+ to.sin_port = htons(port);
+ to.sin_addr.s_addr = ip;
+
+ while (1) {
+ timeout = TFTP_RETRIES;
+ cp = buf;
+
+ /* first create the opcode part */
+
+ *((unsigned short *) cp) = htons(opcode);
+ cp += 2;
+
+ if (opcode == TFTP_WRQ) {
+ /* see if the filename fits into buf */
+ len = strlen(remotefile) + 1;
+ if ((cp + len + 1 + 6 + woptlen) >= &buf[tftp_bufsize - 1]) {
+ printf(_("Remote-filename too long.\n"));
+ break;
+ }
+
+ strncpy(cp, remotefile, len);
+ cp += len;
+
+ // ATMEL tftp client specific
+ *cp = 1;
+ cp++;
+
+ memcpy(cp, "octet", 6);
+ cp += 6;
+
+ // ATMEL tftp client specific ("upload auth. code")
+ memcpy(cp, wopt, woptlen);
+ cp += woptlen;
+ }
+
+ if (opcode == TFTP_DATA) {
+ *((unsigned short *) cp) = htons(block_nr);
+ cp += 2;
+
+ len = read(localfd, cp, tftp_bufsize);
+
+ if (len < 0) {
+ sprintf(buf2, _("%sError in read()"), nl);
+ perror(buf2);
+ break;
+ }
+
+ block_nr++;
+
+ /*
+ * assure we wont upload more than maxdlen bytes
+ * even if total file length > maxdlen
+ */
+ if (bc + len > maxdlen) {
+ len = maxdlen - bc;
+ cp[len] = '\0';
+ }
+ bc += len;
+
+ if (len != tftp_bufsize)
+ finished++;
+
+ cp += len;
+ }
+
+ /* send packet */
+
+ do {
+ len = cp - buf;
+
+#ifdef FEATURE_TFTP_DEBUG
+ printf(_("sending %u bytes\n"), len);
+ for (cp = buf; cp < &buf[len]; cp++)
+ printf("%02x ", *cp & 0xFF);
+
+ printf("\n");
+#endif
+ if (sendto(socketfd, buf, len, 0,
+ (struct sockaddr *) &to, sizeof(to)) < 0)
+ {
+ sprintf(buf2, _("%sError in sendto()"), nl);
+ perror(buf2);
+ len = -1;
+ break;
+ }
+
+ /* receive packet */
+
+ memset(&from, 0, sizeof(from));
+ fromlen = sizeof(from);
+
+ tv.tv_sec = TFTP_TIMEOUT;
+ tv.tv_usec = 0;
+
+ FD_ZERO(&rfds);
+ FD_SET(socketfd, &rfds);
+
+ switch (select(FD_SETSIZE, &rfds, NULL, NULL, &tv)) {
+ case 1:
+ len = recvfrom(socketfd, buf, tftp_bufsize, 0,
+ (struct sockaddr *) &from, &fromlen);
+
+ if (len < 0) {
+ sprintf(buf2, _("%sError in recvfrom()"), nl);
+ perror(buf2);
+ break;
+ }
+
+ /*
+ if (to.sin_port == htons(port))
+ to.sin_port = from.sin_port;
+ */
+ if (to.sin_port == from.sin_port) {
+#ifndef FEATURE_TFTP_DEBUG
+ if (opcode == TFTP_DATA) {
+ sprintf(buf2, _("\rProgress: uploaded %3i%%."),
+ bc * 100 / maxdlen);
+ write(fileno(stdout), buf2, strlen(buf2));
+ nl = "\n";
+ }
+#endif
+ timeout = 0;
+ break;
+ }
+
+ /* assume invalid packet */
+ printf(_("%sMalformed packet received. Aborting.\n"), nl);
+ len = -1;
+ break;
+
+ case 0:
+ timeout--;
+ if (timeout == 0)
+ len = -1;
+
+ printf(_("%sTimed out waiting for response from server "
+ "(%i/%i).\n"),nl, TFTP_RETRIES - timeout, TFTP_RETRIES);
+ nl = "";
+ break;
+
+ default:
+ len = -1;
+ sprintf(buf2, _("%sError in select()"), nl);
+ perror(buf2);
+ }
+ } while (timeout && (len >= 0));
+
+ if (len < 0)
+ break;
+
+ /* process received packet */
+
+ opcode = ntohs(*((unsigned short *) buf));
+ tmp = ntohs(*((unsigned short *) &buf[2]));
+
+#ifdef FEATURE_TFTP_DEBUG
+ printf(_("Received %d bytes: %04x %04x\n"), len, opcode, tmp);
+#endif
+
+ if (opcode == TFTP_ERROR) {
+ sprintf(buf, "code %i", tmp);
+ if (tmp < (sizeof(tftp_error_msg) / sizeof(char *))) {
+ strcat(buf, " (");
+ strcat(buf, tftp_error_msg[tmp]);
+ strcat(buf, ")");
+ }
+
+ printf(_("%sError: server responded with %s. Aborting.\n"),nl,buf);
+ break;
+ }
+
+ if (opcode == TFTP_ACK) {
+ if (tmp == (block_nr - 1)) {
+ if (finished) {
+ printf(_("%sFlash programming in progress...\n"), nl);
+ sleep(5);
+ printf(_("Finished successfully.\n"));
+ break;
+ }
+
+ opcode = TFTP_DATA;
+ continue;
+ }
+ }
+ }
+
+ close(socketfd);
+ free(buf);
+
+ return finished ? EXIT_SUCCESS : EXIT_FAILURE;
+}
+
+void usage(char **argv)
+{
+ printf (_("PLEASE BE _ABSOLUTELY_ SURE TO READ MANPAGE PRIOR USE!!!\n"));
+ printf (_(
+ "\nUsage: %s -i IP -f firmware_file.rom [-c community] [-h]\n"),
+ argv[0]);
+}
+
+int main(int argc, char **argv)
+{
+ struct stat sb;
+ char *localfile = NULL;
+ char *remotefile = NULL;
+ char *cp;
+ int fd;
+ int result = 0;
+ int i;
+ static char wopt[256];
+ int woptlen;
+ int maxdlen;
+
+#ifdef HAVE_GETTEXT
+ /* locale support init */
+ setlocale(LC_ALL, "");
+ bindtextdomain("ap-utils", LOCALEDIR);
+ textdomain("ap-utils");
+#endif
+
+ printf (_("TFTP client for upgrading firmware in ATMEL AT76C510 "
+ "WiSOC-based APs.\n"));
+ printf (_("(C) 2004-2005 Jan Rafaj "
+ "<jr-aputils at cedric dot unob dot cz>\n"));
+
+ if (argc == 1) {
+ usage(argv);
+ return EXIT_SUCCESS;
+ }
+
+ ap_ip.s_addr = 0;
+
+ while ((i = getopt(argc, argv, "i:f:c:h")) != -1) {
+ switch (i) {
+ case 'i':
+ /* host = gethostbyname(optarg); */
+ for (cp = optarg, i = 0; *cp && (cp = index(cp, '.')); cp++, i++);
+ if (i < 3 || !(inet_aton(optarg, &ap_ip))) {
+ printf(_("Error: invalid IP address format given.\n"));
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+ break;
+ case 'f':
+ localfile = strdup(optarg);
+ break;
+ case 'c':
+ community = strdup(optarg);
+ break;
+ case 'h':
+ usage(argv);
+ result = EXIT_SUCCESS;
+ goto quit;
+ default:
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+ }
+
+ /*
+ * either any of mandatory options (IP, firmware path) not specified,
+ * or some extra non-option arguments specified
+ */
+ if (ap_ip.s_addr == 0 || !localfile || optind != argc) {
+ printf(_("Error: invalid argument combination.\n"));
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+
+ fd = open(localfile, O_RDONLY, 0644);
+ if (fd < 0) {
+ perror(_("Error while open()ing firmware file"));
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+
+ fstat(fd, &sb);
+ if (sb.st_size < 94448 || sb.st_size > 524288) {
+ printf(_("Error: invalid firmware file given.\n"));
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+
+ while ((i = read(fd, wopt, sizeof(wopt))) != 0) {
+ if (i < 0) {
+ perror(ERR_READFW);
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+
+ if (i == sizeof(wopt))
+ lseek(fd, -13, SEEK_CUR);
+
+ while (i--) {
+ if (!(memcmp(&wopt[i], "ATMEL", 5)))
+ result |= 1;
+
+ if (!(memcmp(&wopt[i], "802.11 AP", 9)))
+ result |= 2;
+
+ if (!(memcmp(&wopt[i], "atbrfirm.bin", 12))) {
+ result |= 16;
+ remotefile = "atbrfirm.bin";
+ }
+
+ if (!(memcmp(&wopt[i], "atsingle.bin", 12))) {
+ result |= 32;
+ remotefile = "atsingle.bin";
+ }
+
+ if (result > 18)
+ break;
+ }
+
+ if (result > 18)
+ break;
+
+ memset(wopt, 0, sizeof(wopt));
+ }
+#if FEATURE_TFTP_DEBUG
+ printf(_("Firmware file contains:\n"
+ "- string \"ATMEL\": %s\n"
+ "- string \"802.11 AP\": %s\n"
+ "- string \"atbrfirm.bin\": %s\n"
+ "- string \"atsingle.bin\": %s\n"),
+ result & 1 ? YES : NO, result & 2 ? YES : NO,
+ result & 16 ? YES : NO, result & 32 ? YES : NO);
+#endif
+ if ((result & (1|2)) != (1|2) || (result & (16|32)) == (16|32) ||
+ (result & (16|32)) == 0)
+ {
+ printf(_("Error: invalid firmware file given.\n"));
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+
+ lseek(fd, 0, SEEK_SET);
+
+ cp = strrchr(localfile, '/');
+ if (cp)
+ cp++;
+ else
+ cp = localfile;
+
+ printf(_("Using:\n"
+ "- server: %s\n"
+ "- firmware file: \"%s\"\n"
+ "- name used for upload: \"%s\"\n"),
+ inet_ntoa(ap_ip), cp, remotefile);
+
+ if (result & 16) {
+ /* Firmware series 1.4x.y - atbrfirm.bin */
+
+ /*
+ * For most devices using 1.4x.y firmware:
+ * - at most 94448 bytes needs to be written (file content above
+ * this offset is simply cut off)
+ * - checksum is only performed on the uploaded (first 94448)
+ * bytes of the firmware file
+ * - auth. code has 8 bytes in length (see below for its structure)
+ * SmartBridges, however, differs in this:
+ * - the TFTP firmware upgrade utility first checks whether the OUI
+ * portion of its MAC address is 00301A (SMARTBRIDGES PTE. LTD.),
+ * followed by 09 (apparently AT76C510-based SmartBridges devices),
+ * and will continue only upon match. This is to prevent performing
+ * this SmartBridges-style upgrade to non-SmartBridges devices, that
+ * could otherwise end up with damaged flash content. Note that
+ * this is still somewhat clumsy, since there's a remote possibility
+ * that someone redefined his/her ATMEL AP MAC address with
+ * SmartBridges OUI and added 09, so this check would not prevent
+ * damage in this case (ouch!). There's however, a better check
+ * we could come up up with: lets borrow a part of the code from
+ * get_mib_details() to find out whether the target device appears
+ * to be running firmware with ATMEL410 SBRIDGES MIB, and proceed
+ * with 'SmartBridges' upgrade method only, if it does.
+ * - entire file is being written; there's no 'first 94448 bytes only'
+ * limitation
+ * - 8-byte auth. code (see below) is followed by:
+ * - (char): length of the following "password" string
+ * - (string): "password" string - the firmware will perform
+ * actual upgrade only if this "password" matches with
+ * any of the three communities defined in the AP
+ * (sysadmin's note: finally something reasonable)
+ */
+
+ unsigned short sum = 0;
+ unsigned short *wp;
+ int readen = 0;
+
+ if (community) {
+ /*
+ * OK, looks like we want to upgrade SmartBridges hardware => no
+ * firmware file cutoff, and lets check whether the target device
+ * appears to have SmartBridges firmware. If not, bail out.
+ */
+/*
+ char operEthernetAddress[12] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A,
+ 0x01, 0x01, 0x02, 0x03, 0x00
+ };
+*/
+ char AuthRadiusIP[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A,
+ 0x01, 0x02, 0x06, 0x03, 0x00
+ };
+ varbind varbinds[1];
+
+ maxdlen = sb.st_size;
+
+/*
+ varbinds[0].oid = operEthernetAddress;
+ varbinds[0].len_oid = sizeof(operEthernetAddress);
+*/
+ varbinds[0].oid = AuthRadiusIP;
+ varbinds[0].len_oid = sizeof(AuthRadiusIP);
+ varbinds[0].value = NULL;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET) > 0) {
+/*
+ i = varbinds[0].value[0] << 24 |
+ varbinds[0].value[1] << 16 |
+ varbinds[0].value[2] << 8 |
+ varbinds[0].value[3];
+ if (i != 0x00301A09) {
+*/
+ if (varbinds[0].len_val != 4) {
+ printf(_("Error: device with the given IP does not seem "
+ "to run SmartBridges firmware.\n"));
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+ } else {
+ printf(_("Error: SNMP authorization error or device unavailable"
+ ".\n"));
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+ } else {
+ /* non-SB hardware */
+ maxdlen = 94448;
+ }
+
+ /* compute checksum */
+ while ((i = read(fd, wopt, sizeof(wopt))) != 0) {
+ if (i < 0) {
+ perror(ERR_READFW);
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+
+ /* assure we do not checksum more than maxdlen bytes */
+ if ((readen + i) > maxdlen)
+ i = maxdlen - readen;
+
+ readen += i;
+
+ /* perform iterative checksumming */
+ i /= 2;
+ wp = (unsigned short *)wopt;
+ while (i--) {
+ if (sum + *wp > 0xFFFF)
+ sum++;
+
+ sum += *(wp++);
+ };
+
+ /* prevent eventual fread() if file length > maxdlen */
+ if (readen == maxdlen)
+ break;
+ }
+ sum ^= 0xFFFF;
+ lseek (fd, 0, SEEK_SET);
+
+ /*
+ * wopt[0] - wopt[1] are fw length in unsigned short form
+ * wopt[2] - wopt[3] are fw checksum in unsigned short form
+ * wopt[4] - wopt[7] are fw length in unsigned int form
+ */
+ wopt[0] = maxdlen;
+ wopt[1] = maxdlen >> 8;
+ wopt[2] = sum;
+ wopt[3] = sum >> 8;
+ wopt[4] = maxdlen;
+ wopt[5] = maxdlen >> 8;
+ wopt[6] = maxdlen >> 16;
+ wopt[7] = maxdlen >> 24;
+
+ printf("- checksum: %x\n", ntohs(sum));
+
+ woptlen = 8;
+
+ if (community) {
+ wopt[8] = strlen(community);
+ memcpy((void *) &wopt[9], (void *)community, strlen(community));
+ woptlen += (1 + strlen(community));
+ }
+ } else { /* result & 32 */
+ /* Firmware series 0.x.y.z - atsingle.bin */
+
+ /* For 0.x.y.z firmware:
+ * - first 234 bytes from the file are used as auth. code
+ * - the actual firmware is being uploaded since offset 256 in the file
+ */
+
+ i = read(fd, wopt, 234);
+ if (i < 234) {
+ printf(ERR_READFW);
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+ if (lseek(fd, 256, SEEK_SET) == -1) {
+ perror(_("Error while lseek()ing in firmware file\n"));
+ result = EXIT_FAILURE;
+ goto quit;
+ }
+ woptlen = 234;
+ maxdlen = sb.st_size; /* no limit */
+ }
+
+ result = tftp(ap_ip.s_addr, remotefile, fd, wopt, woptlen, maxdlen);
+
+quit:
+ if (localfile)
+ free(localfile);
+ if (community)
+ free(community);
+
+ return(result);
+}
size_t time_stamp;
char mac[6], *enterprise_oid = NULL, c, mac_info[31], mac_flag = 0;
struct in_addr agent_addr;
- char enterprise[] = { 0x2b, 0x06, 1, 4, 1, 0x83, 0x1a, 1, 1 };
- char *generic_traps[8] = { "ColdStart",
+ char enterprise_410[] = { 0x2b, 0x06, 1, 4, 1, 0x83, 0x1a, 1, 1 };
+ char enterprise_12350[] = { 0x2b, 0x06, 1, 4, 1, 0xe0, 0x3e, 1, 1 };
+ char *generic_traps[8] = {
+ "ColdStart",
"WarmStart",
"LinkDown",
"LinkUp",
enterprise_oid[start[1]] = '\0';
start += start[1] + 2;
memcpy(&agent_addr.s_addr, start + 2, 4);
- if (memcmp(enterprise_oid, enterprise, sizeof(enterprise))) {
+ if (memcmp(enterprise_oid, enterprise_410, sizeof(enterprise_410)) &&
+ memcmp(enterprise_oid, enterprise_12350, sizeof(enterprise_12350)))
+ {
syslog(LOG_INFO,
_
("Received unknown SNMP ver %d trap. From %s:%d. Agent: %s. Community: %s."),
}
syslog(LOG_INFO,
_
- ("Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"),
+ ("Agent:v%d %s (%s@%s:%d) Trap %i: %s%s%s. "
+ "SysUptime %d:%02d:%02d.%02d"),
snmp_version + 1, inet_ntoa(agent_addr),
community, inet_ntoa(client.sin_addr), ntohs(client.sin_port),
- (generic_trap ==
- 6) ? (atmel_ap_type == 1) ? specific_traps[specific_trap-1] : specific_traps_sb[specific_trap-1] :
+ (generic_trap == 6) ? specific_trap: generic_trap + 1,
+ (generic_trap == 6) ?
+ (atmel_ap_type == 1) ? specific_traps_sb[specific_trap-1] : specific_traps[specific_trap-1] :
generic_traps[generic_trap], (mac_flag) ? " " : "",
(mac_flag) ? mac_info : "", time_stamp, min, sec, hand);
}
--- /dev/null
+/*
+ * aplink.c from Access Point SNMP Utils for Linux
+ *
+ * Copyright (c) 2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License Version 2 from
+ * June 1991 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "ap-utils.h"
+
+#define S_RSSI _("RSSI: [")
+#define S_RSSI_AVG _("RSSI avg: [")
+#define S_RSSI_TOP _("RSSI top: [")
+#define S_RSSI_ROU _("RSSI rou: [")
+#define APLINK_HELP _("P - pause, T - toggle graph view, Q - quit to menu, Other key - force update.")
+
+#define GRWIN_LENGTH (COLS - MCOLS - 7)
+#define GRWIN_HEIGHT (LAST_ROW - 10)
+
+int gr_mode = 0;
+
+extern WINDOW *main_sub;
+extern short ap_type, ap_vendorext;
+extern int wait_mode, poll_delay;
+
+/*
+ * TODO: Implement APClientInfo as alternative, for NetGear ME102 MIB
+ * (ap_type == ATMEL12350 && ap_vendorext == NONE).
+ */
+
+void atmel_aplink()
+{
+ char bridgeOperationalMode[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x04, 0x01, 0x00
+ };
+ /*
+ * ATMEL12350 EZYNET MIB and ATMEL410 SBRIDGES MIB specific OIDs:
+ * for ATMEL410 SBRIDGES MIB: .1.3.6.1.4.1.410.1.2.8.1.0
+ * for ATMEL12350 EZYNET MIB: .1.3.6.1.4.1.12350.1.2.7.4.0
+ */
+ char NetworkSettings[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x08, 0x01, 0x00
+ };
+
+ /* APClient mode: AP link diagnostics */
+
+ struct NetworkSettings_ATMEL410_SBRIDGES sa_sb_410;
+ struct NetworkSettings_ATMEL12350_EZYNET sa_en_12350;
+
+ /* Used common members of the 2 structures above. */
+ unsigned char BSSID[6];
+ /* unsigned short InfoCapability; */
+ unsigned char Rssi;
+ unsigned char Channel;
+ /* LinkQuality for NetworkSettings_ATMEL410_SBRIDGES */
+ /* CurrentRate for NetworkSettings_ATMEL12350_EZYNET */
+ unsigned char LQCR;
+ unsigned char ESSID[32];
+ unsigned long ESSLEN; /* uchar for NetworkSettings_ATMEL410_SBRIDGES */
+
+ int i, j = 0, linked = 0, samples = 0, sum = 0, rssi_perc;
+ int rssi_avg = 0, rssi_avg_perc, rssi_top = 0, rssi_top_perc;
+ int rssi_rou, rssi_rou_perc, lq_perc = 0, lq_perc_top = 0;
+ int ringbuf_pos = 0, p_wait_mode = wait_mode;
+ char ringbuf[20];
+ char message[1024];
+ char *gr_modes[5] = { _("RSSI [%]"),
+ _("RSSI average [%]"),
+ _("RSSI rounded [%]"),
+ _("Link Quality [%]"),
+ NULL };
+ WINDOW *gauge_rssi;
+ WINDOW *gauge_rssi_top;
+ WINDOW *gauge_rssi_avg;
+ WINDOW *gauge_rssi_rou;
+ WINDOW *grwin_rssi;
+ WINDOW *grwin_rssi_avg = NULL;
+ WINDOW *grwin_rssi_rou = NULL;
+ WINDOW *grwin_lq = NULL;
+ varbind varbinds[1];
+
+ if (ap_type == ATMEL12350) {
+ bridgeOperationalMode[5] = 0xE0;
+ bridgeOperationalMode[6] = 0x3E;
+
+ NetworkSettings[5] = 0xE0;
+ NetworkSettings[6] = 0x3E;
+ NetworkSettings[9] = 0x07;
+ NetworkSettings[10] = 0x04;
+ }
+
+ gauge_rssi = derwin(main_sub, 1, 20, 2, strlen(S_RSSI));
+ gauge_rssi_top = derwin(main_sub, 1, 20, 3, strlen(S_RSSI_TOP));
+ gauge_rssi_avg = derwin(main_sub, 1, 20, 4, strlen(S_RSSI_AVG));
+ gauge_rssi_rou = derwin(main_sub, 1, 20, 5, strlen(S_RSSI_ROU));
+ grwin_rssi = derwin(main_sub, GRWIN_HEIGHT + 2, GRWIN_LENGTH + 2, 9, 3);
+
+ /* find out mode the device is currently in */
+ varbinds[0].oid = bridgeOperationalMode;
+ varbinds[0].len_oid = sizeof(bridgeOperationalMode);
+ varbinds[0].value = bridgeOperationalMode;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ print_help(WAIT_RET);
+ if (snmp(varbinds, 1, GET) <= 0) {
+ print_helperr(ERR_RET);
+ getch();
+ goto exit;
+ }
+
+ /*
+ * Rule out all modes except APClient(3) mode and WRepeater(5) mode on
+ * device running firmware with necessary vendor extensions.
+ */
+ if(!( ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ (ap_type == ATMEL12350 && ap_vendorext == EZYNET)) &&
+ (*(varbinds[0].value) == 3 || *(varbinds[0].value) == 5) )) {
+ mvwaddstr(main_sub, 1, 1,
+ _("Not available - device must have firmware with necessary "));
+ mvwaddstr(main_sub, 2, 1,
+ _("vendor extensions and be in either 'Access Point client'"));
+ mvwaddstr(main_sub, 3, 1,
+ _("or 'Repeater' mode."));
+ print_help(ANY_KEY);
+ wrefresh(main_sub);
+ getch();
+ goto exit;
+ }
+
+ wait_mode = WAIT_TIMEOUT;
+
+ print_top(POLL_ON, AP_TITLE);
+ print_help(APLINK_HELP);
+ noecho();
+
+ memset(ringbuf, 0, sizeof(ringbuf));
+
+ box(grwin_rssi, 0, 0);
+ for (i = GRWIN_HEIGHT - GRWIN_HEIGHT / 3; i > 0; i -= GRWIN_HEIGHT / 3) {
+ j += 33;
+ mvwprintw(main_sub, 9 + i, 0, "%u", j);
+ mvwaddch(grwin_rssi, i, 0, ACS_SSSS);
+ }
+ delwin(grwin_rssi);
+ wmove(main_sub, 9, 6);
+ print_bold(main_sub, gr_modes[gr_mode]);
+ grwin_rssi = newwin(GRWIN_HEIGHT, GRWIN_LENGTH, 12, MCOLS + 4);
+ grwin_rssi_avg = newwin(GRWIN_HEIGHT, GRWIN_LENGTH, 12, MCOLS + 4);
+ grwin_rssi_rou = newwin(GRWIN_HEIGHT, GRWIN_LENGTH, 12, MCOLS + 4);
+ if (ap_type == ATMEL410)
+ grwin_lq = newwin(GRWIN_HEIGHT, GRWIN_LENGTH, 12, MCOLS + 4);
+ wattrset(grwin_rssi, COLOR_PAIR(COLOR_BLUE));
+ wattrset(grwin_rssi_avg, COLOR_PAIR(COLOR_BLUE));
+ wattrset(grwin_rssi_rou, COLOR_PAIR(COLOR_BLUE));
+ if (ap_type == ATMEL410)
+ wattrset(grwin_lq, COLOR_PAIR(COLOR_BLUE));
+
+ while (1) {
+ mvwaddstr(main_sub, 0, 0, "Associated with AP: ");
+
+ varbinds[0].oid = NetworkSettings;
+ varbinds[0].len_oid = sizeof(NetworkSettings);
+ varbinds[0].value = NetworkSettings;
+ varbinds[0].type = STRING_VALUE;
+ varbinds[0].len_val = 0;
+
+ if (snmp(varbinds, 1, GET) <= 0) {
+ /* do just once */
+ waddstr(main_sub, NO);
+ if (linked) {
+ linked = sum = samples = ringbuf_pos = 0;
+ memset(ringbuf, 0, sizeof(ringbuf));
+
+ wclrtoeol(main_sub);
+ clear_main_new(1, 9);
+ /* wclrtobot(main_sub); */
+
+ wattrset(grwin_rssi, COLOR_PAIR(COLOR_RED));
+ wattrset(grwin_rssi_avg, COLOR_PAIR(COLOR_RED));
+ wattrset(grwin_rssi_rou, COLOR_PAIR(COLOR_RED));
+ if (ap_type == ATMEL410)
+ wattrset(grwin_lq, COLOR_PAIR(COLOR_RED));
+
+ for (i = 0; i < GRWIN_HEIGHT; i++) {
+ mvwdelch(grwin_rssi, i, 0);
+ mvwdelch(grwin_rssi_avg, i, 0);
+ mvwdelch(grwin_rssi_rou, i, 0);
+ mvwaddch(grwin_rssi, i, GRWIN_LENGTH - 1, ACS_SBSB);
+ mvwaddch(grwin_rssi_avg, i, GRWIN_LENGTH - 1, ACS_SBSB);
+ mvwaddch(grwin_rssi_rou, i, GRWIN_LENGTH - 1, ACS_SBSB);
+ if (ap_type == ATMEL410) {
+ mvwdelch(grwin_lq, i, 0);
+ mvwaddch(grwin_lq, i, GRWIN_LENGTH - 1, ACS_SBSB);
+ }
+ }
+ wattrset(grwin_rssi, COLOR_PAIR(COLOR_BLUE));
+ wattrset(grwin_rssi_avg, COLOR_PAIR(COLOR_BLUE));
+ wattrset(grwin_rssi_rou, COLOR_PAIR(COLOR_BLUE));
+ if (ap_type == ATMEL410)
+ wattrset(grwin_lq, COLOR_PAIR(COLOR_BLUE));
+ }
+
+ wnoutrefresh(main_sub);
+ wnoutrefresh(gr_mode == 0 ? grwin_rssi :
+ gr_mode == 1 ? grwin_rssi_avg :
+ gr_mode == 2 ? grwin_rssi_rou : grwin_lq);
+
+ doupdate();
+ } else {
+ waddstr(main_sub, YES);
+
+ if (ap_type == ATMEL410) {
+ memcpy(&sa_sb_410, varbinds[0].value, varbinds[0].len_val);
+
+ memcpy(BSSID, sa_sb_410.BSSID, 6);
+ /* InfoCapability = sa_sb_410.InfoCapability; */
+ Rssi = sa_sb_410.Rssi;
+ Channel = sa_sb_410.Channel;
+ LQCR = sa_sb_410.LinkQuality;
+ memcpy(ESSID, sa_sb_410.ESSID, 32);
+ ESSLEN = sa_sb_410.ESSLEN;
+ } else { /* ap_type == ATMEL12350 */
+ memcpy(&sa_en_12350, varbinds[0].value, varbinds[0].len_val);
+
+ memcpy(BSSID, sa_en_12350.BSSID, 6);
+ /* InfoCapability = sa_en_12350.InfoCapability; */
+ Rssi = sa_en_12350.Rssi;
+ Channel = sa_en_12350.Channel;
+ LQCR = sa_en_12350.CurrentRate;
+ memcpy(ESSID, sa_en_12350.ESSID, 32);
+ ESSLEN = sa_en_12350.ESSLEN;
+ }
+
+ sprintf(message, "Joined BSSID: %02X%02X%02X%02X%02X%02X",
+ BSSID[0] & 0xFF, BSSID[1] & 0xFF, BSSID[2] & 0xFF,
+ BSSID[3] & 0xFF, BSSID[4] & 0xFF, BSSID[5] & 0xFF);
+ mvwaddstr(main_sub, 1, 0, message);
+
+ mvwaddstr(main_sub, 2, 0, S_RSSI);
+ rssi_perc = (int)((minimum (Rssi, 40)) * (float)2.5);
+ werase(gauge_rssi);
+ for (i = 0; i < (20 * rssi_perc / 100); i++) {
+ if (i == 0)
+ wattrset(gauge_rssi, COLOR_PAIR(COLOR_RED));
+ if (i == 7)
+ wattrset(gauge_rssi, COLOR_PAIR(COLOR_YELLOW) | A_BOLD);
+ if (i == 14)
+ wattrset(gauge_rssi, COLOR_PAIR(COLOR_GREEN));
+ waddch(gauge_rssi, ACS_BLOCK);
+ }
+ wnoutrefresh(gauge_rssi);
+ sprintf(message, "] [%4ddBm] [%3u%%] [%3u]",
+ dbmconv(Rssi), rssi_perc, Rssi);
+ mvwaddstr(main_sub, 2, strlen(S_RSSI) + 20, message);
+
+ mvwaddstr(main_sub, 3, 0, S_RSSI_TOP);
+ if (Rssi > rssi_top)
+ rssi_top = Rssi;
+ rssi_top_perc = (int)((minimum (rssi_top, 40)) * (float)2.5);
+ werase(gauge_rssi_top);
+ for (i = 0; i < (20 * rssi_top_perc / 100); i++) {
+ if (i == 0)
+ wattrset(gauge_rssi_top, COLOR_PAIR(COLOR_RED));
+ if (i == 7)
+ wattrset(gauge_rssi_top, COLOR_PAIR(COLOR_YELLOW) | A_BOLD);
+ if (i == 14)
+ wattrset(gauge_rssi_top, COLOR_PAIR(COLOR_GREEN));
+ waddch(gauge_rssi_top, ACS_BLOCK);
+ }
+ wnoutrefresh(gauge_rssi_top);
+ sprintf(message, "] [%4ddBm] [%3u%%] [%3u]",
+ dbmconv(rssi_top), rssi_top_perc, rssi_top);
+ mvwaddstr(main_sub, 3, strlen(S_RSSI_TOP) + 20, message);
+
+ mvwaddstr(main_sub, 4, 0, S_RSSI_AVG);
+ sum += Rssi;
+ rssi_avg = sum / ++samples;
+ if (samples == 100000) {
+ samples = 1;
+ sum = Rssi;
+ }
+ rssi_avg_perc = (int)((minimum (rssi_avg, 40)) * (float)2.5);
+ werase(gauge_rssi_avg);
+ for (i = 0; i < (20 * rssi_avg_perc / 100); i++) {
+ if (i == 0)
+ wattrset(gauge_rssi_avg, COLOR_PAIR(COLOR_RED));
+ if (i == 7)
+ wattrset(gauge_rssi_avg, COLOR_PAIR(COLOR_YELLOW) | A_BOLD);
+ if (i == 14)
+ wattrset(gauge_rssi_avg, COLOR_PAIR(COLOR_GREEN));
+ waddch(gauge_rssi_avg, ACS_BLOCK);
+ }
+ wnoutrefresh(gauge_rssi_avg);
+ sprintf(message, "] [%4ddBm] [%3u%%] / %5u sampl.",
+ dbmconv(rssi_avg), rssi_avg_perc, samples);
+ mvwaddstr(main_sub, 4, strlen(S_RSSI_AVG) + 20, message);
+
+ mvwaddstr(main_sub, 5, 0, S_RSSI_ROU);
+ ringbuf[ringbuf_pos++] = Rssi;
+ if (ringbuf_pos == sizeof(ringbuf))
+ ringbuf_pos = 0;
+ rssi_rou = 0;
+ for (i = 0; i < (int)sizeof(ringbuf); rssi_rou += ringbuf[i], i++);
+ rssi_rou /= sizeof(ringbuf);
+ rssi_rou_perc = (int)((minimum (rssi_rou, 40)) * (float)2.5);
+ werase(gauge_rssi_rou);
+ for (i = 0; i < (20 * rssi_rou_perc / 100); i++) {
+ if (i == 0)
+ wattrset(gauge_rssi_rou, COLOR_PAIR(COLOR_RED));
+ if (i == 7)
+ wattrset(gauge_rssi_rou, COLOR_PAIR(COLOR_YELLOW) | A_BOLD);
+ if (i == 14)
+ wattrset(gauge_rssi_rou, COLOR_PAIR(COLOR_GREEN));
+ waddch(gauge_rssi_rou, ACS_BLOCK);
+ }
+ wnoutrefresh(gauge_rssi_rou);
+ sprintf(message, "] [%4ddBm] [%3u%%] / last %2u sam.",
+ dbmconv(rssi_rou), rssi_rou_perc, sizeof(ringbuf));
+ mvwaddstr(main_sub, 5, strlen(S_RSSI_ROU) + 20, message);
+
+ if (ap_type == ATMEL410) {
+ lq_perc = (int)(100 - (minimum (LQCR, 40)) * (float)2.5);
+ if (lq_perc > lq_perc_top)
+ lq_perc_top = lq_perc;
+ sprintf(message, "Link quality: %3u%% (top: %3u%%)",
+ lq_perc, lq_perc_top);
+ } else { /* ap_type == ATMEL12350 */
+ sprintf(message, "Current rate: ");
+ switch(LQCR) {
+ case 0:
+ strcat(message, "1 Mbps ");
+ break;
+ case 1:
+ strcat(message, "2 Mbps ");
+ break;
+ case 2:
+ strcat(message, "5.5 Mbps");
+ break;
+ case 3:
+ strcat(message, "11 Mbps ");
+ }
+ }
+ mvwaddstr(main_sub, 6, 0, message);
+
+ sprintf(message, "Channel: %2u", Channel);
+ mvwaddstr(main_sub, 7, 0, message);
+
+ mvwaddstr(main_sub, 8, 0, "ESSID: ");
+ waddnstr(main_sub, ESSID, ESSLEN);
+/*
+ sprintf(message, "InfoCapability: %3u", InfoCapability & 0xFF);
+ mvwaddstr(main_sub, 9, 0, message);
+*/
+ wnoutrefresh(main_sub);
+
+ for (i = 0; i < GRWIN_HEIGHT; i++) {
+ mvwdelch(grwin_rssi, i, 0);
+ mvwdelch(grwin_rssi_avg, i, 0);
+ mvwdelch(grwin_rssi_rou, i, 0);
+ if (ap_type == ATMEL410)
+ mvwdelch(grwin_lq, i, 0);
+ }
+ for (i = 0; i < GRWIN_HEIGHT * rssi_perc / 100; i++)
+ mvwaddch(grwin_rssi,
+ GRWIN_HEIGHT - 1 - i, GRWIN_LENGTH - 1, ACS_BLOCK);
+ for (i = 0; i < GRWIN_HEIGHT * rssi_avg_perc / 100; i++)
+ mvwaddch(grwin_rssi_avg,
+ GRWIN_HEIGHT - 1 - i, GRWIN_LENGTH - 1, ACS_BLOCK);
+ for (i = 0; i < GRWIN_HEIGHT * rssi_rou_perc / 100; i++)
+ mvwaddch(grwin_rssi_rou,
+ GRWIN_HEIGHT - 1 - i, GRWIN_LENGTH - 1, ACS_BLOCK);
+ if (ap_type == ATMEL410)
+ for (i = 0; i < GRWIN_HEIGHT * lq_perc / 100; i++)
+ mvwaddch(grwin_lq,
+ GRWIN_HEIGHT - 1 - i, GRWIN_LENGTH - 1, ACS_BLOCK);
+
+ wnoutrefresh(gr_mode == 0 ? grwin_rssi :
+ gr_mode == 1 ? grwin_rssi_avg :
+ gr_mode == 2 ? grwin_rssi_rou : grwin_lq);
+
+ doupdate();
+
+ linked = 1;
+ }
+
+ i = wait_key(poll_delay);
+ switch(i) {
+ case 'p':
+ case 'P':
+ getch();
+ break;
+ case 'q':
+ case 'Q':
+ goto exit;
+ case 't':
+ case 'T':
+ gr_mode++;
+ if (gr_mode == (ap_type == ATMEL410 ? 4 : 3))
+ gr_mode = 0;
+
+ wmove(main_sub, 9, 6);
+ print_bold(main_sub, gr_modes[gr_mode]);
+ for (i = 0; i < 10; i++)
+ waddch(main_sub, ACS_BSBS);
+ }
+ /* either timeout for user input (i == 0) or invalid key => cont. */
+ }
+
+exit:
+ wait_mode = p_wait_mode;
+
+ delwin(gauge_rssi);
+ delwin(gauge_rssi_top);
+ delwin(gauge_rssi_avg);
+ delwin(gauge_rssi_rou);
+
+ delwin(grwin_rssi);
+ delwin(grwin_rssi_avg);
+ delwin(grwin_rssi_rou);
+ if (ap_type == ATMEL410)
+ delwin(grwin_lq);
+
+ print_top(NULL, NULL);
+ clear_main(0);
+}
--- /dev/null
+/*
+ * auth.c from Access Point SNMP Utils for Linux
+ *
+ * Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ * Copyright (c) 2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License Version 2 from
+ * June 1991 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include "ap-utils.h"
+
+#define MAX_LINES LINES-12
+#define PACKET_ERROR _("AuthorizedMacTableString packet error")
+
+#define AUTH_TITLE _("APClient authorization credentials")
+
+#define MAC_AUTH _("[A] MAC authorization: ")
+#define MAC_ADD _("Enter MAC: ")
+#define MAC_DEL _("Delete Num: ")
+#define MAC_HEADER _(" NUM MAC address ")
+#define MAC_HELP _("A: auth; N: new; D: del; arrows: scroll; W: write conf; Q: quit")
+
+#define RADIUS_IP _("[I] Radius server IP: ")
+#define RADIUS_DEST_PORT _("[P] Radius server port: ")
+#define RADIUS_SECRET _("[S] Radius server secret: ")
+#define RADIUS_TIME _("[T] Reauthorization time (minutes): ")
+#define RADIUS_PORT _("[F] Radius source port: ")
+#define RADIUS_HELP _("A: auth; N: new; D: del; IPSTF: set; arrows: scroll; W: write conf; Q: quit")
+
+#define DOT1X_MODE _("[M] 802.1x authorization: ")
+#define DOT1X_TIME _("[T] key broadcasting time period (seconds): ")
+#define DOT1X_IP _("[I] 802.1x auth. server IP: ")
+#define DOT1X_SECRET _("[S] 802.1x auth. server secret: ")
+#define DOT1X_HELP _("A: auth; N: new; D: del; MTIS: set; arrows: scroll; W: write conf; Q: quit")
+
+extern WINDOW *main_sub;
+extern int LINES;
+extern short ap_type, ap_vendorext;
+
+void atmel_auth()
+{
+ char AuthorizationMacEnable[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x01, 0x00
+ };
+ char AutorizedMac[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x02, 0x00
+ };
+
+ /* These 6 are ATMEL410 MIB with SBRIDGES extensions -specific */
+ char AuthRadiusIP[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x03, 0x00
+ };
+ char AuthRadiusSecret[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x04, 0x00
+ };
+ char AuthRadiusSecretLength[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x05, 0x00
+ };
+ char AuthRadiusPort[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x06, 0x00
+ };
+ char AuthRadiusReauthorizationTime[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x07, 0x00
+ };
+ char AuthRadiusDestinPort[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x06, 0x08, 0x00
+ };
+
+ /* These 4 are ATMEL12350 MIB with EZYNET extensions -specific */
+ /* Note: GEMTEK MIB falsely claims it has these, but it is not true. :( */
+ char Dot1xEnable[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x08, 0x01, 0x00
+ };
+ char BroadcastKeyPeriod[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x08, 0x02, 0x00
+ };
+ char ServerIP[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x08, 0x03, 0x00
+ };
+ char ServerSecret[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x08, 0x04, 0x00
+ };
+
+ struct AuthorizedMacTableString {
+ unsigned int short Action;
+ unsigned int short NumOfAllTableAddresses;
+ unsigned int short NumOfCurrentAddress;
+ unsigned char MacAddress[6];
+ } *AuthMac = NULL, get;
+
+ /* for ATMEL* MIBs with NONE extensions */
+ char *AuthModes_OO[] = {
+ ON,
+ OFF
+ };
+
+ /* for ATMEL410 MIB with SBRIDGES extensions */
+ char *AuthModes_IOR[] = {
+ _("Internal"),
+ OFF,
+ _("Radius")
+ };
+
+ /* for ATMEL12350 MIBs with GEMTEK or EZYNET extensions */
+ char *AuthModes_AOD[] = {
+ _("Allow listed MACs only"),
+ OFF,
+ _("Deny listed MACs only")
+ };
+
+ char *Dot1xModes[] = {
+ ON,
+ OFF,
+ _("Mixed environment")
+ };
+
+ /* These will be used for both Radius-related and 802.1x-related stuff. */
+ struct in_addr ea_ip;
+ char ea_secret[33];
+ int ea_mode, ea_port, ea_time, ea_dest_port,
+ m_ea_mode = 0, m_ea_port = 0, m_ea_ip = 0, m_ea_secret = 0,
+ m_ea_time = 0, m_ea_dest_port = 0;
+
+ struct MacListStat *pmac, *first = NULL, *curr = NULL;
+ char message[1024], m_authmac = 0;
+ int i = 0, total_mac, auth_mode = 0, mac_num = 0, begin, end;
+ varbind varbinds[7];
+
+
+ if (ap_type == ATMEL12350) {
+ AuthorizationMacEnable[5] = 0xE0;
+ AuthorizationMacEnable[6] = 0x3E;
+ AutorizedMac[5] = 0xE0;
+ AutorizedMac[6] = 0x3E;
+ }
+
+ varbinds[i].oid = AuthorizationMacEnable;
+ varbinds[i].len_oid = sizeof(AuthorizationMacEnable);
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
+ i++;
+
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES) {
+ varbinds[i].oid = AuthRadiusIP;
+ varbinds[i].len_oid = sizeof(AuthRadiusIP);
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
+ i++;
+
+ varbinds[i].oid = AuthRadiusPort;
+ varbinds[i].len_oid = sizeof(AuthRadiusPort);
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
+ i++;
+
+ varbinds[i].oid = AuthRadiusReauthorizationTime;
+ varbinds[i].len_oid = sizeof(AuthRadiusReauthorizationTime);
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
+ i++;
+
+ varbinds[i].oid = AuthRadiusDestinPort;
+ varbinds[i].len_oid = sizeof(AuthRadiusDestinPort);
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
+ i++;
+ }
+
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ varbinds[i].oid = Dot1xEnable;
+ varbinds[i].len_oid = sizeof(Dot1xEnable);
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
+ i++;
+
+ varbinds[i].oid = BroadcastKeyPeriod;
+ varbinds[i].len_oid = sizeof(BroadcastKeyPeriod);
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
+ i++;
+
+ varbinds[i].oid = ServerIP;
+ varbinds[i].len_oid = sizeof(ServerIP);
+ varbinds[i].type = NULL_VALUE;
+ varbinds[i].len_val = 0;
+ i++;
+ }
+
+ print_help(WAIT_RET);
+ if (snmp(varbinds, i, GET) < i) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+ print_top(NULL, AUTH_TITLE);
+
+ auth_mode = *(varbinds[0].value);
+
+ strcpy(ea_secret, _("(not shown)"));
+
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES) {
+ sprintf(message, "%s%s", MAC_AUTH, AuthModes_IOR[auth_mode - 1]);
+ mvwaddstr(main_sub, 0, 0, message);
+
+ if (auth_mode == 3) { /* Radius */
+ memcpy(&ea_ip.s_addr, varbinds[1].value, 4);
+ sprintf(message, "%s%s", RADIUS_IP, inet_ntoa(ea_ip));
+ mvwaddstr(main_sub, 1, 0, message);
+
+ ea_dest_port = varbinds[4].len_val == 2 ?
+ (varbinds[4].value[0] << 8) | varbinds[4].value[1] :
+ varbinds[4].value[0] < 0x80 ?
+ varbinds[4].value[0] : 0xff00 | varbinds[4].value[0];
+ sprintf(message, "%s%d", RADIUS_DEST_PORT, ea_dest_port);
+ mvwaddstr(main_sub, 2, 0, message);
+
+ sprintf(message, "%s%s", RADIUS_SECRET, ea_secret);
+ mvwaddstr(main_sub, 3, 0, message);
+
+ ea_time = varbinds[3].len_val == 2 ?
+ (varbinds[3].value[0] << 8) | varbinds[3].value[1] :
+ varbinds[3].value[0] < 0x80 ?
+ varbinds[3].value[0] : 0xff00 | varbinds[3].value[0];
+ sprintf(message, "%s%d", RADIUS_TIME, ea_time);
+ mvwaddstr(main_sub, 4, 0, message);
+
+ ea_port = varbinds[2].len_val == 2 ?
+ (varbinds[2].value[0] << 8) | varbinds[2].value[1] :
+ varbinds[2].value[0] < 0x80 ?
+ varbinds[2].value[0] : 0xff00 | varbinds[2].value[0];
+ sprintf(message, "%s%d", RADIUS_PORT, ea_port);
+ mvwaddstr(main_sub, 5, 0, message);
+ }
+ } else if (ap_type == ATMEL12350 &&
+ (ap_vendorext == GEMTEK || ap_vendorext == EZYNET)) {
+ sprintf(message, "%s%s", MAC_AUTH, AuthModes_AOD[auth_mode - 1]);
+ mvwaddstr(main_sub, 0, 0, message);
+
+ if (ap_vendorext == EZYNET) {
+ ea_mode = *(varbinds[1].value);
+ sprintf(message, "%s%s", DOT1X_MODE, Dot1xModes[ea_mode - 1]);
+ mvwaddstr(main_sub, 1, 0, message);
+
+ ea_time = varbinds[2].len_val == 2 ?
+ (varbinds[2].value[0] << 8) | varbinds[2].value[1] :
+ varbinds[2].value[0] < 0x80 ?
+ varbinds[2].value[0] : 0xff00 | varbinds[2].value[0];
+ sprintf(message, "%s%d", DOT1X_TIME, ea_time);
+ mvwaddstr(main_sub, 2, 0, message);
+
+ memcpy(&ea_ip.s_addr, varbinds[3].value, 4);
+ sprintf(message, "%s%s", DOT1X_IP, inet_ntoa(ea_ip));
+ mvwaddstr(main_sub, 3, 0, message);
+
+ sprintf(message, "%s%s", DOT1X_SECRET, ea_secret);
+ mvwaddstr(main_sub, 4, 0, message);
+ }
+ } else {
+ sprintf(message, "%s%s", MAC_AUTH, AuthModes_OO[auth_mode - 1]);
+ mvwaddstr(main_sub, 0, 0, message);
+ }
+ mvwaddstr(main_sub, 7, 0, _("Authorized MAC addresses:"));
+ wattrset(main_sub, COLOR_PAIR(13));
+ mvwaddstr(main_sub, 8, 0, MAC_HEADER);
+ wattrset(main_sub, A_NORMAL);
+ wrefresh(main_sub);
+
+ print_help("Trying to retrieve auth. MAC address list from AP. Please wait.");
+
+ total_mac = 0;
+ mac_num = 0;
+
+ while (mac_num <= total_mac) {
+ get.Action = 0x02; rshort(get.Action);
+ get.NumOfAllTableAddresses = total_mac; rshort(get.NumOfAllTableAddresses);
+ get.NumOfCurrentAddress = mac_num; rshort(get.NumOfCurrentAddress);
+
+ varbinds[0].oid = AutorizedMac;
+ varbinds[0].len_oid = sizeof(AutorizedMac);
+ varbinds[0].value = (char *) &get;
+ varbinds[0].len_val = 12;
+ varbinds[0].type = STRING_VALUE;
+
+ i = snmp(varbinds, 1, SET);
+ if (i == 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+ if (i < 0)
+ break;
+
+ if (varbinds[0].len_val == 12) {
+ if (AuthMac)
+ free(AuthMac);
+ AuthMac =
+ (struct AuthorizedMacTableString *) malloc(varbinds[0].
+ len_val);
+ memcpy(AuthMac, varbinds[0].value, varbinds[0].len_val);
+/* AuthMac =
+ (struct AuthorizedMacTableString *) varbinds[0].value;*/
+ } else {
+ print_helperr(PACKET_ERROR);
+ goto exit;
+ }
+
+ rshort(AuthMac->NumOfAllTableAddresses);
+ total_mac =
+ (AuthMac->NumOfAllTableAddresses ==
+ 65535) ? 0 : AuthMac->NumOfAllTableAddresses;
+
+ if (mac_num) {
+ if (first == NULL) {
+ first = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = first;
+ } else {
+ curr->next = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = curr->next;
+ }
+ memcpy(curr->addr, AuthMac->MacAddress, 6);
+ curr->next = NULL;
+ }
+ mac_num++;
+ }
+
+ begin = (mac_num > MAX_LINES) ? mac_num + 1 - (MAX_LINES) : 1;
+ end = mac_num;
+
+ if (i < 0) {
+ mvwaddstr(main_sub, 9, 0, _("(insufficient community used)"));
+ wrefresh(main_sub);
+ } else {
+ scroll_rows(first, begin, end, 9, 0);
+ }
+
+ noecho();
+
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES)
+ print_help(RADIUS_HELP);
+ else if (ap_type == ATMEL12350 && ap_vendorext == EZYNET)
+ print_help(DOT1X_HELP);
+ else
+ print_help(MAC_HELP);
+
+ while (1) {
+ switch (getch()) {
+ case 'q':
+ case 'Q':
+ goto quit;
+ case 'a':
+ case 'A':
+ auth_mode = menu_choose(0, strlen(MAC_AUTH),
+ ap_type == ATMEL410 && ap_vendorext == SBRIDGES ?
+ AuthModes_IOR :
+ ap_type == ATMEL12350 &&
+ (ap_vendorext == GEMTEK || ap_vendorext == EZYNET) ?
+ AuthModes_AOD :
+ AuthModes_OO,
+ ap_vendorext == NONE ?
+ 2 : 3
+ );
+ clear_main_new(0, 1);
+ print_menusel(0, 0, MAC_AUTH,
+ ap_type == ATMEL410 && ap_vendorext == SBRIDGES ?
+ AuthModes_IOR[auth_mode] :
+ ap_type == ATMEL12350 &&
+ (ap_vendorext == GEMTEK || ap_vendorext == EZYNET) ?
+ AuthModes_AOD[auth_mode] :
+ AuthModes_OO[auth_mode]
+ );
+ auth_mode++;
+/*
+ auth_mode = on_off(0, strlen(MAC_AUTH));
+ clear_main_new(0, 1);
+ print_menusel(0, 0, MAC_AUTH, (auth_mode == 1) ? ON : OFF);
+*/
+ m_authmac = 1;
+ continue;
+ case 'd':
+ case 'D':
+ /* no MACs available for deletion */
+ if (mac_num == 1)
+ continue;
+
+ mvwaddstr(main_sub, 6, 0, MAC_DEL);
+ get_value(message, 6, strlen(MAC_DEL), 5, INT_STRING,
+ 0, mac_num - 1, NULL);
+ i = atoi(message);
+ if (i == 0) {
+ clear_main_new(6, 7);
+ continue;
+ }
+ curr = first;
+ if (i == 1) {
+ if (curr->next) {
+ pmac = curr->next;
+ free(first);
+ first = pmac;
+ }
+ } else {
+ int j = i;
+
+ while (--j > 1)
+ curr = curr->next;
+ pmac = curr->next;
+ curr->next = pmac->next;
+ free(pmac);
+ }
+
+ mac_num--;
+
+ /* Rather do not ask how this works. */
+ if (i < begin) {
+ begin--;
+ end--;
+ } else if (i > (end - 1)) {
+ /* Nothing to do! */
+ } else { /* begin <= i <= (end - 1) */
+ if ((begin == 1) && ((end - 1) == mac_num)) {
+ end--;
+ } else if ((begin > 1) && ((end - 1) < mac_num)) {
+ /* Uncomment for top side scrolling first. */
+/*
+ begin--;
+ end--;
+*/
+ } else if (begin > 1) {
+ begin--;
+ end--;
+ }
+ }
+#if 0 /* DEBUG */
+ sprintf(message, "MAX_LINES: %i mac_num: %i begin: %i end: %i",
+ MAX_LINES, mac_num, begin, end);
+ clear_main(0);
+ mvwaddstr(main_sub, 0, 0, message);
+ wrefresh(main_sub);
+ exit(0);
+#endif /* DEBUG */
+ scroll_rows(first, begin, end, 9, 0);
+ clear_main_new(6, 7);
+ continue;
+ case 'n':
+ case 'N':
+ if (mac_num == 1) {
+ free(first);
+ first = NULL;
+ }
+again:
+ mvwaddstr(main_sub, 6, 0, MAC_ADD);
+ get_mac(message, 6, strlen(MAC_ADD));
+
+ curr = first;
+ i = 1;
+ while (curr) {
+ if (memcmp(curr->addr, message, 6) == 0) {
+ sprintf(message, _("Given MAC already exists in MAC list "
+ "at position %d. Press any key."), i);
+ print_helperr(message);
+ getch();
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES)
+ print_help(RADIUS_HELP);
+ else if (ap_type == ATMEL12350 && ap_vendorext == EZYNET)
+ print_help(DOT1X_HELP);
+ else
+ print_help(MAC_HELP);
+ goto again;
+ }
+ curr = curr->next;
+ i++;
+ }
+
+ curr = first;
+ while (curr && curr->next)
+ curr = curr->next;
+ if (first == NULL) {
+ first = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = first;
+ } else {
+ curr->next = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = curr->next;
+ }
+ curr->next = NULL;
+ memcpy(curr->addr, message, 6);
+ mac_num++;
+/* get_value(message, 1, strlen(MAC_ADD), 13, ANY_STRING, 0, 0,
+ NULL);
+
+ for (i = 0; i < 6; i++) {
+ mess[0] = message[2 * i];
+ mess[1] = message[2 * i + 1];
+ mess[2] = '\0';
+ curr->addr[i] = strtol(mess, NULL, 16);
+ }
+ clear_main_new(1, 2);
+*/
+ begin = (mac_num > MAX_LINES) ? mac_num + 1 - (MAX_LINES) : 1;
+ end = mac_num;
+ scroll_rows(first, begin, end, 9, 0);
+ clear_main_new(6, 7);
+ continue;
+ case 'f':
+ case 'F':
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES && auth_mode == 3) {
+ get_value(message, 5, strlen(RADIUS_PORT), 6,
+ INT_STRING, 0, 65535, RADIUS_HELP);
+ ea_port = atoi(message);
+ m_ea_port = 1;
+ };
+ continue;
+ case 'i':
+ case 'I':
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES && auth_mode == 3) {
+ get_ip(&ea_ip, 1, strlen(RADIUS_IP), RADIUS_HELP);
+ m_ea_ip = 1;
+ }
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ get_ip(&ea_ip, 3, strlen(DOT1X_IP), DOT1X_HELP);
+ m_ea_ip = 1;
+ }
+ continue;
+ case 'm':
+ case 'M':
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ ea_mode = menu_choose(1, strlen(DOT1X_MODE), Dot1xModes, 3);
+ clear_main_new(1, 2);
+ print_menusel(1, 0, DOT1X_MODE, Dot1xModes[ea_mode]);
+ ea_mode++;
+ m_ea_mode = 1;
+ }
+ continue;
+ case 'p':
+ case 'P':
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES && auth_mode == 3) {
+ get_value(message, 2, strlen(RADIUS_DEST_PORT), 6,
+ INT_STRING, 0, 65535, RADIUS_HELP);
+ ea_dest_port = atoi(message);
+ m_ea_dest_port = 1;
+ }
+ continue;
+ case 's':
+ case 'S':
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES && auth_mode == 3) {
+ get_value(ea_secret, 3, strlen(RADIUS_SECRET), -33,
+ ANY_STRING, 0, 0, NULL);
+ m_ea_secret = 1;
+ }
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ get_value(ea_secret, 4, strlen(DOT1X_SECRET), -17,
+ ANY_STRING, 0, 0, NULL);
+ m_ea_secret = 1;
+ }
+ continue;
+ case 't':
+ case 'T':
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES && auth_mode == 3) {
+ get_value(message, 4, strlen(RADIUS_TIME), 6,
+ INT_STRING, 0, 65535, RADIUS_HELP);
+ ea_time = atoi(message);
+ m_ea_time = 1;
+ }
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ get_value(message, 2, strlen(DOT1X_TIME), 6,
+ INT_STRING, 0, 65535, RADIUS_HELP);
+ ea_time = atoi(message);
+ m_ea_time = 1;
+ }
+ continue;
+ case 'w':
+ case 'W':
+ curr = first;
+ i = (mac_num == 1 ? 0 : 1);
+ while (curr != NULL) {
+ get.Action = 0x01; rshort(get.Action);
+ get.NumOfAllTableAddresses = mac_num - 1; rshort(get.NumOfAllTableAddresses);
+ get.NumOfCurrentAddress = i; rshort(get.NumOfCurrentAddress);
+ memcpy(get.MacAddress, curr->addr, 6);
+ varbinds[0].oid = AutorizedMac;
+ varbinds[0].len_oid = sizeof(AutorizedMac);
+ varbinds[0].value = (char *) &get;
+ varbinds[0].len_val = 12;
+ varbinds[0].type = STRING_VALUE;
+ print_help(WAIT_SET);
+ if (snmp(varbinds, 1, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+ if (varbinds[0].len_val != 12) {
+ print_helperr(PACKET_ERROR);
+ goto exit;
+ }
+ curr = curr->next;
+ i++;
+ }
+
+ i = 0;
+
+ if (m_authmac) {
+ int c = swap4(auth_mode);
+
+ varbinds[i].oid = AuthorizationMacEnable;
+ varbinds[i].len_oid = sizeof(AuthorizationMacEnable);
+ varbinds[i].value = (char *) &c;
+ varbinds[i].len_val = 1;
+ varbinds[i].type = INT_VALUE;
+ i++;
+ }
+
+ if (m_ea_port) {
+ varbinds[i].oid = AuthRadiusPort;
+ varbinds[i].len_oid = sizeof(AuthRadiusPort);
+ ea_port = htons(ea_port);
+ varbinds[i].value = (char *) &ea_port;
+ varbinds[i].len_val = 2;
+ varbinds[i].type = INT_VALUE;
+ i++;
+ }
+
+ if (m_ea_ip) {
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES) {
+ varbinds[i].oid = AuthRadiusIP;
+ varbinds[i].len_oid = sizeof(AuthRadiusIP);
+ }
+
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ varbinds[i].oid = ServerIP;
+ varbinds[i].len_oid = sizeof(ServerIP);
+ }
+
+ ea_ip.s_addr = htonl(ea_ip.s_addr);
+ ea_ip.s_addr = swap4(ea_ip.s_addr);
+ varbinds[i].value = (char *) &ea_ip.s_addr;
+ varbinds[i].len_val = 4;
+ varbinds[i].type = INT_VALUE;
+ i++;
+ }
+
+ if (m_ea_mode) {
+ varbinds[i].oid = Dot1xEnable;
+ varbinds[i].len_oid = sizeof(Dot1xEnable);
+ ea_mode = swap4(ea_mode);
+ varbinds[i].value = (char *) &ea_mode;
+ varbinds[i].len_val = 1;
+ varbinds[i].type = INT_VALUE;
+ i++;
+ }
+
+ if (m_ea_dest_port) {
+ varbinds[i].oid = AuthRadiusDestinPort;
+ varbinds[i].len_oid = sizeof(AuthRadiusDestinPort);
+ ea_dest_port = htons(ea_dest_port);
+ varbinds[i].value = (char *) &ea_dest_port;
+ varbinds[i].len_val = 2;
+ varbinds[i].type = INT_VALUE;
+ i++;
+ }
+
+ if (m_ea_secret) {
+ int c = strlen(ea_secret);
+
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES) {
+ varbinds[i].oid = AuthRadiusSecretLength;
+ varbinds[i].len_oid = sizeof(AuthRadiusSecretLength);
+ varbinds[i].value = (char *) &c;
+ varbinds[i].len_val = 1;
+ varbinds[i].type = INT_VALUE;
+ i++;
+
+ varbinds[i].oid = AuthRadiusSecret;
+ varbinds[i].len_oid = sizeof(AuthRadiusSecret);
+ }
+
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ varbinds[i].oid = ServerSecret;
+ varbinds[i].len_oid = sizeof(ServerSecret);
+ }
+
+ varbinds[i].value = ea_secret;
+ varbinds[i].len_val = c;
+ varbinds[i].type = STRING_VALUE;
+ i++;
+ }
+
+ if (m_ea_time) {
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES) {
+ varbinds[i].oid = AuthRadiusReauthorizationTime;
+ varbinds[i].len_oid = sizeof(AuthRadiusReauthorizationTime);
+ }
+
+ if (ap_type == ATMEL12350 && ap_vendorext == EZYNET) {
+ varbinds[i].oid = BroadcastKeyPeriod;
+ varbinds[i].len_oid = sizeof(BroadcastKeyPeriod);
+ }
+
+ ea_time = htons(ea_time);
+ varbinds[i].value = (char *) &ea_time;
+ varbinds[i].len_val = 2;
+ varbinds[i].type = INT_VALUE;
+ i++;
+ }
+
+ print_help(WAIT_SET);
+ if (snmp(varbinds, i, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+ wbkgd(main_sub, A_NORMAL);
+ wattrset(main_sub, COLOR_PAIR(13));
+ mvwaddstr(main_sub, 8, 0, MAC_HEADER);
+ wattrset(main_sub, A_NORMAL);
+ wrefresh(main_sub);
+ print_help(DONE_SET);
+ goto exit;
+ case KEY_DOWN:
+ case KEY_RIGHT:
+ if (end < mac_num) {
+ begin++;
+ end++;
+ scroll_rows(first, begin, end, 9, 0);
+ }
+ continue;
+ case KEY_UP:
+ case KEY_LEFT:
+ if (begin > 1) {
+ begin--;
+ end--;
+ scroll_rows(first, begin, end, 9, 0);
+ }
+ continue;
+ case KEY_NPAGE:
+ if (end < mac_num) {
+ end = (end + (MAX_LINES) - 1 < mac_num) ?
+ end + (MAX_LINES) - 1 : mac_num;
+ begin = (end - (MAX_LINES) + 1 > 0) ?
+ end - (MAX_LINES) + 1 : 1;
+ scroll_rows(first, begin, end, 9, 0);
+ }
+ continue;
+ case KEY_PPAGE:
+ if (begin > 1) {
+ begin = (begin - (MAX_LINES) + 1 > 0) ?
+ begin - (MAX_LINES) + 1 : 1;
+ end = (begin + (MAX_LINES) - 1 < mac_num) ?
+ begin + (MAX_LINES) - 1 : mac_num;
+ scroll_rows(first, begin, end, 9, 0);
+ }
+ continue;
+ case KEY_END:
+ if (end < mac_num) {
+ begin = (mac_num > MAX_LINES) ? mac_num + 1 - (MAX_LINES) : 1;
+ end = mac_num;
+ scroll_rows(first, begin, end, 9, 0);
+ }
+ continue;
+ case KEY_HOME:
+ if (begin > 1) {
+ begin = 1;
+ end = (mac_num > MAX_LINES) ? MAX_LINES : mac_num;
+ scroll_rows(first, begin, end, 9, 0);
+ }
+ continue;
+ }
+ continue;
+ }
+
+ print_help(ANY_KEY);
+ exit:
+ getch();
+ quit:
+ while ((curr = first)) {
+ first = curr->next;
+ free(curr);
+ }
+ if (AuthMac)
+ free(AuthMac);
+ print_top(NULL, NULL);
+ clear_main(0);
+}
+
+void nwn_auth_mac()
+{
+ struct MacListStat *pmac, *first = NULL, *curr = NULL;
+ char Mac[] =
+ { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x03, 0x01, 0x03, 0x02,
+ 0x02, 0x01, 0x02, 0x00
+ };
+ char MacAllow[] =
+ { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x03, 0x01, 0x03, 0x02,
+ 0x02, 0x01, 0x03, 0x00
+ };
+ char MacRowStatus[] =
+ { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x03, 0x01, 0x03, 0x02,
+ 0x02, 0x01, 0x04, 0x00
+ };
+ char message[1024], auth_enable[] =
+ { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
+ char destroy = 6, create = 4, allow = 1;
+ int i, auth_mac = 0, mac_num = 0, begin, end;
+ varbind varbinds[3];
+ print_top(NULL, AUTH_TITLE);
+
+ mvwaddstr(main_sub, 2, 0, MAC_HEADER);
+ wrefresh(main_sub);
+ print_help(WAIT_RET);
+
+ mac_num = 1;
+ varbinds[0].oid = Mac;
+ varbinds[0].len_oid = sizeof(Mac);
+ varbinds[0].value = Mac;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET_NEXT) <= 0) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+
+ while (memcmp(varbinds[0].oid, Mac, sizeof(Mac) - 1) == 0) {
+
+ Mac[sizeof(Mac) - 1] = varbinds[0].oid[sizeof(Mac) - 1];
+ MacAllow[sizeof(MacAllow) - 1] = varbinds[0].oid[sizeof(Mac) - 1];
+ MacRowStatus[sizeof(MacRowStatus) - 1] =
+ varbinds[0].oid[sizeof(Mac) - 1];
+
+ varbinds[0].oid = Mac;
+ varbinds[0].len_oid = sizeof(Mac);
+ varbinds[0].value = Mac;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ varbinds[1].oid = MacAllow;
+ varbinds[1].len_oid = sizeof(MacAllow);
+ varbinds[1].value = Mac;
+ varbinds[1].len_val = 0;
+ varbinds[1].type = NULL_VALUE;
+ varbinds[2].oid = MacRowStatus;
+ varbinds[2].len_oid = sizeof(MacRowStatus);
+ varbinds[2].value = Mac;
+ varbinds[2].len_val = 0;
+ varbinds[2].type = NULL_VALUE;
+ if (snmp(varbinds, 3, GET) < 3) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+ if (memcmp(auth_enable, varbinds[0].value, 6)) {
+ if (first == NULL) {
+ first = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = first;
+ } else {
+ curr->next = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = curr->next;
+ }
+ memcpy(curr->addr, varbinds[0].value, 6);
+ curr->next = NULL;
+ mac_num++;
+ } else
+ auth_mac = 1;
+
+
+ varbinds[0].oid = Mac;
+ varbinds[0].len_oid = sizeof(Mac);
+ varbinds[0].value = Mac;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET_NEXT) <= 0) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+ }
+
+ begin = 1;
+ end = (mac_num > MAX_LINES) ? MAX_LINES : mac_num;
+
+ sprintf(message, "%s%s", MAC_AUTH, (auth_mac) ? OFF : ON);
+ mvwaddstr(main_sub, 0, 0, message);
+
+ scroll_rows(first, begin, end, 3, 0);
+
+ noecho();
+
+ print_help(MAC_HELP);
+ while (1) {
+ switch (getch()) {
+ case 'Q':
+ case 'q':
+ goto quit;
+ case 'a':
+ auth_mac = on_off(0, strlen(MAC_AUTH)) - 1;
+ clear_main_new(0, 1);
+ print_menusel(0, 0, MAC_AUTH, (auth_mac) ? OFF : ON);
+ continue;
+ case 'd':
+ mvwaddstr(main_sub, 1, 0, MAC_DEL);
+ get_value(message, 1, strlen(MAC_DEL), 5, INT_STRING,
+ 1, mac_num - 1, NULL);
+ i = atoi(message);
+ if (i == 1) {
+ pmac = first;
+ first = first->next;
+ free(pmac);
+ } else {
+ curr = first;
+ while (--i > 1)
+ curr = curr->next;
+ pmac = curr->next;
+ curr->next = pmac->next;
+ free(pmac);
+ }
+ mac_num--;
+ begin = 1;
+ end = (mac_num > MAX_LINES) ? MAX_LINES : mac_num;
+ scroll_rows(first, begin, end, 3, 0);
+ clear_main_new(1, 2);
+ continue;
+ case 'n':
+ case 'N':
+ mvwaddstr(main_sub, 1, 0, MAC_ADD);
+ curr = first;
+ while (curr && curr->next)
+ curr = curr->next;
+ if (first == NULL) {
+ first = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = first;
+ } else {
+ curr->next = (struct MacListStat *)
+ malloc(sizeof(struct MacListStat));
+ curr = curr->next;
+ }
+ curr->next = NULL;
+ mac_num++;
+ get_mac(curr->addr, 1, strlen(MAC_ADD));
+/*
+ for (i = 0; i < 6; i++) {
+ get_value(message, 1, 20 + i * 3, 3, ANY_STRING, 0, 0, NULL);
+ curr->addr[i] = strtol(message, NULL, 16);
+ }
+ clear_main_new(1, 2);
+*/
+ begin = 1;
+ end = (mac_num > MAX_LINES) ? MAX_LINES : mac_num;
+ scroll_rows(first, begin, end, 3, 0);
+ continue;
+ case 'w':
+ case 'W':
+ print_help(WAIT_SET);
+
+ Mac[sizeof(Mac) - 1] = 0;
+
+ varbinds[0].oid = Mac;
+ varbinds[0].len_oid = sizeof(Mac);
+ varbinds[0].value = Mac;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET_NEXT) <= 0) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+ while (memcmp(varbinds[0].oid, Mac, sizeof(Mac) - 1) == 0) {
+
+ MacRowStatus[sizeof(MacRowStatus) - 1] =
+ varbinds[0].oid[sizeof(Mac) - 1];
+ varbinds[0].oid = MacRowStatus;
+ varbinds[0].len_oid = sizeof(MacRowStatus);
+ varbinds[0].value = &destroy;
+ varbinds[0].len_val = 1;
+ varbinds[0].type = INT_VALUE;
+ if (snmp(varbinds, 1, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+ varbinds[0].oid = Mac;
+ varbinds[0].len_oid = sizeof(Mac);
+ varbinds[0].value = Mac;
+ varbinds[0].len_val = 0;
+ varbinds[0].type = NULL_VALUE;
+ if (snmp(varbinds, 1, GET_NEXT) <= 0) {
+ print_helperr(ERR_RET);
+ goto exit;
+ }
+ }
+
+
+ curr = first;
+ i = 1;
+
+ if (auth_mac) {
+ Mac[sizeof(Mac) - 1] = i;
+ MacAllow[sizeof(MacAllow) - 1] = i;
+ MacRowStatus[sizeof(MacRowStatus) - 1] = i;
+
+ varbinds[0].oid = MacRowStatus;
+ varbinds[0].len_oid = sizeof(MacRowStatus);
+ varbinds[0].value = &create;
+ varbinds[0].len_val = 1;
+ varbinds[0].type = INT_VALUE;
+ varbinds[1].oid = Mac;
+ varbinds[1].len_oid = sizeof(Mac);
+ varbinds[1].value = auth_enable;
+ varbinds[1].len_val = 6;
+ varbinds[1].type = STRING_VALUE;
+ varbinds[2].oid = MacAllow;
+ varbinds[2].len_oid = sizeof(MacAllow);
+ varbinds[2].value = &allow;
+ varbinds[2].len_val = 1;
+ varbinds[2].type = INT_VALUE;
+ print_help(WAIT_SET);
+ if (snmp(varbinds, 3, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+ i++;
+ }
+
+
+
+
+ while (curr != NULL) {
+ Mac[sizeof(Mac) - 1] = i;
+ MacAllow[sizeof(MacAllow) - 1] = i;
+ MacRowStatus[sizeof(MacRowStatus) - 1] = i;
+
+ varbinds[0].oid = MacRowStatus;
+ varbinds[0].len_oid = sizeof(MacRowStatus);
+ varbinds[0].value = &create;
+ varbinds[0].len_val = 1;
+ varbinds[0].type = INT_VALUE;
+ varbinds[1].oid = Mac;
+ varbinds[1].len_oid = sizeof(Mac);
+ varbinds[1].value = curr->addr;
+ varbinds[1].len_val = 6;
+ varbinds[1].type = STRING_VALUE;
+ varbinds[2].oid = MacAllow;
+ varbinds[2].len_oid = sizeof(MacAllow);
+ varbinds[2].value = &allow;
+ varbinds[2].len_val = 1;
+ varbinds[2].type = INT_VALUE;
+ print_help(WAIT_SET);
+ if (snmp(varbinds, 3, SET) <= 0) {
+ print_helperr(ERR_SET);
+ goto exit;
+ }
+ curr = curr->next;
+ i++;
+ }
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
+ print_help(DONE_SET);
+ goto exit;
+ case KEY_DOWN:
+ case KEY_RIGHT:
+ if (end < mac_num) {
+ begin++;
+ end++;
+ scroll_rows(first, begin, end, 3, 0);
+ }
+
+ continue;
+ case KEY_UP:
+ case KEY_LEFT:
+ if (begin > 1) {
+ begin--;
+ end--;
+ scroll_rows(first, begin, end, 3, 0);
+ }
+ continue;
+ }
+ continue;
+ }
+
+ print_help(ANY_KEY);
+ exit:
+ getch();
+ quit:
+ while ((curr = first)) {
+ first = curr->next;
+ free(curr);
+ }
+ print_top(NULL, NULL);
+ clear_main(0);
+}
+++ /dev/null
-/*
- * auth.c from Access Point SNMP Utils for Linux
- *
- * Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License Version 2 from
- * June 1991 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include "ap-utils.h"
-
-#define MAX_LINES LINES-6
-#define PACKET_ERROR _("AuthorizedMacTableString packet error")
-
-#define MAC_AUTH _("[A] MAC authorization: ")
-#define MAC_ADD _("Enter MAC: ")
-#define MAC_DEL _("Delete Num: ")
-#define MAC_TITLE _("Authorized MAC addresses")
-#define MAC_HEADER _("NUM MAC address")
-#define MAC_HELP _("A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit")
-
-extern WINDOW *main_sub;
-extern int LINES;
-extern short ap_type;
-
-void atmel_auth_mac()
-{
- struct AuthorizedMacTableString {
- unsigned int short Action;
- unsigned int short NumOfAllTableAddresses;
- unsigned int short NumOfCurrentAddress;
- unsigned char MacAddress[6];
- } *AuthMac = NULL, get;
-
- struct MacListStat *pmac, *first = NULL, *curr = NULL;
- uint32_t auth_mac_hw;
-
- char EnableAuthMAC[] =
- { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x01, 0x00
- };
- char AutorizedMac[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
- 0x02, 0x06, 0x02, 0x00
- };
-
- char message[1024], m_authmac = 0;
- int i, total_mac, auth_mac = 0, mac_num = 0, begin, end;
- varbind varbinds[1];
-
- if (ap_type == ATMEL12350) {
- EnableAuthMAC[5] = 0xE0;
- EnableAuthMAC[6] = 0x3E;
- AutorizedMac[5] = 0xE0;
- AutorizedMac[6] = 0x3E;
- }
-
- varbinds[0].oid = EnableAuthMAC;
- varbinds[0].len_oid = sizeof(EnableAuthMAC);
- varbinds[0].type = NULL_VALUE;
- varbinds[0].len_val = 0;
- print_help(WAIT_RET);
- if (snmp(varbinds, 1, GET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- print_top(NULL, MAC_TITLE);
-
- auth_mac = *(varbinds[0].value);
- sprintf(message, "%s%s", MAC_AUTH, (auth_mac == 1) ? ON : OFF);
- mvwaddstr(main_sub, 0, 0, message);
- mvwaddstr(main_sub, 2, 1, MAC_HEADER);
- wrefresh(main_sub);
-
- total_mac = 0;
- mac_num = 0;
-
- while (mac_num <= total_mac) {
- get.Action = 0x02; rshort(get.Action);
- get.NumOfAllTableAddresses = total_mac; rshort(get.NumOfAllTableAddresses);
- get.NumOfCurrentAddress = mac_num; rshort(get.NumOfCurrentAddress);
-
- varbinds[0].oid = AutorizedMac;
- varbinds[0].len_oid = sizeof(AutorizedMac);
- varbinds[0].value = (char *) &get;
- varbinds[0].len_val = 12;
- varbinds[0].type = STRING_VALUE;
-
- if (snmp(varbinds, 1, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
-
- if (varbinds[0].len_val == 12) {
- if (AuthMac)
- free(AuthMac);
- AuthMac =
- (struct AuthorizedMacTableString *) malloc(varbinds[0].
- len_val);
- memcpy(AuthMac, varbinds[0].value, varbinds[0].len_val);
-/* AuthMac =
- (struct AuthorizedMacTableString *) varbinds[0].value;*/
- } else {
- print_helperr(PACKET_ERROR);
- goto exit;
- }
-
- rshort(AuthMac->NumOfAllTableAddresses);
- total_mac =
- (AuthMac->NumOfAllTableAddresses ==
- 65535) ? 0 : AuthMac->NumOfAllTableAddresses;
-
- if (mac_num) {
- if (first == NULL) {
- first = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = first;
- } else {
- curr->next = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = curr->next;
- }
- memcpy(curr->addr, AuthMac->MacAddress, 6);
- curr->next = NULL;
- }
- mac_num++;
- }
-
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
- scroll_rows(first, begin, end, 3, 0);
-
- noecho();
-
- print_help(MAC_HELP);
- while (1) {
- switch (getch()) {
- case 'q':
- case 'Q':
- goto quit;
- case 'a':
- case 'A':
- auth_mac = on_off(0, strlen(MAC_AUTH));
- clear_main_new(0, 1);
- print_menusel(0, 0, MAC_AUTH, (auth_mac == 1) ? ON : OFF);
- m_authmac = 1;
- continue;
- case 'd':
- case 'D':
- mvwaddstr(main_sub, 1, 0, MAC_DEL);
- get_value(message, 1, strlen(MAC_DEL), 5, INT_STRING,
- 1, mac_num - 1, NULL);
- i = atoi(message);
- if (i == 1) {
- pmac = first;
- first = first->next;
- free(pmac);
- } else {
- curr = first;
- while (--i > 1)
- curr = curr->next;
- pmac = curr->next;
- curr->next = pmac->next;
- free(pmac);
- }
- mac_num--;
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
- scroll_rows(first, begin, end, 3, 0);
- clear_main_new(1, 2);
- continue;
- case 'n':
- case 'N':
- mvwaddstr(main_sub, 1, 0, MAC_ADD);
- curr = first;
- while (curr && curr->next)
- curr = curr->next;
- if (first == NULL) {
- first = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = first;
- } else {
- curr->next = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = curr->next;
- }
- curr->next = NULL;
- mac_num++;
-/* get_value(message, 1, strlen(MAC_ADD), 13, ANY_STRING, 0, 0,
- NULL);
-
- for (i = 0; i < 6; i++) {
- mess[0] = message[2 * i];
- mess[1] = message[2 * i + 1];
- mess[2] = '\0';
- curr->addr[i] = strtol(mess, NULL, 16);
- }
- clear_main_new(1, 2);
-*/
- get_mac(curr->addr, 1, strlen(MAC_ADD));
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
- scroll_rows(first, begin, end, 3, 0);
- clear_main_new(1, 2);
- continue;
- case 'w':
- case 'W':
- if (m_authmac) {
- auth_mac_hw = swap4(auth_mac);
- varbinds[0].oid = EnableAuthMAC;
- varbinds[0].len_oid = sizeof(EnableAuthMAC);
- varbinds[0].type = INT_VALUE;
- varbinds[0].value = (char *) &auth_mac_hw;
- varbinds[0].len_val = 1;
- print_help(WAIT_SET);
- if (snmp(varbinds, 1, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- }
- curr = first;
- i = 1;
- while (curr != NULL) {
- get.Action = 0x01; rshort(get.Action);
- get.NumOfAllTableAddresses = mac_num - 1; rshort(get.NumOfAllTableAddresses);
- get.NumOfCurrentAddress = i; rshort(get.NumOfCurrentAddress);
- memcpy(get.MacAddress, curr->addr, 6);
- varbinds[0].oid = AutorizedMac;
- varbinds[0].len_oid = sizeof(AutorizedMac);
- varbinds[0].value = (char *) &get;
- varbinds[0].len_val = 12;
- varbinds[0].type = STRING_VALUE;
- print_help(WAIT_SET);
- if (snmp(varbinds, 1, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- if (varbinds[0].len_val != 12) {
- print_helperr(PACKET_ERROR);
- goto exit;
- }
- curr = curr->next;
- i++;
- }
- print_help(DONE_SET);
- goto exit;
- case KEY_DOWN:
- case KEY_RIGHT:
- if (end < mac_num) {
- begin++;
- end++;
- scroll_rows(first, begin, end, 3, 0);
- }
- continue;
- case KEY_UP:
- case KEY_LEFT:
- if (begin > 1) {
- begin--;
- end--;
- scroll_rows(first, begin, end, 3, 0);
- }
- continue;
- }
- continue;
- }
-
- print_help(ANY_KEY);
- exit:
- getch();
- quit:
- while ((curr = first)) {
- first = curr->next;
- free(curr);
- }
- if (AuthMac)
- free(AuthMac);
- print_top(NULL, NULL);
- clear_main(0);
-}
-
-void nwn_auth_mac()
-{
- struct MacListStat *pmac, *first = NULL, *curr = NULL;
- char Mac[] =
- { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x03, 0x01, 0x03, 0x02,
- 0x02, 0x01, 0x02, 0x00
- };
- char MacAllow[] =
- { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x03, 0x01, 0x03, 0x02,
- 0x02, 0x01, 0x03, 0x00
- };
- char MacRowStatus[] =
- { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x03, 0x01, 0x03, 0x02,
- 0x02, 0x01, 0x04, 0x00
- };
- char message[1024], auth_enable[] =
- { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
- char destroy = 6, create = 4, allow = 1;
- int i, auth_mac = 0, mac_num = 0, begin, end;
- varbind varbinds[3];
- print_top(NULL, MAC_TITLE);
-
- mvwaddstr(main_sub, 2, 5, MAC_HEADER);
- wrefresh(main_sub);
- print_help(WAIT_RET);
-
- mac_num = 1;
- varbinds[0].oid = Mac;
- varbinds[0].len_oid = sizeof(Mac);
- varbinds[0].value = Mac;
- varbinds[0].len_val = 0;
- varbinds[0].type = NULL_VALUE;
- if (snmp(varbinds, 1, GET_NEXT) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
-
- while (memcmp(varbinds[0].oid, Mac, sizeof(Mac) - 1) == 0) {
-
- Mac[sizeof(Mac) - 1] = varbinds[0].oid[sizeof(Mac) - 1];
- MacAllow[sizeof(MacAllow) - 1] = varbinds[0].oid[sizeof(Mac) - 1];
- MacRowStatus[sizeof(MacRowStatus) - 1] =
- varbinds[0].oid[sizeof(Mac) - 1];
-
- varbinds[0].oid = Mac;
- varbinds[0].len_oid = sizeof(Mac);
- varbinds[0].value = Mac;
- varbinds[0].len_val = 0;
- varbinds[0].type = NULL_VALUE;
- varbinds[1].oid = MacAllow;
- varbinds[1].len_oid = sizeof(MacAllow);
- varbinds[1].value = Mac;
- varbinds[1].len_val = 0;
- varbinds[1].type = NULL_VALUE;
- varbinds[2].oid = MacRowStatus;
- varbinds[2].len_oid = sizeof(MacRowStatus);
- varbinds[2].value = Mac;
- varbinds[2].len_val = 0;
- varbinds[2].type = NULL_VALUE;
- if (snmp(varbinds, 3, GET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- if (memcmp(auth_enable, varbinds[0].value, 6)) {
- if (first == NULL) {
- first = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = first;
- } else {
- curr->next = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = curr->next;
- }
- memcpy(curr->addr, varbinds[0].value, 6);
- curr->next = NULL;
- mac_num++;
- } else
- auth_mac = 1;
-
-
- varbinds[0].oid = Mac;
- varbinds[0].len_oid = sizeof(Mac);
- varbinds[0].value = Mac;
- varbinds[0].len_val = 0;
- varbinds[0].type = NULL_VALUE;
- if (snmp(varbinds, 1, GET_NEXT) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- }
-
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
-
- sprintf(message, "%s%s", MAC_AUTH, (auth_mac) ? OFF : ON);
- mvwaddstr(main_sub, 0, 0, message);
-
- scroll_rows(first, begin, end, 3, 0);
-
- noecho();
-
- print_help(MAC_HELP);
- while (1) {
- switch (getch()) {
- case 'Q':
- case 'q':
- goto quit;
- case 'a':
- auth_mac = on_off(0, strlen(MAC_AUTH)) - 1;
- clear_main_new(0, 1);
- print_menusel(0, 0, MAC_AUTH, (auth_mac) ? OFF : ON);
- continue;
- case 'd':
- mvwaddstr(main_sub, 1, 0, MAC_DEL);
- get_value(message, 1, strlen(MAC_DEL), 5, INT_STRING,
- 1, mac_num - 1, NULL);
- i = atoi(message);
- if (i == 1) {
- pmac = first;
- first = first->next;
- free(pmac);
- } else {
- curr = first;
- while (--i > 1)
- curr = curr->next;
- pmac = curr->next;
- curr->next = pmac->next;
- free(pmac);
- }
- mac_num--;
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
- scroll_rows(first, begin, end, 3, 0);
- clear_main_new(1, 2);
- continue;
- case 'n':
- case 'N':
- mvwaddstr(main_sub, 1, 0, MAC_ADD);
- curr = first;
- while (curr && curr->next)
- curr = curr->next;
- if (first == NULL) {
- first = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = first;
- } else {
- curr->next = (struct MacListStat *)
- malloc(sizeof(struct MacListStat));
- curr = curr->next;
- }
- curr->next = NULL;
- mac_num++;
- get_mac(curr->addr, 1, strlen(MAC_ADD));
-/*
- for (i = 0; i < 6; i++) {
- get_value(message, 1, 20 + i * 3, 3, ANY_STRING, 0, 0, NULL);
- curr->addr[i] = strtol(message, NULL, 16);
- }
- clear_main_new(1, 2);
-*/
- begin = 1;
- end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
- scroll_rows(first, begin, end, 3, 0);
- continue;
- case 'w':
- case 'W':
- print_help(WAIT_SET);
-
- Mac[sizeof(Mac) - 1] = 0;
-
- varbinds[0].oid = Mac;
- varbinds[0].len_oid = sizeof(Mac);
- varbinds[0].value = Mac;
- varbinds[0].len_val = 0;
- varbinds[0].type = NULL_VALUE;
- if (snmp(varbinds, 1, GET_NEXT) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- while (memcmp(varbinds[0].oid, Mac, sizeof(Mac) - 1) == 0) {
-
- MacRowStatus[sizeof(MacRowStatus) - 1] =
- varbinds[0].oid[sizeof(Mac) - 1];
- varbinds[0].oid = MacRowStatus;
- varbinds[0].len_oid = sizeof(MacRowStatus);
- varbinds[0].value = &destroy;
- varbinds[0].len_val = 1;
- varbinds[0].type = INT_VALUE;
- if (snmp(varbinds, 1, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- varbinds[0].oid = Mac;
- varbinds[0].len_oid = sizeof(Mac);
- varbinds[0].value = Mac;
- varbinds[0].len_val = 0;
- varbinds[0].type = NULL_VALUE;
- if (snmp(varbinds, 1, GET_NEXT) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- }
-
-
- curr = first;
- i = 1;
-
- if (auth_mac) {
- Mac[sizeof(Mac) - 1] = i;
- MacAllow[sizeof(MacAllow) - 1] = i;
- MacRowStatus[sizeof(MacRowStatus) - 1] = i;
-
- varbinds[0].oid = MacRowStatus;
- varbinds[0].len_oid = sizeof(MacRowStatus);
- varbinds[0].value = &create;
- varbinds[0].len_val = 1;
- varbinds[0].type = INT_VALUE;
- varbinds[1].oid = Mac;
- varbinds[1].len_oid = sizeof(Mac);
- varbinds[1].value = auth_enable;
- varbinds[1].len_val = 6;
- varbinds[1].type = STRING_VALUE;
- varbinds[2].oid = MacAllow;
- varbinds[2].len_oid = sizeof(MacAllow);
- varbinds[2].value = &allow;
- varbinds[2].len_val = 1;
- varbinds[2].type = INT_VALUE;
- print_help(WAIT_SET);
- if (snmp(varbinds, 3, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- i++;
- }
-
-
-
-
- while (curr != NULL) {
- Mac[sizeof(Mac) - 1] = i;
- MacAllow[sizeof(MacAllow) - 1] = i;
- MacRowStatus[sizeof(MacRowStatus) - 1] = i;
-
- varbinds[0].oid = MacRowStatus;
- varbinds[0].len_oid = sizeof(MacRowStatus);
- varbinds[0].value = &create;
- varbinds[0].len_val = 1;
- varbinds[0].type = INT_VALUE;
- varbinds[1].oid = Mac;
- varbinds[1].len_oid = sizeof(Mac);
- varbinds[1].value = curr->addr;
- varbinds[1].len_val = 6;
- varbinds[1].type = STRING_VALUE;
- varbinds[2].oid = MacAllow;
- varbinds[2].len_oid = sizeof(MacAllow);
- varbinds[2].value = &allow;
- varbinds[2].len_val = 1;
- varbinds[2].type = INT_VALUE;
- print_help(WAIT_SET);
- if (snmp(varbinds, 3, SET) <= 0) {
- print_helperr(ERR_RET);
- goto exit;
- }
- curr = curr->next;
- i++;
- }
- print_help(DONE_SET);
- goto exit;
- case KEY_DOWN:
- case KEY_RIGHT:
- if (end < mac_num) {
- begin++;
- end++;
- scroll_rows(first, begin, end, 3, 0);
- }
-
- continue;
- case KEY_UP:
- case KEY_LEFT:
- if (begin > 1) {
- begin--;
- end--;
- scroll_rows(first, begin, end, 3, 0);
- }
- continue;
- }
- continue;
- }
-
- print_help(ANY_KEY);
- exit:
- getch();
- quit:
- while ((curr = first)) {
- first = curr->next;
- free(curr);
- }
- print_top(NULL, NULL);
- clear_main(0);
-}
* bridge.c from Access Point SNMP Utils for Linux
*
* Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ * Copyright (c) 2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
#define OPER _("[O] Operational mode: ")
#define REMOTE_MAC _("[M] Preferred BSSID (remote MAC addr.): ")
#define CF_PORT _("[C] Configuration-enabled port(s): ")
-#define TRAP_PORT _("[T] Trap-sending port(s): ")
+#define TRAP_PORT _("[T] Trap-sending port: ")
#define FW_BCAST _("[R] Forward broadcast traffic: ")
#define SB_BCAST _("[B] Isolate wireless clients (broadcast traffic): ")
#define SB_UCAST _("[U] Isolate wireless clients (unicast traffic): ")
-#define HELP _("INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu")
+#define HELP _("INGFPDOMSCRBUT - set; W - write conf; Q - quit to menu")
extern short ap_type, ap_vendorext;
+
void bridging()
{
+
+char *bridge_modes[6] = {
+ _("Wireless Bridge Point to MultiPoint"),
+ _("Access Point"),
+ _("Access Point client"),
+ _("Wireless Bridge Point to Point"),
+ _("Repeater"),
+ _("unknown")
+};
+
char sysTrapSwitch[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x03, 0x00
};
char operDHCP[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x05, 0x00
};
- char PrimaryPort[] = {
+ char operPrimaryPort[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x06, 0x00
};
- /* This one is ATMEL12350 MIB specific. */
- char ConfigPort[] = {
- 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x02, 0x07, 0x00
+
+ /* This one is ATMEL410 SBRIDGES MIB and ATMEL12350 all MIBs specific. */
+ char operConfigurationPort[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x07, 0x00
};
- /* This one is ATMEL12350 TELLUS MIB specific. */
- char TrapPort[] = {
+
+ /* This one is ATMEL12350 GEMTEK MIB and ATMEL12350 EZYNET MIB specific. */
+ char operTrapPort[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x02, 0x08, 0x00
};
- char IPFilter[] = {
+ char operIPFilter[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x01, 0x00
};
- /* These 3 are ATMEL12350 MIB specific. */
- char ForwardBroadcast[] = {
- 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x03, 0x02, 0x00
+
+ /* These 3 are ATMEL410 SBRIDGES MIB and ATMEL12350 all MIBs specific. */
+ char operForwarbBcast[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x02, 0x00
};
- char SendBackBcast[] = {
- 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x03, 0x03, 0x00
+ char operSendBackBcast[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x03, 0x00
};
- char SendBackUnicast[] = {
- 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x03, 0x04, 0x00
+ char operSendBackUnicast[] = {
+ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x04, 0x00
};
char bridgeOperationalMode[] = {
m_dhcp = 0, m_ip = 0, m_mask = 0, m_gw = 0, m_remote_bssid = 0,
m_config_port = 0, m_trap_port = 0, m_fw_bcast = 0, m_sb_bcast = 0,
m_sb_ucast = 0;
- char *bridge_modes[6] = {
- _("Wireless Bridge Point to MultiPoint"),
- _("Access Point"),
- _("Access Point client"),
- _("Wireless Bridge Point to Point"),
- _("Repeater"),
- ("unknown")
- }, *pr_ports[2] = {
+ char *pr_ports[2] = {
_("Ethernet"),
_("Wireless")
- }, *cf_trap_ports[3] = {
- _("Both"),
+ }, *cf_ports[3] = {
_("Ethernet"),
- _("Wireless")
+ _("Wireless (can be risky)"),
+ _("Both")
};
int i;
unsigned int trap_port = 0;
if (ap_type == ATMEL12350) {
- operEthernetAddress[5] = 0xE0;
- operEthernetAddress[6] = 0x3E;
- IPFilter[5] = 0xE0;
- IPFilter[6] = 0x3E;
- PrimaryPort[5] = 0xE0;
- PrimaryPort[6] = 0x3E;
- operDHCP[5] = 0xE0;
- operDHCP[6] = 0x3E;
+ sysTrapSwitch[5] = 0xE0;
+ sysTrapSwitch[6] = 0x3E;
operIPAddress[5] = 0xE0;
operIPAddress[6] = 0x3E;
operIPMask[5] = 0xE0;
operIPMask[6] = 0x3E;
+ operEthernetAddress[5] = 0xE0;
+ operEthernetAddress[6] = 0x3E;
operGateway[5] = 0xE0;
operGateway[6] = 0x3E;
+ operDHCP[5] = 0xE0;
+ operDHCP[6] = 0x3E;
+ operPrimaryPort[5] = 0xE0;
+ operPrimaryPort[6] = 0x3E;
+ operConfigurationPort[5] = 0xE0;
+ operConfigurationPort[6] = 0x3E;
+ operIPFilter[5] = 0xE0;
+ operIPFilter[6] = 0x3E;
+ operForwarbBcast[5] = 0xE0;
+ operForwarbBcast[6] = 0x3E;
+ operSendBackBcast[5] = 0xE0;
+ operSendBackBcast[6] = 0x3E;
+ operSendBackUnicast[5] = 0xE0;
+ operSendBackUnicast[6] = 0x3E;
bridgeOperationalMode[5] = 0xE0;
bridgeOperationalMode[6] = 0x3E;
bridgeRemoteBridgeBSSID[5] = 0xE0;
bridgeRemoteBridgeBSSID[6] = 0x3E;
- sysTrapSwitch[5] = 0xE0;
- sysTrapSwitch[6] = 0x3E;
}
for (i = 0; i < 15; i++) {
i = 0;
- varbinds[i++].oid = operEthernetAddress;
- varbinds[i++].oid = IPFilter;
- varbinds[i++].oid = PrimaryPort;
- varbinds[i++].oid = operDHCP;
+ varbinds[i++].oid = sysTrapSwitch;
varbinds[i++].oid = operIPAddress;
varbinds[i++].oid = operIPMask;
+ varbinds[i++].oid = operEthernetAddress;
varbinds[i++].oid = operGateway;
+ varbinds[i++].oid = operDHCP;
+ varbinds[i++].oid = operPrimaryPort;
+ varbinds[i++].oid = operIPFilter;
varbinds[i++].oid = bridgeOperationalMode;
- varbinds[i++].oid = sysTrapSwitch;
varbinds[i++].oid = bridgeRemoteBridgeBSSID;
- if (ap_type == ATMEL12350) {
- varbinds[i++].oid = ConfigPort;
- varbinds[i++].oid = ForwardBroadcast;
- varbinds[i++].oid = SendBackBcast;
- varbinds[i++].oid = SendBackUnicast;
- if (ap_vendorext == TELLUS || ap_vendorext == VERNET)
- varbinds[i++].oid = TrapPort;
+ if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ (ap_type == ATMEL12350)) {
+ varbinds[i++].oid = operConfigurationPort;
+ varbinds[i++].oid = operForwarbBcast;
+ varbinds[i++].oid = operSendBackBcast;
+ varbinds[i++].oid = operSendBackUnicast;
+ }
+ if (ap_type == ATMEL12350 &&
+ (ap_vendorext == GEMTEK || ap_vendorext == EZYNET)) {
+ varbinds[i++].oid = operTrapPort;
}
print_help(WAIT_RET);
- if (snmp(varbinds, i, GET) <= 0) {
+ if (snmp(varbinds, i, GET) < i) {
print_helperr(ERR_RET);
goto exit;
}
print_top(NULL, _("Bridging"));
sprintf(message, "%s%02X%02X%02X%02X%02X%02X", MAC,
- varbinds[0].value[0] & 0xFF,
- varbinds[0].value[1] & 0xFF,
- varbinds[0].value[2] & 0xFF,
- varbinds[0].value[3] & 0xFF,
- varbinds[0].value[4] & 0xFF,
- varbinds[0].value[5] & 0xFF);
+ varbinds[3].value[0] & 0xFF,
+ varbinds[3].value[1] & 0xFF,
+ varbinds[3].value[2] & 0xFF,
+ varbinds[3].value[3] & 0xFF,
+ varbinds[3].value[4] & 0xFF,
+ varbinds[3].value[5] & 0xFF);
mvwaddstr(main_sub, 0, 0, message);
- memcpy(&ip.s_addr, varbinds[4].value, 4);
+ memcpy(&ip.s_addr, varbinds[1].value, 4);
sprintf(message, "%s%s", IPADDR, inet_ntoa(ip));
mvwaddstr(main_sub, 1, 0, message);
- memcpy(&mask.s_addr, varbinds[5].value, 4);
+ memcpy(&mask.s_addr, varbinds[2].value, 4);
sprintf(message, "%s%s", NETMASK, inet_ntoa(mask));
mvwaddstr(main_sub, 1, 24, message);
- memcpy(&gw.s_addr, varbinds[6].value, 4);
+ memcpy(&gw.s_addr, varbinds[4].value, 4);
sprintf(message, "%s%s", GATEWAY, inet_ntoa(gw));
mvwaddstr(main_sub, 2, 0, message);
- filter = *(varbinds[1].value);
+ filter = *(varbinds[7].value);
sprintf(message, "%s%s", IP_FILTER, (filter == 1) ? ON : OFF);
mvwaddstr(main_sub, 3, 0, message);
- if (ap_vendorext == SBRIDGES) {
+/*
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES) {
sprintf(message, "%s%02X%02X%02X%02X%02X%02X", SB_ATTMAC,
- *(varbinds[2].value +0) & 0xFF, *(varbinds[2].value +1) & 0xFF,
- *(varbinds[2].value +2) & 0xFF, *(varbinds[2].value +3) & 0xFF,
- *(varbinds[2].value +4) & 0xFF, *(varbinds[2].value +5) & 0xFF);
+ *(varbinds[6].value +0) & 0xFF, *(varbinds[6].value +1) & 0xFF,
+ *(varbinds[6].value +2) & 0xFF, *(varbinds[6].value +3) & 0xFF,
+ *(varbinds[6].value +4) & 0xFF, *(varbinds[6].value +5) & 0xFF);
} else {
- primary_port = *(varbinds[2].value);
+*/
+ primary_port = *(varbinds[6].value);
if (primary_port < 1 || primary_port > 2) {
primary_port = 1;
}
sprintf(message, "%s%s", PR_PORT, pr_ports[primary_port - 1]);
+/*
}
+*/
mvwaddstr(main_sub, 4, 0, message);
- dhcp = *(varbinds[3].value);
+ dhcp = *(varbinds[5].value);
sprintf(message, "%s%s", DHCP, (dhcp == 1) ? ON : OFF);
mvwaddstr(main_sub, 5, 0, message);
memcpy(RemoteBSSID, varbinds[9].value, 6);
- if ((bridge_mode = *(varbinds[7].value)) != 2) {
+ if ((bridge_mode = *(varbinds[8].value)) != 2) {
sprintf(message, "%s%02X%02X%02X%02X%02X%02X", REMOTE_MAC,
*(RemoteBSSID + 0) & 0xFF, *(RemoteBSSID + 1) & 0xFF,
*(RemoteBSSID + 2) & 0xFF, *(RemoteBSSID + 3) & 0xFF,
sprintf(message, "%s%s", OPER, bridge_modes[bridge_mode - 1]);
mvwaddstr(main_sub, 6, 0, message);
- traps = *(varbinds[8].value);
+ traps = *(varbinds[0].value);
sprintf(message, "%s%s", TRAPS, (traps == 1) ? ON : OFF);
mvwaddstr(main_sub, 8, 0, message);
- if (ap_type == ATMEL12350) {
+ if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ ap_type == ATMEL12350) {
config_port = *(varbinds[10].value);
- sprintf(message, "%s%s", CF_PORT, cf_trap_ports[config_port]);
+ if (config_port == 0) /* happens with ATMEL12350 EZYNET firmware only */
+ config_port = 3;
+ sprintf(message, "%s%s", CF_PORT, cf_ports[config_port - 1]);
mvwaddstr(main_sub, 9, 0, message);
- if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
- for (i = 0; i < varbinds[14].len_val;
- trap_port += varbinds[14].value[i] *
- (1 << ((varbinds[14].len_val - i - 1) * 8)), i++);
- sprintf(message, "%s%u", TRAP_PORT, trap_port);
- mvwaddstr(main_sub, 10, 0, message);
- }
-
fw_bcast = *(varbinds[11].value);
sprintf(message, "%s%s", FW_BCAST, (fw_bcast == 1) ? ON : OFF);
- mvwaddstr(main_sub, 11, 0, message);
+ mvwaddstr(main_sub, 10, 0, message);
sb_bcast = *(varbinds[12].value);
sprintf(message, "%s%s", SB_BCAST, (sb_bcast == 1) ? ON : OFF);
- mvwaddstr(main_sub, 12, 0, message);
+ mvwaddstr(main_sub, 11, 0, message);
sb_ucast = *(varbinds[13].value);
sprintf(message, "%s%s", SB_UCAST, (sb_ucast == 1) ? ON : OFF);
+ mvwaddstr(main_sub, 12, 0, message);
+ }
+
+ if (ap_type == ATMEL12350 &&
+ (ap_vendorext == GEMTEK || ap_vendorext == EZYNET)) {
+ for (i = 0; i < varbinds[14].len_val;
+ trap_port += varbinds[14].value[i] *
+ (1 << ((varbinds[14].len_val - i - 1) * 8)), i++);
+ sprintf(message, "%s%u", TRAP_PORT, trap_port);
mvwaddstr(main_sub, 13, 0, message);
}
+
wrefresh(main_sub);
noecho();
continue;
case 'P':
case 'p':
- if (ap_vendorext != SBRIDGES) {
- primary_port = menu_choose(4, strlen(PR_PORT), pr_ports, 2) + 1;
- clear_main_new(4, 5);
- print_menusel(4, 0, PR_PORT, pr_ports[primary_port - 1]);
- m_primary_port = 1;
- }
+/*
+ if (ap_type == ATMEL410 && ap_vendorext == SBRIDGES)
+ continue;
+*/
+ primary_port = menu_choose(4, strlen(PR_PORT), pr_ports, 2) + 1;
+ clear_main_new(4, 5);
+ print_menusel(4, 0, PR_PORT, pr_ports[primary_port - 1]);
+ m_primary_port = 1;
continue;
case 'D':
case 'd':
continue;
case 'C':
case 'c':
- if (ap_type == ATMEL12350) {
- config_port = menu_choose(9, strlen(CF_PORT), cf_trap_ports, 3);
+ if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ ap_type == ATMEL12350) {
+ config_port = menu_choose(9, strlen(CF_PORT), cf_ports, 3) + 1;
clear_main_new(9, 10);
- print_menusel(9, 0, CF_PORT, cf_trap_ports[config_port]);
+ print_menusel(9, 0, CF_PORT, cf_ports[config_port - 1]);
m_config_port = 1;
}
continue;
- case 'T':
- case 't':
- if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
- get_value(message, 10, strlen(TRAP_PORT), 6, INT_STRING,
- 0, 65535, HELP);
- trap_port = atoi(message);
- m_trap_port = 1;
- }
- continue;
case 'R':
case 'r':
- if (ap_type == ATMEL12350) {
- fw_bcast = on_off(11, strlen(FW_BCAST));
- clear_main_new(11, 12);
- print_menusel(11, 0, FW_BCAST, (fw_bcast == 1) ? ON : OFF);
+ if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ ap_type == ATMEL12350) {
+ fw_bcast = on_off(10, strlen(FW_BCAST));
+ clear_main_new(10, 11);
+ print_menusel(10, 0, FW_BCAST, (fw_bcast == 1) ? ON : OFF);
m_fw_bcast = 1;
}
continue;
case 'B':
case 'b':
- if (ap_type == ATMEL12350) {
- sb_bcast = on_off(12, strlen(SB_BCAST));
- clear_main_new(12, 13);
- print_menusel(12, 0, SB_BCAST, (sb_bcast == 1) ? ON : OFF);
+ if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ ap_type == ATMEL12350) {
+ sb_bcast = on_off(11, strlen(SB_BCAST));
+ clear_main_new(11, 12);
+ print_menusel(11, 0, SB_BCAST, (sb_bcast == 1) ? ON : OFF);
m_sb_bcast = 1;
}
continue;
case 'U':
case 'u':
- if (ap_type == ATMEL12350) {
- sb_ucast = on_off(13, strlen(SB_UCAST));
- clear_main_new(13, 14);
- print_menusel(13, 0, SB_UCAST, (sb_ucast == 1) ? ON : OFF);
+ if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ ap_type == ATMEL12350) {
+ sb_ucast = on_off(12, strlen(SB_UCAST));
+ clear_main_new(12, 13);
+ print_menusel(12, 0, SB_UCAST, (sb_ucast == 1) ? ON : OFF);
m_sb_ucast = 1;
}
continue;
+ case 'T':
+ case 't':
+ if (ap_type == ATMEL12350 &&
+ (ap_vendorext == GEMTEK || ap_vendorext == EZYNET)) {
+ get_value(message, 13, strlen(TRAP_PORT), 6, INT_STRING,
+ 0, 65535, HELP);
+ trap_port = atoi(message);
+ m_trap_port = 1;
+ }
+ continue;
case 'w':
case 'W':
i = 0;
if (m_filter) {
- varbinds[i].oid = IPFilter;
- varbinds[i].len_oid = sizeof(IPFilter);
+ varbinds[i].oid = operIPFilter;
+ varbinds[i].len_oid = sizeof(operIPFilter);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &filter;
varbinds[i].len_val = 1;
i++;
}
if (m_primary_port) {
- varbinds[i].oid = PrimaryPort;
- varbinds[i].len_oid = sizeof(PrimaryPort);
+ varbinds[i].oid = operPrimaryPort;
+ varbinds[i].len_oid = sizeof(operPrimaryPort);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &primary_port;
varbinds[i].len_val = 1;
i++;
}
if (m_config_port) {
- varbinds[i].oid = ConfigPort;
- varbinds[i].len_oid = sizeof(ConfigPort);
+ varbinds[i].oid = operConfigurationPort;
+ varbinds[i].len_oid = sizeof(operConfigurationPort);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &config_port;
varbinds[i].len_val = 1;
i++;
}
if (m_fw_bcast) {
- varbinds[i].oid = ForwardBroadcast;
- varbinds[i].len_oid = sizeof(ForwardBroadcast);
+ varbinds[i].oid = operForwarbBcast;
+ varbinds[i].len_oid = sizeof(operForwarbBcast);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &fw_bcast;
varbinds[i].len_val = 1;
i++;
}
if (m_sb_bcast) {
- varbinds[i].oid = SendBackBcast;
- varbinds[i].len_oid = sizeof(SendBackBcast);
+ varbinds[i].oid = operSendBackBcast;
+ varbinds[i].len_oid = sizeof(operSendBackBcast);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &sb_bcast;
varbinds[i].len_val = 1;
i++;
}
if (m_sb_ucast) {
- varbinds[i].oid = SendBackUnicast;
- varbinds[i].len_oid = sizeof(SendBackUnicast);
+ varbinds[i].oid = operSendBackUnicast;
+ varbinds[i].len_oid = sizeof(operSendBackUnicast);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &sb_ucast;
varbinds[i].len_val = 1;
int len_val;
len_val = (trap_port > 0x7fff) ? 3 : (trap_port > 0x7f) ? 2 : 1;
- varbinds[i].oid = TrapPort;
- varbinds[i].len_oid = sizeof(TrapPort);
+ varbinds[i].oid = operTrapPort;
+ varbinds[i].len_oid = sizeof(operTrapPort);
varbinds[i].type = STRING_VALUE;
varbinds[i].value = (char *) &trap_port;
varbinds[i].len_val = len_val;
}
print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0)
+ if (snmp(varbinds, i, SET) <= 0) {
print_helperr(ERR_SET);
- else
+ } else {
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
print_help(DONE_SET);
+ }
goto exit;
case 'Q':
case 'q':
print_top(NULL, NULL);
clear_main(0);
}
-
varbinds[1].oid = smtACKWindow;
varbinds[1].len_oid = sizeof(smtACKWindow);
print_help(WAIT_RET);
- if (snmp(varbinds, 2, GET) <= 0) {
+ if (snmp(varbinds, 2, GET) < 2) {
print_helperr(ERR_RET);
goto exit;
}
i++;
}
- print_help(WAIT_SET);
- if (snmp(varbinds, i, SET) <= 0) {
- print_helperr(ERR_SET);
+ print_help(WAIT_SET);
+ if (snmp(varbinds, i, SET) <= 0) {
+ print_helperr(ERR_SET);
goto exit;
- }
+ }
+ wbkgd(main_sub, A_NORMAL);
+ wrefresh(main_sub);
print_help(DONE_SET);
goto exit;
default:
print_top(NULL, NULL);
clear_main(0);
}
-
varbinds[7].oid = oid_secLastErrorAddress;
varbinds[7].len_oid = sizeof(oid_secLastErrorAddress);
- if (snmp(varbinds, OID_NUM, GET) <= 0) {
+ if (snmp(varbinds, OID_NUM, GET) < OID_NUM) {
print_help(ERR_RET);
goto exit;
}
* stations.c from Access Point SNMP Utils for Linux
*
* Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ * Copyright (c) 2005 Jan Rafaj <jr-aputils at cedric dot unob dot cz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 from
#include <string.h>
#include "ap-utils.h"
-/*
- * NOTE: SBRIDGES seems to be currently handled by ap-gl =>
- * no SBRIDGES-related code here (yet)!
- */
-
-#define TITLE_AP _("AP link state")
-
-/* following for any non-VERNET ATMEL* MIB */
-#define HEADER_STAS \
- _(" # MAC ")
-/* following for VERNET-enhanced ATMEL12350 MIB */
-#define HEADER_STAS_VERNET \
- _(" # MAC Parent MAC RSSI Status MACn IP ")
-
#define MAX_LINES LINES-4
extern int LINES;
char bridgeOperationalMode[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x04, 0x01, 0x00
};
- char StasNum[] = {
+ char AssociatedSTAsNum[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x05, 0x01, 0x00
};
- char StasMac[] = {
+ char AssociatedSTAsInfo[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x05, 0x02, 0x00
};
- struct AssociatedSTAsInfo {
- unsigned short Num;
- unsigned char MacAddress[6];
- /* following ones are specific for enhanced ATMEL 12350 MIB by VERNET */
- unsigned char Status;
- unsigned char Port;
- unsigned char ParentMacAddress[6];
- unsigned char RSSI;
- unsigned char IP[4];
- } *mac = NULL, get;
+ /* AP mode: connected APClients info */
+
+ struct AssociatedSTAsInfo_ATMEL410 ap_410;
+ struct AssociatedSTAsInfo_ATMEL12350 ap_12350;
struct MacListStat *first = NULL, *curr = NULL;
char message[1024];
int mac_idx, begin, end, total_mac;
varbind varbinds[1];
+
if (ap_type == ATMEL12350) {
bridgeOperationalMode[5] = 0xE0;
bridgeOperationalMode[6] = 0x3E;
- StasNum[5] = 0xE0;
- StasNum[6] = 0x3E;
- StasMac[5] = 0xE0;
- StasMac[6] = 0x3E;
+ AssociatedSTAsNum[5] = 0xE0;
+ AssociatedSTAsNum[6] = 0x3E;
+ AssociatedSTAsInfo[5] = 0xE0;
+ AssociatedSTAsInfo[6] = 0x3E;
}
- /* find out in what mode the AP currently is */
+ /* find out mode the device is currently in */
varbinds[0].oid = bridgeOperationalMode;
varbinds[0].len_oid = sizeof(bridgeOperationalMode);
varbinds[0].value = bridgeOperationalMode;
goto exit;
}
- /* for AP in AP-Client mode & without VERNET firmware, disable status */
- if (*(varbinds[0].value) == 3 && ap_vendorext != VERNET) {
- mvwaddstr(main_sub, 3, 1, _("AP is currently in AP Client Mode => "
- "no associated STAtions."));
+ /* Rule out all modes except AP(2). */
+ if (*(varbinds[0].value) != 2) {
+ mvwaddstr(main_sub, 1, 1, _("Not available (device not in AP mode)."));
print_help(ANY_KEY);
wrefresh(main_sub);
- getch();
goto exit;
}
noecho();
- wattrset(main_sub, COLOR_PAIR(3));
- if (ap_vendorext == VERNET)
- mvwaddstr(main_sub, 0, 0, HEADER_STAS_VERNET);
- else
- mvwaddstr(main_sub, 0, 0, HEADER_STAS);
+
+ wattrset(main_sub, COLOR_PAIR(13));
+ mvwaddstr(main_sub, 0, 0,
+ _(" # MAC Parent MAC RSSI LQ Sts MACn IP "));
wattrset(main_sub, A_NORMAL);
refresh:
/* find out how many STAtions is in the list */
- varbinds[0].oid = StasNum;
- varbinds[0].len_oid = sizeof(StasNum);
- varbinds[0].value = StasNum;
+ varbinds[0].oid = AssociatedSTAsNum;
+ varbinds[0].len_oid = sizeof(AssociatedSTAsNum);
+ varbinds[0].value = AssociatedSTAsNum;
varbinds[0].type = NULL_VALUE;
varbinds[0].len_val = 0;
if (snmp(varbinds, 1, GET) <= 0) {
print_helperr(ERR_RET);
- getch();
goto exit;
}
total_mac = *(varbinds[0].value);
print_help(WAIT_SET);
mac_idx = 1;
- while (mac_idx <= total_mac) {
- /* tell the AP we want first mac_idx-th MAC */
- varbinds[0].oid = StasMac;
- varbinds[0].len_oid = sizeof(StasMac);
+ while (mac_idx <= total_mac) {
+ /*
+ * Tell the AP we want mac_idx-th AssociatedSTAsInfo structure.
+ * Note: since:
+ * - position of 'Index' member in ap_* struct is always the same
+ * - only the 'Index' member is actually to be used
+ * - both structures have same size (24)
+ * we may pick *any* ap_* struct here.
+ */
+ varbinds[0].oid = AssociatedSTAsInfo;
+ varbinds[0].len_oid = sizeof(AssociatedSTAsInfo);
varbinds[0].type = INT_VALUE;
- get.Num = swap2(mac_idx);
- varbinds[0].value = (char *) &get;
- varbinds[0].len_val = sizeof(get);
+ ap_410.Index = swap2(mac_idx);
+ varbinds[0].value = (char *)&ap_410;
+ varbinds[0].len_val = sizeof(ap_410);
if (snmp(varbinds, 1, SET) <= 0) {
print_helperr(ERR_RET);
- getch();
goto exit;
}
- if (varbinds[0].len_val == 24) {
- if (mac)
- free(mac);
- mac =
- (struct AssociatedSTAsInfo *) malloc(varbinds[0].len_val);
- memcpy(mac, varbinds[0].value, varbinds[0].len_val);
- /* mac = (struct AssociatedSTAsInfo *) varbinds[0].value; */
- } else {
+ if (varbinds[0].len_val != 24) {
print_helperr(_("AssociatedSTAsInfo packet error"));
goto exit;
}
if (first == NULL) {
first =
- (struct MacListStat *) malloc(sizeof(struct MacListStat));
+ (struct MacListStat *) calloc(1, sizeof(struct MacListStat));
curr = first;
} else {
curr->next =
- (struct MacListStat *) malloc(sizeof(struct MacListStat));
+ (struct MacListStat *) calloc(1, sizeof(struct MacListStat));
curr = curr->next;
}
- memcpy(curr->addr, mac->MacAddress, 6);
-
- if (ap_vendorext == VERNET) {
- curr->Status = mac->Status;
- curr->Port = mac->Port;
- memcpy(curr->ParentMacAddress, mac->ParentMacAddress, 6);
- curr->rssi = mac->RSSI;
- memcpy(&(curr->IP.s_addr), mac->IP, 4);
+ /* lets not use black magic (casting) here, ok? */
+ if (ap_type == ATMEL410) {
+ memcpy(&ap_410, varbinds[0].value, sizeof(ap_410));
+
+ memcpy(curr->addr, ap_410.MacAddress, 6);
+ if (ap_vendorext == SBRIDGES) {
+ memcpy(curr->ParentMacAddress, ap_410.ParentMacAddress, 6);
+ memcpy(&(curr->IP.s_addr), ap_410.IP, 4);
+ curr->rssi = ap_410.RSSI;
+ curr->quality = ap_410.LinkQuality;
+ curr->Status = ap_410.Status;
+ curr->Port = ap_410.Port;
+ }
+ } else { /* ap_type == ATMEL12350 */
+ memcpy(&ap_12350, varbinds[0].value, sizeof(ap_12350));
+
+ memcpy(curr->addr, ap_12350.MacAddress, 6);
+ if (ap_vendorext == EZYNET) {
+ memcpy(curr->ParentMacAddress, ap_12350.ParentMacAddress, 6);
+ memcpy(&(curr->IP.s_addr), ap_12350.IP, 4);
+ curr->rssi = ap_12350.RSSI;
+ /* curr->quality stays empty */
+ curr->Status = ap_12350.Status;
+ curr->Port = ap_12350.Port;
+ }
}
curr->next = NULL;
begin = 1;
end = (MAX_LINES < mac_idx) ? MAX_LINES : mac_idx;
- sprintf(message, "%s: %d", TITLE_STAS, total_mac);
+ sprintf(message, "%s: %d", ST_TITLE, total_mac);
while (1) {
- if (ap_vendorext == VERNET) {
+ if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ (ap_type == ATMEL12350 && ap_vendorext == EZYNET)) {
print_top_rssi(message);
-
print_help(_("Arrows - scroll; S - save to file; Q - return; "
"T - toggle view; Other - refresh"));
- scroll_rows(first, begin, end, 1, 3);
} else {
print_top(NULL, message);
print_help(_("Arrows - scroll; S - save to file; Q - return; "
"Other key - refresh"));
- scroll_rows(first, begin, end, 1, 0);
}
+ scroll_rows(first, begin, end, 1, 2);
switch (getch()) {
case 'S':
continue;
case 'Q':
case 'q':
- goto exit;
+ goto quit;
case 'T':
case 't':
- if (ap_vendorext == VERNET) {
+ if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) ||
+ (ap_type == ATMEL12350 && ap_vendorext == EZYNET)) {
sts_viewtype += 1;
if (sts_viewtype == 3)
sts_viewtype = 0;
}
exit:
+ getch();
+quit:
while ((curr = first)) {
first = curr->next;
free(curr);
mac_idx = 0;
- print_top(NULL, TITLE_STAS);
+ print_top(NULL, ST_TITLE);
mvwaddstr(main_sub, 0, 3,
_("Id MAC address Quality Age RSSI"));
noecho();
varbinds[3].len_oid = sizeof(RSSI);
varbinds[3].len_val = 0;
varbinds[3].type = NULL_VALUE;
- if (snmp(varbinds, 4, GET) <= 0) {
+ if (snmp(varbinds, 4, GET) < 4) {
print_helperr(ERR_RET);
getch();
goto exit;
scroll_rows(first, begin, end, 1, 1);
- sprintf(message, "%s: %d", TITLE_STAS, mac_idx);
+ sprintf(message, "%s: %d", ST_TITLE, mac_idx);
print_top_rssi(message);
switch (getch()) {
print_top(NULL, NULL);
clear_main(0);
}
-