Skip to content

Commit f551492

Browse files
committed
Add support for r37gb 2
1 parent b87ba2f commit f551492

File tree

7 files changed

+359
-0
lines changed

7 files changed

+359
-0
lines changed

scripts/common.sh

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ CAMERAS["y213ga"]="y213ga"
3030
CAMERAS["h30ga"]="h30ga"
3131
CAMERAS["r30gb"]="r30gb"
3232
CAMERAS["r35gb"]="r35gb"
33+
CAMERAS["r37gb"]="r37gb"
3334
CAMERAS["h52ga"]="h52ga"
3435
CAMERAS["h51ga"]="h51ga"
3536
CAMERAS["y28ga"]="y28ga"

sdhack/r37gb/Factory/config.sh

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
echo "############## Starting Firmware Dump ##############"
2+
echo "############## Starting Firmware Dump ##############"
3+
echo "############## Starting Firmware Dump ##############"
4+
echo "############## Starting Firmware Dump ##############"
5+
6+
mkdir -p /tmp/sd/backup
7+
8+
cat /proc/mtd > /tmp/sd/backup/mtd.txt
9+
10+
dd if=/dev/mtdblock0 of=/tmp/sd/backup/mtdblock0.bin
11+
dd if=/dev/mtdblock1 of=/tmp/sd/backup/mtdblock1.bin
12+
dd if=/dev/mtdblock2 of=/tmp/sd/backup/mtdblock2.bin
13+
dd if=/dev/mtdblock3 of=/tmp/sd/backup/mtdblock3.bin
14+
dd if=/dev/mtdblock4 of=/tmp/sd/backup/mtdblock4.bin
15+
dd if=/dev/mtdblock5 of=/tmp/sd/backup/mtdblock5.bin
16+
dd if=/dev/mtdblock6 of=/tmp/sd/backup/mtdblock6.bin
17+
dd if=/dev/mtdblock7 of=/tmp/sd/backup/mtdblock7.bin
18+
19+
cp /home/homever /tmp/sd/backup/homever.txt
20+
21+
22+
23+
echo "############## Starting Hack ##############"
24+
echo "############## Starting Hack ##############"
25+
echo "############## Starting Hack ##############"
26+
echo "############## Starting Hack ##############"
27+
28+
29+
### Check if hack is present
30+
echo "### Hacking"
31+
if [ `grep telnetd /backup/init.sh | grep -c ^` -gt 0 ]; then
32+
echo "Hack already applied"
33+
else
34+
echo "Applying hack"
35+
36+
### Update /backup/init.sh with a more friendly one
37+
echo "### Updating /backup/init.sh"
38+
cp /backup/init.sh /tmp/init.sh
39+
sed -n '1{$!N;$!N;$!N;$!N};$!N;s@\nif \[ \-f \/home\/app\/lower_half_init.sh \];then\n source \/home\/app\/lower_half_init.sh\nelse\n source \/backup\/lower_half_init.sh\nfi@@;P;D' -i /tmp/init.sh
40+
sed -n '1{$!N;$!N;$!N;$!N};$!N;s@\nif \[ \-f \/home\/app\/lower_half_init.sh \];then\n\tsource \/home\/app\/lower_half_init.sh\nelse\n\tsource \/backup\/lower_half_init.sh\nfi@@;P;D' -i /tmp/init.sh
41+
sed -e 's/^source \/home\/app\/lower_half_init.sh//g' -i /tmp/init.sh
42+
43+
echo "# Running telnetd" >> /tmp/init.sh
44+
echo "/usr/sbin/telnetd &" >> /tmp/init.sh
45+
echo "" >> /tmp/init.sh
46+
echo "if [ -f /tmp/sd/lower_half_init.sh ];then" >> /tmp/init.sh
47+
echo " source /tmp/sd/lower_half_init.sh" >> /tmp/init.sh
48+
echo "elif [ -f /home/app/lower_half_init.sh ];then" >> /tmp/init.sh
49+
echo " source /home/app/lower_half_init.sh" >> /tmp/init.sh
50+
echo "else" >> /tmp/init.sh
51+
echo " source /backup/lower_half_init.sh" >> /tmp/init.sh
52+
echo "fi" >> /tmp/init.sh
53+
54+
cp /tmp/init.sh /backup/init.sh
55+
rm /tmp/init.sh
56+
fi
57+
58+
### Set wireless credentials if configure_wifi.cfg exists
59+
if [ -e /tmp/sd/Factory/configure_wifi.cfg ]; then
60+
/tmp/sd/Factory/configure_wifi.sh
61+
fi
62+
63+
### Disable the hack for next reboot
64+
echo "### Disabling hack for next reboot"
65+
if [ -e /tmp/sd/Factory.done ]; then
66+
rm -rf /tmp/sd/Factory.done
67+
fi
68+
if [ -e /tmp/sd/Factory ]; then
69+
mv /tmp/sd/Factory /tmp/sd/Factory.done
70+
fi
71+
72+
sync
73+
sync
74+
sync
75+
76+
reboot
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Don't use backslash char \
2+
# Don't use double quote " around ssid and psk
3+
# Space chars are allowed
4+
wifi_ssid=My AP 2.4GHz
5+
wifi_psk=password$
+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#!/bin/sh
2+
3+
function print_help {
4+
echo "configure_wifi.sh"
5+
echo "will be used on next boot"
6+
}
7+
8+
CFG_FILE=/tmp/sd/Factory/configure_wifi.cfg
9+
if [ ! -f "$CFG_FILE" ]; then
10+
echo "configure_wifi.cfg not found"
11+
exit 1
12+
fi
13+
14+
TMP=$(cat $CFG_FILE | grep wifi_ssid=)
15+
SSID=$(echo "${TMP:10}")
16+
TMP=$(cat $CFG_FILE | grep wifi_psk=)
17+
KEY=$(echo "${TMP:9}")
18+
19+
if [ -z "$SSID" ]; then
20+
echo "error: ssid has not been set"
21+
print_help
22+
exit 1
23+
fi
24+
if [ ${#SSID} -gt 63 ]; then
25+
echo "error: ssid is too long"
26+
print_help
27+
exit 1
28+
fi
29+
30+
if [ -z "$KEY" ]; then
31+
echo "error: key has not been set"
32+
print_help
33+
exit 1
34+
fi
35+
if [ ${#KEY} -gt 63 ]; then
36+
echo "error: key is too long"
37+
print_help
38+
exit 1
39+
fi
40+
41+
CURRENT_SSID=$(dd bs=1 skip=28 count=64 if=/dev/mtdblock7 2>/dev/null)
42+
CURRENT_KEY=$(dd bs=1 skip=92 count=64 if=/dev/mtdblock7 2>/dev/null)
43+
CURRENT_BIT=$(hexdump -C -s 16 -n 16 /dev/mtdblock7 2>/dev/null | awk 'NR==1 {print}' | cut -d " " -f 12)
44+
45+
echo $SSID ${#SSID} - $CURRENT_SSID ${#CURRENT_SSID}
46+
echo $KEY ${#KEY} - $CURRENT_KEY ${#CURRENT_KEY}
47+
echo $CONNECTED_BIT
48+
49+
if [ "$SSID" == "$CURRENT_SSID" ] && [ "$KEY" == "$CURRENT_KEY" ]; then
50+
echo "ssid and key already configured"
51+
if [ "$CONNECTED_BIT" != "00000000" ]; then
52+
#write "connected" bit
53+
printf "\00\00\00\00" | dd of=/dev/mtdblock7 bs=1 seek=24 count=4 conv=notrunc
54+
sync
55+
sync
56+
sync
57+
reboot
58+
fi
59+
exit
60+
fi
61+
62+
echo "creating partition backup..."
63+
DATE=$(date '+%Y%m%d%H%M%S')
64+
dd if=/dev/mtdblock7 of=/tmp/sd/mtdblock7_$DATE.bin 2>/dev/null
65+
66+
# clear the existing passwords (to ensure we are null terminated)
67+
cat /dev/zero | dd of=/dev/mtdblock7 bs=1 seek=28 count=64 conv=notrunc
68+
cat /dev/zero | dd of=/dev/mtdblock7 bs=1 seek=92 count=64 conv=notrunc
69+
# write SSID
70+
echo -n "$SSID" | dd of=/dev/mtdblock7 bs=1 seek=28 count=64 conv=notrunc
71+
# write key
72+
echo -n "$KEY" | dd of=/dev/mtdblock7 bs=1 seek=92 count=64 conv=notrunc
73+
#write "connected" bit
74+
printf "\00\00\00\00" | dd of=/dev/mtdblock7 bs=1 seek=24 count=4 conv=notrunc
75+
76+
sync
77+
sync
78+
sync
79+
reboot

sdhack/r37gb/Factory/factory_test.sh

Whitespace-only changes.

sysroot/r37gb/lower_half_init.sh

+198
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
#!/bin/sh
2+
3+
# protect against running this script twice and starting up a bunch of duplicate processes
4+
if [ -f /tmp/init_started ]; then
5+
exit
6+
fi
7+
8+
touch /tmp/init_started
9+
10+
mount -t vfat /dev/mmcblk0 /tmp/sd
11+
if [ "${SUFFIX}" = "y211ga" ] || [ "${SUFFIX}" = "y211ba" ];then
12+
echo "need reset gpio198"
13+
echo 198 > /sys/class/gpio/export
14+
echo out > /sys/class/gpio/gpio198/direction
15+
echo 0 > /sys/class/gpio/gpio198/value
16+
sleep 1
17+
echo 1 > /sys/class/gpio/gpio198/value
18+
fi
19+
20+
### wifi 8188 ###
21+
if [ "${enable_4g}" = "y" ];then
22+
echo "4g is running...."
23+
else
24+
if [ -f /home/base/wifi/8188fu.ko ];then
25+
insmod /home/base/wifi/8188fu.ko
26+
elif [ -f /home/base/wifi/8189fs.ko ];then
27+
insmod /home/base/wifi/8189fs.ko
28+
elif [ -f /backup/ko/8188fu.ko ];then
29+
insmod /backup/ko/8188fu.ko
30+
elif [ -f /backup/ko/8189fs.ko ];then
31+
insmod /backup/ko/8189fs.ko
32+
elif [ -f /backup/ko/hi3881.ko ];then
33+
insmod /backup/ko/hi3881.ko
34+
sleep 1
35+
echo 'wlan0 set_sta_pm_on 0' > /sys/hisys/hipriv
36+
echo 'wlan0 alg_cfg tpc_mode 0' > /sys/hisys/hipriv
37+
echo 'wlan0 intrf_mode 0 1 1 1' > /sys/hisys/hipriv
38+
elif [ -f /backup/ko/8192fu.ko ];then
39+
insmod /backup/ko/8192fu.ko
40+
elif [ -f /backup/ko/atbm603x_wifi_usb.ko ];then
41+
insmod /backup/ko/atbm603x_wifi_usb.ko
42+
elif [ -f /backup/ko/rdawfmac.ko ];then
43+
insmod /backup/ko/rdawfmac.ko
44+
elif [ -f /backup/ko/ssv6155.ko ];then
45+
if [ -f /home/base/firmware/ssv6155_jixian/ssv6155-wifi.cfg ];then
46+
insmod /backup/ko/ssv6155.ko stacfgpath="/home/base/firmware/ssv6155_jixian/ssv6155-wifi.cfg" wifi_type=USB
47+
else
48+
echo "not found ssv6155-wifi.cfg"
49+
fi
50+
fi
51+
52+
if [ -f /backup/ko/ssv6x5x.ko ];then
53+
if [ "${SUFFIX}" = "d071qp" ];then
54+
if [ -f /home/base/firmware/ssv6x5x/ssv6152-wifi.cfg ];then
55+
insmod /backup/ko/ssv6x5x.ko stacfgpath="/home/base/firmware/ssv6x5x/ssv6152-wifi.cfg" wifi_type=SDIO
56+
else
57+
echo "not found ssv6x5x-wifi.cfg"
58+
fi
59+
else
60+
if [ -f /home/base/firmware/ssv6x5x/ssv6x5x-wifi.cfg ];then
61+
insmod /backup/ko/ssv6x5x.ko stacfgpath="/home/base/firmware/ssv6x5x/ssv6x5x-wifi.cfg" wifi_type=$SSV_WIFI_TYPE
62+
else
63+
echo "not found ssv6x5x-wifi.cfg"
64+
fi
65+
fi
66+
fi
67+
fi
68+
69+
echo "--------------------------insmod sensor--------------------------"
70+
insmod /home/base/ko/videobuf2-core.ko
71+
insmod /home/base/ko/videobuf2-memops.ko
72+
insmod /home/base/ko/videobuf2-dma-contig.ko
73+
insmod /home/base/ko/videobuf2-v4l2.ko
74+
insmod /home/base/ko/vin_io.ko
75+
76+
#统一版本
77+
if [ "${SUFFIX}" = "b091qp" ];then
78+
insmod /backup/ko/cam_sensor.ko
79+
insmod /home/base/ko/vin_v4l2.ko ccm0=$SENSOR_DRIVE_NAME i2c0_addr=$SENSOR_ADDR
80+
else
81+
insmod /home/base/ko/cam_sensor.ko
82+
insmod /home/base/ko/vin_v4l2.ko
83+
fi
84+
85+
86+
if [ -f /home/base/ko/icplus.ko ];then
87+
insmod /home/base/ko/icplus.ko
88+
elif [ -f /backup/ko/icplus.ko ];then
89+
insmod /backup/ko/icplus.ko
90+
fi
91+
92+
if [ -f /home/base/ko/sunxi_gpadc.ko ];then
93+
insmod /home/base/ko/sunxi_gpadc.ko
94+
fi
95+
96+
#/home/app/script/factory_test.sh
97+
98+
#echo "MTK 7601" > /tmp/MTK
99+
#echo /tmp/sd/core.exe[%e].pid[%p].sig[%s] > /proc/sys/kernel/core_pattern
100+
101+
sleep 1
102+
ifconfig lo up
103+
104+
ifconfig ${NETWORK_IFACE} up
105+
#设置最大功率 wlan0 up之后
106+
#if [ -f /backup/ko/rdawfmac.ko ];then
107+
# /backup/ko/rda5995-usb/firmware/rda_tools wlan0 write_txp 0x4e 0x3a
108+
#fi
109+
110+
ethmac=d2:`ifconfig ${NETWORK_IFACE} |grep HWaddr|cut -d' ' -f10|cut -d: -f2-`
111+
#if [ "${enable_4g}" = "y" ];then
112+
# ifconfig usb0 up
113+
# ethmac=d2:`ifconfig usb0 |grep HWaddr|cut -d' ' -f10|cut -d: -f2-`
114+
#else
115+
# ifconfig wlan0 up
116+
# ethmac=d2:`ifconfig wlan0 |grep HWaddr|cut -d' ' -f10|cut -d: -f2-`
117+
#fi
118+
119+
ifconfig eth0 hw ether $ethmac
120+
a=1
121+
if [ "${SUFFIX}" = "b111qp" ] || [ "${SUFFIX}" = "b101qp" ] || [ "${SUFFIX}" = "b092qp" ] || [ "${SUFFIX}" = "b091qp" ] || [ "${SUFFIX}" = "q321br_aldz_3m" ]; then
122+
while ( ! ifconfig eth0 up)
123+
do
124+
echo "ifconfig eth0 up failed"
125+
let a++
126+
if [ $a -eq 10 ]; then
127+
break
128+
fi
129+
done
130+
else
131+
ifconfig eth0 up
132+
fi
133+
134+
ln -s /home/model/BodyVehicleAnimal3.model /tmp/BodyVehicleAnimal3.model
135+
136+
137+
echo "============================================= home low_half_init.sh... ========================================="
138+
echo "============================================= begin to start app... ========================================="
139+
cd /home/app
140+
if [ -f /home/app/property ];then
141+
./property &
142+
fi
143+
#./log_server &
144+
145+
if [ -f "/tmp/sd/Factory/factory_test.sh" ]; then
146+
/tmp/sd/Factory/config.sh
147+
exit
148+
fi
149+
150+
export LD_LIBRARY_PATH=/home/app/locallib:$LD_LIBRARY_PATH:/tmp
151+
echo $LD_LIBRARY_PATH
152+
153+
if [ -f "/tmp/sd/factory_aging_test.sh" ]; then
154+
#/tmp/sd/factory_aging_test.sh
155+
./dispatch &
156+
sleep 2
157+
./rmm &
158+
sleep 2
159+
./mp4record &
160+
exit
161+
fi
162+
163+
if [ -f "/tmp/sd/log_tools.tar.gz" ];then
164+
echo "run log_tools start."
165+
if [ ! -d /tmp/sd/log_tools ];then
166+
cd /tmp/sd
167+
mkdir log_tools
168+
fi
169+
cd /tmp/sd
170+
tar -zxvf log_tools.tar.gz -C /tmp/sd/log_tools
171+
chmod +x /tmp/sd/log_tools/run_log_app.sh
172+
source /tmp/sd/log_tools/run_log_app.sh
173+
cd -
174+
echo "run log_tools end."
175+
exit
176+
fi
177+
178+
mount --bind /tmp/sd/yi-hack/script/wifidhcp.sh /home/app/script/wifidhcp.sh
179+
mount --bind /tmp/sd/yi-hack/script/wifidhcp.sh /backup/tools/wifidhcp.sh
180+
mount --bind /tmp/sd/yi-hack/script/ethdhcp.sh /home/app/script/ethdhcp.sh
181+
mount --bind /tmp/sd/yi-hack/script/ethdhcp.sh /backup/tools/ethdhcp.sh
182+
183+
LD_PRELOAD=/tmp/sd/yi-hack/lib/ipc_multiplex.so ./dispatch &
184+
#sleep 2
185+
#./rmm &
186+
#sleep 2
187+
#./mp4record &
188+
#./cloud &
189+
#./p2p_tnp &
190+
#./oss &
191+
#./rtmp &
192+
#./watch_process &
193+
194+
chmod 777 /tmp/sd/debug.sh
195+
sh /tmp/sd/debug.sh &
196+
197+
chmod 755 /tmp/sd/yi-hack/script/system.sh
198+
sh /tmp/sd/yi-hack/script/system.sh &

sysroot/r37gb/yi-hack/fw_upgrade_in_progress

Whitespace-only changes.

0 commit comments

Comments
 (0)