Ваш пример в значительной степени, как Вы сделали бы это. Можно указать использование сценария, это - полный путь, если это не доступно на $PATH.
# if scripts on the $PATH
ssh username@ip script_on_remote.sh
# if it's not on the path
ssh username@ip /path/to/my/script_on_remote.sh
# if it's including spaces
ssh username@ip "/path to my/script_on_remote.sh"
Следующие шаги решили проблему.
Запустите один раз (перезагрузите машину):
echo "options iwlwifi 11n_disable=1" > /etc/modprobe.d/iwlwifi.conf
/usr/sbin/update-initramfs -u
reboot
Затем следующий скрипт должен быть запущен повторно каждый раз при восстановлении из спящего режима или при загрузке системы.
/bin/systemctl stop network-manager
/sbin/modprobe -r iwldvm iwlwifi mac80211
/bin/systemctl start network-manager
/sbin/modprobe iwlwifi
Важной частью является то, что перед загрузкой драйверов ядра должен быть запущен сетевой менеджер.
.Посмотрите на вывод этой команды, чтобы узнать, какие драйверы / модули ядро использует для вашего оборудования.
$ lshw -C network
...
*-network
description: Wireless interface
product: Centrino Wireless-N 1000 [Condor Peak]
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlp3s0
version: 00
serial: 00:26:c7:85:a7:20
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=3.14.4-100.fc19.x86_64 firmware=39.31.5.1 build 35138 ip=192.168.1.161 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
resources: irq:42 memory:f2400000-f2401fff
Имена драйвера перечислены в строке `конфигурации:
driver=iwlwifi
Проверьте и посмотрите, какие другие драйверы могут использоваться этим драйвером более высокого уровня:
$ lsmod | grep iwlwifi
iwlwifi 116346 1 iwldvm
cfg80211 513095 3 iwlwifi,mac80211,iwldvm
Попробуйте выгрузить все эти rmmod
, а затем перезагрузите их:
$ sudo modprobe iwlwifi
Это должно автоматически загрузить драйвер верхнего уровня + любые драйверы нижнего уровня.
У меня было много проблем с большинством моих ноутбуков Thinkpad, где беспроводная связь работала ненадежно. Единственное работающее решение, которое я нашел, - это отключить функцию Wireless-N модуля iwlwifi
. Вы можете узнать имя / параметры этого параметра для модуля следующим образом:
$ modinfo iwlwifi | grep dis
parm: 11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm: wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable, 2=enable (default: 0) (int)
parm: power_save:enable WiFi power management (default: disable) (bool)
Итак, после удаления модуля, когда вы будете готовы перезагрузить его через modprobe
, включите параметр 11n_disable
. Например:
$ sudo modprobe iwlwifi 11n_disable=1
Вы можете сделать это постоянным через каталог modprobe.d
от загрузки до загрузки.