170 lines
6.3 KiB
Plaintext
170 lines
6.3 KiB
Plaintext
Description: <short summary of the patch>
|
|
TODO: Put a short summary on the line above and replace this paragraph
|
|
with a longer explanation of this change. Complete the meta-information
|
|
with other relevant fields (see below for details). To make it easier, the
|
|
information below has been extracted from the changelog. Adjust it or drop
|
|
it.
|
|
.
|
|
keyboard-hook (0.1.0-1) UNRELEASED; urgency=medium
|
|
.
|
|
* Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP>
|
|
Author: qiurui <qiuqiu <2653851752@qq.com>>
|
|
|
|
---
|
|
The information above should follow the Patch Tagging Guidelines, please
|
|
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
|
|
are templates for supplementary fields that you might want to add:
|
|
|
|
Origin: <vendor|upstream|other>, <url of original patch>
|
|
Bug: <url in upstream bugtracker>
|
|
Bug-Debian: https://bugs.debian.org/<bugnumber>
|
|
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
|
|
Forwarded: <no|not-needed|url proving that it has been forwarded>
|
|
Reviewed-By: <name and email of someone who approved the patch>
|
|
Last-Update: 2024-04-08
|
|
|
|
--- /dev/null
|
|
+++ keyboard-hook-0.1.0/etc/init.d/init.d/bootstrapping.sh
|
|
@@ -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 &
|
|
--- /dev/null
|
|
+++ keyboard-hook-0.1.0/etc/init.d/rc3.d/S99bootstrapping
|
|
@@ -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 &
|
|
--- /dev/null
|
|
+++ keyboard-hook-0.1.0/usr/bin/easywifi-root.py
|
|
@@ -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'))
|
|
\ No newline at end of file
|