projects:disable_pcie_aspm
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
projects:disable_pcie_aspm [2025/03/31 13:39] – создано | projects:disable_pcie_aspm [2025/04/14 15:09] (текущий) – | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Отключение Энергосбережения | + | ====== Отключение Энергосбережения |
+ | |||
+ | ✅ **Raspberry Pi 4:**\\ | ||
+ | Имеет встроенный USB 3.0 контроллер, | ||
+ | |||
+ | '' | ||
+ | |||
+ | ✅ **Raspberry Pi 5**:\\ | ||
+ | Имеет полноценный PCIe-шлюз (можно подключать NVMe и прочее).\\ | ||
+ | |||
+ | Здесь '' | ||
+ | |||
+ | стабилизирует поведение при работе с SSD, NVMe, USB-хабами, | ||
+ | |||
+ | может решить отвал сети при сжатии/ | ||
<code bash disable_pcie_aspm.sh> | <code bash disable_pcie_aspm.sh> | ||
#!/bin/bash | #!/bin/bash | ||
Строка 18: | Строка 33: | ||
fi | fi | ||
</ | </ | ||
+ | |||
+ | |||
+ | <code bash power_mode.sh> | ||
+ | #!/bin/bash | ||
+ | export LANG=en_US.UTF-8 | ||
+ | export LC_ALL=en_US.UTF-8 | ||
+ | # ==AUTOEXEC== | ||
+ | # === Power Mode === | ||
+ | # power_mode.sh | ||
+ | # Меню управления энергосбережением: | ||
+ | # Универсальный скрипт для Pi 4/5: CPU, Wi-Fi, USB + постоянный USB-on через udev | ||
+ | |||
+ | set -euo pipefail | ||
+ | |||
+ | UDEV_RULE_PATH="/ | ||
+ | |||
+ | # Определение модели | ||
+ | MODEL=$(tr -d ' | ||
+ | echo "🧠 Устройство: | ||
+ | |||
+ | # CPU governor | ||
+ | GOV=$(cat / | ||
+ | echo " | ||
+ | |||
+ | # Wi-Fi | ||
+ | WIFI_IF=$(iw dev | awk ' | ||
+ | if [[ -n " | ||
+ | WIFI_STATE=$(iw dev " | ||
+ | echo "📶 Wi-Fi интерфейс: | ||
+ | else | ||
+ | echo "📶 Wi-Fi интерфейс не найден." | ||
+ | fi | ||
+ | |||
+ | # USB | ||
+ | USB_STATE=$(grep . / | ||
+ | echo "🔌 USB power control (текущие): | ||
+ | |||
+ | |||
+ | # 💡 Оценка конфигурации | ||
+ | CONFIG_STATUS_ICON="" | ||
+ | CONFIG_STATUS_DESC="" | ||
+ | |||
+ | if [[ " | ||
+ | CONFIG_STATUS_ICON=" | ||
+ | CONFIG_STATUS_DESC=" | ||
+ | elif [[ " | ||
+ | CONFIG_STATUS_ICON=" | ||
+ | CONFIG_STATUS_DESC=" | ||
+ | elif [[ " | ||
+ | CONFIG_STATUS_ICON=" | ||
+ | CONFIG_STATUS_DESC=" | ||
+ | elif [[ " | ||
+ | CONFIG_STATUS_ICON=" | ||
+ | CONFIG_STATUS_DESC=" | ||
+ | else | ||
+ | CONFIG_STATUS_ICON=" | ||
+ | CONFIG_STATUS_DESC=" | ||
+ | fi | ||
+ | |||
+ | echo " | ||
+ | |||
+ | # udev правило | ||
+ | if [[ -f " | ||
+ | echo "📂 Udev-правило обнаружено: | ||
+ | else | ||
+ | echo "📂 Udev-правило НЕ найдено (USB отключается по умолчанию)" | ||
+ | fi | ||
+ | |||
+ | echo "" | ||
+ | echo "🔧 Выберите действие:" | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | read -rp "👉 Выбор: " choice | ||
+ | |||
+ | case " | ||
+ | 1) | ||
+ | if [[ " | ||
+ | read -rp "🌙 Переключить в ondemand? [y/N] " ans | ||
+ | [[ " | ||
+ | else | ||
+ | read -rp "🚀 Переключить в performance? | ||
+ | [[ " | ||
+ | fi | ||
+ | ;; | ||
+ | 2) | ||
+ | if [[ -n " | ||
+ | if [[ " | ||
+ | read -rp "📶 Отключить энергосбережение Wi-Fi ($WIFI_IF)? [y/N] " ans | ||
+ | [[ " | ||
+ | else | ||
+ | read -rp "🔌 Включить энергосбережение Wi-Fi ($WIFI_IF)? [y/N] " ans | ||
+ | [[ " | ||
+ | fi | ||
+ | fi | ||
+ | ;; | ||
+ | 3) | ||
+ | if [[ " | ||
+ | read -rp "🔋 Отключить USB энергосбережение (on)? [y/N] " ans | ||
+ | [[ " | ||
+ | else | ||
+ | read -rp "🌙 Включить USB энергосбережение (auto)? [y/N] " ans | ||
+ | [[ " | ||
+ | fi | ||
+ | ;; | ||
+ | 4) | ||
+ | if [[ -f " | ||
+ | read -rp "❌ Удалить udev-правило и вернуть поведение по умолчанию? | ||
+ | if [[ " | ||
+ | sudo rm " | ||
+ | sudo udevadm control --reload | ||
+ | echo "✅ Правило удалено." | ||
+ | fi | ||
+ | else | ||
+ | read -rp "📂 Создать правило для постоянного включения USB? [y/N] " ans | ||
+ | if [[ " | ||
+ | echo ' | ||
+ | sudo udevadm control --reload | ||
+ | sudo udevadm trigger --subsystem-match=usb --action=add | ||
+ | echo "✅ Правило создано: | ||
+ | fi | ||
+ | fi | ||
+ | ;; | ||
+ | 0) | ||
+ | echo "👋 Выход." | ||
+ | *) | ||
+ | echo "❓ Неверный выбор." | ||
+ | esac | ||
+ | </ | ||
+ | ---- | ||
+ | {{page> |
projects/disable_pcie_aspm.1743417596.txt.gz · Последнее изменение: 2025/03/31 13:39 —