First Release
This commit is contained in:
1
custom/net-tweaks/00-packages
Normal file
1
custom/net-tweaks/00-packages
Normal file
@@ -0,0 +1 @@
|
||||
#dnsmasq dhcpcd hostapd
|
6
custom/net-tweaks/00-patches/00-cmdline.txt.diff
Normal file
6
custom/net-tweaks/00-patches/00-cmdline.txt.diff
Normal file
@@ -0,0 +1,6 @@
|
||||
--- a/rootfs/boot/cmdline.txt 2019-07-25 08:58:33.178998588 +1200
|
||||
+++ b/rootfs/boot/cmdline.txt 2019-07-27 21:48:44.709707517 +1200
|
||||
@@ -1 +1 @@
|
||||
-console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh
|
||||
+console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet init=/usr/lib/raspi-config/init_resize.sh
|
||||
|
19
custom/net-tweaks/00-patches/01-config.txt.diff
Normal file
19
custom/net-tweaks/00-patches/01-config.txt.diff
Normal file
@@ -0,0 +1,19 @@
|
||||
--- /rootfs/boot/config.txt
|
||||
+++ /rootfs/boot/config.txt
|
||||
|
||||
@@ -56,6 +56,14 @@
|
||||
# Enable audio (loads snd_bcm2835)
|
||||
dtparam=audio=on
|
||||
|
||||
+#usb ethernet
|
||||
+[pi0]
|
||||
+dtoverlay=dwc2
|
||||
+
|
||||
+#usb ethernet
|
||||
+[pi3]
|
||||
+dtoverlay=dwc2,dr_mode=peripheral
|
||||
+
|
||||
[pi4]
|
||||
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
|
||||
dtoverlay=vc4-fkms-v3d
|
||||
|
73
custom/net-tweaks/00-patches/config.txt
Normal file
73
custom/net-tweaks/00-patches/config.txt
Normal file
@@ -0,0 +1,73 @@
|
||||
# For more options and information see
|
||||
# http://rpf.io/configtxt
|
||||
# Some settings may impact device functionality. See link above for details
|
||||
|
||||
# uncomment if you get no picture on HDMI for a default "safe" mode
|
||||
#hdmi_safe=1
|
||||
|
||||
# uncomment this if your display has a black border of unused pixels visible
|
||||
# and your display can output without overscan
|
||||
#disable_overscan=1
|
||||
|
||||
# uncomment the following to adjust overscan. Use positive numbers if console
|
||||
# goes off screen, and negative if there is too much border
|
||||
#overscan_left=16
|
||||
#overscan_right=16
|
||||
#overscan_top=16
|
||||
#overscan_bottom=16
|
||||
|
||||
# uncomment to force a console size. By default it will be display's size minus
|
||||
# overscan.
|
||||
#framebuffer_width=1280
|
||||
#framebuffer_height=720
|
||||
|
||||
# uncomment if hdmi display is not detected and composite is being output
|
||||
#hdmi_force_hotplug=1
|
||||
|
||||
# uncomment to force a specific HDMI mode (this will force VGA)
|
||||
#hdmi_group=1
|
||||
#hdmi_mode=1
|
||||
|
||||
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
|
||||
# DMT (computer monitor) modes
|
||||
#hdmi_drive=2
|
||||
|
||||
# uncomment to increase signal to HDMI, if you have interference, blanking, or
|
||||
# no display
|
||||
#config_hdmi_boost=4
|
||||
|
||||
# uncomment for composite PAL
|
||||
#sdtv_mode=2
|
||||
|
||||
#uncomment to overclock the arm. 700 MHz is the default.
|
||||
#arm_freq=800
|
||||
|
||||
# Uncomment some or all of these to enable the optional hardware interfaces
|
||||
#dtparam=i2c_arm=on
|
||||
#dtparam=i2s=on
|
||||
#dtparam=spi=on
|
||||
|
||||
# Uncomment this to enable infrared communication.
|
||||
#dtoverlay=gpio-ir,gpio_pin=17
|
||||
#dtoverlay=gpio-ir-tx,gpio_pin=18
|
||||
|
||||
# Additional overlays and parameters are documented /boot/overlays/README
|
||||
|
||||
# Enable audio (loads snd_bcm2835)
|
||||
dtparam=audio=on
|
||||
|
||||
#usb ethernet
|
||||
[pi0]
|
||||
dtoverlay=dwc2
|
||||
|
||||
#usb ethernet
|
||||
[pi3]
|
||||
dtoverlay=dwc2,dr_mode=peripheral
|
||||
|
||||
[pi4]
|
||||
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
|
||||
dtoverlay=vc4-fkms-v3d
|
||||
max_framebuffers=2
|
||||
|
||||
[all]
|
||||
#dtoverlay=vc4-fkms-v3d
|
2
custom/net-tweaks/00-patches/series
Normal file
2
custom/net-tweaks/00-patches/series
Normal file
@@ -0,0 +1,2 @@
|
||||
00-cmdline.txt.diff
|
||||
01-config.txt.diff
|
6
custom/net-tweaks/00-run.sh
Executable file
6
custom/net-tweaks/00-run.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
#install files/wpa_supplicant.conf ${ROOTFS_DIR}/boot/wpa_supplicant.conf
|
||||
install files/wifi ${ROOTFS_DIR}/usr/local/bin/wifi
|
||||
chmod +x ${ROOTFS_DIR}/usr/local/bin/wifi
|
||||
echo 'bot' > ${ROOTFS_DIR}/etc/hostname
|
109
custom/net-tweaks/files/wifi
Normal file
109
custom/net-tweaks/files/wifi
Normal file
@@ -0,0 +1,109 @@
|
||||
#!/bin/sh
|
||||
# The script configures simultaneous AP and Managed Mode Wifi on Raspberry Pi Zero W (should also work on Raspberry Pi 3)
|
||||
# Usage: curl https://gist.githubusercontent.com/lukicdarkoo/6b92d182d37d0a10400060d8344f86e4/raw | sh -s WifiSSID WifiPass APSSID APPass
|
||||
# Licence: GPLv3
|
||||
# Author: Darko Lukic <lukicdarkoo@gmail.com>
|
||||
# Special thanks to: https://albeec13.github.io/2017/09/26/raspberry-pi-zero-w-simultaneous-ap-and-managed-mode-wifi/
|
||||
|
||||
MAC_ADDRESS="$(cat /sys/class/net/wlan0/address)"
|
||||
CLIENT_SSID="${1}"
|
||||
CLIENT_PASSPHRASE="${2}"
|
||||
AP_SSID="${3}"
|
||||
AP_PASSPHRASE="${4}"
|
||||
|
||||
# Install dependencies
|
||||
sudo apt -y update
|
||||
sudo apt -y upgrade
|
||||
sudo apt -y install dnsmasq dhcpcd hostapd
|
||||
|
||||
# Populate `/etc/udev/rules.d/70-persistent-net.rules`
|
||||
sudo bash -c 'cat > /etc/udev/rules.d/70-persistent-net.rules' << EOF
|
||||
SUBSYSTEM=="ieee80211", ACTION=="add|change", ATTR{macaddress}=="${MAC_ADDRESS}", KERNEL=="phy0", \
|
||||
RUN+="/sbin/iw phy phy0 interface add ap0 type __ap", \
|
||||
RUN+="/bin/ip link set ap0 address ${MAC_ADDRESS}
|
||||
EOF
|
||||
|
||||
# Populate `/etc/dnsmasq.conf`
|
||||
sudo bash -c 'cat > /etc/dnsmasq.conf' << EOF
|
||||
interface=lo,ap0
|
||||
no-dhcp-interface=lo,wlan0
|
||||
bind-interfaces
|
||||
server=8.8.8.8
|
||||
domain-needed
|
||||
bogus-priv
|
||||
dhcp-range=192.168.10.50,192.168.10.150,12h
|
||||
EOF
|
||||
|
||||
# Populate `/etc/hostapd/hostapd.conf`
|
||||
sudo bash -c 'cat > /etc/hostapd/hostapd.conf' << EOF
|
||||
ctrl_interface=/var/run/hostapd
|
||||
ctrl_interface_group=0
|
||||
interface=ap0
|
||||
driver=nl80211
|
||||
ssid=${AP_SSID}
|
||||
hw_mode=g
|
||||
channel=11
|
||||
wmm_enabled=0
|
||||
macaddr_acl=0
|
||||
auth_algs=1
|
||||
wpa=2PASSPHRASE
|
||||
wpa_passphrase=${AP_PASSPHRASE}
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
wpa_pairwise=TKIP CCMP
|
||||
rsn_pairwise=CCMP
|
||||
EOF
|
||||
|
||||
# Populate `/etc/default/hostapd`
|
||||
sudo bash -c 'cat > /etc/default/hostapd' << EOF
|
||||
DAEMON_CONF="/etc/hostapd/hostapd.conf"
|
||||
EOF
|
||||
|
||||
# Populate `/etc/wpa_supplicant/wpa_supplicant.conf`
|
||||
sudo bash -c 'cat > /etc/wpa_supplicant/wpa_supplicant.conf' << EOF
|
||||
country=US
|
||||
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
|
||||
update_config=1
|
||||
|
||||
network={
|
||||
ssid="${CLIENT_SSID}"
|
||||
psk="${CLIENT_PASSPHRASE}"
|
||||
id_str="AP1"
|
||||
}
|
||||
EOF
|
||||
|
||||
# Populate `/etc/network/interfaces`
|
||||
sudo bash -c 'cat > /etc/network/interfaces' << EOF
|
||||
source-directory /etc/network/interfaces.d
|
||||
|
||||
auto lo
|
||||
auto ap0
|
||||
auto wlan0
|
||||
iface lo inet loopback
|
||||
|
||||
allow-hotplug ap0
|
||||
iface ap0 inet static
|
||||
address 192.168.10.1
|
||||
netmask 255.255.255.0
|
||||
hostapd /etc/hostapd/hostapd.conf
|
||||
|
||||
allow-hotplug wlan0
|
||||
iface wlan0 inet manual
|
||||
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
|
||||
iface AP1 inet dhcp
|
||||
EOF
|
||||
|
||||
# Populate `/bin/start_wifi.sh`
|
||||
sudo bash -c 'cat > /bin/start_wifi.sh' << EOF
|
||||
echo 'Starting Wifi AP and client...'
|
||||
sleep 30
|
||||
sudo ifdown --force wlan0
|
||||
sudo ifdown --force ap0
|
||||
sudo ifup ap0
|
||||
sudo ifup wlan0
|
||||
sudo sysctl -w net.ipv4.ip_forward=1
|
||||
sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 ! -d 192.168.10.0/24 -j MASQUERADE
|
||||
sudo systemctl restart dnsmasq
|
||||
EOF
|
||||
sudo chmod +x /bin/start_wifi.sh
|
||||
crontab -l | { cat; echo "@reboot /bin/start_wifi.sh"; } | crontab -
|
||||
echo "Wifi configuration is finished! Please reboot your Raspberry Pi to apply changes..."
|
8
custom/net-tweaks/files/wpa_supplicant.conf
Normal file
8
custom/net-tweaks/files/wpa_supplicant.conf
Normal file
@@ -0,0 +1,8 @@
|
||||
country=NZ
|
||||
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
|
||||
update_config=1
|
||||
network={
|
||||
ssid="Infected"
|
||||
psk="(m0unt@1n5)"
|
||||
key_mgmt=WPA-PSK
|
||||
}
|
Reference in New Issue
Block a user