mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 17:42:41 +00:00
87 lines
1.9 KiB
Bash
Executable File
87 lines
1.9 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2007 OpenWrt.org
|
|
|
|
START=94
|
|
USE_PROCD=1
|
|
|
|
. /lib/functions.sh
|
|
|
|
eap105_eth_fix() {
|
|
#ethernet reset
|
|
echo 481 > /sys/class/gpio/export
|
|
echo "out" > /sys/class/gpio/gpio481/direction
|
|
echo 0 > /sys/class/gpio/gpio481/value
|
|
echo 1 > /sys/class/gpio/gpio481/value
|
|
|
|
#eth1 Fix RE Fail
|
|
sleep 1
|
|
ssdk_sh debug phy set 0x2 0x1f 0x0A43
|
|
ssdk_sh debug phy set 0x2 0x19 0x0862
|
|
ssdk_sh debug phy set 0x2 0x1f 0x0000
|
|
ssdk_sh debug phy set 0x2 0x0 0x9200
|
|
|
|
#eth1 10/100M detect led flash setup
|
|
ssdk_sh debug phy set 0x2 0x1f 0x0d04
|
|
ssdk_sh debug phy set 0x2 0x10 0x6E51
|
|
|
|
#eth0 5G detect led flash setup
|
|
ssdk_sh debug phy set 0x1 0xd 0x1f
|
|
ssdk_sh debug phy set 0x1 0xe 0xd032
|
|
ssdk_sh debug phy set 0x1 0xd 0x401f
|
|
ssdk_sh debug phy set 0x1 0xe 0x1e7
|
|
|
|
ssdk_sh debug phy set 0x1 0xd 0x1f
|
|
ssdk_sh debug phy set 0x1 0xe 0xd040
|
|
ssdk_sh debug phy set 0x1 0xd 0x401f
|
|
ssdk_sh debug phy set 0x1 0xe 0x393f
|
|
|
|
#eth0 Fix USXGMII
|
|
ssdk_sh debug phy set 0x1 0x601E7588 0x05D8
|
|
ssdk_sh debug phy set 0x1 0x601E7589 0x2100
|
|
ssdk_sh debug phy set 0x1 0x601E7587 0x0003
|
|
|
|
count=0
|
|
while [ 1 ]
|
|
do
|
|
date
|
|
if [ $(($(echo $(echo $(ssdk_sh debug phy get 0x1 0x601E7587) | cut -d':' -f2) | cut -d' ' -f1) & 1)) -eq 0 ]; then
|
|
echo > /tmp/Pre-emphasis-PASS
|
|
break
|
|
fi
|
|
count=$(($count+1))
|
|
if [ $count -eq 10 ]; then
|
|
echo > /tmp/Pre-emphasis-FAIL
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
ssdk_sh debug phy set 0x1 0x601E7588 0x05D7
|
|
ssdk_sh debug phy set 0x1 0x601E7589 0x2180
|
|
ssdk_sh debug phy set 0x1 0x601E7587 0x0003
|
|
|
|
count=0
|
|
while [ 1 ]
|
|
do
|
|
date
|
|
if [ $(($(echo $(echo $(ssdk_sh debug phy get 0x1 0x601E7587) | cut -d':' -f2) | cut -d' ' -f1) & 1)) -eq 0 ]; then
|
|
echo > /tmp/Amp-PASS
|
|
break
|
|
fi
|
|
count=$(($count+1))
|
|
if [ $count -eq 10 ]; then
|
|
echo > /tmp/Amp-FAIL
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
}
|
|
|
|
start_service() {
|
|
case "$(board_name)" in
|
|
"edgecore,eap105")
|
|
eap105_eth_fix
|
|
;;
|
|
esac
|
|
}
|