keyboard-hook/debian/patches/add-wifi-init

170 lines
6.3 KiB
Plaintext
Raw Normal View History

2024-04-08 11:41:36 +00:00
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