Init commit
This commit is contained in:
commit
ca45538b63
|
|
@ -0,0 +1,35 @@
|
|||
#!/bin/bash
|
||||
|
||||
sleep 5
|
||||
if [[ ! -f "~/debugwifi.log" ]];then
|
||||
touch ~/debugwifi.log
|
||||
fi
|
||||
|
||||
echo "connect start" > ~/debugwifi.log
|
||||
timedatectl >> ~/debugwifi.log
|
||||
|
||||
nmcli dev wifi list > /dev/null
|
||||
sleep 1
|
||||
/usr/bin/python3 /usr/bin/easywifi-root.py &
|
||||
echo "connect success"
|
||||
|
||||
|
||||
#mount -t configfs none /sys/kernel/config/
|
||||
modprobe usb_f_hid
|
||||
mkdir /sys/kernel/config/usb_gadget/g1
|
||||
echo 0x0525 >/sys/kernel/config/usb_gadget/g1/idVendor
|
||||
echo 0xa4ac >/sys/kernel/config/usb_gadget/g1/idProduct
|
||||
mkdir /sys/kernel/config/usb_gadget/g1/strings/0x409
|
||||
mkdir /sys/kernel/config/usb_gadget/g1/functions/hid.usb0
|
||||
echo 1 > /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/protocol
|
||||
echo 1 > /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/subclass
|
||||
echo 512 >/sys/kernel/config/usb_gadget/g1/functions/hid.usb0/report_length
|
||||
echo -ne \\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0 > /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/report_desc
|
||||
mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1
|
||||
echo 0xc0 >/sys/kernel/config/usb_gadget/g1/configs/c.1/bmAttributes
|
||||
echo 500 >/sys/kernel/config/usb_gadget/g1/configs/c.1/MaxPower
|
||||
mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409
|
||||
ln -s /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/
|
||||
|
||||
|
||||
/usr/bin/python /usr/bin/server.py > /dev/null &
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
#!/bin/bash
|
||||
|
||||
sleep 5
|
||||
if [[ ! -f "~/debugwifi.log" ]];then
|
||||
touch ~/debugwifi.log
|
||||
fi
|
||||
|
||||
echo "connect start" > ~/debugwifi.log
|
||||
timedatectl >> ~/debugwifi.log
|
||||
|
||||
nmcli dev wifi list > /dev/null
|
||||
sleep 1
|
||||
/usr/bin/python3 /usr/bin/easywifi-root.py &
|
||||
echo "connect success"
|
||||
|
||||
|
||||
#mount -t configfs none /sys/kernel/config/
|
||||
modprobe usb_f_hid
|
||||
mkdir /sys/kernel/config/usb_gadget/g1
|
||||
echo 0x0525 >/sys/kernel/config/usb_gadget/g1/idVendor
|
||||
echo 0xa4ac >/sys/kernel/config/usb_gadget/g1/idProduct
|
||||
mkdir /sys/kernel/config/usb_gadget/g1/strings/0x409
|
||||
mkdir /sys/kernel/config/usb_gadget/g1/functions/hid.usb0
|
||||
echo 1 > /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/protocol
|
||||
echo 1 > /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/subclass
|
||||
echo 512 >/sys/kernel/config/usb_gadget/g1/functions/hid.usb0/report_length
|
||||
echo -ne \\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0 > /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/report_desc
|
||||
mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1
|
||||
echo 0xc0 >/sys/kernel/config/usb_gadget/g1/configs/c.1/bmAttributes
|
||||
echo 500 >/sys/kernel/config/usb_gadget/g1/configs/c.1/MaxPower
|
||||
mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409
|
||||
ln -s /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/
|
||||
|
||||
|
||||
/usr/bin/python /usr/bin/server.py > /dev/null &
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
import subprocess
|
||||
import os
|
||||
|
||||
|
||||
def sub_command_run(cmd,grep):
|
||||
result = subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||
if grep == 1:
|
||||
value = subprocess.Popen(['grep','/dev/mmcblk0p1'], stdin=result.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
else:
|
||||
value = result
|
||||
out = value.communicate()[0].decode('utf-8')
|
||||
return out
|
||||
|
||||
def is_mounted(part):
|
||||
result = subprocess.run('mount',capture_output=True,text=True)
|
||||
output = result.stdout
|
||||
if part in output:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
'''
|
||||
def get_activited_ssid(SSID):
|
||||
cmd = "iwgetid -r"
|
||||
cmd = cmd.split()
|
||||
result = sub_command_run(cmd,0)
|
||||
return result
|
||||
'''
|
||||
|
||||
if os.path.exists("/dev/mmcblk0p2") == False:
|
||||
cmd="fdisk -l /dev/mmcblk0"
|
||||
cmd=cmd.split()
|
||||
password="orangepi"
|
||||
result = sub_command_run(cmd,1)
|
||||
sector_list = result.split()
|
||||
sector_start = int(sector_list[2]) + 1
|
||||
format_cmd = "/bin/bash /usr/bin/format.sh " + str(sector_start)
|
||||
format_cmd = format_cmd.split()
|
||||
sub_command_run(format_cmd,0)
|
||||
|
||||
part = "/dev/mmcblk0p2"
|
||||
|
||||
if is_mounted(part) == False:
|
||||
cmd = "mount " + part + " /mnt"
|
||||
cmd = cmd.split()
|
||||
sub_command_run(cmd,0)
|
||||
|
||||
if os.path.exists("/mnt/wifi.txt") == True:
|
||||
f=open("/mnt/wifi.txt")
|
||||
count=0
|
||||
Lines=f.readlines()
|
||||
for line in Lines:
|
||||
count +=1
|
||||
if count==1:
|
||||
network=line.strip().split("=")[1]
|
||||
elif count==2:
|
||||
password=line.strip().split("=")[1]
|
||||
else:
|
||||
break
|
||||
else:
|
||||
network="Q"
|
||||
password="123123123"
|
||||
|
||||
result = subprocess.run(['nmcli', "d", "wifi", "connect", network, "password", str(password)], stdout=subprocess.PIPE)
|
||||
print(result.stdout.decode('utf-8'))
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
#coding:utf-8
|
||||
import os
|
||||
from socket import *
|
||||
|
||||
NULL_CHAR = chr(0)
|
||||
|
||||
def write_report(report):
|
||||
with open('/dev/hidg0','rb+') as fd:
|
||||
fd.write(report)
|
||||
|
||||
#''代表服务器为 localhost
|
||||
myHost = ''
|
||||
#在一个非保留端口号上进行监听
|
||||
myPort = 50009
|
||||
#设置一个TCP socket对象
|
||||
sockobj = socket(AF_INET, SOCK_STREAM)
|
||||
#绑定端口号
|
||||
sockobj.bind((myHost, myPort))
|
||||
#监听,允许5个连结
|
||||
sockobj.listen(5)
|
||||
#直到进程结束时才结束循环
|
||||
while True:
|
||||
#等待客户端连接
|
||||
connection, address = sockobj.accept( )
|
||||
#连接是一个新的socket
|
||||
print ('Server connected by', address)
|
||||
while True:
|
||||
#读取客户端套接字的下一行
|
||||
data = connection.recv(1024)
|
||||
#如果没有数量的话,那么跳出循环
|
||||
if not data: break
|
||||
if data == "hid open":
|
||||
os.popen('ls /sys/class/udc | xargs echo > /sys/kernel/config/usb_gadget/g1/UDC')
|
||||
print("hid open")
|
||||
elif data == "hid close":
|
||||
os.popen('echo > /sys/kernel/config/usb_gadget/g1/UDC')
|
||||
print("hid close")
|
||||
else:
|
||||
write_report(data)
|
||||
#发送一个回复至客户端
|
||||
connection.send('server => ' + data)
|
||||
#当socket关闭时eof
|
||||
connection.close( )
|
||||
Loading…
Reference in New Issue