Автор Тема: Wi-Fi + Samba / Долгое выключение ноутбука  (Прочитано 2646 раз)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Всем привет!

OS Simply 7 x64 p7 + все обновы и ядро 3.16.1-un-def.
Соединение с сетью по Wi-Fi (BCM43142).

Где-то даже помнится писал про это, но не могу сейчас найти...
Проблема такая: если смонтировать шару и потом выключить бук, не отмонтировав шару вручную, то бук при выключении подзадумывается, типа не может её отмонтировать и потом по таймауту просто обрывает соединение с шарой.
Сейчас не могу проверить точно, но у меня все буки на столе с адаптером BCM43142 и мне кажется, что такое только с ним происходит, потому что по проводу всё норм.
Повесил багу на сборку новой версии давно -- https://bugzilla.altlinux.org/show_bug.cgi?id=30229, правда по другому поводу, но быть может это поможет решить уже другую проблему, которую я описал выше. Но сборка новой версии затянулась, да и не факт, что это поможет.
Я собрал логи при корректном выключении и при некоторой задержке при выключении:

 - нормальное выключение -- log1.txt (см. вложения)
 - выключение с задержкой (не может корректно отмонтировать шару) -- log2.txt (см. вложения)

Кто-что посоветует: стучаться дальше в багзиллу, чтобы собрали новую версию драйверов, или эта проблема проявляется и на других буках по Wi-Fi (надеюсь кто-то сможет проверить у себя), или это можно решить без сборки новых драйверов ?

Спасибо.
« Последнее редактирование: 25.04.2015 21:51:19 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн nanoUzr

  • Участник
  • *
  • Сообщений: 135
Re: Долгое выключение ноутбука
« Ответ #1 : 19.09.2014 12:48:22 »
Оно? messagebus запущен и убивается после нетворкенеджера (в /etc/rc0.d/)?
As far as I know, NetworkManager needs D-Bus for proper operation. D-Bus (Desktop Bus) is a simple inter-process communication system for software applications to communicate with one another. So, if you need/use NetworkManager, maybe just start the D-Bus daemon:

chkconfig messagebus on ; service messagebus start

D-Bus is also used by other desktop components, and it is rather lighweight and inobtrusive. I suggest you just start it.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: Долгое выключение ноутбука
« Ответ #2 : 25.04.2015 21:47:03 »
service messagebus start
# service messagebus status
active

Добрался таки...
Сейчас на столе бук с адаптером AR9565, с ним такая же ситуация.
На буке установлен SL 7 32bit.
На сервере -- Кентавр 7 32bit и настройки самбы:
$ cat /etc/samba/smb.conf
[global]
netbios name = srv-pam
server string = SRV
workgroup = WORKGROUP
map to guest = bad user
guest account = nobody

[disk1]
path = /mnt/disk1
read only = yes
guest only = yes
browseable = yes
Монтирую через терминал:
mount //192.168.0.1/disk1 /mnt/disk1При выключении получаю зависание на минуту примерно.
Монтирую через ФМ, внося в строку адреса:
smb://192.168.0.1/disk1При выключении нормально всё проходит.

Мне вот интересно: у кого-то кроме меня проявляется или я один такой ? Отзовитесь!

Но, на BCM43142 помнится, оба варианта приводят к задержке... проверю в понедельник.
« Последнее редактирование: 25.04.2015 21:54:24 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
На какой пакет багу повесить ? Может так дело сдвинется... или чего прояснится...
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Но, на BCM43142 помнится, оба варианта приводят к задержке... проверю в понедельник.
Ошибся, поведение такое же: если через ФМ прописать в строке адреса, то норм, если смонтировать рутом -- задержка при выключении. Причём только при работе от беспроводной сети, по проводу всё норм.
Сноси Винду, переходи на Линукс ! :)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Долгое выключение ноутбука
« Ответ #5 : 27.04.2015 13:32:46 »
Монтирую через ФМ, внося в строку адреса:
smb://192.168.0.1/disk1При выключении нормально всё проходит.

Короче, несмотря на то, что сначала указываю размонтировать все smb, сначала дисконнектится eth1, а уж потом происходит выполнение smb_umnt, отсюда и задержка.
А должно быть наоборот, чтобы задержки не было:
# grep -rH chkco /etc/init.d/|grep 'netw\|smb'
/etc/init.d/smb_umnt:# chkconfig: 345 91 35
/etc/init.d/smb:# chkconfig: - 91 35
/etc/init.d/network:# chkconfig: 345 10 90
# cat /etc/init.d/smb_umnt
#!/bin/bash
#
# chkconfig: 345 91 35
# description:  umount all cifs on shutdown system

        # Source function library.
        if [ -f /etc/init.d/functions ] ; then
          . /etc/init.d/functions
        elif [ -f /etc/rc.d/init.d/functions ] ; then
          . /etc/rc.d/init.d/functions
        else
          exit 0
        fi


        start() {
        echo
        }

        stop() {
        umount -a -t cifs
        }

        restart() {
        echo
        }

        case "$1" in
          start)
                  start
                ;;
          stop)
                  stop
                ;;
          restart)
                  restart
                ;;
          *)
                echo $"Usage: $0 {stop}"
                exit 1
        esac
        exit 0
« Последнее редактирование: 27.04.2015 15:52:24 от Speccyfighter »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
smb_umnt
Спасибо, попробую на днях.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Speccyfighter
Добавил сервис smb_umnt, включил, но всё равно также висит при выключении... вот зараза :-t
Сноси Винду, переходи на Линукс ! :)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Speccyfighter
Добавил сервис smb_umnt, включил, но всё равно также висит при выключении... вот зараза :-t

Сервис для размонтирования самба-ресурсов исключающий задержку на перезагрузке/выключении уже написал. Работает отлично.
К утру инструкция будет готова в профессиюнальных советах со ссылкой.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Готово:

Краткое howto по ликвидации минутной задержки на перезагрузке или остановке системы при смонтированных ресурсах самба из shell или fstab:
Корректное размонтирование самба-ресурсов на разгрузке или останове системы

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Готово
Почему-то всё равно задержка остаётся...
# ll /etc/rc.d/init.d/smb_umnt
-rwxr-xr-x 1 root root 535 апр 28 10:39 /etc/rc.d/init.d/smb_umnt
# ll $(find /etc/ -name *smb_umnt)
lrwxrwxrwx 1 root root  18 апр 28 10:41 /etc/rc.d/rc0.d/K34smb_umnt -> ../init.d/smb_umnt
lrwxrwxrwx 1 root root  18 апр 28 10:41 /etc/rc.d/rc1.d/K34smb_umnt -> ../init.d/smb_umnt
lrwxrwxrwx 1 root root  18 апр 28 10:41 /etc/rc.d/rc6.d/K34smb_umnt -> ../init.d/smb_umnt
lrwxrwxrwx 1 root root  18 апр 28 10:39 /etc/rc.d/rc2.d/S92smb_umnt -> ../init.d/smb_umnt
lrwxrwxrwx 1 root root  18 апр 28 10:39 /etc/rc.d/rc3.d/S92smb_umnt -> ../init.d/smb_umnt
lrwxrwxrwx 1 root root  18 апр 28 10:39 /etc/rc.d/rc4.d/S92smb_umnt -> ../init.d/smb_umnt
lrwxrwxrwx 1 root root  18 апр 28 10:39 /etc/rc.d/rc5.d/S92smb_umnt -> ../init.d/smb_umnt
-rwxr-xr-x 1 root root 535 апр 28 10:39 /etc/rc.d/init.d/smb_umnt
# chkconfig --list smb_umnt

Внимание: в выводе отображены только SysV службы (нативные службы systemd отсутствуют)
      конфигурация SysV  может быть сброшена нативной
      конфигураией systemd.

smb_umnt        0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
# cat /etc/rc.d/init.d/smb_umnt

#!/bin/bash
#
# chkconfig: 345 92 34
# description:  umount all cifs on shutdown system

# creating symbolic links kill:
# chkconfig --level 0126 smb_umnt off


# Source function library.
. /etc/rc.d/init.d/functions

lock_file=/var/lock/subsys/smb_umnt


start() {
    touch "$lock_file"
    echo
}

stop() {
    # Umount all cifs
    rm -f "$lock_file"
    umount -a -t cifs
    echo
}



case "$1" in
    start)
    start
    ;;
    stop)
    stop
        ;;
    *)
        echo $"Usage: $0 {start|stop}"
        exit 1
esac
exit 0
# ll /var/lock/subsys/|grep smb_umnt
-rw-r--r-- 1 root root   0 апр 28 10:49 smb_umnt
# grep -rH chk /etc/init.d/ |grep 'Netw\|Mode\|netw\|smb_umnt\|\/dm'
/etc/init.d/NetworkManager:# chkconfig: - 12 90
/etc/init.d/network:# chkconfig: 345 10 90
/etc/init.d/ModemManager:# chkconfig: - 11 91
/etc/init.d/dm:# chkconfig: 5 45 05
/etc/init.d/smb_umnt:# chkconfig: 345 92 34
/etc/init.d/smb_umnt:# chkconfig --level 0126 smb_umnt off
Сноси Винду, переходи на Линукс ! :)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Готово
Почему-то всё равно задержка остаётся...
# chkconfig --list smb_umnt

Внимание: в выводе отображены только SysV службы (нативные службы systemd отсутствуют)
      конфигурация SysV  может быть сброшена нативной
      конфигураией systemd.

smb_umnt        0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл

А-а... Ну понятно: systemd.
:-) UNIX по природе своей пытается до вас докричаться на загрузке и разгрузке, но отгородившись от него сплэшем и заставив его быть менее разговорчивым, вы его не слышите.
nosplash и убрать quiet чтобы увидеть, чем же он пытается кричать и когда, до после чего.

Предполагаю не видя текущего сообщения системы:
Вам под systemd нужно юнит написать, который будет игнорить параллелизм и на разгрузке системы, до отработки NetworkManager и newtork, отрабатывать команду
umount -a -t cifs
Причём условие 'выполнить на разгрузке системы раньше чем NetworkManager и newtork', в юните должно быть жёстко оговорено правилом.
При этом в системе с systemd нужно лично убедиться, а выполняется ли команда размонтирования самба-ресурсов, если ресурсы смонтированы через fstab, - в смысле не выполняет ли systemd автомаунт после размонтирования. Я не использую systemd и досконально всех его особенностей не знаю. Но замечал, что системную файловую /usr, systemd автомаунтит, сколько её не размонтируй.

By default, порядок при разгрузке:
складывается сетевой интерфейс - bla-bla - umount всех файловых (cifs в том числе)
Отсюда и задержка.

Надо на разгрузке с systemd:
размонтировать cifs - сложить сетевой интерфейс
юнитом с командой в строгой очерёдности.

Ваш второй лог сообщением выше - ну так а шо вы хотели?:
...
сен 19 10:49:19 lenovo-b590-02.localdomain NetworkManager[2042]: <info> exiting (success)
сен 19 10:49:19 lenovo-b590-02.localdomain systemd[1]: Stopped Network Manager.
сен 19 10:49:19 lenovo-b590-02.localdomain systemd[1]: Stopping Network Connectivity...
сен 19 10:49:19 lenovo-b590-02.localdomain network[4351]: Computing interface groups: . 1 interfaces found
сен 19 10:49:19 lenovo-b590-02.localdomain network[4351]: Processing /etc/net/vlantab: empty.
сен 19 10:49:19 lenovo-b590-02.localdomain network[4351]: Stopping group 0/virtual (1 interfaces)
сен 19 10:49:19 lenovo-b590-02.localdomain network[4351]: Stopping lo: ..OK
сен 19 10:49:19 lenovo-b590-02.localdomain systemd[1]: Stopped Network Connectivity.
...
сен 19 10:49:19 lenovo-b590-02.localdomain systemd[1]: Starting Unmount All Filesystems.
сен 19 10:49:19 lenovo-b590-02.localdomain systemd[1]: Reached target Unmount All Filesystems.
сен 19 10:49:19 lenovo-b590-02.localdomain systemd[1]: Stopping Local File Systems (Pre).
сен 19 10:49:19 lenovo-b590-02.localdomain systemd[1]: Stopped target Local File Systems (Pre).
...

systemd'овым юнитом для cifs заставьте systemd делать наоборот: umount'ить cifs'ы перед дисконнектом сетевых интерфейсов.
С systemd не помогу, я на своих системах с ним совсем не общаюсь.
А тащить его к себе в sysv, чтобы воспроизвести и отладить, и чтобы увидеть, что у него лежит в тёмном шкафу, желание меньше нуля, хоть там не больше десятка строк и должно быть.

Мой sysv-скрипт проверялся на системе с sysvinit четырежды и обкатывался на коннекте десктопсамба-wifiроутер-ноутбук.
Нужна адаптация под systemd.
Тема поднята 19.09.2014, и что, до сих пор никто из пользователей systemd не знает как это сделать там чтобы помочь в решении проблемы?..

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
На какой пакет багу повесить ?

А вообще надо фичреквест вешать на systemd/sysv, на создание сервиса/юнита размонтирования самба-ресурсов на разгрузке системы. Чтобы эта фича была общесистемной.

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Тема поднята 19.09.2014, и что, до сих пор никто из пользователей systemd не знает как это сделать там чтобы помочь в решении проблемы?..
systemd + etcnet (подключение по кабелю), проблем с размонтированием не наблюдаю. Помочь не могу, т.к. вайфая нет.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Тема поднята 19.09.2014, и что, до сих пор никто из пользователей systemd не знает как это сделать там чтобы помочь в решении проблемы?..
systemd + etcnet (подключение по кабелю), проблем с размонтированием не наблюдаю. Помочь не могу, т.к. вайфая нет.

На:
sysv+etcnet+wifi
проблема топикстартера не воспроизводится.
(стартеркит p7-sysv-tde c etcnet через альтератор)

Но воспроизводится на:
sysv+NetworkManager+wifi
(сборка от enp с xfce и sysv с NM)

В обоих случаях железо одно и то же - HP Compaq NX6110
Очевидно, что зависит от наличия-отсутствия NM.
« Последнее редактирование: 28.04.2015 14:22:07 от Speccyfighter »