Commit def19e11 authored by li hongming's avatar li hongming

Merge remote-tracking branch 'origin/hm-wrsfl-lowjitter' into hm-wrslj-pts

parents 791b814e d7847239
mainmenu "White Rabbit Switch configuration"
config DOTCONF_FW_VERSION
string "Firmware version"
default "5.0"
help
Free-text information about switch's firmware version. This field is
for information purpose only. Additionally this field describes
version of Kconfig.
config DOTCONF_HW_VERSION
string "Hardware version"
help
Free-text information about switch's Hardware version. This field is
for information purpose only.
config DOTCONF_INFO
string "Additional info about dot-config"
help
Free-text information about switch's dot-config. This field is
for information purpose only.
choice DOTCONF_SOURCE
prompt "Source for a run-time replacement of dot-config"
default DOTCONF_SOURCE_TRY_DHCP
......@@ -837,6 +857,19 @@ config WRSAUXCLK_PPSHIFT
should be re-calibrated. Otherwise, 1-PPS output will be shifted
from the WR timescale by <steps>*150ps.
config EXT_PPS_LATENCY_PS
string "Compensate signal skew between PPS IN and PPS OUT"
default "13980"
help
--extppslatency parameter of wrs_ext_pps_lantency
If one needs to precisely align 1-PPS output with 1-PPS input when WRS
works as GrandMaster, calibration are needed to overcome the signal
skew between the 1-PPS input and 10MHz clock input. As the component
variance of different clock source and WRS, this lantency parameter
should be calibrated one by one to achieve PPS alignment with high
accuracy.
endmenu
menu "NIC throttling configuration"
......@@ -913,8 +946,13 @@ config FAN_HYSTERESIS
bool "Use hysteresis to control fan speed"
default n
help
Disable monit to prevent processes' restarts. It may be useful for
development.
Use hysteresis to control fans. Enable fans with PWM value
CONFIG_FAN_HYSTERESIS_PWM_VAL} when PLL's temperature exceeds
CONFIG_FAN_HYSTERESIS_T_ENABLE. Disable fans when temperature drops
below CONFIG_FAN_HYSTERESIS_T_DISABLE. These options are intended to
be used during development to reduce noise generated by a switch.
Don't use in production as this may affect the synchronization
performance.
config FAN_HYSTERESIS_T_DISABLE
int "Disable fans temperature"
......
......@@ -12,8 +12,9 @@ wrs_echo "--- Deploying FPGA firmware"
FWDIR="${WRS_OUTPUT_DIR}/images/wr/lib/firmware"
mkdir -p "$FWDIR"
echo "Using pre-compiled (binaries/) RT firmware"
cp ${WRS_BASE_DIR}/../binaries/rt_cpu.elf "$FWDIR"
#echo "Using pre-compiled (binaries/) RT firmware"
echo "Copy from wprc-sw directory ${WRS_BASE_DIR}/../../wrpc-sw/"
cp ${WRS_BASE_DIR}/../../wrpc-sw/rt_cpu.elf "$FWDIR"
if [ "$WRS_PTS_GW" != "" ]; then
wrs_echo "Copying binary from $WRS_PTS_GW"
......
This diff is collapsed.
......@@ -857,6 +857,48 @@ CONFIG_PHYLIB=y
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_RTL8152 is not set
CONFIG_USB_USBNET=y
# CONFIG_USB_NET_AX8817X is not set
# CONFIG_USB_NET_AX88179_178A is not set
CONFIG_USB_NET_CDCETHER=y
# CONFIG_USB_NET_CDC_EEM is not set
# CONFIG_USB_NET_CDC_NCM is not set
# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
# CONFIG_USB_NET_CDC_MBIM is not set
# CONFIG_USB_NET_DM9601 is not set
# CONFIG_USB_NET_SR9700 is not set
# CONFIG_USB_NET_SR9800 is not set
# CONFIG_USB_NET_SMSC75XX is not set
# CONFIG_USB_NET_SMSC95XX is not set
# CONFIG_USB_NET_GL620A is not set
# CONFIG_USB_NET_NET1080 is not set
# CONFIG_USB_NET_PLUSB is not set
# CONFIG_USB_NET_MCS7830 is not set
# CONFIG_USB_NET_RNDIS_HOST is not set
CONFIG_USB_NET_CDC_SUBSET=y
# CONFIG_USB_ALI_M5632 is not set
# CONFIG_USB_AN2720 is not set
# CONFIG_USB_BELKIN is not set
CONFIG_USB_ARMLINUX=y
# CONFIG_USB_EPSON2888 is not set
# CONFIG_USB_KC2190 is not set
# CONFIG_USB_NET_ZAURUS is not set
# CONFIG_USB_NET_CX82310_ETH is not set
# CONFIG_USB_NET_KALMIA is not set
# CONFIG_USB_NET_QMI_WWAN is not set
# CONFIG_USB_NET_INT51X1 is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_USB_SIERRA_NET is not set
# CONFIG_USB_VL600 is not set
# CONFIG_WLAN is not set
#
......@@ -1073,7 +1115,9 @@ CONFIG_BCMA_POSSIBLE=y
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_PM8921_CORE is not set
# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_SYSCON is not set
......@@ -1115,19 +1159,174 @@ CONFIG_DUMMY_CONSOLE=y
#
# HID support
#
# CONFIG_HID is not set
CONFIG_HID=y
# CONFIG_HIDRAW is not set
# CONFIG_UHID is not set
CONFIG_HID_GENERIC=y
#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=y
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_AUREAL is not set
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_ELO is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_HUION is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_ICADE is not set
# CONFIG_HID_TWINHAN is not set
CONFIG_HID_KENSINGTON=y
# CONFIG_HID_LCPOWER is not set
# CONFIG_HID_LENOVO_TPKBD is not set
CONFIG_HID_LOGITECH=y
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
# CONFIG_LOGIWHEELS_FF is not set
# CONFIG_HID_MAGICMOUSE is not set
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEELSERIES is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_RMI is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set
#
# USB HID support
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
# CONFIG_USB is not set
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG_FSM is not set
# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_HCD_AT91=y
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
# CONFIG_USB_FUSBH200_HCD is not set
# CONFIG_USB_FOTG210_HCD is not set
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_AT91=y
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_TEST_MODE is not set
# CONFIG_USB_RENESAS_USBHS is not set
#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
# also be needed; see USB_STORAGE Help for more info
#
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
#
# USB Physical Layer drivers
......@@ -1160,6 +1359,7 @@ CONFIG_USB_ATMEL_USBA=y
# CONFIG_USB_MV_U3D is not set
# CONFIG_USB_M66592 is not set
# CONFIG_USB_NET2272 is not set
# CONFIG_USB_DUMMY_HCD is not set
CONFIG_USB_LIBCOMPOSITE=m
CONFIG_USB_F_ACM=m
CONFIG_USB_U_SERIAL=m
......@@ -1246,6 +1446,7 @@ CONFIG_RTC_INTF_DEV=y
#
# HID Sensor RTC drivers
#
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
......
#
# Automatically generated file; DO NOT EDIT.
# White Rabbit Switch configuration
#
CONFIG_DOTCONF_FW_VERSION="5.0"
CONFIG_DOTCONF_HW_VERSION=""
CONFIG_DOTCONF_INFO=""
# CONFIG_DOTCONF_SOURCE_LOCAL is not set
# CONFIG_DOTCONF_SOURCE_REMOTE is not set
# CONFIG_DOTCONF_SOURCE_FORCE_DHCP is not set
CONFIG_DOTCONF_SOURCE_TRY_DHCP=y
CONFIG_BR2_CONFIGFILE="wrs_release_br2_config"
CONFIG_PPSI=y
#
# Local Network Configuration
#
CONFIG_ETH0_DHCP=y
# CONFIG_ETH0_DHCP_ONCE is not set
# CONFIG_ETH0_STATIC is not set
CONFIG_HOSTNAME_DHCP=y
# CONFIG_HOSTNAME_STATIC is not set
#
# Root Password
#
# CONFIG_ROOT_PWD_IS_ENCRYPTED is not set
CONFIG_ROOT_PWD_CLEAR=""
CONFIG_NTP_SERVER=""
CONFIG_DNS_SERVER=""
CONFIG_DNS_DOMAIN=""
CONFIG_REMOTE_SYSLOG_SERVER=""
CONFIG_REMOTE_SYSLOG_UDP=y
CONFIG_WRS_LOG_HAL="daemon.info"
CONFIG_WRS_LOG_LEVEL_HAL=""
CONFIG_WRS_LOG_RTU="daemon.info"
CONFIG_WRS_LOG_LEVEL_RTU=""
CONFIG_WRS_LOG_PTP="daemon.info"
CONFIG_WRS_LOG_LEVEL_PTP=""
CONFIG_WRS_LOG_SNMPD="Swd"
CONFIG_WRS_LOG_MONIT="syslog"
CONFIG_WRS_LOG_OTHER="daemon.info"
CONFIG_WRS_LOG_LEVEL_OTHER=""
# CONFIG_KEEP_ROOTFS is not set
#
# Port Timing Configuration
#
CONFIG_PORT01_PARAMS="name=wri1,proto=raw,tx=206203,rx=249452,role=slave,fiber=0"
CONFIG_PORT02_PARAMS="name=wri2,proto=raw,tx=206371,rx=249639,role=master,fiber=0"
CONFIG_PORT03_PARAMS="name=wri3,proto=raw,tx=206311,rx=249641,role=master,fiber=0"
CONFIG_PORT04_PARAMS="name=wri4,proto=raw,tx=206201,rx=249349,role=master,fiber=0"
CONFIG_PORT05_PARAMS="name=wri5,proto=raw,tx=206219,rx=250345,role=master,fiber=0"
CONFIG_PORT06_PARAMS="name=wri6,proto=raw,tx=206271,rx=250339,role=master,fiber=0"
CONFIG_PORT07_PARAMS="name=wri7,proto=raw,tx=206283,rx=250421,role=master,fiber=0"
CONFIG_PORT08_PARAMS="name=wri8,proto=raw,tx=206193,rx=250371,role=master,fiber=0"
CONFIG_PORT09_PARAMS="name=wri9,proto=raw,tx=206260,rx=250400,role=master,fiber=0"
CONFIG_PORT10_PARAMS="name=wri10,proto=raw,tx=206212,rx=250274,role=master,fiber=0"
CONFIG_PORT11_PARAMS="name=wri11,proto=raw,tx=206308,rx=250602,role=master,fiber=0"
CONFIG_PORT12_PARAMS="name=wri12,proto=raw,tx=206375,rx=250589,role=master,fiber=0"
CONFIG_PORT13_PARAMS="name=wri13,proto=raw,tx=206375,rx=250459,role=master,fiber=0"
CONFIG_PORT14_PARAMS="name=wri14,proto=raw,tx=206341,rx=250541,role=master,fiber=0"
CONFIG_PORT15_PARAMS="name=wri15,proto=raw,tx=206444,rx=250830,role=master,fiber=0"
CONFIG_PORT16_PARAMS="name=wri16,proto=raw,tx=206441,rx=250759,role=master,fiber=0"
CONFIG_PORT17_PARAMS="name=wri17,proto=raw,tx=206415,rx=250813,role=master,fiber=0"
CONFIG_PORT18_PARAMS="name=wri18,proto=raw,tx=206508,rx=250776,role=master,fiber=0"
#
# SFP and Media Timing Configuration
#
CONFIG_SFP00_PARAMS="vn=Axcen Photonics,pn=AXGE-1254-0531,tx=0,rx=0,wl_txrx=1310+1490"
CONFIG_SFP01_PARAMS="vn=Axcen Photonics,pn=AXGE-3454-0531,tx=0,rx=0,wl_txrx=1490+1310"
CONFIG_SFP02_PARAMS="vn=Sync Tech,pn=GE-LC80-1550,tx=0,rx=0,wl_txrx=1550+1490"
CONFIG_SFP03_PARAMS="vn=Sync Tech,pn=GE-LC80-1490,tx=0,rx=0,wl_txrx=1490+1550"
CONFIG_SFP04_PARAMS="vn=ZyXEL,pn=SFP-BX1490-10-D,tx=0,rx=0,wl_txrx=1490+1310"
CONFIG_SFP05_PARAMS="vn=ZyXEL,pn=SFP-BX1310-10-D,tx=0,rx=0,wl_txrx=1310+1490"
CONFIG_SFP06_PARAMS="vn=FS,pn=GE-LC-1310,tx=0,rx=0,wl_txrx=1310+1490"
CONFIG_SFP07_PARAMS="vn=FS,pn=GE-LC-1490,tx=0,rx=0,wl_txrx=1490+1310"
CONFIG_SFP08_PARAMS="vn=FiberStore,pn=GE-LC-1310,tx=0,rx=0,wl_txrx=1310+1490"
CONFIG_SFP09_PARAMS="vn=FiberStore,pn=GE-LC-1490,tx=0,rx=0,wl_txrx=1490+1310"
CONFIG_FIBER00_PARAMS="alpha_1310_1490=2.6787e-04,alpha_1550_1490=-1.7470e-4"
CONFIG_FIBER01_PARAMS="alpha_1310_1490=2.6787e-04,alpha_1550_1490=-1.7470e-4"
CONFIG_FIBER02_PARAMS="alpha_1310_1490=2.6787e-04,alpha_1550_1490=-1.7470e-4"
CONFIG_FIBER03_PARAMS="alpha_1310_1490=2.6787e-04,alpha_1550_1490=-1.7470e-4"
# CONFIG_TIME_GM is not set
# CONFIG_TIME_FM is not set
CONFIG_TIME_BC=y
CONFIG_PTP_PORT_PARAMS=y
# CONFIG_PTP_CUSTOM is not set
# CONFIG_PTP_REMOTE_CONF is not set
#
# Management configuration
#
CONFIG_SNMP_TRAPSINK_ADDRESS=""
CONFIG_SNMP_TRAP2SINK_ADDRESS=""
CONFIG_SNMP_RO_COMMUNITY="public"
CONFIG_SNMP_RW_COMMUNITY="private"
CONFIG_SNMP_TEMP_THOLD_FPGA=80
CONFIG_SNMP_TEMP_THOLD_PLL=80
CONFIG_SNMP_TEMP_THOLD_PSL=80
CONFIG_SNMP_TEMP_THOLD_PSR=80
# CONFIG_SNMP_SWCORESTATUS_DISABLE is not set
#
# External clk2 clock signal configuration
#
CONFIG_WRSAUXCLK_FREQ="10"
CONFIG_WRSAUXCLK_DUTY="0.5"
CONFIG_WRSAUXCLK_CSHIFT="36"
CONFIG_WRSAUXCLK_SIGDEL="9"
CONFIG_WRSAUXCLK_PPSHIFT="0"
CONFIG_EXT_PPS_LATENCY_PS="13980"
#
# NIC throttling configuration
#
# CONFIG_NIC_THROTTLING_ENABLED is not set
#
# Custom boot script configuration
#
# CONFIG_CUSTOM_BOOT_SCRIPT_ENABLED is not set
#
# Developer options
#
# CONFIG_MONIT_DISABLE is not set
#
# Fan speed control
#
# CONFIG_FAN_HYSTERESIS is not set
# CONFIG_READ_SFP_DIAG_ENABLE is not set
#
# RTU HP mask
#
# CONFIG_RTU_HP_MASK_ENABLE is not set
#
# VLANs
#
# CONFIG_VLANS_ENABLE is not set
......@@ -24,7 +24,8 @@ TEX=$(SRC:.md=.tex)
DOC=$(SRC:.md=.doc)
## Pandoc arguments
OPTIONS=-f markdown --toc --number-sections --smart
EXTENSIONS=+definition_lists
OPTIONS=-f markdown$(EXTENSIONS) --toc --number-sections --smart
TEMPLATE=pandoc.latex
......
......@@ -55,6 +55,10 @@
%% Generic
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
$if(url)$
\usepackage{url}
$endif$
......
......@@ -83,6 +83,9 @@ conditions
1.3 05/08/2014 Benoit Rat\ Updating for v4.2 release
[Seven Solutions]
1.4 15/05/2017 Benoit Rat\ Updating for v5.0.1 release
[Seven Solutions]
------------------------------------------------------------------------
\clearpage
......@@ -92,32 +95,46 @@ conditions
DHCP
: The Dynamic Host Configuration Protocol to obtain network configuration.
FMC
: FPGA Mezzanine Card, an ANSI standard for mezzanine card form factor.
: FPGA Mezzanine Card, an ANSI standard for mezzanine card form factor.
HDL
: Hardware description language.
: Hardware description language.
LM32
: LatticeMico32 is a 32-bit microprocessor soft core optimized for field-programmable gate arrays (FPGAs).
: LatticeMico32 is a 32-bit microprocessor soft core optimized for field-programmable gate arrays (FPGAs).
NAND
: NAND Flash Memory, a type of reprogrammable non-volatile computer memory.
: NAND Flash Memory, a type of reprogrammable non-volatile computer memory.
PCIe
: Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard.
: Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard.
PTP
: Precise Time Protocol, a time synchronization protocol.
: Precise Time Protocol, a time synchronization protocol.
SMC
: SubMiniature version C, coaxial connector used in radio-frequency circuits.
: SubMiniature version C, coaxial connector used in radio-frequency circuits.
SFP
: Small form-factor pluggable transceiver, a hot-pluggable transceiver for optical fiber.
: Small form-factor pluggable transceiver, a hot-pluggable transceiver for optical fiber.
SPEC
: Simple PCIe FMC carrier.
: Simple PCIe FMC carrier.
SVEC
: Simple VME FMC carrier.
: Simple VME FMC carrier.
UART
: Universal Asynchronous Receiver/Transmitter.
: Universal Asynchronous Receiver/Transmitter.
WR
: White Rabbit.
: White Rabbit.
WRS
: White Rabbit Switch.
: White Rabbit Switch.
WMI
: Web Management Interface
......@@ -514,6 +531,21 @@ wait until the WRS has reboot.
> **Notes**: A NTP server should be provided for the grandmaster switch
so that we can distribute the current TAI seconds to the whole WR network
### Using menuconfig
Another way to modify the parameters to configure the [WRS] in Grandmaster is by
[opening an SSH terminal](#login-via-ssh) and then run the command:
make -C /wr/etc/ menuconfig
You will get a menu to directly modify the `dot-config` but with a more friendly[^termdisplay] interface.
Then just go to `Timing Mode`, select `Grand-Master`, `Save`, `Exit`.
Your WRS is now ready to be in GM mode at next reboot.
[^termdisplay]: With some small terminal size, or while using minicom the ncurse interface does not behave well,
and the menuconfig is not properly displayed.
### By editing the dot-config file in a terminal
If you prefer to configure the [WRS] using a terminal you should open the `dot-config` file
......@@ -541,7 +573,6 @@ CONFIG_TIME_GM=y
and finally you need to `reboot` the switch.
Non-DHCP user
---------------
......@@ -742,6 +773,16 @@ Specification
| **DAC** | 2xAD5662BRJ (16bit; 2.7-5.54V) |
+--------------------+-------------------------------------------------+
+--------------------+-------------------------------------------------+
| ***SMC I/O *** | |
+====================+=================================================+
| **PPS input** | TTL Level (2-5V High); 0.4mA (50Ohm disabled |
| | by default) / 4.4mA (when 50Ohm enabled) |
+--------------------+-------------------------------------------------+
| **10MHz input** | 250mV (rms) @ 50Ohm -> ~1dB |
+--------------------+-------------------------------------------------+
+--------------------+-------------------------------------------------+
| ***Others*** | |
+====================+=================================================+
......@@ -809,8 +850,7 @@ executing the following command:
~~~~~{.bash}
#On the WRS
wrs_version > /tmp/bug_report.txt
rtu_stat >> /tmp/bug_report.txt
wrs_version -t > /tmp/bug_report.txt
dmesg >> /tmp/bug_report.txt
#Obtain the IP of the switch
......@@ -830,7 +870,7 @@ Contact-Us
To contact Seven Solutions company please use:
* <info@sevensols.com>
* <support@sevensols.com>
* (+34) 958 285 024
* <http://www.sevensols.com>
......@@ -861,15 +901,15 @@ Please be responsible and protect our environment.
References
==============
* [wrs-3/18.pdf]: Datasheet for the White Rabbit Switch v3 - 18 SFPs
* [wrs-user-manual.pdf]: User manual documentation of the tools.
* [wr_external_reference.pdf]: Connect the [WRS] in GrandMaster mode.
* [whiterabbitsolution]: White Rabbit as a complete timing solutions
* [WRS Wiki]: White Rabbit Switch Wiki on ohwr.org
* [WRS FAQ]: WR-Switch Frequently Added Questions
* [wr-switch-testing]: Project for testing the switch itself
* [SFPs Wiki]: Type of SFP supported by the [WRS]
* [latest stable release]: http://www.sevensols.com/dl/wr-switch-sw/bin/latest_stable.tar.gz
* [wrs-3/18.pdf] : Datasheet for the White Rabbit Switch v3 - 18 SFPs
* [wrs-user-manual.pdf] : User manual documentation of the tools.
* [wr_external_reference.pdf] : Connect the [WRS] in GrandMaster mode.
* [whiterabbitsolution] : White Rabbit as a complete timing solutions
* [WRS Wiki] : White Rabbit Switch Wiki on ohwr.org
* [WRS FAQ] : WR-Switch Frequently Added Questions
* [wr-switch-testing] : Project for testing the switch itself
* [SFPs Wiki] : Type of SFP supported by the [WRS]
* [latest stable release] : `http://www.sevensols.com/dl/wr-switch-sw/bin/latest_stable.tar.gz`
<!-- List of links -->
......
......@@ -35,7 +35,7 @@
@setchapternewpage off
@set update-month December 2016
@set update-month August 2017
@c the release name below is substituted at build time
@set release __RELEASE_GIT_ID__
......@@ -477,7 +477,7 @@ i.e. a @i{tar} archive of all files needed to flash a brand new WR
Switch. The example above shows that the name is something like:
@example
wr-switch-sw-v5.0-20161214_binaries.tar
wr-switch-sw-v5.0.1-20170825_binaries.tar
@end example
In other words, we include both the tag name (from @t{git describe})
......@@ -620,6 +620,9 @@ within buildroot.
Note that if the variable is not pointing to a regular file it is
ignored with a simple warning -- rather than stopping the build procedure.
An example alternate configuration file is @t{configs/buildroot/wrs_with_musl_config}, that builds a version of the White Rabbit Switch with a different
system library (@i{musl} instead of @i{uclibc}).
@c --------------------------------------------------------------------------
@node The IPL
@subsection The IPL
......@@ -1255,7 +1258,7 @@ If you want to flash the @i{at91boot.bin}, @i{barebox.bin}, @i{kernel}
or @i{file-system} that you just built, you can just call the script
from the build directory and use the @code{-b} option.
The official binaries for installation of version 5.0 of this package
The official binaries for installation of version 5.0.1 of this package
are available in the @i{files} tab of this project in @t{ohwr.org}.
We don't provide a complete link here, but one is available in the
list of downloaded files: @t{build/download-info}.
......
......@@ -35,7 +35,7 @@
@setchapternewpage off
@set update-month December 2016
@set update-month August 2017
@c the release name below is substituted at build time
@set release __RELEASE_GIT_ID__
......@@ -386,7 +386,28 @@ The configuration step creates @t{.config}, that you can copy to your
@sc{wrs} as @t{/wr/etc/dot-config}. After reboot, you'll see your
choices in effect.
The first configuration choice is about source of the @t{dot-config} file
The first three configuration items are free-text fields which are intended for
dot-config management purposed. As now (v5.0.1) these fields are not used for
any functionality on the switch.
@table @t
@item CONFIG_DOTCONF_FW_VERSION
@itemx CONFIG_DOTCONF_HW_VERSION
Free-text items to describe switch's firmware
@t{CONFIG_DOTCONF_FW_VERSION} and hardware
@t{CONFIG_DOTCONF_HW_VERSION} version. Additionally, the default value
of @t{CONFIG_DOTCONF_FW_VERSION} can be used as a version of a Kconfig
file.
@item CONFIG_DOTCONF_INFO
Free-text item to descibe additional information about dot-config.
@end table
The next configuration item is a choice about source of the @t{dot-config} file
(items starting with @t{CONFIG_DOTCONF_SOURCE_}). The following @t{dot-config}
sources are implemented in current version:
@table @t
......@@ -870,9 +891,11 @@ appropriate way, before the respective service is started.
@itemx CONFIG_WRSAUXCLK_CSHIFT
@itemx CONFIG_WRSAUXCLK_SIGDEL
@itemx CONFIG_WRSAUXCLK_PPSHIFT
@itemx CONFIG_EXT_PPS_LATENCY_PS
Set of parameters passed to @t{wrs_auxclk} at boot time to generate
WR-synchronized 10MHz clock on the @i{clk2} output.
WR-synchronized 10MHz clock on the @i{clk2} output, as well as aligning
the 1-PPS input and 1-PPS output.
For more information please check @ref{wrs_auxclk}.
@item CONFIG_NIC_THROTTLING_ENABLED
......
DIRS = coht_vic wr_nic wr_rtu wr_pstats wr_clocksource wrs_devices
#DIRS = coht_vic wr_nic wr_rtu wr_pstats wr_clocksource wrs_devices
DIRS = coht_vic wr_nic wr_rtu wr_pstats wr_clocksource wrs_devices asix_usb
# We may "LINUX ?= /usr/src/linux-wrswitch", but it's better to leave it empty
......
obj-m := asix.o
# LINUX ?= ../../../kernel
export ARCH ?= arm
export CROSS_COMPILE ?= $(CROSS_COMPILE_ARM)
# CURRENT = $(shell uname -r)
# TARGET = asix
# OBJS = asix.o
# MDIR = drivers/net/usb
# KDIR = /lib/modules/$(CURRENT)/build
# SUBLEVEL= $(shell uname -r | cut -d '.' -f 3 | cut -d '.' -f 1 | cut -d '-' -f 1 | cut -d '_' -f 1)
# ifneq (,$(filter $(SUBLEVEL),14 15 16 17 18 19 20 21))
# MDIR = drivers/usb/net
# endif
# EXTRA_CFLAGS = -DEXPORT_SYMTAB
# PWD = $(shell pwd)
# DEST = /lib/modules/$(CURRENT)/kernel/$(MDIR)
all: modules
modules:
$(MAKE) -C $(LINUX) SUBDIRS=$(shell /bin/pwd) modules
clean:
rm -f *.mod.c *.o *.ko *.i .*cmd modules.order *~
rm -rf .tmp_versions
.PHONY: all clean
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/*
* USB Networking Link Interface
*
* Copyright (C) 2000-2005 by David Brownell <dbrownell@users.sourceforge.net>
* Copyright (C) 2003-2005 David Hollis <dhollis@davehollis.com>
*
* 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
*/
#ifndef __LINUX_USB_USBNET_H
#define __LINUX_USB_USBNET_H
#ifndef gfp_t
#define gfp_t int
#endif
/* interface from usbnet core to each USB networking link we handle */
struct usbnet {
/* housekeeping */
struct usb_device *udev;
struct usb_interface *intf;
struct driver_info *driver_info;
const char *driver_name;
void *driver_priv;
wait_queue_head_t *wait;
/* struct mutex phy_mutex; */
unsigned char suspend_count;
unsigned char pkt_cnt, pkt_err;
/* i/o info: pipes etc */
unsigned in, out;
struct usb_host_endpoint *status;
unsigned maxpacket;
struct timer_list delay;
/* protocol/interface state */
struct net_device *net;
struct net_device_stats stats;
int msg_enable;
unsigned long data[5];
u32 xid;
u32 hard_mtu; /* count any extra framing */
size_t rx_urb_size; /* size for rx urbs */
struct mii_if_info mii;
/* various kinds of pending driver work */
struct sk_buff_head rxq;
struct sk_buff_head txq;
struct sk_buff_head done;
struct sk_buff_head rxq_pause;
struct urb *interrupt;
struct tasklet_struct bh;
struct work_struct kevent;
struct semaphore sem;
unsigned long flags;
# define EVENT_TX_HALT 0
# define EVENT_RX_HALT 1
# define EVENT_RX_MEMORY 2
# define EVENT_STS_SPLIT 3
# define EVENT_LINK_RESET 4
# define EVENT_RX_PAUSED 5
# define EVENT_RX_KILL 10
void *priv; /* point to minidriver private data */
unsigned char rx_size;
};
static inline struct usb_driver *driver_of(struct usb_interface *intf)
{
return to_usb_driver(intf->dev.driver);
}
/* interface from the device/framing level "minidriver" to core */
struct driver_info {
char *description;
int flags;
/* framing is CDC Ethernet, not writing ZLPs (hw issues), or optionally: */
#define FLAG_FRAMING_NC 0x0001 /* guard against device dropouts */
#define FLAG_FRAMING_GL 0x0002 /* genelink batches packets */
#define FLAG_FRAMING_Z 0x0004 /* zaurus adds a trailer */
#define FLAG_FRAMING_RN 0x0008 /* RNDIS batches, plus huge header */
#define FLAG_NO_SETINT 0x0010 /* device can't set_interface() */
#define FLAG_ETHER 0x0020 /* maybe use "eth%d" names */
#define FLAG_FRAMING_AX 0x0040 /* AX88772/178 packets */
#define FLAG_WLAN 0x0080 /* use "wlan%d" names */
#define FLAG_AVOID_UNLINK_URBS 0x0100 /* don't unlink urbs at usbnet_stop() */
#define FLAG_SEND_ZLP 0x0200 /* hw requires ZLPs are sent */
#define FLAG_HW_IP_ALIGNMENT 0x0400 /* AX88772B support hardware IP alignment */
/* init device ... can sleep, or cause probe() failure */
int (*bind)(struct usbnet *, struct usb_interface *);
/* cleanup device ... can sleep, but can't fail */
void (*unbind)(struct usbnet *, struct usb_interface *);
/* reset device ... can sleep */
int (*reset)(struct usbnet *);
/* stop device ... can sleep */
int (*stop)(struct usbnet *);
/* see if peer is connected ... can sleep */
int (*check_connect)(struct usbnet *);
/* for status polling */
void (*status)(struct usbnet *, struct urb *);
/* link reset handling, called from defer_kevent */
int (*link_reset)(struct usbnet *);
/* fixup rx packet (strip framing) */
int (*rx_fixup)(struct usbnet *dev, struct sk_buff *skb);
/* fixup tx packet (add framing) */
struct sk_buff *(*tx_fixup)(struct usbnet *dev,
struct sk_buff *skb, gfp_t flags);
/* early initialization code, can sleep. This is for minidrivers
* having 'subminidrivers' that need to do extra initialization
* right after minidriver have initialized hardware. */
int (*early_init)(struct usbnet *dev);
/* called by minidriver when receiving indication */
void (*indication)(struct usbnet *dev, void *ind, int indlen);
/* for new devices, use the descriptor-reading code instead */
int in; /* rx endpoint */
int out; /* tx endpoint */
unsigned long data; /* Misc driver specific data */
};
/* Drivers that reuse some of the standard USB CDC infrastructure
* (notably, using multiple interfaces according to the CDC
* union descriptor) get some helper code.
*/
struct cdc_state {
struct usb_cdc_header_desc *header;
struct usb_cdc_union_desc *u;
struct usb_cdc_ether_desc *ether;
struct usb_interface *control;
struct usb_interface *data;
};
/* CDC and RNDIS support the same host-chosen packet filters for IN transfers */
#define DEFAULT_FILTER (USB_CDC_PACKET_TYPE_BROADCAST \
|USB_CDC_PACKET_TYPE_ALL_MULTICAST \
|USB_CDC_PACKET_TYPE_PROMISCUOUS \
|USB_CDC_PACKET_TYPE_DIRECTED)
/* we record the state for each of our queued skbs */
enum skb_state {
illegal = 0,
tx_start, tx_done,
rx_start, rx_done, rx_cleanup,
unlink_start
};
struct skb_data { /* skb->cb is one of these */
struct urb *urb;
struct usbnet *dev;
enum skb_state state;
size_t length;
};
#ifndef skb_queue_walk_safe
#define skb_queue_walk_safe(queue, skb, tmp) \
for (skb = (queue)->next, tmp = skb->next; \
skb != (struct sk_buff *)(queue); \
skb = tmp, tmp = skb->next)
#endif
/* messaging support includes the interface name, so it must not be
* used before it has one ... notably, in minidriver bind() calls.
*/
#ifdef DEBUG
#define devdbg(usbnet, fmt, arg...) \
printk("%s: " fmt "\n" , (usbnet)->net->name , ## arg)
#else
#define devdbg(usbnet, fmt, arg...) \
({ if (0) printk("%s: " fmt "\n" , (usbnet)->net->name , \
## arg); 0; })
#endif
#define deverr(usbnet, fmt, arg...) \
printk(KERN_ERR "%s: " fmt "\n" , (usbnet)->net->name , ## arg)
#define devwarn(usbnet, fmt, arg...) \
printk(KERN_WARNING "%s: " fmt "\n" , (usbnet)->net->name , ## arg)
#define devinfo(usbnet, fmt, arg...) \
printk(KERN_INFO "%s: " fmt "\n" , (usbnet)->net->name , ## arg); \
#endif /* __LINUX_USB_USBNET_H */
/*
*********************************************************************************
* Copyright (c) 2005 ASIX Electronic Corporation All rights reserved.
*
* This is unpublished proprietary source code of ASIX Electronic Corporation
*
* The copyright notice above does not evidence any actual or intended
* publication of such source code.
*********************************************************************************
*/
#ifndef __COMMAND_H__
#define __COMMAND_H__
/*
#include <linux/module.h>
#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/pci.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/ethtool.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
#include <linux/random.h>
#include <linux/mii.h>
#include <linux/in.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/uaccess.h>
*/
/* NAMING CONSTANT DECLARATIONS */
#define AX88772B_SIGNATURE "AX88772B"
#define AX88772B_DRV_NAME "AX88772B"
/* ioctl Command Definition */
#define AX_PRIVATE SIOCDEVPRIVATE
/* private Command Definition */
#define AX_SIGNATURE 0
#define AX_READ_EEPROM 1
#define AX_WRITE_EEPROM 2
typedef struct _AX_IOCTL_COMMAND {
unsigned short ioctl_cmd;
unsigned char sig[16];
unsigned short *buf;
unsigned short size;
unsigned char delay;
}AX_IOCTL_COMMAND;
#endif /* end of command.h */
......@@ -101,7 +101,8 @@ static void wrn_update_link_status(struct net_device *dev)
{
struct wrn_ep *ep = netdev_priv(dev);
u32 ecr, bmsr, bmcr, lpa;
uint32_t value;
bmsr = wrn_phy_read(dev, 0, MII_BMSR);
bmcr = wrn_phy_read(dev, 0, MII_BMCR);
......@@ -112,6 +113,9 @@ static void wrn_update_link_status(struct net_device *dev)
if (!mii_link_ok(&ep->mii)) {
if(netif_carrier_ok(dev)) {
netif_carrier_off(dev);
/* Reset SFP */
value = wrn_phy_read(dev, 0, MII_BMCR);
wrn_phy_write(dev, 0, MII_BMCR, value | BMCR_RESET);
clear_bit(WRN_EP_UP, &ep->ep_flags);
printk(KERN_INFO "%s: Link down.\n", dev->name);
return;
......
From 882e087dabac75f16cd59b30b79bf7094b27f0a4 Mon Sep 17 00:00:00 2001
From: Adam Wujek <adam.wujek@cern.ch>
Date: Wed, 11 Jan 2017 17:25:14 +0100
Subject: [PATCH] board/at91sam9g45ek: Fix for gcc 4.9.3
As reported in the commit:
f6c91cce Remove the enable I_cache function at boostrap
Compiled bootstrap does not work with the gcc since version 4.6.3.
The new gcc (actually linker) puts the "bl" (Branch with link) assembler
instruction instead of "blx" (Branch with link, and exchange instruction set)
as it was with the old gcc when calling get_cp15() and set_cp15().
To solve this problem configuration of CP15 is removed. Anyway this code was
useless since the line to set I_CACHE was already commented out.
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
---
board/at91sam9g45ek/at91sam9g45ek.c | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/board/at91sam9g45ek/at91sam9g45ek.c b/board/at91sam9g45ek/at91sam9g45ek.c
index b57d6a4..542cd60 100644
--- a/board/at91sam9g45ek/at91sam9g45ek.c
+++ b/board/at91sam9g45ek/at91sam9g45ek.c
@@ -49,14 +49,6 @@
#include "dataflash.h"
#endif
-int get_cp15(void);
-
-void set_cp15(unsigned int value);
-
-int get_cpsr(void);
-
-void set_cpsr(unsigned int value);
-
#ifdef CONFIG_HW_INIT
/*----------------------------------------------------------------------------*/
/* \fn hw_init */
@@ -66,8 +58,6 @@ void set_cpsr(unsigned int value);
/*----------------------------------------------------------------------------*/
void hw_init(void)
{
- unsigned int cp15;
-
/*
* Configure PIOs
*/
@@ -137,13 +127,6 @@ void hw_init(void)
|| AT91C_RSTC_URSTEN, AT91C_BASE_RSTC + RSTC_RMR);
/*
- * Configure CP15
- */
- cp15 = get_cp15();
- //cp15 |= I_CACHE;
- set_cp15(cp15);
-
- /*
* Configure the PIO controller
*/
pio_setup(hw_pio);
--
1.9.1
From 272212136eba0dd28f474f4276e943c906a6f3e9 Mon Sep 17 00:00:00 2001
From: Adam Wujek <adam.wujek@cern.ch>
Date: Wed, 11 Jan 2017 17:56:08 +0100
Subject: [PATCH] lib: fix warning in diag-printf.c
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
---
lib/diag-printf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/diag-printf.c b/lib/diag-printf.c
index 07a1d78..cc80529 100644
--- a/lib/diag-printf.c
+++ b/lib/diag-printf.c
@@ -6,6 +6,7 @@
*/
#include <stdarg.h>
#include <pp_printf.h>
+#include "dbgu.h"
#define PP_BUF 128 /* We prefer small targets */
--
1.9.1
--- ./package/monit/0002-sysdep_LINUX-avoid-GLOB_ONLYDIR-missin-in-libmusl.patch.orig 2017-01-13 10:56:04.777413556 +0100
+++ ./package/monit/0002-sysdep_LINUX-avoid-GLOB_ONLYDIR-missin-in-libmusl.patch 2017-01-13 10:55:21.384411938 +0100
@@ -0,0 +1,29 @@
+From de586dd21587d52001635dd6be7c70b85a24800f Mon Sep 17 00:00:00 2001
+From: Alessandro Rubini <rubini@gnudd.com>
+Date: Fri, 13 Jan 2017 10:54:09 +0100
+Subject: [PATCH] sysdep_LINUX: avoid GLOB_ONLYDIR, missin in libmusl
+
+/proc/[0-9]* is onlydir by definition, unless /proc is not mounted,
+but this means the system is in a bad state anyways.
+
+Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
+---
+ src/process/sysdep_LINUX.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/process/sysdep_LINUX.c b/src/process/sysdep_LINUX.c
+index 949d781..651ea49 100644
+--- a/src/process/sysdep_LINUX.c
++++ b/src/process/sysdep_LINUX.c
+@@ -205,7 +205,7 @@ int initprocesstree_sysdep(ProcessTree_T ** reference) {
+ ASSERT(reference);
+
+ /* Find all processes in the /proc directory */
+- if ((rv = glob("/proc/[0-9]*", GLOB_ONLYDIR, NULL, &globbuf))) {
++ if ((rv = glob("/proc/[0-9]*", 0, NULL, &globbuf))) {
+ LogError("system statistic error -- glob failed: %d (%s)\n", rv, STRERROR);
+ return 0;
+ }
+--
+2.1.4
+
--- ./package/gdb/7.9.1/0007-move-__SIGRTMIN.patch.orig 2017-01-13 12:28:21.690620042 +0100
+++ ./package/gdb/7.9.1/0007-move-__SIGRTMIN.patch 2017-01-13 12:28:10.544619626 +0100
@@ -0,0 +1,58 @@
+From 682b25469e66ea45b214e95962671373983c118f Mon Sep 17 00:00:00 2001
+From: Doug Evans <dje@google.com>
+Date: Mon, 26 Oct 2015 13:30:57 -0700
+Subject: [PATCH] Move __SIGRTMIN.
+
+gdb/ChangeLog:
+
+ * nat/linux-nat.h (__SIGRTMIN): Move here from gdbserver/linux-low.c.
+
+gdb/gdbserver/ChangeLog:
+
+ * linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h.
+
+[Arnout: removed the parts that don't apply, including ChangeLog]
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ gdb/ChangeLog | 4 ++++
+ gdb/gdbserver/ChangeLog | 4 ++++
+ gdb/gdbserver/linux-low.c | 6 ------
+ gdb/nat/linux-nat.h | 5 +++++
+ 4 files changed, 13 insertions(+), 6 deletions(-)
+
+diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
+index 7ed67c7..e778c4c 100644
+--- a/gdb/gdbserver/linux-low.c
++++ b/gdb/gdbserver/linux-low.c
+@@ -70,12 +70,6 @@
+ #define O_LARGEFILE 0
+ #endif
+
+-/* This is the kernel's hard limit. Not to be confused with
+- SIGRTMIN. */
+-#ifndef __SIGRTMIN
+-#define __SIGRTMIN 32
+-#endif
+-
+ /* Some targets did not define these ptrace constants from the start,
+ so gdbserver defines them locally here. In the future, these may
+ be removed after they are added to asm/ptrace.h. */
+diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h
+index 0633fa9..70e6274 100644
+--- a/gdb/nat/linux-nat.h
++++ b/gdb/nat/linux-nat.h
+@@ -25,6 +25,11 @@
+ struct lwp_info;
+ struct arch_lwp_info;
+
++/* This is the kernel's hard limit. Not to be confused with SIGRTMIN. */
++#ifndef __SIGRTMIN
++#define __SIGRTMIN 32
++#endif
++
+ /* Unlike other extended result codes, WSTOPSIG (status) on
+ PTRACE_O_TRACESYSGOOD syscall events doesn't return SIGTRAP, but
+ instead SIGTRAP with bit 7 set. */
+--
+1.9.4
+
--- ./package/gdb/7.9.1/0006-musl-Move-W_STOPCODE-to-common-gdb_wait-h.patch.orig 2017-01-16 09:24:23.097874596 +0100
+++ ./package/gdb/7.9.1/0006-musl-Move-W_STOPCODE-to-common-gdb_wait-h.patch 2016-10-18 02:43:07.221913059 +0200
@@ -0,0 +1,63 @@
+From 963843d4d07aef6caa296dacf191f8adc9518596 Mon Sep 17 00:00:00 2001
+From: Doug Evans <dje@google.com>
+Date: Mon, 26 Oct 2015 13:24:01 -0700
+Subject: [PATCH] musl: Move W_STOPCODE to common/gdb_wait.h.
+
+gdb/ChangeLog:
+
+ * common/gdb_wait.h (W_STOPCODE): Define, moved here from
+ gdbserver/linux-low.c.
+ (WSETSTOP): Simplify.
+
+gdb/gdbserver/ChangeLog:
+
+ * linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h.
+
+[Arnout: removed the parts that don't apply, including ChangeLog]
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ gdb/ChangeLog | 6 ++++++
+ gdb/common/gdb_wait.h | 8 ++++----
+ gdb/gdbserver/ChangeLog | 4 ++++
+ gdb/gdbserver/linux-low.c | 4 ----
+ 4 files changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/gdb/common/gdb_wait.h b/gdb/common/gdb_wait.h
+index 9b250d2..412f813 100644
+--- a/gdb/common/gdb_wait.h
++++ b/gdb/common/gdb_wait.h
+@@ -85,12 +85,12 @@
+ # endif
+ #endif
+
++#ifndef W_STOPCODE
++#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
++#endif
++
+ #ifndef WSETSTOP
+-# ifdef W_STOPCODE
+ #define WSETSTOP(w,sig) ((w) = W_STOPCODE(sig))
+-# else
+-#define WSETSTOP(w,sig) ((w) = (0177 | ((sig) << 8)))
+-# endif
+ #endif
+
+ /* For native GNU/Linux we may use waitpid and the __WCLONE option.
+diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
+index 0c552b8..7ed67c7 100644
+--- a/gdb/gdbserver/linux-low.c
++++ b/gdb/gdbserver/linux-low.c
+@@ -70,10 +70,6 @@
+ #define O_LARGEFILE 0
+ #endif
+
+-#ifndef W_STOPCODE
+-#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
+-#endif
+-
+ /* This is the kernel's hard limit. Not to be confused with
+ SIGRTMIN. */
+ #ifndef __SIGRTMIN
+--
+1.9.4
+
......@@ -962,7 +962,7 @@ static int handle_exit(void)
if (conf_get_changed())
res = dialog_yesno(NULL,
_("Do you wish to save your new configuration?\n"
"(Press <ESC><ESC> to continue kernel configuration.)"),
"(Press <ESC><ESC> to continue wrs configuration.)"),
6, 60);
else
res = -1;
......
TERM=xterm
export TERM
config:
cp dot-config .config
./conf Kconfig
......@@ -6,14 +9,12 @@ config:
mv .config dot-config
defconfig:
cp dot-config .config
./conf -D wrs_release_defconfig Kconfig
mv .config.old dot-config.old
mv .config dot-config
cp wrs_release_defconfig dot-config
KCONFIG_CONFIG=dot-config ./conf --olddefconfig Kconfig
oldconfig:
cp dot-config .config
./conf -o Kconfig
./conf --oldconfig Kconfig
mv .config.old dot-config.old
mv .config dot-config
......
......@@ -103,6 +103,7 @@ static uint8_t mi2c_get_byte(struct i2c_bitbang *bus, int ack)
mi2c_pin_out(bus->scl, 0);
shw_pio_setdir(bus->sda, PIO_IN); //let SDA float so we can read it
shw_udelay(I2C_DELAY); // wait for the SDA to become stable
for (i = 0; i < 8; i++) {
mi2c_pin_out(bus->scl, 1);
......
......@@ -283,7 +283,7 @@ void shw_sfp_print_header(struct shw_sfp_header *head)
printf("Identifier: %02X\n", head->id);
printf("Extended Identifier: %02X\n", head->ext_id);
printf("Connector: %02X\n", head->connector);
printf("Tranciever: %016llX\n", ((uint64_t *) head->transciever)[0]);
printf("Transceiver: %016llX\n", ((uint64_t *) head->transciever)[0]);
printf("Encoding: %02x\n", head->encoding);
printf("Nominal Bit Rate: %d Megabits/s\n", head->br_nom * 100);
printf("Length (9m): %dkm\n", head->length1);
......
......@@ -65,5 +65,6 @@ char *mac_to_string(uint8_t mac[ETH_ALEN]);
char *mac_to_buffer(uint8_t mac[ETH_ALEN], char buffer[ETH_ALEN_STR]);
int mac_from_str(uint8_t *tomac, const char *fromstr);
int mac_verify(char *mac_str);
int mac_to_lower(char *mac_str);
#endif /* __WHITERABBIT_RTU_MAC_H */
......@@ -57,7 +57,7 @@
#define ALIGN_STATE_WAIT_CLKIN 9
#define ALIGN_STATE_WAIT_PLOCK 10
#define SPLL_STATS_VER 2
#define SPLL_STATS_VER 4
/* info reported through .stat section */
/* due to endiannes problem strings has to be 4 bytes alligned */
......@@ -78,6 +78,8 @@ struct spll_stats {
char build_date[16];
char build_time[16];
char build_by[32];
int ext_pps_latency_ps; // added by hm
};
extern struct spll_stats stats;
......
/*
* White Rabbit MAC utils
* Copyright (C) 2010, CERN.
* Copyright (C) 2010, 2017 CERN.
*
* Version: wrsw_rtud v1.0
*
* Authors: Tomasz Wlostowski (tomasz.wlostowski@cern.ch)
* Authors: Adam Wujek (adam.wujek@cern.ch)
*
* Description: MAC address type related operations.
*
......@@ -27,6 +28,7 @@
#include <libwr/mac.h>
#include <stdio.h>
#include <ctype.h>
/**
* \brief Helper function to convert mac address into a string
......@@ -71,7 +73,7 @@ int mac_verify(char *mac_str)
char buffer[ETH_ALEN_STR];
/* Check the length of a string containing MAC */
if (ETH_ALEN_STR != strnlen(mac_str, ETH_ALEN_STR + 1)) {
if (ETH_ALEN_STR == strnlen(mac_str, ETH_ALEN_STR) + 1) {
/* Convert string to mac */
mac_from_str(mac, mac_str);
/* Convert mac to string */
......@@ -85,3 +87,19 @@ int mac_verify(char *mac_str)
}
return -1;
}
/**
* \brief Function to lowercase the mac address
*/
int mac_to_lower(char *mac_str)
{
int i;
if (ETH_ALEN_STR != strnlen(mac_str, ETH_ALEN_STR) + 1)
return -1;
for (i = 0; i < ETH_ALEN_STR; i++)
mac_str[i] = tolower(mac_str[i]);
return 0;
}
......@@ -8,9 +8,10 @@
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <arpa/inet.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/if_ether.h>
#include <linux/if_packet.h>
#include <linux/if_ether.h>
#include <linux/if_arp.h>
#include <linux/net_tstamp.h>
#include <linux/sockios.h>
#include <sys/time.h>
......@@ -226,6 +227,12 @@ struct wr_socket *ptpd_netif_create_socket(int sock_type, int flags,
struct ifreq ifr;
struct hwtstamp_config hwconfig;
/* Since version v3.2-rc1 (commit 850a545bd) linux kernel check whether
* field "flags" of struct hwtstamp_config is empty, otherwise ioctl
* for SIOCSHWTSTAMP returns -EINVAL */
memset(&ifr, 0, sizeof(struct ifreq));
memset(&hwconfig, 0, sizeof(struct hwtstamp_config));
strncpy(ifr.ifr_name, bind_addr->if_name, sizeof(ifr.ifr_name));
hwconfig.tx_type = HWTSTAMP_TX_ON;
......
ppsi @ ffcde2c5
Subproject commit 754a413ef5423b9a06472a28b6a759dca00d9c62
Subproject commit ffcde2c548cd911d734382311c6780288545f3a0
......@@ -56,6 +56,7 @@ fi
echo -n "Configuring external clock clk2: "
eval /wr/bin/wrs_auxclk $p_freq $p_duty $p_cshift $p_sigdel $p_ppshift $LOGPIPE
ret=$?
if [ $ret -eq 0 ]; then
echo "OK"
echo "ok" > $wrs_auxclk_set_status_file
......
......@@ -308,6 +308,11 @@ table.altrowstablesmall input {
font-size: 100%;
}
#endpointconfig table.altrowstablesmall input {
width: 45px;
font-size: 100%;
}
table.altrowstabledash {
font-family: verdana,arial,sans-serif;
font-size: 11px;
......@@ -467,7 +472,12 @@ element.style {
}
.center {
margin-left:auto;
margin-right:auto;
text-align:center;
margin-left:auto;
margin-right:auto;
text-align:center;
}
table.fiberstable td {
width: auto !important;
}
......@@ -12,6 +12,17 @@
*
*/
#Save info to temp file so we dont have to execute command at each call
if(empty($_SESSION["WRSVERSIONTMP"])){
$file_version = "/tmp/www_wrs_version.txt";
if (!file_exists($file_version)) {
$_SESSION["WRSVERSIONTMP"] = shell_exec("/wr/bin/wrs_version -t | tee > ".$file_version);
} else {
$_SESSION["WRSVERSIONTMP"] = shell_exec("cat ".$file_version);
}
}
$outputfilename = "/var/www/data/wrs-info.php";
......@@ -27,20 +38,19 @@ $options = Array (
Array ("HOSTNAME","Hostname","uname -n","y"),
Array ("KERNEL","Kernel Version","uname -r","y"),
Array ("KERNELCOMPILEDDATE","Kernel Compiled Date","uname -v","y"),
Array ("FIRMWARE","Firmware Version","/wr/bin/wrs_version | awk '{print $4}'","y"),
Array ("HARDWARE","Hardware Version","/wr/bin/wrs_version -t | grep 'scb\|back' | sort -r | sed 's/back/ back/' | sed 's/-version: /: v/'","y"),
Array ("FPGA","FPGA Version","/wr/bin/wrs_version -f","y"),
Array ("COMPILEDBY","Compiled By",'/wr/bin/wrs_version -v | cut -d " " -f 2-',"y"),
Array ("MANUFACTURER","Manufacturer","/wr/bin/wrs_version -t | grep 'manufacturer' | sed 's/[^:]*: //'","y"),
Array ("SERIALNUMBER","Serial Number","/wr/bin/wrs_version -t | grep 'serial' | sed 's/[^:]*: //'","y"),
Array ("GATEWARE","Gateware Version","/wr/bin/wrs_version -t | grep 'gateware-version' | sed 's/[^:]*: //'","y"),
Array ("GATEWAREBUILD","Gateware Build","/wr/bin/wrs_version -t | grep 'gateware-build' | sed 's/[^:]*: //'","y"),
Array ("WRSHDLCOMMIT","WR Switch HDL Commit","/wr/bin/wrs_version -t | grep 'wr_switch_hdl-commit' | sed 's/[^:]*: //'","y"),
Array ("GCORESCOMMIT","General Cores Commit","/wr/bin/wrs_version -t | grep 'general-cores-commit' | sed 's/[^:]*: //'","y"),
Array ("WRCORESCOMMIT","WR Cores Commit","/wr/bin/wrs_version -t | grep 'wr-cores-commit' | sed 's/[^:]*: //'","y"),
Array ("FIRMWARE","Firmware Version","/wr/bin/wrs_version | awk '{print $4}'","y"),
Array ("HARDWARE","Hardware Version","cat /tmp/www_wrs_version.txt | grep 'scb\|back' | sort -r | sed 's/back/ back/' | sed 's/-version: /: v/'","y"),
Array ("FPGA","FPGA Version","cat /tmp/www_wrs_version.txt | grep 'fpga-type' | sed 's/[^:]*: //'","y"),
Array ("COMPILEDBY","Compiled By","cat /tmp/www_wrs_version.txt | grep 'bult-by' | sed 's/[^:]*: //'","y"),
Array ("MANUFACTURER","Manufacturer","cat /tmp/www_wrs_version.txt | grep 'manufacturer' | sed 's/[^:]*: //'","y"),
Array ("SERIALNUMBER","Serial Number","cat /tmp/www_wrs_version.txt | grep 'serial' | sed 's/[^:]*: //'","y"),
Array ("GATEWARE","Gateware Version","cat /tmp/www_wrs_version.txt | grep 'gateware-version' | sed 's/[^:]*: //'","y"),
Array ("GATEWAREBUILD","Gateware Build","cat /tmp/www_wrs_version.txt | grep 'gateware-build' | sed 's/[^:]*: //'","y"),
Array ("WRSHDLCOMMIT","WR Switch HDL Commit","cat /tmp/www_wrs_version.txt | grep 'wr_switch_hdl-commit' | sed 's/[^:]*: //'","y"),
Array ("GCORESCOMMIT","General Cores Commit","cat /tmp/www_wrs_version.txt | grep 'general-cores-commit' | sed 's/[^:]*: //'","y"),
Array ("WRCORESCOMMIT","WR Cores Commit","cat /tmp/www_wrs_version.txt | grep 'wr-cores-commit' | sed 's/[^:]*: //'","y"),
);
// Code for wrs-info.php generation.
$output = '<?php
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment